版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.第三章数据类型、运算符和表达式,赵红,漳州师范学院,C语言程序设计,7/12/2020,2。教学要求:理解C语言中数据类型的分类;掌握整数、实数、字符和字符串常量的表示方法;掌握符号常数的定义和使用;掌握变量的定义、存储形式、初始化和使用;掌握基本算术、强制类型转换、自增自减、赋值、逗号运算符和表达式;掌握各种数值数据的混合运算。教学重点:整数、实数和字符常量的表示方法以及变量的定义、存储形式、初始化和使用方法;算术、赋值、逗号运算符和表达式。教学难点:自增自减算子和表达式;混合表达式计算。7/12/2020,3,为什么要指定数据类型?7/12/2020,4,第3 c章,7/12/2020
2、,5中的数据类型,为什么指定数据类型?1不同类型的数据占用内存中不同长度的存储区域。2不同类型的数据具有不同的值范围。3不同类型的数据有不同的操作。c语言必须为程序中使用的每个变量预先指定其数据类型!7/12/2020,6,常数的分类,常数的定义:常数的分类:直接常数,符号常数的表达式:(1)整数常数6,432,76543,546783424;(2)实常数2.23,546.2487615247,3.057439 5;(3)字符常数a,6,m;(4)符号常数WHI #定义WHI我是一名学生。WHI #定义PRICE 30主()整数,总计;num=10total=num * PRICEprintf
3、(“总计=%d,总计”);格式控制字符串中的普通字符,这些字符按原样输出,符号常量,运行结果:total=300,符号常量,必须先定义这些字符,然后才能表示数值。符号常量的值不能在其范围内更改,也不能再赋值。习惯:符号常量名称是大写的,变量是小写的。好处:意义明确;2020年7月12日,8,初步知识:标识符P39,它是一个字符序列,由字母、下划线和数字组成的操作数名称,如变量、符号常数、数组、函数和程序中的数据类型;1个系统定义的标识符(关键字),它有固定的名称和具有特定含义的标识符;2用户定义的标识符,用于操作用户使用的变量、数组和函数等对象。在2020年7月12日,9关于标识符,用户定义的
4、标识符必须以字母或下划线“_”开头,并且不能包含除字母、数字和下划线“_”之外的其他字符。标识符中的大写字母和小写字母有不同的含义,关键字必须使用小写字母。不允许使用关键字来命名操作数,如变量、数组和函数。2020年7月12日,10,当程序运行时,其值可以改变的量称为变量。变量的三个要素:(1)变量名。每个变量都必须有一个名称。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,变量值由其名称引用。(3)变量的类型,例如:int a=23类型a (2字节)变量int变量名:变量值:23内存中的存储单元占用16位,0 0 0 0 0 0 0 0 0 0 1 0 1 1 1、二进制值,变
5、量概念,注意区分变量名和变量值,7/12/2020,x=5;y=3;printf( %d - %dn ,x,y);x=1;y=2;printf( %d - %dn ,x,y);运行结果:5-3 1-2,x和y是整数变量。每个变量分配有两个字节的存储单元。值5和3分别存储在x和y变量的存储单元中,并且x和y变量的值被重新分配,例如,输出变量的值。x,y,7/12/2020,12,(1)变量定义的一般格式:存储类型数据类型变量名称,变量名称2;例如: int a1、a2、a3;(2)变量初始化:存储类型数据类型变量名=初始值,变量名2=初始值2;例如,浮点A1=2.5,A2=5.23,A3=45.
6、43,变量的定义和初始化,7/12/2020,13,整数数据在内存中的存储,数值用补码表示。正数的补码与原代码相同;负数的补码法:原始码的二进制形式,求逆,然后加1得到负数的补码。例如,原始代码为-8,1 0 00 00 00 00 00 10 00,补码,11 11 11 01 11,补码,11 11 11 11 11 11 11 10 00,整数3.3.3整数常量p43的类型,方括号表示可选的int被分配2字节,long被分配4字节,7/12/2020,15,1。整数常量,整数常量的类型:根据值大小的默认类型。如果在整数常量后加上l或l,则认为是长整型,例如:123L,0L,432l,0
7、x100l。注意:十六进制常量中可以使用大写字母af或小写字母AF。八进制常量中不能出现八位或九位数字,例如:018,0921非法,7/12/2020,16,# include main()printf(“0x 80-% d n,0x 80”);printf(0200 - %d n,0200);printf(128 - %d n,128);printf(128 - %o n,128);不输出前缀数字,但输出不同基数的整数常量。在实战中,运行结果是0x80-128 0200-128 128-128 128-200,7/12/2020,17,1。整数变量分为三类无符号类型分为(3种):无符号整数无
8、符号短无符号长,3.3.2整数变量(综述),7/12/2020,18,1。实数常量(实数,也称为浮点数)表示形式: (1)十进制形式如: 3.14,9.8 (2)指数形式如: 3.02 5 34.42367750 7注意指数形式的书写:P45,3.4.1实数常量,7/12/2020,19实数变量的分类:(1)单精度变量浮点变量占用4字节(32位(2)双精度变量占用8字节(64位),提供1516位有效数字范围:(1.7e-3081.7e 308)。3.4.2实变量,7/12/2020,20,3.4.2实变量,类型说明符位数的数值范围单精度浮点数3210-371038双精度64 10-307103
9、08长双精度长双精度128 10-4931104932,7/12数值的有效位数,7位尾数7031,不是有效的数值,3.4.2实数据的舍入误差,7字符常数的定义用一对单引号括起来的单个字符称为字符常数。例如: A、7等。2.转义字符语言还允许使用特殊形式的字符常量,即以反斜杠开头的转义字符。注意:如果反斜杠本身被用作字符常量,您必须使用转义字符:3.5字符数据P48,7/12/2020,23,3。在printf函数中,以 开头的字符控制输出格式。 n换行T水平跳过(下一个输出区域)B反斜杠R输入反斜杠字符“双引号DDD”,例如,101=A xhh1到2位十六进制数。3.5.1字符常数p48,7/
10、12/2020,24,main()printf(“ABC tabc txyz n”);printf( abcbxyz n );程序运行结果如下:例如,转义字符用于输出字符和不可打印字符,7/12/2020,25,字符变量(关键字为char),字符变量类型,占用1字节存储单元。(1)变量值存储将字符常量存储到字符变量中,字符变量实际上将字符的ASCII码值(无符号整数)存储到存储单元中。(2)变量值的特征字符数据在内存中存储字符(无符号整数)的ASCII码,其形式与整数相同。3.5.2字符变量,7/12/2020,26,char ch1,ch2/*定义变量:ch1,CH2 */ch1=a;/*给
11、字符变量赋值*/CH2=b;字符数据A和B(无符号整数)的ASCII码值97和98分别以与整数存储器相同的形式存储在由变量CH1和CH2占据的存储器存储单元中。Ch1 ch2,97,98,3.5.3字符变量的存储形式,7/12/2020,27,(3)可以字符或整数形式输出的字符数据。示例:字符形式和整数形式的字符变量的输出。main() char ch1,ch2ch1=a。ch2=b。printf(“ch1=% c,ch2=%cn”,ch1,CH2);printf(“ch1=% d,ch2=%dn”,ch1,CH2);3.5.3如何使用字符变量,程序的运行结果:CH1=A,CH2=BCH1=9
12、7,CH2=98,7/12/2020,28,(4)允许对字符数据进行算术运算,此时,是对其ASCII码值进行算术运算。示例3.11字符数据的算术运算。main() char ch1,ch2ch1=a。ch2=硼;/*相当于ch1=97ch2=66*/printf(ch1=%d ,ch1-32);/*字母的大小写转换*/printf(“CH2=% d n”,CH2 32);printf(“ch1=% c,ch2=%cn”,ch1-32,CH2 32);3.5.3如何使用字符变量,运行结果:ch1=65,CH2=98ch1=a,CH2=b,7/12/2020,29,(1)字符串常量的概念和长度字符
13、串常量:是由一对双引号括起来的几个字符序列。字符串长度:字符串中的字符数称为。空字符串:是长度为0的字符串(即没有任何字符的字符串),表示为 (一对双引号)。例如,字符串常量:“您好。”长度为14(空格也是字符)和“早上好。”长度为13。如果反斜杠和双引号是字符串中的有效字符,则必须使用转义字符。示例c : msdos v 6.22c : msdos v 6.22i说再见!我说再见!3.5.4字符串常量,7/12/2020,30,4。字符串常量,一个用双引号括起来的字符序列,例如:ABC,123,A,nGood早上字符串常量长度:字符串常量存储模式中包含的字符数:占用的存储单元数:字符串长度1
14、,例如:字符串结束标记,输出字符串常量main () printf (%sn,isay:再见!);3.5.4字符串常量,运行结果:我说:再见!7/12/2020,32,C语言规定,当存储字符串常量时,系统自动在字符串末尾添加一个0作为字符串的结束符号。如果有一个字符串“CHINA”,它在内存中的实际存储情况如下:系统会自动添加C . H . I . N . A0的最后一个字符0,它占用的内存空间是字节而不是字节。3.5.3字符串的存储,7/12/2020,33,示例:字符常量A和字符串常量A之间的差异:(1)分隔符不同:字符常量使用单引号,而字符串常量使用双引号;(2)不同长度:字符常数的长度
15、固定为1,而字符串常数的长度可以是0或整数;(3)不同的存储要求:字符常量存储字符的ASCII码值,而字符串常量不仅存储有效字符,还存储结束符号0。3.5.4字符常量和字符串常量之间的区别,7/12/2020,34,审查:变量定义,变量定义的一般格式:数据类型描述符变量列表;例如:int i,j;long k,m;浮动x,y;char ch1,ch2、必须使用合法标识符作为变量名,并且不能使用关键字来命名变量。7/12/2020,35,综上所述,标识符命名规则数据基本类型常量,变量整型常量,整型变量实变字符常量P48字符变量字符串常量,常量25.3,5e2a,567,Xab abcdef ,定义变量int a;浮动b;双d;char c;a=5;b=3.6c=f。7/12/2020,36,3.6表达式-为变量分配初始值:这允许在描述变量时为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 12766-2026动物油脂熔点测定
- (正式版)DB37∕T 1647-2010 《桑蚕鲜茧分级(茧层率法)》
- 危急值护理的临床案例
- 安全生产事故应急处置预案及方案
- 安全生产月主题方案
- 安徽省天长市2025-2026学年初三寒假延长作业语文试题含解析
- GB13495.3-2026《消防安全标志 第3部分:设置要求》修订解读
- 福建厦门华侨中学2025-2026学年中考预测金卷语文试题(安徽卷)含解析
- 重庆市长寿区市级名校2026年中考模拟语文试题试卷含解析
- 2026年江西省赣州市信丰县重点达标名校初三教学情况调研(二)英语试题含解析
- 制药厂绩效考核制度
- 2025-2030中国成像流式细胞仪市场行情走势与投资前景研究研究报告
- 2026年及未来5年市场数据中国植物照明行业发展潜力预测及投资策略研究报告
- 2026江苏徐州地铁集团下属运营公司招聘笔试备考试题及答案解析
- 医疗场景人因工程学-洞察与解读
- UG NX 10.0完全自学指南
- 医疗器械生产质量管理规范自查表(2026版)
- 2026年冶金过程自动化控制试题含答案
- 2026年河南单招宠物经济大类动物医学专业技能实操题库含答案
- 模拟教学案例设计的真实性原则
- 电商教学合同
评论
0/150
提交评论