
一、单选题
1.以下关于循环的描述中,错误的是:( )。
A.可以用for语句实现的循环一定可以用while语句实现
B.可以用while语句实现的循环一定可以用for语句实现
C.可以用do...while语句实现的循环一定可以用while语句实现
D.do...while语句与while语句的区别仅仅是关键字while的位置不同
( 知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
( 知识点:循环的基本概念; 难度系数:1; 答案:B )
3.以下关于循环体的描述中,错误的是:( )。
A.循环体中可以出现break语句
B.循环体中可以出现continue语句
C.循环体中不能出现switch语句
D.循环体中还可以出现循环语句
( 知识点:循环的基本概念; 难度系数:1; 答案:C )
4.在while(x)语句中的x与下面条件表达式等价的是:( )。
A.x==0 .x==1 .x!=l .x!=0
( 知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0 B.1 C.真 D.非0
( 知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;
while循环执行的次数是:( )。
A.无限次 .有语法错,不能执行
C.一次也不执行 .执行一次
( 知识点:while语句; 难度系数:1; 答案:A )
7.有以下程序段:
int x=0;
while(x=1)
{……}
则以下叙述中正确的是:( )。
A.循环控制表达式的值为0 B.循环控制表达式的值为1
C.循环控制表达式不合法 D.以上说法都不正确
( 知识点:while语句; 难度系数:1; 答案:B )
8.下述语句执行后,变量k的值是:( )。
int k=0;
while(k++<2);
printf("%d",k);
A.2 .3 .01 D.12
( 知识点:while语句; 难度系数:2; 答案:B )
9.以下叙述正确的是:( )。
A.do...while语句构成的循环不能用其他语句构成的循环代替
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
( 知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
A.do...while的循环体至少无条件执行一次
B.while的循环控制条件比do...while的循环控制条件严格
C.do...while允许从外部转到循环体内
D.do...while的循环体不能是复合语句
( 知识点:do...while语句; 难度系数:1; 答案:A )
11.该程序段的输出结果是:( )。
main()
{
int n=9;
do
{
n--;
printf("%d",n);
}while(n>6);
}
A.987 B.876 C.8765 D.9876
( 知识点:do...while语句; 难度系数:1; 答案:B )
12.有以下程序段:
int i=0,s=0;
do
{
s=++i;
}while(i!=0);
printf("%d",s);
则以下说法正确的是:( )。
A.程序段执行无限次 B.程序段中的do...while表达式不合法
C.程序段运行后输出0 D.程序段运行后输出1
( 知识点:do...while语句; 难度系数:1; 答案:A )
13.有以下程序段:
int x=-1;
do
{
x=x*x;
}while(!x);
则以下说法正确的是:( )。
A.是无限循环 B.循环执行两次
C.循环执行一次 D.循环条件不合法
( 知识点:do...while语句; 难度系数:1; 答案:C )
14.下面有关for循环的正确描述是:( )。
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
( 知识点:for语句; 难度系数:1; 答案:D )
15.对于for(表达式1;;表达式3)可理解为:( )。
A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
( 知识点:for语句; 难度系数:1; 答案:B )
16.以下循环体的执行次数是:( )。
main()
{
}
A.3 .2 .1 .0
( 知识点:for语句; 难度系数:1; 答案:B )
17.以下for语句运行时循环次数是:( )。
for(i=0,j=0; (j!=10)&&(i<5); i++);
A.无限次 .4次 .5次 .6次
( 知识点:for语句; 难度系数:1; 答案:C )
18.下述语句执行后,变量i的值是:( )。
int i;
for(i=1;i++<3;);
printf("%d",i);
A.1 .2 .3 .4
( 知识点:for语句; 难度系数:2; 答案:D )
19.以下程序段中,内重循环总的执行次数是:( )。
int i,j;
for(i=5;i>0;i--)
for(j=0;j<4;j++)
{……}
A.20次 .24次 .25次 .30次
( 知识点:循环的嵌套; 难度系数:1; 答案:A )
20.以下程序段的输出结果是:( )。
main()
{
}
A.12 .15 .20 .25
( 知识点:循环的嵌套; 难度系数:1; 答案:C )
21.下面程序的输出结果是:( )。
main()
{
}
A.124 .25 .36 .15
( 知识点:循环的嵌套; 难度系数:1; 答案:D )
22.下面程序的输出结果是:( )。
main()
{
int k=0,m=0;
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m=%d",k,m);
}
A.k=0,m=3 .k=0,m=5 .k=1,m=3 .k=1,m=5
( 知识点:循环的嵌套; 难度系数:1; 答案:B )
23.下面程序的输出结果是:( )。
main()
{
int i,b,k=0;
for(i=1;i<=5;i++)
{
b=i%2;
while(b--==0)
k++;
}
printf("%d,%d",k,b);
}
A.3,1 .3,0 .2,1 .2,0
( 知识点:循环的嵌套; 难度系数:1; 答案:D )
24.C语言中while与do...while语句的主要区别是:( )。
A.do...while的循环体至少无条件执行一次
B.do...while允许从外部跳到循环体内
C.while的循环体至少无条件执行一次
D.while的循环控制条件比do...while的严格
( 知识点:几种循环的比较; 难度系数:1; 答案:A )
25.以下关于C语言中几种循环的描述,错误的是:( )。
A.while和for是先判断表达式,后执行语句;而do...while是先执行语句,后判断表达式
B.do...while的循环体至少执行一次,而while的循环体可能一次都不会执行
C.对于while、do...while和for循环,都可以用continue语句跳出当次循环
D.for循环只能用于循环次数已经确定的情况,而while和do...while没有这种
( 知识点:几种循环的比较; 难度系数:1; 答案:D )
26.以下关于break语句的描述中,正确的是:( )。
A.在switch语句中必须使用break语句
B.break语句只能用于switch语句体中
C.在switch语句中可以使用break语句
D.break语句只能用于循环语句中
( 知识点:break语句; 难度系数:1; 答案:C )
27.以下描述中,错误的是:( )。
A.break语句和continue语句的作用是一样的
B.break语句可用于for循环
C.break语句可用于while循环
D.在循环体中使用break语句可以跳出循环体,提前结束循环
( 知识点:break语句; 难度系数:1; 答案:A )
28.以下描述中,错误的是:( )。
A.continue语句可用于for循环
B.continue语句可用于while循环
C.在循环体中使用break语句可以跳出循环体,提前结束循环
D.在循环体中使用continue语句是为了跳出循环,提前结束循环
( 知识点:continue语句; 难度系数:1; 答案:D )
29.关于break语句和continue语句的区别,说法正确的是:( )。
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
( 知识点:continue语句; 难度系数:1; 答案:C )
30.列举出所有可能的情况,逐个判断有哪些符合问题所要求的条件,从而得到问题的解答。这种方法称为:( )。
A.递归法 .穷举法 .迭代法 .归纳法
( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:B )
31.为了得到问题的解,把它推到比原问题简单的问题求解。这种方法称为:( )。
A.递归法 .穷举法 .迭代法 .归纳法
( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:A )
32.对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。这种方法称为:( )。
A.递归法 .穷举法 .迭代法 .归纳法
( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:C )
二、多选题
1.以下关于循环的描述中,正确的有:( )。
A.可以用for语句实现的循环一定可以用while语句实现
B.可以用while语句实现的循环一定可以用for语句实现
C.for循环表达式的括号内的3个表达式均不可以省略
D.可以用do...while语句实现的循环一定可以用while语句实现
E.do...while语句与while语句的区别仅仅是关键字while的位置不同
( 知识点:循环的基本概念; 难度系数:1; 答案:ABD )
2.以下关于while语句的描述中,正确的有:( )。
A.while(x)语句中的x等价于x!=l
B.while(!x)语句中的!x等价于x==0
C.while(!x)语句中的!x等价于x==1
D.当while语句构成的循环中的条件为0时,结束循环
E.当while语句构成的循环中的条件为真时,结束循环
( 知识点:while语句; 难度系数:1; 答案:BD )
3.以下关于do...while语句的描述中,错误的有:( )。
A.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
B.用do...while语句构成循环时,在while后的表达式为零时结束循环
C.do...while的循环体至少无条件执行一次
D.do...while允许从外部转到循环体内
E.do...while的循环体不能是复合语句
( 知识点:do...while语句; 难度系数:1; 答案:ADE )
4.以下关于for语句的描述中,正确的有:( )。
A.若有for(;;){……},是指循环体执行0次
B.在for循环中,不能用break语句跳出循环体
C.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
D.执行for(i=0,j=0;i<2;i++);j=j+1;后j的值为1
E.for循环可以用于循环次数不能确定的情况
( 知识点:for语句; 难度系数:1; 答案:CE )
5.以下关于循环嵌套的描述中,正确的有:( )。
A.所有类型的循环都可以进行嵌套使用
B.只有for循环可以嵌套使用
C.循环的嵌套只能是同一种循环结构的嵌套
D.在for循环结构内可以嵌套一个while循环结构
E.在while循环结构内可以嵌套一个for循环结构
( 知识点:循环的嵌套; 难度系数:1; 答案:ADE )
6.以下关于while与do...while语句的描述中,正确的有:( )。
A.while的循环控制条件比do...while的严格
B.while的循环体至少无条件执行一次
C.do...while的循环体至少无条件执行一次
D.可以用do...while语句实现的循环一定可以用while语句实现
E.do...while允许从外部跳到循环体内
( 知识点:几种循环的比较; 难度系数:1; 答案:CD )
7.以下关于break语句的描述中,正确的有:( )。
A.break语句只能用于循环结构
B.利用break语句可以提前终止循环的执行
C.break语句只能用于switch结构
D.break语句和continue语句可以同时出现在同一个循环体内
E.在switch语句中必须使用break语句
( 知识点:break语句; 难度系数:1; 答案:BD )
8.以下关于break和continue语句的描述中,错误的有:( )。
A.break语句和continue语句不可以同时出现在同一个循环体内
B.break语句用于跳出循环体,continue语句用于跳出当次循环
C.continue语句用于跳出循环体,break语句用于跳出当次循环
D.利用continue语句可以提前终止循环的执行
E.break语句和continue语句都只能用于循环结构
( 知识点:continue语句; 难度系数:1; 答案:ACDE )
三、判断题
1.( )循环是指使用一定条件对同一个程序段重复执行若干次。
( 知识点:循环的基本概念; 难度系数:1; 答案:T )
2.( )循环体中可以出现break语句,但不能出现continue语句。
( 知识点:循环的基本概念; 难度系数:1; 答案:F )
3.( )可以用while语句实现的循环一定可以用for语句实现。
( 知识点:循环的基本概念; 难度系数:1; 答案:T )
4.( )while(x)语句中的x等价于x==1。
( 知识点:while语句; 难度系数:1; 答案:F )
5.( )while(!x)语句中的!x等价于x==0。
( 知识点:while语句; 难度系数:1; 答案:T )
6.( )用1作while循环的判断条件,则循环一次也不执行。
( 知识点:while语句; 难度系数:1; 答案:F )
7.( )while语句是先执行循环体,后进行循环条件判断。
( 知识点:while语句; 难度系数:1; 答案:F )
8.( )while循环的循环体可能一次也不会执行。
( 知识点:while语句; 难度系数:1; 答案:T )
9.( )do...while的循环体可能一次也不会执行。
( 知识点:do...while语句; 难度系数:1; 答案:F )
10.( )do...while语句构成的循环不能用其它语句构成的循环代替。
( 知识点:do...while语句; 难度系数:1; 答案:F )
11.( )do...while语句构成的循环可以用break语句跳出。
( 知识点:do...while语句; 难度系数:1; 答案:T )
12.( )do...while语句是先进行循环条件判断,后执行循环体。
( 知识点:do...while语句; 难度系数:1; 答案:F )
13.( )do...while循环可以写成while循环的格式。
( 知识点:do...while语句; 难度系数:1; 答案:T )
14.( )for循环表达式的括号内的3个表达式均不可以省略。
( 知识点:for语句; 难度系数:1; 答案:F )
15.( )若有for(;;){……},是指循环体执行0次。
( 知识点:for语句; 难度系数:1; 答案:F )
16.( )执行for(i=0;i<3;i++);后i的值为2。
( 知识点:for语句; 难度系数:1; 答案:F )
17.( )不管循环次数确不确定,都可以使用for循环。
( 知识点:for语句; 难度系数:1; 答案:T )
18.( )for循环表达式的括号内的3个表达式都可以省略。
( 知识点:for语句; 难度系数:1; 答案:T )
19.( )所有类型的循环都可以进行嵌套使用。
( 知识点:循环的嵌套; 难度系数:1; 答案:T )
20.( )循环的嵌套只能是同一种循环结构的嵌套。
( 知识点:循环的嵌套; 难度系数:1; 答案:F )
21.( )在for循环结构内可以嵌套一个while循环结构。
( 知识点:循环的嵌套; 难度系数:1; 答案:T )
22.( )在while循环结构内不能嵌套一个for循环结构。
( 知识点:循环的嵌套; 难度系数:1; 答案:F )
23.( )在多重循环中,外重循环的循环次数和内重一样多。
( 知识点:循环的嵌套; 难度系数:1; 答案:F )
24.( )do...while语句与while语句的区别仅仅是关键字while的位置不同。
( 知识点:几种循环的比较; 难度系数:1; 答案:F )
25.( )while和do...while的循环体都可能一次都不执行。
( 知识点:几种循环的比较; 难度系数:1; 答案:F )
26.( )利用break语句可以提前终止循环的执行。
( 知识点:break语句; 难度系数:1; 答案:T )
27.( )break语句只能用于循环结构。
( 知识点:break语句; 难度系数:1; 答案:F )
28.( )利用continue语句可以提前终止循环的执行。
( 知识点:continue语句; 难度系数:1; 答案:F )
29.( )break语句和continue语句不可以同时出现在同一个循环体内。
( 知识点:continue语句; 难度系数:1; 答案:F )
30.( )穷举法的基本思想是,对问题的所有可能状态逐一测试,直至找到解或将全部可能状态都测试完为止。
( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:T )
31.( )递推法实际上是一种递推关系,就是为了得到问题的解,把它推到比原问题简单的问题求解。
( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:T )
32.( )迭代是一个不断用新值取代变量的旧值,或由旧值递推得出变量的新值的过程。
( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:T )
四、填空题
1.C语言中,三种常用的循环结构是___①___、___②___和___③___。
( 知识点:循环的基本概念; 难度系数:1; 答案:① for ② while ③ do...while )
2.该程序的功能是:将一个整数首尾倒置,若程序输入12345,则输出54321;若程序输入-34567,则输出-76543,请填空。
#include main() { int m,n,y=0; scanf("%d",&n); m=fabs(n); while(m!=0) { y=y*10+m%10; ___①___; } if(n<0) ___②___; printf("%d",y); } ① A.y=y/10 .y=y%10 .m=m/10 .m=m%10 ② A.y=-y .m=-m .n=-n .m=fabs(n) ( 知识点:while语句; 难度系数:1; 答案:① C ② A ) 3.该程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,但输入负数时结束输入,请填空。 main() { "%f",&x); ___①___) ___②___) amin=x; "%f",&x); printf("\\namax=%f\\n amin=%f\\n",amax,amin); } ① A.x>0 .x>=0 .x!=0 .x==0 ② A.x ( 知识点:while语句; 难度系数:1; 答案:① B ② C ) 4.已知下列程序段的输出结果是21,请填空。 main() { int n=3; while(___ ___) printf("%d",n); } A.n++ .n-- .++n .--n ( 知识点:while语句; 难度系数:1; 答案:D ) 5.该程序的功能是:从键盘读入一个整数,统计该数的位数,若输入123,输出3;输入-99,输出2,请填空。 main() { x; ___①___; x); x<0) x=-x; { ___②___; }while(x!=0); } ① A.x=1 .x=0 .count=1 .count=0 ② A.x=x%10 B.x=x/10 C.x=x/10-x%10 D.x=x%10-x/10 ( 知识点:do...while语句; 难度系数:1; 答案:① D ② B ) 6.该程序的功能是:输入n,输出n!,请填空。 main() { ___①___; ___②___; } ① A.s=1,i=1 .s=0,i=0 .s=1,i=0 .s=0,i=1 ② A.s=s*n .s=s*i .s=n! .s=i! ( 知识点:do...while语句; 难度系数:1; 答案:① A ② B ) 7.已知下列程序段的输出结果是0,请填空。 main() { int k=6; do { k--; }while(___ ___); printf("%d",k); } A.k!=1 .k>=0 .--k .k-- ( 知识点:do...while语句; 难度系数:2; 答案:C ) 8.该程序的功能是:从键盘输入10个整数,求出它们的平均值,请填空。 main() { int i,a,s=0; double aver=0.0; for(i=0;i<10;i++) { scanf("%d",&a); s=s+a; } ___ ___; printf("%f",aver); } A.aver=s/10 .aver=s/10.0 .aver=a/10 .aver=a/10.0 ( 知识点:for语句; 难度系数:1; 答案:B ) 9.该程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。 main() { 偶数之和=%d\\n",a); 奇数之和=%d\\n___ ___); } A.c .c-a .c-11 .a-11 ( 知识点:for语句; 难度系数:2; 答案:C ) 10.该程序的功能是:输出100以内能被3整除且个位数为5的所有整数,请填空。 main() { int i,j; for(i=0;___①___;i++) { j=i*10+5; if(___②___) continue; printf("%d\",j); } } ① A.i<=100 .i<100 .i<=10 .i<10 ② A.j/3!=0 .j%3!=0 .j/3==0 D.j%3==0 ( 知识点:for语句; 难度系数:2; 答案:① D ② B ) 11.已知下列程序段的输出结果是###*#,请填空。 main() { int i; for(i=1;i<6;i++) { if(___ ___) { printf("#"); continue; } printf("*"); } } A.i%2 .i%3 .i%4 .i%5 ( 知识点:for语句; 难度系数:3; 答案:C ) 12.该程序运行后的输出图形如下所示,请填空。 * ** *** **** main( ) { ___ ___;j++) } A.j<=4 .j<=3 .j<=4-i .j<=i ( 知识点:循环的嵌套; 难度系数:2; 答案:C ) 13.该程序的功能是:输出10至1000之间的每位数之积等于每位数之和的所有整数,请填空。 main() { int n,k=1,s=0,m; for(n=10;n<=1000;n++) { k=1;s=0; m=n; while(___①___) { k*=m%10; s+=m%10; ___②___; } if(k==s) printf("%d\",n); } } ① A.m>=0 .m>0 C.n>=0 D.n>0 ② A.n=n/10 .n=m/10 .m=m/10 .m=n/10 ( 知识点:循环的嵌套; 难度系数:3; 答案:① B ② C ) 14.该程序运行后的输出图形如下所示,请填空。 ** **** ****** ******** main() { ___①___;j++) ___②___;j++) } ① A.j<1-i .j<2-i .j<3-i .j<4-i ② A.j<=2*i+1 .j<2*i+1 .j<=2*i .j<2*i ( 知识点:循环的嵌套; 难度系数:3; 答案:① C ② A ) 15.___ ___循环的循环体至少执行一次。 A.while .do...while C.for .以上三种 ( 知识点:几种循环的比较; 难度系数:1; 答案:B ) 16.可以用break语句跳出循环体的循环是___ ___。 A.while .do...while C.for .以上三种 ( 知识点:几种循环的比较; 难度系数:1; 答案:D ) 17.该程序的功能是:从键盘输入一个整数,判断这个数是否为素数,请填空。 main() { ___ ___; 该数是素数"); 该数不是素数"); } A.continue .break .i++ .i-- ( 知识点:break语句; 难度系数:1; 答案:B ) 18.已知下列程序段的输出结果是1,请填空。 main() { int i; for(i=1;i<=4;i++) { printf("%d",i++); ___ ___; } } A.break .continue .i++ .i-- ( 知识点:break语句; 难度系数:1; 答案:A ) 19.已知下列程序段的输出结果是13,请填空。 main() { int i; for(i=1;i<=4;i++) { printf("%d",i++); ___ ___; } } A.break .continue .i++ .i-- ( 知识点:continue语句; 难度系数:1; 答案:B ) 20.已知下列程序段的输出结果是*#*#,请填空。 main() { ___ ___; } A.k++ .k-- .break .continue ( 知识点:continue语句; 难度系数:1; 答案:D ) 21.该程序的功能是:求1+1/2+1/3+1/4+……+1/20的和,请填空。 main() { int n; float s=0; for(n=1;n<=20;n++) { ___ ___; } printf("%f",s); } A.s=1/n .s=1.0/n .s+=1/n .s+=1.0/n ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:D ) 22.该程序的功能是:求三位的水仙花数(即每位数字的3次方之和等于它本身),请填空。 main() { int i,j,k,n; printf(" '水仙花'数是:"); for(n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=___①___; if(___②___==i*i*i+j*j*j+k*k*k) { printf("%d\\n",n); } } } ① A.n/10 .n%10 .n/10-j*10 .n%10-j*10 ② A.100*i+10*j+k B.100i+10j+k C.100*k+10*j+i .100k+10j+i ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:① B ② A ) 五、阅读程序,选择结果 1.下面程序的运行结果是:( )。 main() { } A.2 .1 .0 .-1 ( 知识点:while语句; 难度系数:1; 答案:D ) 2.下面程序的运行结果是:( )。 main() { int a=1,b=2,c=2,t; while(a { t=a; a=b; b=t; c--; } printf("%d,%d,%d",a,b,c); } A.1,2,0 .2,1,0 .1,2,1 .2,1,1 ( 知识点:while语句; 难度系数:1; 答案:A ) 3.下面程序的运行结果是:( )。 main() { int num=0; while(num<=2) { num++; printf("%d\",num); } } A.1 B.1 2 C.1 2 3 D.1 2 3 4 ( 知识点:while语句; 难度系数:1; 答案:C ) 4.下面程序的运行结果是:( )。 main() { int x=3; do { printf("%d\",x-=2); }while(!(--x)); } A.1 .3 0 .1 -2 .死循环 ( 知识点:do...while语句; 难度系数:2; 答案:C ) 5.下面程序的运行结果是:( )。 main() { int i=0,sum=1; do { sum+=i++; }while(i<5); printf("%d",sum); } A.16 .11 .10 .7 ( 知识点:do...while语句; 难度系数:1; 答案:B ) 6.下面程序的运行结果是:( )。 main() { int i=5,j=0; do { j=j+i; i--; }while(i>2); printf("%d",j); } A.11 .12 .13 .14 ( 知识点:do...while语句; 难度系数:1; 答案:B ) 7.下面程序的运行结果是:( )。 main() { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d%d",x--,y); } A.10 1 9 2 .9 8 7 6 .10 9 9 0 .10 10 9 1 ( 知识点:for语句; 难度系数:1; 答案:D ) 8.下面程序的运行结果是:( )。 main() { int i,sum; for(i=1;i<6;i++) sum+=i; printf("%d",sum); } A.15 .14 .不确定 .0 ( 知识点:for语句; 难度系数:1; 答案:C ) 9.下面程序的运行结果是:( )。 main() { int x,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.3981 .4284 .2668 .2870 ( 知识点:for语句; 难度系数:2; 答案:D ) 10.下面程序的运行结果是:( )。 main() { int i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d",a); } A.21 .32 .22 .11 ( 知识点:循环的嵌套; 难度系数:2; 答案:B ) 11.下面程序的运行结果是:( )。 main() { int y=2,a=1; while(y--!=-1) { do { a*=y; a++; }while(y--); } printf("%d,%d",a,y); } A.1,-2 .1,-1 .0,-2 .0,-1 ( 知识点:循环的嵌套; 难度系数:2; 答案:A ) 12.下面程序的运行结果是:( )。 main() { int k,j,s; for(k=2;k<6;k++,k++) { s=1; for(j=k;j<6;j++) s+=j; } printf("%d",s); } A.8 .9 .10 .11 ( 知识点:循环的嵌套; 难度系数:2; 答案:C ) 13.下面程序的运行结果是:( )。 main() { int k,s; for(k=0,s=0;k<10;k++,s--) if(s>k) break; else s+=k; printf("%d,%d",k,s); } A.7,8 .7,9 .6,8 .6,9 ( 知识点:break语句; 难度系数:2; 答案:D ) 14.下面程序的运行结果是:( )。 main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } printf("%d",a); } A.7 .8 .9 .10 ( 知识点:break语句; 难度系数:3; 答案:B ) 15.下面程序的运行结果是:( )。 main() { int y=10; for(;y>0;y--) if(y%3==0) { printf("%d",--y); continue; } } A.741 .852 .963 .8754321 ( 知识点:continue语句; 难度系数:2; 答案:B ) 16.下面程序的运行结果是:( )。 main() { } A.8 .9 .10 .11 ( 知识点:continue语句; 难度系数:2; 答案:A ) 17.下面程序的运行结果是:( )。 main() { int n,s=0; for(n=1;n<=10;n++) { s+=n; } s+=n; printf("%d",s); } A.55 .56 .65 .66 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:D ) 18.下面程序的运行结果是:( )。 main() { int n,s=1,t=1; for(n=1;n<5;n++) { t*=n; s+=t; } printf("%d",s); } A.33 .34 .153 .154 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:B ) 19.下面程序的运行结果是:( )。 main() { int a=12,b=8,temp; while(b!=0) { temp=a%b; a=b; b=temp; } printf("%d",a); } A.12 .8 .4 .2 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:C ) 20.下面程序的运行结果是:( )。 main() { int a,b,num1=8,num2=16,temp; if(num1 temp=num1; num1=num2; num2=temp; } a=num1,b=num2; while(b!=0) { temp=a%b; a=b; b=temp; } printf("%d",num1*num2/a); } A.16 .8 .4 .2 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:A ) 21.下面程序的运行结果是:( )。 main() { int n=316,temp,s=0; while(n!=0) { temp=n%10; s+=temp; n=n/10; } printf("%d,%d",s,temp); } A.9,3 .9,6 .10,3 .10,6 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:1; 答案:C ) 22.下面程序的运行结果是:( )。 main() { int a=3,n=3,count=1,s=0,t=0; while(count<=n) { t=t+a; s=s+t; a=a*10; ++count; } printf("%d,%d",s,count); } A.369,3 .369,4 .366,3 .366,4 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:B ) 23.下面程序的运行结果是:( )。 main() { int i=0,a=0,b=0,c=0; char d[]="1aD*56H#3y"; while(d[i]!='\\0') { if(d[i]>='a'&&d[i]<='z'&&d[i]>='A'&&d[i]<='Z') a++; else if(d[i]>='0'&&d[i]<='9') b++; else c++; i++; } printf("%d,%d,%d\\n",a,b,c); } A.4,4,2 .4,2,4 .0,4,6 .0,6,4 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:C ) 24.下面程序的运行结果是:( )。 main() { int i=0,a=0,b=0,c=0,d=0; char s[]="8rG69i%@Hu"; while(s[i]!='\\0') { if(s[i]>='a'&&s[i]<='z') a++; else if(s[i]>='A'&&s[i]<='Z') b++; else if(s[i]>='0'&&s[i]<='9') c++; else d++; i++; } printf("%d,%d,%d\\n",b,d,a); } A.2,2,3 .2,3,3 .3,3,2 .3,2,3 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:A ) 25.下面程序的运行结果是:( )。 main() { int i; int fib[6]={1,1}; for(i=2;i<6;i++) fib[i]=fib[i-1]+fib[i-2]; for(i=2;i<5;i++) printf("%d ",fib[i]); } A.1 1 2 .1 2 3 .2 3 5 .3 5 8 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:C ) 26.下面程序的运行结果是:( )。 main() { int i; int fib[20]={1,1}; for(i=2;i<20;i++) fib[i]=fib[i-1]+fib[i-2]; printf("%d",fib[9]); } A.34 .55 . .144 ( 知识点:常用算法(穷举、递推、迭代)的基本应用; 难度系数:2; 答案:B )
