一、判断题 (10分)
1. switch(表达式){},该表达式的值必须是整型或字符型。2分
2. 执行switch语句时,肯定会执行其中的一个分支语句组。2分
3. while和do…while循环不论什么条件下它们的结果都是相同的.2分
4. for(表达式1;表达式2;表达式3){},其中表达式1只执行一次。2分
5. 若int i=0,k=8;while(i=8) i=k--;则while循环体的执行次数为0.2分
二、选择题 (28分)
1.已知
int t=0;
while(t=1)
{...}
则以下叙述正确的是( )。[B] 2分
A. 循环控制表达式的值为0 B. 循环控制表达式的值为1
C. 循环控制表达式不合法 D. 以上说法都不对
2.以下程序段的输出结果是_____[C] 2分
int x=3;
do
{ printf("%3d",x-=2);}
while (!(--x));
A. 1 B. 3 0 C. 1 -2 D. 死循环
3.以下程序的输出结果是______。[A] 2分
main()
{ int n=4;
while(n--)printf("%d ",--n);
}
A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 0
4.设j为int型变量,则下面for循环语句的执行结果是 [B] 2分
for(j=10;j>3;j--)
{
if(j%3)j--;
--j;--j;
printf("%d",j);
}
A. 6 3 B. 7 4 C. 6 2
5.结构化程序由三种基本结构组成,三种基本结构组成的算法______。[C] 2分
A. 可以完成任何复杂的任务 B. 只能完成部分复杂的任务 C. 只能完成符合结构化的任务 D. 只能完成一些简单的任务
6.以下程序的输出结果是______。[A] 2分
main()
{int a=0,i;
for(i=1;i<5;i++)
{ switch(i)
{case0:
case3:a+=2;
case1:
case2:a+=3;
default:a+=5;
}
}
printf("%d",a)
}
A. 31 B. 13 C. 10
7.以下的for循环:
for(x=0,y=0;(y!=123)&&(x<4);x++); [C] 2分
A. 是无限循环 B. 循环次数不定 C. 执行4次 D. 执行3次
8.有如下程序
main()
{
int n = 9;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序的输出结果是______。[B] 2分
A. 987 B. 876 C. 8765
9.有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是______。 [D] 2分
A. p的值不等于12345并且n的值小于3B. p的值等于12345并且n的值大于等于3C. p的值不等于12345或者n的值小于3D. p的值等于12345或者n的值大于等于3
10.有如下程序
main()
{ int x=1,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是______。[A] 2分
A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2
11.C语言中用于结构化程序设计的三种基本结构是______。[A] 2分
A. 顺序结构、选择结构、循环结构 B. if、switch、break C. for、while、do-while D. if、for、continue
12.有以下程序
main()
{ int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是______。[A] 2分
A. 011122 B. 012 C. 01