- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题集答案及解析 北京虎贲教育上海分部
上海客服热线:021 021801 第 PAGE 27 页 共 NUMPAGES 31 页 我们多想 你们多享 我们一直用心做教育!
第五章 循环结构程序设计
一、选择题
1.有以下程序
main()
{int i;
for(i=1;i=40;i++)
{if(i++%3=0)
if (++i%8=0) printf(%d,i);
}
printf(\n)
}
执行后的输出结果是____A____。
A)832 B)24 C)32 D)40
【解析】:本题考查了自增运算符和for循环。自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算变量那个的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算变量加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”,因此结果为832
2. 有以下程序
main()
{int n;
for(n=3;n=10;n++)
{ if (n%6==0) break; printf(%d,n); }
printf(\n)
}
执行后的输出结果是____A____。
A)345 B)4 5 6 C)3 4 5 D)456
【解析】:本题考查的for循环、if语句和break(break语句结束的是整个循环)。题目中的for循环变量n从3递增到10,在循环体内先判断n是否等于6,如果不等于6,执行输出语句,将n值输出(输出的格式表达式为”%d”,注:无空格),如果n为6,执行break;语句,跳出for循环。因此输出345.正确答案为A.
3. 有以下程序main(){ int i=0,s=0;do{ if(i%3){i++;continue;} i++; s +=i; }while(i11); printf(%d\n,s);}执行后输出结果是____A________
A) 22? B) 16? C) 34 ?D) 21【解析】:本题考查的是do…while循环、if语句
和continue(continue结束的本次循环,接着判断是否继续执行下一轮循环)。在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. 运行以下程序后,如果从键盘上输入65 14回车,则输出结果为:____C________
main()
{ int m, n;
printf(Enter m,n;); scanf(%d%d, m,n):
while (m!=n)
{ while (mn)m-=n;
while (nm)n-=m;
}
printf(m=%d\n,m);
}
A) m=3 B) m=2 C) m=1 D) m=1
【解析】: (1999-04-48)本题考查的是嵌套while循环,外层循环条件是m!=n,由于从键盘输出后m=65,n=14;因此不符合结束条件,进入循环体内。
(1)先执行循环体while (mn)m-=n;即判断/mn, 如果是循环执行m-=n,(即m=m-n);因此此循环至少要执行4次m的值才可能不大于n(m=m-n*4=65-14*4=9),即此时m=9,n=14;不符合本循环条件,跳出本循环。
(2)由于nm了,
文档评论(0)