1-3
表达式 (3==x==3) 的值恒为0。
对。x的值不确定,一般来讲变量没有附初值的时候,某些IDM就会将变量弄成零。
1-9
if(a=5) 是允许的。对
1-10
如果变量已经正确定义,则执行以下程序段后,x的值不变。
x = 4;
if (x < 0){
y = -1;
}else if (x = 0){
y = 0;
}else{
y = 1;
}
不对。第一个else if中将x赋值为0,要注意这种小陷阱
2-5
要调用数学函数时,在#include命令行中应包含__C__。
(2分)
A.
“stdio.h”
B.
“string.h”
C.
“math.h”
D.
“ctype.h”
2-6
判断 i 和 j 至少有一个值为非0的表达式是__C__。
(2分)
A.i!=0 && j!=0
B.i+j!=0
C.i || j
D.i&&j
2-8
为表示“a和b都不等于0”,应使用的C语言表达式是(D)。
(1分)
A.(a!=0) || (b!=0)
B.a || b
C.!(a=0)&&(b!=0)
D.a && b
2-9
设 x、y、t均为int型变量,则执行语句:
x=y=3; t= ++x || ++y; 后,
y的值为__B__。
(2分)
A.不定值
B.3
C.4
D.1
2-15
语句if(x=0) y=1; else y=2;与(B )等价。
(1分)
A.if(x!=0) y=2; else y=1;
B.x=0; if(x0) y=2; else y=1;
C.if(x0) y=1; else y=2;
D.if(x=0) y=2; else y=1;
一个等号是赋值,如果在if语句中就是判断变量的值,非零为真。(个人感觉这样写没有什么意义:if语句主要是判断(可以有多个分支),如果直接赋值,就是先后顺序)
两个等号是判断,在if语句中就是判断等号两边的数值是否一样(相等)。
4-2
写出执行以下程序段后变量的值。请注意,直接填数字,前后不要加空格等任何其他字符。
int x, y;
scanf("%d", &x);
if (x > 0){
y = 1;
}else if (x = 0){
y = 0;
}else{
y = -1;
}
输入10,x的值是10
若输入-10,x的值是0