在C语言中,以下不正确的整型变量定义是______。 A. int a; B. long b=342; C. int a=b=342; D. long a,b=342;
时间: 2024-04-02 09:32:44 浏览: 224
在C语言中,以下不正确的整型变量定义是C. int a=b=342;。这是因为在C语言中,变量必须先定义再使用,而变量b没有被定义就被赋值给变量a了。正确的方式应该是先定义变量b,再将其赋值给a,即 int a; long b=342; a=b; 或者 int a=b; long b=342;。其他选项都是正确的变量定义方式。
相关问题
c语言中,有以下定义语句double a,b;int w long C; 若各变量已正确赋值,则下列选项中正确的表达式是______ 。 A.a=a+b=b++ B.w%((int)a+b)) C.(c+w)%(int)a D.w=a==b;
正确的表达式是 C.(c+w)%(int)a。
原因如下:
A. a = a + b 表示将 a 和 b 的值相加后赋值给 a,b++ 表示将 b 的值加 1,但表达式的值还是原来的 b 值,因此 A 不正确。
B. (int)a + b 表示将 a 强制转换为整型后再与 b 相加,% 表示取模运算,w 与 (int)a + b 的余数不一定是正确的,因此 B 不正确。
C. c + w 表示将 c 和 w 的值相加,(int)a 表示将 a 转换为整型后,将 c + w 的结果对 (int)a 取模,这个表达式是正确的。
D. a == b 表示判断 a 和 b 是否相等,返回一个布尔值,将布尔值赋值给整型变量 w 不正确。
c语言中,有以下定义语句double a,b;int w long c; 若各变量已正确赋值,则下列选项中正确的表达式是______ 。 A a=a+b=b++ B.w%((int)a+b) C.(c+w)%(int)a D.w=a==b;
A选项中,a=a+b=b++ 是错误的语句,因为赋值运算符的优先级比自增运算符低,因此应该先执行b++,再执行a=a+b。但是,由于同一个数值不可能既加又被赋值,因此这个语句是错误的。
B选项中,(int)a+b可能会出现a为小数的情况,而C语言中,%运算符只能用于整数类型,因此这个语句也是错误的。
C选项中,c与w都是长整型,因此c+w的结果也是长整型,而(int)a是将a强制转换为整型,因此%(int)a是对a的整型部分取模。这个语句的结果是正确的。
D选项中,a==b的结果是一个布尔类型,即1或0,而w是整型,因此w=a==b的结果是正确的。
因此,正确的表达式是C.(c+w)%(int)a。
阅读全文