资源描述:
《习题集答案解析_循环、数组、指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计一、选择题1.有以下程序 main() {inti; for(i=1;i<=40;i++) {if(i++%3=0) if(++i%8=0)printf("%d",i); } printf("") } 执行后的输出结果是____A____。 A)832 B)24 C)32 D)40【解析】:本题考查了自增运算符和for循环。自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算变量那个的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运
2、算变量加1之后的值,而后缀形式表达式的值为运算变量加1之前的值。题目中使用了一个for循环,循环变量i从1递增到40。在循环体中又两条嵌套的if语句,首先判断i++%3==0,即判断i++的值(i加1之前的值)是否能被3整除(判断后i被加1),然后再判断++i的值(i加1之后的值)是否能被8整除(判断后i被加1),若两个条件都满足了,就输出此时的i值。即要输出的数得在1-42(含1和42),且能被8整除,并且将其减2后能被3整除,这样的数有两个,即8和32,但由于输出的格式表达式为”%d”,因此
3、结果为8322.有以下程序 main()第32页共32页 {intn; for(n=3;n<=10;n++) { if(n%6==0)break;printf("%d",n); } printf("") } 执行后的输出结果是____A____。 A)345 B)456C)345 D)456【解析】:本题考查的for循环、if语句和break(break语句结束的是整个循环)。题目中的for循环变量n从3递增到10,在循环体内先判断n是否等于6,如果不等于6,执行输出语句,将n值输出(输出的
4、格式表达式为”%d”,注:无空格),如果n为6,执行break;语句,跳出for循环。因此输出345.正确答案为A.3.有以下程序main(){inti=0,s=0;do{if(i%3){i++;continue;}i++;s+=i;}while(i<11);printf("%d",s);}执行后输出结果是____A________A)22 B)16 C)34 D)21【解析】:本题考查的是do…while循环、if语句第32页共32页和continue(continue结
5、束的本次循环,接着判断是否继续执行下一轮循环)。在do…while循环中,先执行循环体,再判断i是否小于11.if(i%3)判断是否能整除3,余数为0,则进行i++;s+=i;不为0则为真,则进行{i++;continue;}由于包含contunue;i++;s+=i;部分不执行,直接进行条件判断。所以当i=0,3,6,9时,进行i++;s+=i;操作。所以s=1+4+7+10=22.4.运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为:____C________main(){in
6、tm,n;printf("Enterm,n;");scanf("%d%d",&m,&n):while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d",m);}A)m=3B)m=2C)m=1D)m=1【解析】:(1999-04-48)本题考查的是嵌套while循环,外层循环条件是m!=n,由于从键盘输出后m=65,n=14;因此不符合结束条件,进入循环体内。(1)先执行循环体while(m>n)m-=n;即判断/m>n,如果是循环执行m-=
7、n,(即m=m-n);因此此循环至少要执行4次m的值才可能不大于n(m=m-n*4=65-14*4=9),即此时m=9,n=14;不符合本循环条件,跳出本循环。(2)由于n>m了,执行循环体while(n>m)n-=m;,执行后n=n-m=14-9=5,即此时m=9,n=5,不符合本循环条件,跳出本循环。(3)但此时m!=n,因此不跳出外层循环,继续执行while(m>n)m-=n;执行后m=4,n=5;不符合本循环条件,跳出本循环。(4)然后执行while(n>m)n-=m;执行后n=1,m=
8、4,不符合本循环条件,跳出本循环。(5)但此时m!=n,因此不跳出外层循环,继续执行while(m>n)m-=n;此循环需要执行3此m的值才可能不大于n(m=m-n*3=4-1*3=1),即此时m=1,n=1;不符合本循环条件,跳出本循环。(6)由于此时m=n了,因此结束了外层循环,结果m=1,正确答案为C5.第32页共32页有以下程序main(){intn,s=0;for(n=10;n<30;n++){if(n%3==0){s+=n;continue;}if(s>100)break;}pri