作业帮 > 综合 > 作业

1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/18 16:50:13
1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).
A.1 B.2 C.3 D.4
2.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( ).
A.10,11,12 B.11,12,12
C.10,12,12 D.11,11,12
3.设有int i,j,k; 则表达式i=1,j=2,k=3,i&&j&k 的值为( ).
A.1 B.2 C.63 D.0
&&是逻辑与运算符,可以举例说明下吗?
1.设有int i;则表达式i=1,++i,++i||++i,i的值为( ).
&是按位与运算符,它的规则是:1&1=1 1&0=0 0&0=0,比如2&3,2变成二进制是0000 0010,
3变成二进制是0000 0011.两者按位与就是0000 0010,换回来是2.

第一题,中要注意||是短路运算,也就是说,||前面的表达式为真,则后面的表达式就不再计算,所以是C:3

第二题,p保存了a[0]的地址,*p++是++优先结合所以可看成是*(p++),p指针向后移了一位,p指向了a[1]的地址,*是取值,但无操作,无视.*p+=1,+=优先级低先结合*所以成了(*p)+=1,先取a[1]的值,再对其加1.