一道C语言程序设计选择题,请说明解题过程,谢谢。
若有定义:intx=2,y=3;floati;,则以下符合C语言语法的表达式是()。A.x=x*3=2B.x=(y==1)C.i=float(x)D.i%(-3)...
若有定义:int x=2,y=3;float i;,则以下符合C语言语法的表达式是( )。 A. x=x*3=2 B. x=(y==1) C. i=float(x) D. i%(-3)
展开
2个回答
2013-09-24
展开全部
正确的答案应该是B。A的错误在于:在=的左边不能有其他的运算符,连等是可以,如:x=y=5;B是正确的,在标准C中,其实是没有定义逻辑类型的(通常也叫布尔型),而是采用0代表false(假),用非0代表true(真)。同时,逻辑运算的结果false是0,true一般是-1(所有位全为1),所以是可以将逻辑运算的结果赋给整型变量的,这里x=-1;C是错误的,C语言中显示转换应该是(float)x。D的错误是%(模运算)只能用于整型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-24
展开全部
A错 不允许有连等于,(其实那个“=”是赋值号,把它右边的值赋给左边)
B错 因为已知y=3,所以y==1这个布尔判断即为False,把布尔值赋给整型(题目说x是int整型的),所以错。
C正确 将整型的x强制类型转换为单精度Float型,再赋给i正确的 因为i是float型的
D错 题目中i没有赋初值,不能用来计算 。
回答完毕!!
B错 因为已知y=3,所以y==1这个布尔判断即为False,把布尔值赋给整型(题目说x是int整型的),所以错。
C正确 将整型的x强制类型转换为单精度Float型,再赋给i正确的 因为i是float型的
D错 题目中i没有赋初值,不能用来计算 。
回答完毕!!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询