循环结构.docx
- 文档编号:27296181
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:72
- 大小:36.18KB
循环结构.docx
《循环结构.docx》由会员分享,可在线阅读,更多相关《循环结构.docx(72页珍藏版)》请在冰豆网上搜索。
循环结构
第七章循环
一、单选题
1、语句while(!
e);中的条件!
e等价于
A e==0
B e!
=0
C e!
=1
D ~e
参考答案
A
2、已知inti=1;执行语句while(i++<4);后,变量i的值为
A 3
B 4
C 5
D 6
参考答案
C
3、以下程序的输出结果是()
main()
{inta=1,b=10;
do{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d”,a,b);
}
A a=3,b=11
B a=2,b=8
C a=1,b=-1
D a=4,b=9
参考答案
B
4、对于for(表达式1;;表达式3)可理解为
A for(表达式1;0;表达式3)
B for(表达式1;1;表达式3)
C for(表达式1;表达式1;表达式3)
D for(表达式1;表达式3;表达式3)
参考答案
B
5、以下程序的输出结果是()
main()
{intn=10;
while(n>7)
{n--;
printf(“%d,”,n);
}}
A 10,9,8,
B 9,8,7,
C 10,9,8,7,
D 9,8,7,6,
参考答案
B
6、C语言中while和do-while循环的主要区别是
A do-while的循环体至少无条件执行一次
B while的循环控制条件比do-while的循环控制条件严格
C do-while允许从外部转到循环体内;
D do-while的循环体不能是复合语句;
参考答案
A
7、C语言中
A 不能使用do-whi1e语句构成的循环;
B do-while语句构成的循环必须用break语句才能退出;
C do-while语句构成的循环,当while语句中的表达式值为非零时结束循环;
D do-while语句构成的循环,当while语句中的表达式值为零时结束循环;
参考答案
D
8、以下程序的输出结果是()
main()
{intnum=0;
while(num<=2)
{num++;
printf(“%d,”,num);
}
}
A 1,
B 1,2,
C 1,2,3,
D 1,2,3,4,
参考答案
C
9、以下程序的输出结果是()
main()
{inta=1,b=2,c=2,t;
while(a
printf(“%d,%d,%d”,a,b,c);
}
A 1,2,0
B 2,1,0
C 1,2,1
D 2,1,1
参考答案
A
10、以下程序的输出结果是()
main()
{intx=0,y=0;
while(x<15)y++,x+=++y;
printf(“%d,%d”,y,x);}
A 20,7
B 6,12
C 20,8
D 8,20
参考答案
D
11、若i为整型变量,则以下循环执行的次数是()
for(i=2;i==0;)printf(“%d”,i--);
A 无限次
B 0次
C 1次
D 2次
参考答案
B
12、以下for循环的执行次数是()
for(x=0,y=0;(y=123)&&(x<4);x++);
A 是无限循环
B 循环次数不定
C 执行4次
D 执行3次
参考答案
C
13、执行语句for(i=1;i++<4;);后变量i的值是
A 3
B 4
C 5
D 不定
参考答案
C
14、以下程序段是()
x=-1;
do
{x=x*x;}while(!
x);
A 死循环
B 循环执行两次
C 循环执行一次
D 有语法错误
参考答案
C
15、下列循环语句中有语法错误的是
A while(x=y)5;
B while(0);
C do2;while(x==b);
D dox++while(x==10);
参考答案
D
16、已知intx=12,y=3;执行下述程序后,变量x的值是____。
do
{x/=y--;
}while(x>y);
A 1
B 2
C 3
D 程序运行有错误
参考答案
D
17、以下不正确的描述是()
A break语句不能用于循环语句和switch语句外的其它语句
B 在switch语句中使用break语句或continue语句的作用相同
C 在循环语句中使用continue语句是为了结束本次循环
D 在循环语句中使用break语句是为了使流程跳出循环体
参考答案
B
18、有关语句for(;;);执行过程的描绘中,正确的是
A 不执行任何操作
B 空循环一次
C 无休止地执行循环体
D 上都不对
参考答案
C
19、下面有关for循环的正确描述是
A for循环只能用于循环次数已经确定的情况
B for循环是先执行循环体语句,后判定表达式
C 在for循环中,不能用break语句跳出循环体
D for循环体语句中,可以包含多条语句,但要用花括号括起来
参考答案
D
20、下面程序片段,退出while循环时,s的值是_____。
inti=0,s=1;
while(i<3)s+=(++i);
A 7
B 6
C 5
D 4
参考答案
A
21、以下程序的输出结果是()
main()
{inti,sum;
for(i=1;i<6;i++)sum+=sum;
printf(“%d”,sum);
}
A 15
B 14
C 0
D 不确定
参考答案
D
22、以下程序的输出结果是()
main()
{intx,i;
for(i=1;i<=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d,”,x);
}
}
A 39,81,
B 42,84,
C 26,68,
D 28,70,
参考答案
D
23、已知inti,j;执行语句for(i=1,j=10;i 是______。 A 3,6 B 4,4 C 5,2 D 其它三个答案都不对 参考答案 B 24、与语句while(! x);等价的语句是 A while(x==0); B while(x! =0); C while(x! =1); D while(~x); 参考答案 A 25、以下for循环是() for(x=0,y=0;(y! =123)&&(x<3);x++); A 无限循环 B 循环次数不定 C 执行4次 D 执行3次 参考答案 D 26、结构化程序设计所规定的三种基本控制结构是 A 输入、处理、输出 B 树形、网形、环形 C 顺序、选择、循环 D 主程序、子程序、函数 参考答案 C 27、执行以下程序后,输出的结果是。 main() {inty=10; do{y--;}while(--y); printf(“%d\n”,y--); } A –1 B 1 C 8 D 0 参考答案 D 28、若有以下程序 main() {inty=10; while(y--);printf(“y=%d\n”y); } 程序运行后的输出结果是 A y=0 B y=-1 C y=1 D while构成无限循环 参考答案 B 29、已知intk=1 则循环语句while(k++<5);执行完后k的值为 A 1 B 5 C 6 D 其它三个答案都不对 参考答案 C 30、下列关于switch语句和break语句的结论中,正确的是 A break语句是switch语句中的一部分 B 在switch语句中可以根据需要使用或不使用break语句 C 在switch语句中必须使用break语句 D switch语句是break语句的一部分 参考答案 B 31、以下叙述中正确的是 A 调用printf函数时,必须要有输出项 B 使用putchar函数时,必须在之前包含头文件stdio.h C 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 参考答案 B 32、有以下程序段 intn,t=1,s=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t! =n); 为使此程序段不陷入死循环,从键盘输入的数据应该是( )。 A 任意正奇数 B 任意负偶数 C 任意正偶数 D 任意负奇数 参考答案 D 33、若有如下程序段,其中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; 参考答案 B 34、要求以下程序的功能是计算: s=1+1/2+1/3+……+1/10 main() {intn;floats; s=1.0; for(n=10;n>1;n--) s=s+1/n; printf("%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); 参考答案 C 35、下面程序片段,退出while循环时,s的值是____。 inti=0,s=1; while(i<3)s+=(i++); A 6 B 5 C 4 D 3 参考答案 C 36、t为int类型,进人下面的循环之前,t的值为0 while(t=l) {……} 则以下叙述中正确的是( )。 A 循环控制表达式的值为0 B 循环控制表达式的值为1 C 循环控制表达式不合法 D 以上说法都不对 参考答案 B 37、有以下程序 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 参考答案 B 38、以下程序执行后sum的值是( )。 min() {inti,sum; for(i=1;i<6;i++)sum+=i; printf(“%d\n”,sum); } A 15 B 14 C 不确定 D 0 参考答案 C 39、有以下程序 main() {inti,s=0; for(i=1;i<10;i+=2)s+=i+1; printf(“%d\n”,s); } 程序执行后的输出结果是( )。 A 自然数1~9的累加和 B 自然数1~10的累加和 C 自然数1~9中的奇数之和 D 自然数1~10中的偶数之和 参考答案 D 40、有以下程序段 intx=3 do {printf(“%d”,x-=2);} while(! (--x)); 其输出结果是 A 1 B 30 C 1-2 D 死循环 参考答案 C 41、有如下程序 main() {inti,sum; for(i=1;i<=3;sum++)sum+=i; printf(“%d\n”,sum); } 该程序的执行结果是 A 6 B 3 C 死循环 D 0 参考答案 C 42、有如下程序 main() {intx=23; do {printf(“%d”,x--);} while(! x); } 该程序的执行结果是 A 321 B 23 C 不输出任何内容 D 陷入死循环 参考答案 B 43、以下循环体的执行次数是( )。 main() {inti,j; for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i); } A 3 B 2 C 1 D 0 参考答案 C 44、有如下程序 main() {intn=9; while(n>6){n--;printf(“%d”,n);} } 该程序段的输出结果是 A 987 B 876 C 8765 D 9876 参考答案 B 45、以下叙述正确的是 A do-while语句构成的循环不能用其它语句构成的循环来代替。 B do-while语句构成的循环只能用break语句退出。 C 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D 用do-while语句构成的循环,在while后的表达式为零时结束循环。 参考答案 D 46、以下程序的输出结果是( )。 main() {intx=10,y=10,i; for(i=0;x>8;y=++i) printf("%d,%d",x--,y); } A 10192 B 9876 C 10990 D 101091 参考答案 D 47、以下程序的输出结果是( )。 main() {intn=4; while(n--)printf("%d",--n); } A 20 B 31 C 321 D 210 参考答案 A 48、当执行以下程序段时( )。 x=-1; do{x=x*x;}while(! x); A 循环体将执行一次 B 循环体将执行两次 C 循环体将执行无限次 D 系统将提示有语法错误 参考答案 A 49、假定a和b为int型变量,则执行以下语句后b的值为 a=1;b=10; do {b-=a;a++;} while(b--<0); A 9 B -2 C -1 D 8 参考答案 D 50、设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 参考答案 B 51、main() {intx,i; for(i=1;i<=50;i++) {x=i; if(++x%2==0) if(x%3==0) if(x%7==0) printf("%d,i); } } 输出结果是( )。 A 28 B 27 C 42 D 41 参考答案 D 52、下面的程序 main() {intx=3; do{ printf("%d\n",x-=2); }while(! (--x));} A 输出的是1 B 输出的是1和-2 C 输出的是3和0 D 是死循环 参考答案 B 53、以下正确的描述是 A continue语句的作用是结束整个循环的执行; B 只能在循环体内和switch语句体内使用break语句; C 在循环体内使用break语句或continue语句的作用相同; D 从多层循环嵌套中退出时,只能使用goto语句; 参考答案 B 54、有以下程序 #include main() {inti,j,m=1; for(i=1;i<3;i++) {for(j=3;j>O;j--) {if((i*j)>3)break; m=i*j; } } printf("m=%d",m); } 程序运行后的输出结果是 A m=1 B m=2 C m=4 D m=5 参考答案 A 55、以下正确的描述是 A goto语句只能用于退出多层循环 B switch语句中不能出现continue语句 C 只能用continue语句来终止本次循环; D 在循环中break语句不能独立出现; 参考答案 C 56、有以下程序 #include main() {inta=l;b=2; for(;a<8;a++){b+=a;a+=2;} printf("%d,%d",a,b); } 程序运行后的输出结果是 A 9,18 B 8,11 C 7,11 D 10,14 参考答案 D 57、以下不是死循环的语句为() A for(y=1,x=1;x>=++y;x++) B for(;;x++) C while (1){x++;} D for(i=10;;i--) 参考答案 A 58、在C语言中,执行语句: for(j=2;j<=6;++j,j++)printf("%d",j);后,输出结果是( )。 A 12345 B 135 C 246 D 134 参考答案 C 59、在C语言中,假定a和b为int型变量,则执行以下语句后b的值为( )。 a=1; b=10; do { b-=a; a++; } while(b--<0); A 9 B -2 C -1 D 8 参考答案 D 60、在C语言中,下面有关for循环的正确描述是( ) A for循环只能用于循环次数已经确定的情况 B for循环是先执行循环体语句,后判断表达式 C 在for循环中,不能用break语句跳出循环体 D for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 参考答案 D 61、在C语言中,若i,j已定义为int类型,且内循环体不改变i,j的值,则以下程序段中内循环体的总的执行次数是( )。 for(i=5;i;i--) for(j=0;j<4;j++){…} A 20 B 25 C 24 D 30 参考答案 A 62、在C语言中,若i,j已定义为int类型,且内循环体不改变i,j的值,则以下程序段中内循环体的总的执行次数是( )。 for(i=1;i<=5;i++) for(j=0;j<4;j++){…} A 20 B 25 C 24 D 30 参考答案 A 63、在C语言中,若i,j已定义为int类型,且内循环体不改变i,j的值,则以下程序段中内循环体的总的执行次数是( )。 for(i=0;i<=5;i++) for(j=0;j<4;j++){…} A 20 B 25 C 24 D 30 参考答案 C 64、在C语言中,若x=0,y=1,则语句while(x==y){x++;break;}循环体执行次数是()。 A 3 B 2 C 1 D 0 参考答案 D 65、在C语言中,若x=0,y=1,则语句while(x=y){x++;break;}循环体执行次数是()。 A 3 B 2 C 1 D 0 参考答案 C 66、在C语言中,设k为整型变量,则下面while循环共执行( )次。 k=2; while(k! =0)printf("%d",k), k--;printf("\n"); A 无限多 B 0 C 1 D 2 参考答案 D 67、在C语言中,设k为整型变量,则下面while循环共执行( )次。 k=2; while(k! =0)printf("%d",k); k--;printf("\n"); A 无限多 B 0 C 1 D 2 参考答案 A 68、在C语言中,设k为整型变量,则下面程序段的输出结果为()。 k=2; while(k! =0)printf("%d",k), k--;printf("\n"); A 2,1,0 B 2,1 C 210 D 21 参考答案 D 69、在C语言中,设已定义k为int整型变量,则有下面while循环执行( )次。 k=10;while(k=0)k=k-1; A 10 B 无限 C 0 D 1 参考答案 C 70、在C语言中,设已定义k为int整型变量,则有下面while循环执行( )次。 k=10;while(k==8)k=k-1; A 10 B 无限 C 0 D 1 参考答案 C 71、在C语言中,执行语句: for(j=1;++j<4;);后,变量j的值是( )。 A 3 B 4 C 5 D 不定 参考答案 B 72、在C语言中,以下程序的输出结果是( )main(){intx=20;do{printf("%d",++x);}while(! x);} A 20 B 21 C 10 D 22 参考答案 B 73、在C语言中,以下程序的输出结果是( )main(){intx=21;do{printf("%d",--x);}while(! x);} A 20 B 21 C 123 D 321 参考答案 A 74、在C语言中,以下程序输出的结果是( )main(){intx=123;do{printf("%d",x--);}while(! x);} A 123 B 122 C 无结果 D 死循环 参考答案 A 75、在C语言中,有以下程序: main(){inta=1,b;for(b=1;b<=9;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 参考答案 B 76、在C语言中,下列关于swiC语言h语句和break语句的结论中,只有( )是正确的。 A break语句是switch语句的一部分 B 在switch语句中可以根据需要使用或不使用break语句 C 在switch语句中必须使用break语句 D 其它三个结论中有两个是正确的 参考答案 B 77、在C语言中,执行语句: for(i=1;i++<4;);后,变量i的值是( )。 A 3 B 4 C 5 D 不定 参考答案 C 78、在C语言中,以下的for循环( )。 for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构