一,a=10,b=a++=10,c=++a=12,d=10*a++=10*12=120
因为++在a后面,所以先运算再自增,所以b=a=10,给b赋值后a进行了后置自增,所以再给c赋值时a=11,然后因为++在a前面,所以先进行前置自增则a=12,所以c=12,在给d赋值时++在a后面,所以先运行10*a,所以d=10*12=120
二,把0xff通过位运算清0,把0x80通过位运算置为1
0xff首先0x代表16进制,先将ff转为二进制为1111 1111,因为要清零,所以要取反
a=0xff=1111 1111
~a=0xff=0000 0000
0x80转换二进制为1000 0000
b=0x80=1000 0000
b>>7
b=0000 0001
三,输入一个字符,
如果是大写转换小写,
如果是小写转换大写,
如果是数字输出平方,
如果是特殊字符则直接输出
四,
判断循环的语句不正确,应当为i>0,否则会无限循环
五,执行int a=(1,3,11);int b=a; b=?
逗号运算,取最右边值,所以a=11;所以b=11
六,
i==j(5!=9)不成立,所以执行j==7,9!=7,所以结果为假,所以x=0
所以i=5.j=9