第 3 章循环结构程序设计3
1 典型考试题剖析3
1 选择题【例 1】若有如下程序段,其中 S、a、b、c 均已定义为整型变量,且 a、c均已赋值(c 大于 0)s=a;for(b=1;bc 时循环结束,那么显然 s 要加 c 次 1
所以 s 的值为 a 与 c 的和
◊答案:B【例 2】设 x 和 y 均为 int 型变量,则执行下面的循环后,y 值为
for(y=1,x=1;y=10)break;if(x%2==1){x+=5;continue;}x-=3;}A)2B)4C)6D)8◊考点:本例考查 for 循环中 break 和 continue 的用法,以及区别
i++;◊答案:D【例 5】设 j 为 int 型变量,则下面 for 循环语句的执行结果是
for(j=10;j>3;j—){if(j%3)j--;--j;--j;printf("%d",j);}A)63B)74C)62D)73◊考点:本例考查 for 循环的用法
◊分析:本题的难点可能是几个“j—;”、“一 j;”容易让人混淆第一次循环 j=10,j%3 后 j 连续减三次 1,得到 7,继续第二次循环;第二次循环 j%3 后 j 连续减三次 1,得到 4,结束循环
◊答案:B【例 6】在下列选项中,没有构成死循环的程序段是
A)inti=100B) for(;;);inti=100;while(1)i=i%100+1;if(i>100)break;}C)intk=1000;D) ints=36;do{++k;while(s);--s;}while(k>=1000);◊考点:本例考查死循环
◊分析:A)要退出循环必须满足 i>100,但是执行语句“i=i%100+l;”后,i不可能超过 100;B)没有循环条件,显然为死循环;C)经过“k++”后,k的值一定是大于 1000 的,所以也为死循环;