1. (a)?
(a)表示为当a!=0时此条件成立,
例如 a=1,则(a)?为真,条件成立【例】对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()
A.M==0 B.M==1 C.M!=0 D.M!=1

【答案】C
【解析】因为条件表达式a?b:c的含义是a为真时,其值等于表达式b的值,否则为表达式c的值。“为真”就是“不等于假”,因此M 等价于M!=0

2.逗号运算符
注意区别 a=(b+1,c+2,2) 与 x = 1,y = x+3/2
a=(b+1,c+2,2) 表示输出最后一项值,即a=2
x = 1,y = x+3/2 表示一项一项地进行求解,即①x=1,②y=1+3/2,最后结果为2.0(注意此处.0不能省略)
【例】设变量已正确定义为整形,则表达式n = i =2 , i = n +1 , i+ n的值为()
A.2 B.3 C. 4 D.5

【答案】D
【解析】程序在计算逗号表达式时,从左到右计算由逗号分隔的各表达式的值,整个逗号表达式的值等于其中最后一个表达式的值。本题中首先i 和n被赋值为2,i再加上 n和1为3,最后i+n等于2+3 = 5.故答案为5

3.如1中(a)表示为a!=0,则可得
if(c)等价于if(c!=0)
同理while(a)等价于(a!=0)