一、选择题
1. 以下非法的赋值语句是
A:n (i 2,++i);
B:j++;
C:++(i+1);
D:x j>0;
2. 已有定义:int x 3,y 4,z 5;,则表达式!(x+y)+z-1&&y+z/2 的值是
A:6
B:0
C:2
D: 1
3. 阅读以下程序:
main()
{intx;
scanf( “%d”,&x);
if(x--<5)printf( “%d”,x);
elseprintf( “%d”,x++);
}
程序运行后,如果从键盘上输人5,则输出结果是 ()。
A:3
B:4
C:5
D:6
4. 有如下程序
main0
{int a 2,b -1,c 2;
if(a
if(b<0) c 0;
elsec++
printf("%d\n",c);
}
该程序的输出结果是
A:0
B: 1
C:2
D:3
5. 有以下程序
#include
main()
1/ 18
{int a,b,c 246;
a c/100%9;
b (-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是()。
A:2,1
B:3,2
C:4,3
D:2,-1
6. 两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x ++>5)printf("%d",x);
elseprintf("%d\n",x --); }
A:7 和5
B:6 和3
C:7 和4
D:6 和4
7. 能表示x 为偶数的表达式是
A:x%2 0
B:x%2 1
C:x%2
D:x%2! 0
8. 下面的程序段中共出现了几处语法错误?
int a,b;
scanf("%d",a);
b 2a;
if(b>0)printf("%b",b);
A: 1
B:2
C:3
D:4
9. C 语言中,逻辑 “真”等价于
A: 大于零的数
B: 大于零的整数
C: 非零的数
D: 非零的整数
2/ 18
10. C 语言的 switch 语句中,case 后
A: 只能为常量
B: 只能为常量或常量表达式
C: 可为常量及表达式或有确定值的变量及表达式
D: 可为任何量或表达式
11. 已知int i 10;表达式"20-0< i< 9"的值是
A:0
B: 1
C: 19
D:20
12. 设有int i,j,k; 则表达式i 1,j 2,k 3,i&&j&&k 的值为
A: 1
B:2
C:3
D:0
13. 逻辑运算符两侧运算对象的数据类型
A: 只能是0 或1
B: 只能是0 或非0 正数
C: 只能是整型或字符型数据
D: 可以是任何类型的数据
14. 能正确表示 “当x 的取值在[1,10]和[200,210]范围内为真,否则为
假”的表达式是 ()
A:(x>=1)&&(x=200)&&(x
B: (x>=1)||(x=200)||(x
C: (x>=1)&&(x=200)&&(x
D: (x>=1)||(x=200)||(x
15. 已知x=43,ch=’a’,y=0;则表达式 (x>=y&&ch
是 ()
A:0
B: 1
C: 语法错误
D: 假
16. 执行下列语句后a 的值为
int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A:5
B:0
C:2
3/ 18
D: 1
17. 以下程序的输出结果是 ()
main()
{int a=5,b=0,c=0;
if(a=b+c)printf( “***\n”);
elseprintf(“$$$\n”);
}
A: 有语法错误不能通过编译
B: 可以通过编译但不能通过连接
C:***
D:$$$
18. 以下程序的输出结果是 ()
main()
{intm=5;
if(m++>5)printf(“%d\n”,m);
elseprintf( “%d\n”,m--);
}
A:4
B:5
C:6
D:7
19. 若运行时给变量x 输入12,则以下程序的运行结果是 ()
main()
{intx,y;
scanf(“