1.有以下程序
#include
main()
{ int c,d;
c = 10 | 5; d = 10 + 5;
printf("%d,%d\n", c, d
} c语言中字符串之间的空格不能随变加
程序的运行结果是
A) 15,15 00001010
B) 10,15 00000101
C) 5,15 00001111
D) 105,15
A
2.有如下程序
#include
main()
{
int a = 8, b;
b = (a >> 2) % 2;
printf("%d,%d\n", a, b);
}
程序运行后的输出结果是
A) 8,0
B) 4,0
C) 4,1
D) 8,1
A
****3.有以下程序
#include
main()
{ int a;
a = (int)(-1.53*3);
printf("%d\n", a);
}
程序的运行结果是
A) -4
B) -3
C) -5
D) 结果不确定
****4.有以下程序
#include
double fun(double a)
{ double x;
x = a - (int)a;
return x;
}
main( )
{ double a = 3.1415;
printf("%f\n", fun(a));
}
程序的运行结果是
A) 3.141500
B) 0.141500
C) 3.000000
D) 0.000000
B
5.设有定义:int x=2;,以下表达式中,值不为6的是( )。
A) 2*x,x+=2 x=x+2
B) x++,2*x
C) x*=(1+x) x=x*(1+x)
D) x*=x+1 x=x*(x+1)
A
%取余数
4%2
2%4 结果为2
小的数%大的数 结果为小的数
考点五 关系运算符(对表达式)
int a=5,b=9;
printf("%d",a>b); 输出0
考点六 位运算符(对二进制)
&按位与 |按位或
^按位异或 ~按位取反
先变成二进制在竖着按位计算
考点七 逻辑运算符(对表达式)
&& 逻辑与:两边都为真,整个为真。当逻辑与的左边为假时,右边不再计算,整个为假。
|| 逻辑或:两边有一边为真,整个为真。当逻辑或的左边为真时,右边不再计算,整个为真。
! 逻辑非(自我运算符):取反
逻辑表达式的结果只有1和0两种
int a=9,b=0;
printf("%d",a&&b); 输出0
若a是数值类型,则逻辑表达式 (a==1)||(a!=1)的值是
A) 1
B) 0
C) 2
D) 不知道a的值,不能确定
A
当变量c的值不为2、4、6时,值也为"真"的表达式是
A) (c>=2 && c<=6)&&(c%2!=1)
B) (c==2)||(c==4)||(c==6)
C) (c>=2 && c<=6)&& !(c%2)
D) (c>=2 && c<=6) || (c!=3) || (c!=5)
D
令c为3、5、7试一试
****设有定义:int a=0,b=1;,以下表达式中,会产生"短路"现象,致使变量b的值不变的是
A) a++ && b++
B) a++ || ++b
C) ++a && b++
D) ++a || ++b
A
下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A) 可以是任
意合法的表达式
B) 只能是整数0或非0整数
C) 可以是结构体类型的数据
D) 只能是整数0或1
A
考点八 条件运算符
唯一的一个三目运算符(三个运算对象)
对象1?对象2:对象3
计算过程:看对象1是真还是假,如果为真,整个结果为对象2;如果为假,整个结果