循环结构测试.docx
- 文档编号:10426515
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:21
- 大小:19.48KB
循环结构测试.docx
《循环结构测试.docx》由会员分享,可在线阅读,更多相关《循环结构测试.docx(21页珍藏版)》请在冰豆网上搜索。
循环结构测试
C语言之循环结构测试
一、选择题
<1)有以下程序段
intn,t=1,s=0。
scanf("%d",&n>。
do{s=s+t。
t=t-2。
}while(t!
=n>。
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数
B)任意负偶数
C)任意正偶数
D)任意负奇数
<2)设变量已正确定义,则以下能正确计算f=n!
的程序段是
A)f=0。
B)f=1。
for(i=1。
i<=n。
i++>f*=i。
for(i=1。
i i++>f*=i。 b5E2RGbCAP C)f=1。 D)f=1。 for(i=n。 i>1。 i++>f*=i。 for(i=n。 i>=2。 i-->f*=i。 p1EanqFDPw <3)有以下程序 main(> {intk=5,n=0。 while(k>0> {switch(k> {default: break。 case1: n+=k。 case2: case3: n+=k。 } k--。 } printf("%d\n",n>。 } 程序运行后的输出结果是 A)0 B)4 C)6 D)7 <4)有以下程序 main(> { inta=1,b。 for(b=1。 b<=10。 b++> { if(a>=8>break。 if(a%2==1>{a+=5。 continue。 } a-=3。 } printf("%d\n",b>。 } 程序运行后的输出结果是 A)3 B)4 C)5 D)6 (5>有以下程序 main(> {ints=0,a=1,n。 scanf("%d",&n>。 do {s+=1。 a=a-2。 } while(a! =n>。 printf("%d\n",s>。 } 若要使程序的输出值为2,则应该从键盘给n输入的值是 A>-1 B>-3 C>-5 D>0 (6>若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0> s=a。 for(b=1。 b<=c。 b++>s=s+1。 则与上述程序段功能等价的赋值语句是 A>s=a+b。 B>s=a+c。 C>s=s+c。 D>s=b+c。 (7>有以下程序 main(> {intk=4,n=4。 for(。 n > {n++。 if(n%3! =0>continue。 k--。 } printf("%d,%d\n",k,n>。 } 程序运行后的输出结果是 A>1,1 B>2,2 C>3,3 D>4,4 (8>要求以下程序的功能是计算: main(> {intn。 floats。 s=1.0。 for(n=10。 n>1。 n--> s=s+1/n。 print("%6.4f\n",s>。 } 程序运行后输出结果错误,导致错误结果的程序行是 A>s=1.0。 B>for(n=10。 n>1。 n--> C>s=s+1/n。 D>printf("%6.4f/n",s>。 (9>有以下程序 main(> {inti。 for(i=0。 i<3。 i++> switch(i> {case1: printf("%d",i>。 case2: printf("%d",i>。 default: printf("%d",i>。 } } 执行后输出结果是 A>011122 B>012 C>012020 D>120 (10>有以下程序 main(> {inti=0,s=0。 do{ if(i%2>{i++。 continue。 } i++。 s+=i。 }while(i<7>。 printf("%d\n",s>。 } 执行后输出结果是 A>16 B>12 C>28 D>21 (11>以下程序的功能是: 按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: DXDiTa9E3d main(> {intn,k。 floatscore,sum,ave。 sum=0.0。 for(n=1。 n<=10。 n++> {for(k=1。 k<=4。 k++> {scanf(“%f”,&score>。 sum+=score。 } ave=sum/4.0。 printf(“NO%d: %f\n”,n,ave>。 } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。 这条语句是 A>sum=0.0。 B>sum+=score。 C>ave=sun/4.0。 D>printf(“NO%d: %f\n”,n,ave>。 (12>有以下程序段 intn=0,p。 do{scanf(“%d”,&p>。 n++。 }while(p! =12345&&n<3>。 此处do—while循环的结束条件是 A>P的值不等于12345并且n的值小于3 B>P的值等于12345并且n的值大于等于3 C>P的值不等于12345或者n的值小于3 D>P的值等于12345或者n的值大于等于3 (13>以下程序中,while循环的循环次数是 main(> {inti=0。 while(i<10> {if(i<1>continue。 if(I==5>break。 i++。 } ...... } A>1 B>10 C>6 D>死循环,不能确定次数 (14>以下程序的输出结果是 main(> {inta=0,i。 for(i=。 i<5。 i++> {switch(i> {case0: case3: a+=2。 case1: case2: a+=3。 default: a+=5。 } } printf("%d\n",a>。 } A>31 B>13 C>10 D>20 (15>以下程序的输出结果是 #include main(> {inti=0,a=0。 while(i<20> {for(。 。 > {if((i%10>==0>break。 elsei--。 } i+=11。 a+=i。 } printh("%d\n",a>。 } A>21 B>32 C>33 D>11 (16>t为int类型,进人下面的循环之前,t的值为0 while(t=l> {……} 则以下叙述中正确的是 A>循环控制表达式的值为0 B>循环控制表达式的值为1 C>循环控制表达式不合法 D>以上说法都不对 (17>以下程序的输出结果是 main(> {intnum=0。 while(num<=2> {num++。 printf(“%d\n”,num>。 } A>1B>1C>1D>l 222 33 4 (18>以下程序的输出结果是 main(> {inta,b。 for(a=1,b=1。 a<=100。 a++> {if(b>=10>break。 if(b%3==1> {b+=3。 continue。 } } printf(“%d\n”,a>。 } A>101 B>6 C>5 D>4 (19>有以下程序段 intk=0 while(k=1>k++。 while循环执行的次数是 A>无限次 B>有语法错,不能执行 C>一次也不执行 D>执行1次 (20>以下程序执行后sum的值是 A>15 B>14 C>不确定 D)0 min(> {inti,sum。 for(i=1。 i<6。 i++>sum+=i。 printf(“%d\n”,sum>。 } (21>有以下程序段 intx=3 do {printf(“%d”,x-=2>。 } while(! (--x>>。 其输出结果是 A>中1 B>30 C>1-2 D>死循环 (22>有如下程序 main0 {inti,sum。 for(i=1。 i<=3。 sum++>sum+=i。 printf(“%d\n”,sum>。 } 该程序的执行结果是 A>6 B>3 C>死循环 D>0 (23>有如下程序 main0 {intx=23。 do {printf(“%d”,x-->。 } while(! x>。 } 该程序的执行结果是 A>321 B>23 C>不输出任何内容 D>陷入死循环 (24>有如下程序 main0 {intn=9。 while(n>6>{n--。 printf(“%d”,n>。 } } 该程序段的输出结果是 A>987 B>876 C>8765 D>9876 (25>以下循环体的执行次数是 A>3B>2C>1D>0RTCrpUDGiT main(> {inti,j。 for(i=0,j=1。 i<=j+1。 i+=2,j-->printf("%d\n",i>。 } (26>以下叙述正确的是 A>do-while语句构成的循环不能用其它语句构成的循环来代替。 B>do-while语句构成的循环只能用break语句退出。 C>用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D>用do-while语句构成的循环,在while后的表达式为零时结束循环。 (27>以下程序段的执行结果是 A>a=12y=12B>a=12y=12 a=14y=16 a=16y=28 a=16y=20 a=18y=24 C>a=12y=12D>a=12y=12 a=14y=26 a=14y=44 inta,y。 a=10。 y=0。 do {a+=2。 y+=a。 printf("a=%dy=%d\n",a,y>。 if(y>20>break。 {while(a=14>。 (28>以下程序的输出结果是 A>10192 B>9876 C>10990 D>101091 main(> {intx=10,y=10,I; for(i=0;x>8;y=++i> printf("%d,%d",x--,y>; } (29>以下程序的输出结果是 A>20 B>31 C>321 D>210 main(> {intn=4; while(n-->printf("%d",--n>; } (30>以下程序的输出结果是 A>#*#*# B>##### C>***** D>*#*#* main(> {inti; for(i=1;i<6;i++> {if(i%2>{printf("#">;continue;} printf("*">; } printf("\n">; } (31>执行以下程序段时 A>循环体将执行一次 B>循环体将执行两次 C>循环体将执行无限次 D>系统将提示有语法错误 X=-1。 do{x=x*x。 }while(! x>。 (32>执行以下程序后,输出的结果是 A>-1B>1C>8D>05PCzVD7HxA main(> {inty=10。 do{y--。 }while(--y>。 printf("%d\n",y-->。 } (33>在下列选项中,没有构成死循环的程序段是 A>inti=100 B>for(。 。 >。 jLBHrnAILg while(1> {i=i%100+1。 if(i>100>break。 } C>intk=1000。 D>ints=36。 xHAQX74J0X do{++k。 }while(k>=10000>。 while(s>。 --s。 LDAYtRyKfE (34>执行语句: for(i=l: i++<4: >。 后,变量i的值是 A>3 B>4 C>5 D>不定 (35>以下程序的输出结果是 A>x=4B>x=8C>x=6D>x=12Zzz6ZB2Ltk main(> {inti,j,x=0。 for(i=0。 i<2。 i++> {x++。 for(j=0。 j<=3。 j++> {if(j%2>continue。 x++。 } x++。 } printf("x=%d\n",x>。 } (36>运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为: A>m=3B>m=2C>m=1 D>m=1dvzfvkwMI1 main(> {intm,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\n",m>。 } (37>设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1。 y<=50。 y++> {if(x>=10>>break。 if(x%2==1> {x+=5。 continue。 } x-=3。 } A>2 B>4 C>6 D>8 (38>假定a和b为int型变量,则执行以下语句后b的值为 a=1。 b=10。 do {b-=a。 a++。 } while(b--<0>。 (39>设j为int型变量,则下面for循环语句的执行结果是 for(j=10。 j>3。 j--> {if(j%3>j--。 --j。 --j。 printf("%d",j>。 } A>63 B>74 C>62 D>73 (40>若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是 for(i=5。 i。 i--> for(j=0。 j<4。 j++>{...} A>20 B>25 C>24 D>30 (41>执行下面的程序后,a的值为 main(> {inta,b。 for(a=1,b=1。 a<=100。 a++> {if(b>=20>break。 if(b%3==1>{b+=3。 continue。 } b-=5。 }} A>7 B>8 C>9 D>10 (42>以下程序段的输出结果是 intx=3。 do{printf("%3d",x-=2>。 }while(! (--x>>。 A>1 B>30 C>1-2 D>死循环 (43>定义如下变量: intn=10。 则下列循环的输出结果是 while(n>7> {n--。 printf("%d\n",n>。 } A>10B>9C>10D>9 9898 8787 76 (44>下面的程序 A>输出的是1 B>输出的是1和-2 C>输出的是3和0 D>是死循环 main(> {intx=3。 do{ printf("%d\n",X-=2>。 }while(! (--x>>。 } (45>下面程序的输出是 A>741 B>852 C>963 D>875421 main(> {inty=9。 for(。 y>0。 y--> {if(y%3==0> {printf("%d",--y>。 continue。 } }. } (46>若x是int型变量,且有下面的程序片段: for(x=3。 x<6。 x++>printf((x%2>? ("**%d">: ("##%d\n">,x>。 rqyn14ZNXI 上面程序片段的输出结果是 A>**3B>##3C>##3D>**3##4EmxvxOtOco ##4**4**4##5**5SixE2yXPq5 **5##5 (47>请读程序片段: #include main(> {inta,b。 for(a=1。 b=1。 a<=100。 a++> {if(b>=20>break。 if(b%3==1> {b+=3。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 测试