资源描述:
《c语言期末复习(机械)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1,关于break和continue语句的例for(x=1,y=1;y<50;y++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}问这一小段程序运行之后的x和y的值是多少?答案:x=10,y=62,关于值传递的题例#include"stdio.h"voidmain(){floata,b;voidf1();a=3.6,b=7.6;f1(a,b);printf("%f,%f",a,b);}voidf1(floatx,floaty){x+=0.5;y-=0.5;printf("%f,%f,x,y);}}问:最后输出的a,b,x
2、,y的值分别是多少?答案:a是3.6,b是7.6,x是4.1,b是7.1。3有关地址传递的题目例:#include"stdio.h"voidmain(){inta,b,c;voidf2();a=b=c=5;f2(a,&b,&c);printf("%d,%d,%d",a,b,c);}voidf2(x,y,z)intx,*y,*z;{x*=2;*y+=x;*z=*y+x;printf("%d,%d,%d",x,*y,*z);}问:输出结果中的a,b,c,x,*y,*z的结果是多少?答案:分别是10,15,25,5,15,25。4(1)例:#include"stdio.h"vo
3、idmain(){intn=5;fun(n);}intfun(intk){if(k>0)fun(k-1);printf("d",k);}问:输出结果是?答案:012345(2)例:#include"stdio.h"voidmain(){intn=5;fun(n);}intfun(intk){printf("d",k);if(k>0)fun(k-1);}问:输出结果是?答案:5432105例:编写一个判断某年是否是润年的程序#include"stdio.h"voidmain(){inta,year;scanf("%d",&year);if(year%4==0)if(year
4、%100==0)if(year%400==0)a=1;elsea=0;elsea=1;elsea=0;if(a)printf("%disleapyear",year);elseprintf("%disn'tleapyear",year);}6例:分析结果#include"stdio.h"voidmain(){chars[40]="ABCD";char*p;p=s;for(p=s;p
5、={"AB","CD","EF","GH","IL","MN"};inti;for(i=0;i<4;i++)printf("%s",s[i]);}问:运行程序后输出结果是?答案:ABCDEFGH8例:从A,B,C,D四个选项中找出与下面这个小程序段不同的{w=kLB:if(w==0)gotoLEw--;printf("*")gotoLBLE:……A:for(w=k;w!=0;w--)printf("*")B:w=k;while(w--!0)printf("*")w++C:w=k;do{w--;printf("*");}while(w!=0)D:for(w=k;w;--w)
6、printf("*")答案:选择C9有一个3×4的矩阵,要求用指针法求出其中最大和最小元素的值,以及它们所在的行号和列号。(课本中第139页对例7.5的改编,可以再看看这个例题)#include"stdio.h"voidmain(){inti,j,a[4][5],*p=a[0];introw1=0,row2=0,colum1=0,colum2=0,max,min;for(i=0;i<3;j++)for(j=0;j<4;j++)scanf("%d",p++)p=a[0];max=min=a[0][0];for(i=0;j<3;j++)for(j=0;j<4;j++){if(
7、*(p+i*4+j)>max){max=*(p+i*4=j);row1=i;colum1=j;}if(*(p+i*4+j)