第五章测试1.
05210012:现已定义整型变量int i=1;执行循环语句while(i++<5);后,i的值为( )。
A:6 B:其余选项均不正确 C:1 D:5
答案:A
2.
05210022:有程序段int k=10;while(k=0) k=k-1;则下面描述正确的是( )。
A:循环体语句执行一次 B:循环是无限循环 C:while 循环执行10次 D:循环体语句一次也不执行 3.
05210032:下列程序段的运行结果是( )。
int n=0; while(n++<3); printf("%d",n);
A:4 B:其余选项都不对 C:2 D:3 4.
05210042:设有程序段t=0;while(printf("*")){ t++;if (t<3)break;} printf("t=%d",t);下面描述正确的是( )。
A:其中循环控制表达式是不合法的 B:其中循环控制表达式与'0'等价 C:其中循环控制表达式与0等价 D:其余选项都不对 5.
x=-1;
do
{ x=x*x;
}while(!x);
A:循环执行一次 B:循环执行2次 C:有语法错误 D:是死循环 6.
int main()
{
int y=10;
do
{ y--;}
while(--y);
printf("%d\n",y--);
}
A:-1 B:8 C:1 D:0 7.
05310032:有语句int x=3; do { printf("%d\n",x-=2);} while(!(--x));则上面程序段( )。
A:输出的是1和-2 B:是死循环 C:输出的是1 D:输出的是3和0 8.
int main( )
{
char i;
for (; (i=getchar ())!='\n';)
{
switch (i-'a')
{
case 0: putchar (i);
case 1: putchar (i+1); break;
case 2: putchar (i+2);
case 3: break;
default:putchar (i); break;
}
}
printf ("\n");
}输入abcde后,程序的输出结果是( )。
A:abcee B:abcde C:abccdd D:abbde 9.
05480011:do-while语句构成的循环不能用其它语句构成的循环来代替。()
A:对 B:错 10.
05480021:用do-while语句构成循环时,只要while后的表达式为0时就结束循环。()
A:错 B:对 11.
05480031:while循环的while( )后没有分号,而do-while循环的while()后一定要有一个分号。()
A:对 B:错 12.
05510021:C语言的for语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
A:; B:++ C:< D:, 13.
05510031:下面有关for循环的正确描述是( )。
A:for循环是先执行循环体语句,后判定表达式。 B:for循环体语句中,可以包含多条语句,但要用花括号括起来。 C:在for循环中,不能用break语句跳出循环体。 D:for循环只能用于循环次数已经确定的情况。 14.
05510052:以下不是无限循环的语句为( )。
A:while(1){x++;} B:for(y=0,x=1;x>++y;x=i++) i=x; C:for( ; ;x++=i); D:for(i=10; ; i--) sum+=i; 15.
05580011:for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。()
A:错 B:对 16.
05580021:for循环中,如果表达式2为空,则该循环一定是死循环。()
A:错 B:对 17.
05580031:for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。()
A:对 B:错 18.
05580041:若a、b均为int型变量,且a=100,则for (b=100;a!=b;++a,b++) printf("----\n")是死循环。()
A:错 B:对 19.
05580051:执行语句:for(i=1;i++<4;++i);后;变量i的值是5。(
A:错 B:对 20.
int main()
{
int i,b,k=0;
for(i=1;i<=5;i++)
{
b=i%2;
while (b-->=0)
k++;
}
printf("%d,%d\n",k,b);
return0;
}
A:8,-2 B:8,-1 C:3,-1 D:3,0 21.
05610021:以下程序段中循环体总的执行次数是( )。
int i,j;
for(i=7;i;i--)
for(j=0;j<6;j++)
{......}
A:21 B:36 C:42 D:13 22.
05710012:以下正确的描述是( )。
A:只能在循环体内和switch语句内使用break语句 B:从多层循环嵌套中退出时,只能使用goto语句 C:在循环体内使用break语句或continue语句的作用相同 D:continue语句的作用是结束整个循环的执行 23.
05710021:以下不正确的描述是( )。
A:在循环语句中使用continue是为了结束本次循环,而不是终止整个循环的执行。 B:在switch语句中使用break语句或continue语句的作用相同。 C:break 语句不能用于循环语句和switch语句外的任何其他语句 D:在循环语句中使用break是为了使流程跳出循环体,提前结束循环。 24.
05780011:break语句的作用就是结束本层循环。()
A:对 B:错