




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章第二章 数据类型及其运算数据类型及其运算 基本符号 基本数据类型 常量与变量 运算符和表达式 数据类型转换 2.1 2.1 基本符号基本符号 2.1.1 字符集 C语言中可以使用的合法字符有: 1、字母和数字 小写字母:a,b,c,z 大写字母:A,B,C,Z 数字:0,1,2,9 2、特殊字符 + = - _ ( ) * # : ” / ? 3、空白字符 包括空格、换行符和制表符 2.1 2.1 基本符号基本符号 2.1.2 标识符 标识符:在程序设计中,常用具有一定 意义的名字来标识程序中的变量、函数 、数组以及由用户自己定义的数据类型 等,以方便在程序设计中按名字来访问 这些对象,这些对象的名字被称为标识 符。 2.1 2.1 基本符号基本符号 C语言中标识符的命名规则: C语言规定,标识符只能由字母、数字和下划 线三种字符组成,且第一个字符必须是字母 或者下划线; C语言中标识符的长度没有统一规定,随系统 而不同,ANSI C规定标识符长度不得大于32 个字符,而PC机中通常是前8个字符有效; 用户选用的标志符不能是C语言的关键字。 2.1 2.1 基本符号基本符号 在命名一个标识符时,应注意以下一些问题 C语言是大小写敏感的,所以大写字母和小写字 母被认为是两个不同的字符; 在选择标识符时,应注意做到“见名知意”, 即选择有意义的英文单词或者缩写作标识符, 以增加程序的可读性; 习惯上,变量名用小写字母表示。 2.1 2.1 基本符号基本符号 2.1.3 关键字 关键字又称保留字,是一类特殊的标识 符,它们是由系统定义,供系统专用的 ,都具有特定的含义。 2.1 2.1 基本符号基本符号 autobreakcasecharconstcontinue defaultdodoubleelseenumextern floatforgotoifintlong registerreturnshortsignedsizeofstatic structswitchtypedefunionunsignedvoid volatilewhile C语言的关键字如下: 2.2 2.2 数据类型数据类型 数据类型决定了数据占用内存的大小和布 局,也就决定了它的取值范围,以及在这 些值上允许进行的操作。 C语言提供了丰富的数据类型,具体如下 表所示。 本章主要介绍基本数据类型,在下表中, 列出了每种基本数据类型的关键字、占用 的字节数以及取值范围。 2.2 2.2 数据类型数据类型 数据类型数据类型标识符占用字节数数值范围 整型int2(或4)同短整型(或长整型) 短整型short int2-32768-+32767 长整型long int4 -2147483648- +2147483647 无符号整型unsigned int2(或4) 同无符号短整型(或长 整型) 无符号短整型unsigned short20-65535 无符号长整型unsigned long40-4294967295 单精度实型float4-1038-1038 双精度实型double8-10308-10308 字符型char1-128-+127 基本数据类型 2.3 2.3 常量常量 常量:在程序运行过程中,其值不能改 变的量称为常量。 常量也有数据类型,C语言规定常量的类 型有四种:整型常量,实型常量,字符 常量和字符串常量。常量不需要预先定 义,在需要的地方直接使用即可。常量 的类型由其字面格式决定。 2.3 2.3 常量常量 2.3.1 整型常量 1、整型常量的表示形式:在C语言中有三种数制表示形式。 十进制整数:由数字09和正负号表示; 八进制整数:由数字0开头,后跟数字07表示; 十六进制整数:由0x(数字的0和字母x,x大小写均可)开头, 后跟09,af或AF表示。 2、整型常量的类型 一个整型常量,如果其值在-32768+32767范围内,认为它是int 型。 一个整型常量,如果超出了上述范围,而在- 2147483648+2147483647范围内,则认为它是long int型。 在一个整型常量后面加一个字母l或L,则认为它是long int型常量 ,例如:3L就是一个long int型的常量。 2.3 2.3 常量常量 2.3.2 实型常量 1、实型常量的表示形式 小数形式。由数字和小数点组成。例如:12.3、3.0 、0.0等。 指数形式。 由尾数部分、字母e或E、指数部分组成。例如:123.4用指数形 式可表示为:1.234E+2;0.0123可以表示为:1.23e-2。 在使用指数形式时需要注意,字母e或E之前必须有数字,e后 面必须是整数,如e5,1.23e2.5等都是不合法的指数形式。 2、实型常量的类型。默认情况下,实型常量为 double类型,若要表示float类型的常量,需要加F 或f,例如:1.23f。 2.3 2.3 常量常量 2.3.3 字符常量 字符常量是用单引号括起来的单个字符。 a、 *、9等都是字符常量。 一个字符常量在存储时占用一个字节,在该字节中存 放的并不是字符本身,而是该字符的ASCII码值,由于 字符常量存储的是一个整数,所以它可以像整数一样 参加数值运算。 例如:a+5的结果为102。 C语言中还有一类特殊的字符常量,就是以“”开头 的字符序列,称为转义字符。常见的转义字符如下表 所示。 2.3 2.3 常量常量 转义字符 字符形式功能 n换行 t横向跳格 (即跳到下一个输出区) v竖向跳格 b退格 r回车 f走纸换页 反斜杠字符” 单引号(撇号)字符 ”双引号字符 ddd1到3位八进制数所代表的字符 xhh1到2位十六进制数所代表的字符 2.3 2.3 常量常量 2.3.3 字符串常量 用双引号括起来的字符序列称为字符串常量。 例如,”Hello!”,”I am a student.”,”a”, ”123”等都是字符串常量。 字符串常量在内存中存放时,除存储字符串中的字符外 ,还在每一个字符串的结尾加一个“字符串结束标志” ,以便系统判断字符串是否结束。C规定以字符0 作为字符串的结束标志。如果有一个字符串”Hello! ”,此字符串中有6个字符,但在内存中存放时会占用7 个字节,如下图所示。 Hello!0 2.4 2.4 变量变量 在程序运行过程中,其值可以改变的量称为 变量。 在使用一个变量时,应遵循先定义后使用的 原则。 变量定义的格式: 数据类型 变量名1,变量名2,变量名n; 决定分配字节数 和数的表示范围 合法标识符 2.4 2.4 变量变量 变量定义位置:一般放在函数开头 当在程序中定义一个变量时,系统会根据该变量 的类型给变量分配相应的内存空间,然后可以通 过该变量名来访问此内存单元。 在使用一个变量时,它应该有一个确定的值,可 以通过变量初始化来实现。 一个变量的初始化是指在定义一个变量时,给变 量赋初值。 2.4 2.4 变量变量 2.4.1 整型变量 整型变量用来存放整型数据,用关键字int说明。例如: int a,b,c; C语言在int这个基本整型基础上,通过在int前加修饰符,又扩 展了一些新的数据类型。修饰符有long,short,unsigned等。 2.4.2 实型变量 实型变量按其能够表示的数的精度,分为单精度实型变量和 双精度实型变量。 单精度实型变量用关键字float定义,占用4个字节。例如: float f1,f2; 双精度实型变量用关键字double定义,占用8个字节。例如: double d1,d2; 2.4 2.4 变量变量 2.4.3 字符变量 字符变量用来存放单个字符,由关键字char 定义。例如: char c1,c2; 一个字符变量占用一个字节的存储空间,只 能存放一个字符。在这个字节中存放的是这 个字符的ASCII码值。所以字符变量可以像整 型变量一样使用。 2.5 2.5 运算符和表达式运算符和表达式 运算符:用来表示各种运算的符号称为 运算符。 2.5 2.5 运算符和表达式运算符和表达式 在学习运算符时,应从以下几个方面进行考虑: 运算符的功能。 运算符与操作数的关系。 一是运算符所需操作数的个数 单目运算符,即只需一个操作数的运算符,例如:+x; 双目运算符,需要两个操作数的运算符,例如:x+y; 三目运算符,需要三个操作数的运算符 二是运算符所要求的操作数的类型, 运算符的优先级。决定了表达式求值的次序。 运算符的结合方向。在优先级相同的情况下,应按照 “结合方向”来处理,结合方向规定了一个运算符自 左向右(左结合性)求值,还是自右向左(右结合性 )求值。 结果的类型。 2.5 2.5 运算符和表达式运算符和表达式 2.5.1 算术运算符与算术表达式 基本算术运算符: + - * / % 结合方向:从左向右 优先级: - -* / % - + - (2) (3) (4) 说明: “-”为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据 2.5 2.5 运算符和表达式运算符和表达式 自增自减运算符 功能:自增运算符(+)使单个变量的值增,自 减运算符(-)使单个变量的值减1。 种类: 前置运算,运算符放在变量之前:+变量、-变量,这种 运算的功能是,先使变量的值增(或减)1,然后再以变 化后的值参与其它运算,即先增减、后运算; 后置运算,运算符放在变量之后:变量+、变量-,这种 运算的功能是,变量先参与其它运算,然后再使变量的值 增(或减)1,即先运算、后增减。 2.5 2.5 运算符和表达式运算符和表达式 优先级是2,高于其他双目算术运算符 结合方向为右结合 说明: 自增自减运算符只能用于变量,不能用于常量 或表达式,例如:+5或者(x+y)-都是不合法的 表达式。 C语言中,表达式中组合运算符的规则:自左向 右取尽可能多的字符组成运算符。例如:a+b ,相当于(a+)+b。 2.5 2.5 运算符和表达式运算符和表达式 2.5.2 赋值运算符与赋值表达式 简单赋值运算符 “=”是简单赋值运算符,赋值表达式的格式为 : 变量=表达式 功能:将右侧表达式的值赋给左侧的变量。 赋值运算符的优先级为14,结合方向为右结合 ; 2.5 2.5 运算符和表达式运算符和表达式 说明: 左侧必须是变量,不能是表达式或常量; 当左侧变量的类型与右侧表达式的类型不一致时 ,在赋值时会自动进行类型转换,先把右侧表达 式的值转换成左侧变量的类型再进行赋值; 任何一个表达式都应该有一个确定的值,赋值表 达式也不例外,它的值就是被赋值变量的值。所 以在C语言中,允许出现连续赋值的情况,以下语 句是合法的。 int a,b,c; a=b=c=5; 2.5 2.5 运算符和表达式运算符和表达式 复合赋值运算符 复合赋值运算符包括: 复合算术赋值运算符:+=、-=、*=、/=、%=, 复合位运算赋值运算符:=、相当于x=x*(y+8);。 2.5 2.5 运算符和表达式运算符和表达式 2.5.3 关系运算符与关系表达式 种类:、=、=、!= 关系运算符全部是双目运算符,作用是比较两 个操作数的大小,若关系成立,则结果为“真 ”,用1表示,否则结果为“假”,用0表示。 关系运算符中、=的优先级较高为6 ,=、!=的优先级较低为7, 结合方向均为左结合 2.5 2.5 运算符和表达式运算符和表达式 使用关系运算符时需要注意以下几个方面: 如果两个操作数是数值型的,则按其大小进行比较 ;如果是字符型的,则按字符的ASCII码值进行比较 ; 关系表达式的结果为逻辑值“真”或者“假”,用1 和0表示,这里的1和0可以作为数值参加其它运算; 应避免对实数作相等或不等的判断,例如, 1.0/3.0*3.0=1.0的结果并不是1而是0,是因为实数 存在存储误差。所以当需要对实数比较时,可以这 样写:fabs(1.0/3.0*3.0-1.0)1e-6。 注意区分“=”与“=” 2.5 2.5 运算符和表达式运算符和表达式 2.5.4 逻辑运算符与逻辑表达式 种类: int i; float f; double d; ch/i + f*d - (f+i) int int double double double double double double 2.5 2.5 运算符和表达式运算符和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长江大学文理学院《通信网络基础》2024-2025学年第一学期期末试卷
- 厦门南洋职业学院《信息获取与检测》2024-2025学年第一学期期末试卷
- 湖南工学院《游戏理论与实践》2024-2025学年第一学期期末试卷
- 长沙民政职业技术学院《中学英语教学技能训练含微格教学》2024-2025学年第一学期期末试卷
- 广西理工职业技术学院《实验室设计与分析》2024-2025学年第一学期期末试卷
- 青岛滨海学院《海洋动物行为生态学》2024-2025学年第一学期期末试卷
- 明秀小学面试题目及答案
- 面试题目及答案事业编
- 逻辑推论面试题目及答案
- 哈尔滨商业大学《社区发展与住房规划》2024-2025学年第一学期期末试卷
- 2025-2030阿尔法地中海贫血治疗行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 鲁教版(五四制)九年级英语全一册电子课本教材
- 飞机电气接地技术标准线路施工课件
- 新版《国家突发事件总体应急预案》学习解读
- 新人教数学一年级上册整本书教材解读课件
- DB 31MFZ 002-2021《上海市城市地下综合管廊兼顾人民防空需要技术要求》
- 2025年中国冻果行业市场发展前景及发展趋势与投资战略研究报告
- 新版电子物料编码原则
- 2025年军转干考试全真模拟题库及答案(共三套)
- 医疗机构患者信息管理制度
- 【小学人教版教材适用】四年级数学下册全册34套试卷合集
评论
0/150
提交评论