选择填空题
1. 以下不正确的语句是
(A) if (x > y);
(B) if (x = y) && ( x!= 0) x += y;
(C) if (x !=y) scanf("%d", &x); else scanf("%d", &y);
(D) if (x < y) {x++; y++;}
2. 给出下述程序的输出结果
main()
{
int a=5,b=0,c=0;
if (a=b+c) printf("***");
else printf("$$$");
}
3. 给出下述程序的输出结果
#include <stdio.h>
main()
{
int m=5;
if(m++>5)
printf("%d\n",m);
else
printf("%d\n",m--);
}
4. 写出下述程序的输出结果
#include<stdio.h>
main()
{
int a=0,b=0,c=1,d=10;
if (a) d=d-5;
else if (c)
if (!b) d==15;
else d==25;
printf("%d\n",d);
}
5. 在C语言中的if语句中,用作判断的表达式为
A 关系表达式
B 逻辑表达式
C 算术表达式
D 任意表达式
6. 以下程序的运行结果是
#include<stdio.h>
void main()
{
int s=1,t=1,a=5,b=2;
if (a>0)
s++;
if (a>b)
t+=s;
else if (a==b)
t=5;
else
t=2*s;
printf("s=%d,t=%d\n",s,t);
}
7. 对 for (表达式1; ; 表达式3)可理解为
(A) for (表达式1; 0; 表达式3)
(B) for (表达式1; 1; 表达式3)
(C) for (表达式1; 表达式1; 表达式3)
(D) for (表达式1; 表达式3; 表达式3)
8. 下面程序段的执行结果是
int a,b,c,t;
a=1;
b=2;
c=2;
while(a<b<c)
{
t=a; a=b; b=t;
c--;
}
printf("%d,%d,%d", a, b, c);
9. 给出下述程序的输出结果
#include<stdio.h>
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,%d\n",a,b);
}
10. 以下程序的运行结果是
#include<stdio.h>
void main()
{
int i,j,x=0;
for (i=0;i<2;i++)
{
x++;
for (j=0;j<=3;j++)
{
if (j%2)
continue;
x++;
}
x++;
}
printf("%d\n",x);
}
11. 有以下程序:
#include <stdio.h>
main()
{
int i=1;
switch(i)
{
case 1: printf("%d",i++);
case 2: printf("%d",i++);
case 3: printf("%d",i++);
case 4: printf("%d",i++);
break;
default: printf("END");
}
}
上述程序的输出结果为
12. 以下正确的描述是
(A) continue语句的作用是结束整个循环的执行
(B) break语句的作用是结束包含它的最内层循环
(C) 在循环体内使用break语句或continue语句的作用相同
(D) 使用一次break语句可以从多层循环嵌套中退出
答案:
- B
- $$$
- 6
- 10
- B 书上原话……
- s=2,t=3
- B a<b<c运算分两步:首先a,b进行比较,a<b的返回值(0或1)与c进行比较,返回值为0或1。
- 1,2,0
- 8,22
- 8
- 1234 没有break的话,switch语句也是一个循环。
- B
编程题
1.略 2.略 3.略 4.略 5.略 6.略