- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3.字符变量 字符变量用来存储字符常量,它只能存放一个字符。 字符变量的类型说明符是char。字符变量类型定义的格式和书写规则都与整型变量相同。例如: char a,b; 4.在内存中的存储形式 每个字符变量被分配一个字节的内存空间,字符型数据在存储时,并不是把该字符本身放到内存单元中,而是把该字符的ASCII码值存放在变量的内存单元之中的。 例如:A 的十进制 ASCII 码是 65,a的十进制 ASCII 码是97 * 0 1 1 0 0 0 0 0 1 27 26 25 24 23 22 21 20 * 在内存单元中存放的是65和97的二进制代码: 字符型数据在内存中是以 ASCII 码存放的,它的存储形式与整数的存储形式类似。使得字符型数据和整型数据之间可以通用。C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。 0 1 0 0 0 0 0 0 1 27 26 25 24 23 22 21 20 A 0 1 1 0 0 0 0 0 1 27 26 25 24 23 22 21 20 a * 例2.7 向字符变量与整型数据通用 程序运行结果: a,A 65,97 #includestdio.h void main() { char a,b; a=65; b=97; printf(%c,%c\n,a,b); printf(%d,%d\n,a,b); } a,b值的输出形式取决于printf函数格式串中的格式符,当格式符为%c时,对应输出的变量值为字符,当格式符为%d时,对应输出的变量值为整数。由此可知,字符型数据和整型数据是可以通用的,但要注意字符型数据只占一个字节,它只能存放0-255范围的整数。 * 例2.8 大小写字母的转换 程序运行结果: A,b 65,98 #includestdio.h void main() { char a,b; a=a; b=B; a=a-32; b=b+32; printf(%c,%c\n%d,%d\n,a,b,a,b); } a,b为字符变量并赋予字符值,C语言允许字符变量参与数值运算,即用字符的ASCII码值参与运算。大小写字母的ASCII 码值相差32,因此可以将小写字母与大写字母进行相互转换,然后分别以字符型和整型输出。 * 5.字符串常量 字符常量是用一对单引号括起来的一个字符,而字符串常量则是由一对双引号括起的字符序列。 例如: “chongqing” , “C program” , “1.75” ,“a”等都是合法的字符串常量。 字符串常量和字符常量是不同的量。它们之间的主要区别如下: 外形不同,字符常量由一对单引号括起来,字符串常量由一对双引号括起来。注意,a和a是不同的。 内容不同,字符常量只能是单个字符,字符串常量则可以含一个或多个字符。 单向赋值,可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。 空间不同,字符常量占一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数加1。末尾增加的一个字节用于存放字符串结束的标志字符\0 (ASCII码为0)。 * 字符串 “chenggong 的长度是9个字节,在内存中所占的字节为10,其存储方式如下图所示: 最后一个字符为\0,在输出时是不会输出\0的。注意在书写程序时不必加\0,\0是系统自动加上的。 字符常量a和字符串常量a虽然都只有一个字符,但在内存中的情况是不同的。a在内存中占一个字节,a在内存中占二个字节。 C H E N G G O N G \0 * 2.3.4 各数据类型间的混合运算 整型(包括int,short, long)、浮点型(包括float, double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.转换的原则就是为了两个运算对象的计算结果尽可能提供多的存储空间。当运算符两端的运算对象的数据类型不一致时,在运算前先将类型等级较低的数据转换成等级较高的数据——保值转换。 上述的类型转换是由系统自动进行的. double float long unsigned int char,short 高 低 横向向左的箭头表示必定的转换 纵向的箭头表示数据类型级别的高低,实际运算时不需逐级转换,可由级别低的直接转换为级别高的。 * 赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。 例3.9 数据类型转换 #includestdio.
您可能关注的文档
- 2.1++神经系统调节.ppt
- 3-1+自然界的水循环.ppt
- 企业内如何进行有效沟通.ppt
- 1-3-2《预言》《窗》《你的名字》《神女峰》.ppt
- catia教程_第9章+参数化与知识顾问 .ppt
- 第四章+生产过程空间组织.ppt
- 二级公共基础知识(基本版).ppt
- 通道蛋白的讲解.ppt
- 有省家居网导购服务(1).ppt
- 07线性代数方程组的直接法.ppt
- 2025年南方汇通股分有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版新.docx
- 2025年厦门夏商集团校园招聘模拟试题附答案.docx
- 2025年哈尔滨航空工业有限责任公司校园招聘模拟试题汇编.docx
- Unit 6 Section A 3a-3c 课件 人教版英语八年级下册.pptx
- 第18课 东晋南朝政治和江南地区开发(课件)七年级历史上册(统编版2024).pptx
- 7.2《南亚》课件第二课时 湘教版地理七年级下册.pptx
- Unit 2 Bridging Cultures 词汇(课件)高中英语人教版(2019)选择性必修第二册.pptx
- 8.2联合国 课件- 高中政治统编版选择性必修一当代国际政治与经济.pptx
- 6 发展与合作(课件)七年级地理上册(人教版2024).pptx
- Unit 9 第2课时 Section A (2d & GF4a-4c)(课件)-八年级英语下册(人教版).pptx
最近下载
- 机械测量培训课程.pptx
- 医疗器械安全有效基本要求清单填写参考模板2024年.docx
- 人教版(2024)数学一年级下册四 100以内的口算加、减法 练习.pptx
- 电气装置安装工程质量检验及评定规程DLT5161 2018.doc
- 做好客舱清洁前准备课件讲解.pptx
- 铁道信号论文-信号机维护与故障处理.doc
- ISO13485质量手册+全套程序文件.docx VIP
- 汽车机械维修工(高级技师)职业鉴定考试题库资料(高频300题).pdf
- 多维视角下梧州市普通高中体育生学训现状剖析与发展路径探索.docx
- 江南事业编招聘考试题历年公共基础知识真题汇总-综合应用能力(2010-2021.pdf VIP
文档评论(0)