为什么 0.1e+6是C语言的合法常量,而‘cd’不是? 为什么 char A=65+1, b='b';是正确的定义语句?

表达式3.6-5/2+1.2+5%2的值是?为什么5/2的结果是2不是2.5?以下不能正确表示代数式的C语言表达是?A2*a*b/c/dBa*b/c/d*2Ca/c/d*... 表达式3.6-5/2+1.2+5%2的值是?为什么5/2的结果是2不是2.5?
以下不能正确表示代数式的C语言表达是?
A 2*a*b/c/d B a*b/c/d*2 C a/c/d*b*2 D 2*a*b/c*d
展开
 我来答
紫舞玥汐
推荐于2017-11-24 · TA获得超过139个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:86.7万
展开全部
0.1e+6是一个科学计数法表示的常量,也就是10的6次方
cd是变量!
A=65+1中65是指ASCII码,对于字符数据可以直接用ASCII码来赋值
b='b'中第一个b是字符型变量,第二个是字符b
3.6-5/2+1.2+5%2=7.8
其中5/2=2,因为两者都是整型数,计算结果也会是整型,所以0.5被抹去了
最后,从编译的原理来讲 那四个表达式都没错
例如:
#include <iostream.h">
void main()
{
int a,b,c,d,x,y,z,w;
a=15;b=2;c=2;d=2;
w=0;x=0;y=0;z=0;
x = a/c/d*b*2;
y = 2*a*b/c/d;
z = a*b/c/d*2;
w = 2*a*b/c*d;
cout<<"x="<<x<<endl;
cout<<"y="<<y<<endl;
cout<<"z="<<z<<endl;
cout<<"w="<<w<<endl;
}
完全可以运行
htht1325
2011-02-18 · TA获得超过581个赞
知道答主
回答量:303
采纳率:0%
帮助的人:159万
展开全部
0.1e+6是C语言中实数的指数表示法表示的,当然是合法常量,而C语言中规定用单引号''引起来的
是字符常量,且必须是单个字符,所以'cd'是不对的,它包含了两个字符呀。
语句char A=65+1,b='b',其意思是定义两个字符量变量A和b,其中A在定义时赋值66,b赋值'b',因为字符是以ASCLL码在计算机中存储的,所以可以用数字来表示其值呀,两个都对。
5/2因为两个数都是int型,所以运算结果也为int型,自然就要把小数省去等于2
表达式3.6-5/2+1.2+5%2的值是3.8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-02-18
展开全部
1 0.1e+6符合float类型的科学计数法定义,是C语言的合法常量;C语言的字符常量只能是一个字符,因些'cd'不是字符常量;
2 char A=65+1,b='b';等价于char A='B',b='b'; 因此是正确的;
3 表达式3.6-5/2+1.2+5%2的值是3.8000;
4 5/2表示整数相除,结果为整数,因此值为2;
5 ABCD都是正确表示的代数式(有可能题目有误)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0fee133f4
2011-02-18
知道答主
回答量:11
采纳率:0%
帮助的人:1.8万
展开全部
5/2的结果是2,5/2.0的结果是2.5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式