设有定义:intk=1,m=2;noat f=7;则下列选项中错误的表达式是()。

16 查阅

设有定义:intk=1,m=2;noat f=7;则下列选项中错误的表达式是( )。

A.k=k>=k

B.-k++

C.k%int(f)

D.k>=f>=m

参考答案:

C解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项B),先计算k什的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即

计算机二级