为什么C语言的字符型可以进行数值运算?

 我来答
杜哥是个小天才
2018-07-19 · TA获得超过1809个赞
知道答主
回答量:32
采纳率:0%
帮助的人:9326
展开全部

这就要从字符型数据在内存中的存储方式来解释了。在C语言中,实际上字符型数据在内存中是以二进制形式存放的,并不是真正的把一个字符存进内存里。在对字符型数据进行相加减运算的时候,系统会首先会将char型数据以隐形的方式转化成int型数据再进行相加减运算的。因此,由字符型数据在内存的存储方式来看,字符型数据是可以进行数值运算的,对字符型数据做数字运算实际上就是对字符本身对应的ASSIC码进行相应的数值运算。

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。



fzy范忠云
2011-03-06 · TA获得超过459个赞
知道小有建树答主
回答量:117
采纳率:100%
帮助的人:67.7万
展开全部
这就要从字符型数据在内存中的存储方式来解释了。在C语言中,实际上字符型数据在内存中是以二进制形式存放的,并不是真正的把一个字符存进内存里。在对字符型数据进行相加减运算的时候,系统会首先会将char型数据以隐形的方式转化成int型数据再进行相加减运算的。因此,由字符型数据在内存的存储方式来看,字符型数据是可以进行数值运算的,对字符型数据做数字运算实际上就是对字符本身对应的ASSIC码进行相应的数值运算。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chiconysun
2011-03-06 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2566万
展开全部
严格地说,C语言没有字符型数据,只是表示一个字节的数值的数据类型而已,凡是参与算术运算,首先自动转换为整型再运算,也就是说,字符型数据与整型可以混用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
引尔F
2011-03-06 · TA获得超过140个赞
知道答主
回答量:58
采纳率:0%
帮助的人:68.3万
展开全部
C语言中,每一个字符都可以表示相应的ASSIC码,在字符进行数字运算时,实际上是相应的ASSIC码相加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙冰巧001
2011-03-06 · TA获得超过824个赞
知道小有建树答主
回答量:827
采纳率:0%
帮助的人:740万
展开全部
onst也就是常量类型,不可以对其赋值,7+b+c含有常量,对其赋值也是错误的
c=7+b++=a+7; //同上
a=a+7;//可以
---------------------------------------
b++=7是可以运算的,先赋值b=7,再加1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式