1、前置++运算符总比后置++效率更高吗?为什么?
a++ 取出a的值充当a++表达式的值
a=a+1;
++a a=a+1;
取出a的值,充当++a表达式的值
-----------------------------------------------
a++ 会产生一个临时变量,a+1后会赋值给临时变量
++a a+1后就可以直接使用
————————————————————————
2、设char x =0x05, y = 0x0A, i = 0x01
有下面两个表达式,x|y && ++i x>=y||y>x
0x05---->0000 0101
0x0A---->0000 1010
x|y && ++i--->1
X>=Y||Y>X---->1
3、Short a= 3,b;
Char c = 14;
b=~(c^a)<<4;
b?//-224
补码:1000 1110 0000
4、优化下面表达式(提示:& | >> << ^)
int a=b*4
int a=(b+2)*4
int a=(b/3)*4
int a=(b%2)*8
5、设float a=2, b=4, c=3;,以下C语言表达式与代数式 (a+b)+c计算结果不一致的是
A.(a+b)*c/2
B.(1/2)*(a+b)*c
C.(a+b)*c*1/2
D.c/2*(a+b)
6、C语言中,下列运算符优先级最高的是
A.!
B.%
C.>>
D.==
7、执行语句“ k=7>>1; ”后,变量 k 的当前值是
A.15
B.31
C.3
D.1
8、下列程序段运行后, x 的值是()
a=1;b=2;x=0;
if(!( -- a))x -- ;
if(!b)x=7;else ++x;
A.0
B.3
C.6
D.7
9、算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为
A.算术运算、赋值运算、关系运算
B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算
D.关系运算、算术运算、赋值运算
10、写一语句实现x是否为2的若干次幂的判断。
return x&(x-1)==0?1:0;
11、运算符优先级问题如:b = a * b++;
C = a * ++b;
12、C=a+++b;是否合法
是合法的
13、 unsigned char a,result;
a=1;
result = a << 4 &&0x11;
求
14、a = 4,
(A)a += a++;//9 (B) a += ++a //10;(C) (a ++) += a ;//a++为表达式故错误 (D)(++a)+= a;//++a为表达式故错误;请问ABCD中的是否正确,如果正确,写出a的值.?