版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 数据类型、运算符与表达式,第一节 数据的表示,数据是程序的基础,是语句加工的对象, 数据: 常量和变量,数据类型: 基本类型:int char float double 枚举类型 类型 构造类型: 数组类型 结构体类型 共用体类型 指针类型,2.1.1 标识符 标识符: 用来对C程序中的常量、变量、语句标号以及用户自定义函数的名称进行标识的符号。 三条规则: 1.由字母、数字和下划线组成,长度不超过32的字符,由字母和下划线开头;,2.大小写字母表示不同意义,即代表不同的标识符; 3.标识符不能与C关键字同名. 关键字: 己被C本身专用的字.如: int double for brea
2、k long 等. 练习: 判断下列标识符是否正确? china 5 a 4_decision bomb? key.word _board FL_OAT char,2.1.2 常 量 常量: 在程序运行过程中其值不能被改的量. 常量的类型 (一般由字面形式进行判断): 1) 整型常量(如: 6 , -120); 0.000001227 2) 实型常量(如:9.14, -8.12 1.227e-6); 3) 字符型常量(如:a, v); 4) 符号常量(如: #define PI 3.1415926).,2.1.3 变量 变量的定义 变量: 在程序运行过程中其值可以被改变的量. 命名方法: A.
3、 符合标识符的命名法则; B. 结合实际意义来命名. 变量使用前须说明, 形式如下: 数据类型 ,如: int m,j, n; unsigned char ch, a10, *p; 说明: a). 在变量名列表中,变量与变量之间用逗号分开; b). 变量说明通常放在函数的开始或函数的外部, 或在复合语句的内部. 2) 变量的赋初值 (1). 一个变量占据着一个实际的存储单元,变量名实 际上是存储单元的标志,而存储单元中的内容是 变量的值; (2). 对变量预先设置初值,且允许在定义变量的同时 对其赋值. 如: int a=13; float f=7.8; char a=s;,(3). 允许在同
4、一个变量说明语句中仅对部分变量赋 初值或同时对几个变量赋同一个初值; 如: int a, b, c=13; int a=b=c=6; (不合法),第二节: 基本数据类型 基本类型: 整型、实型、字符型; 构造类型: 数组、结构体、共用体等。 2.2.1 整型 最常用的类型: 类型标识符 长度(byte) int 2 short 2 long 4 unsigned int 2 unsigned short 2 unsigned long 4,例2.1 main() int a, b, c; unsigned long d; a=123; /*十进制*/ b=045; /*八进制*/ c=0 x3
5、D8; /*十六进制*/ d=0773L; /* 八进制长整数*/ printf(“a=%d,b=%o,c=%x,d=%lo”,a,b,c,d); ,整型数据在内存中的存放形式: 以二进制补码的形式存储 正数的补码与原码相同 负数的补码是在原码的基础上按位取反再加1 最左位为0是正数,为1是负数。,整型数据的溢出问题: 见书23-24,2.2.2 实型 两种类型: 单精度型和双精度型 类型标识符 长度(byte) float 4 double 8 (还有不常用到的长双精度),浮点型数据是按指数形式存储 超出有效数字范围的将被舍去(可能引起误差) 对于所有的浮点型常量,编译系统将视其为双精度数据
6、来处理(把浮点型常量赋值给一个单精度变量时将会警告),2.2.3 字符型 1) 字符型常量 字符型常量: 用一对单引号括起来的单个字符。 一般字符: 如: A, 9 ,*等. 转义字符: 如: n, t等. 关于转义字符详见P13. 2) 字符变量 char c, ch, c1=*; 说明: (1). 用char定义,单字符值; (2). 字符和整数的机内码是一致的; 如: int a=42; char b=*; (3). 字符型数据和字符串数据是有区别的. 如: * 占据一个字节; “*” 占据二个字节,存储了一个字符串的 结束标志字符0.,第三节 基本运算符和表达式 类型: 算术运算符、关
7、系运算符、;逻辑运算符、 位运算符等等。 算术运算符和算术表达式 1) 算术运算符 双目运算符: + - * / % 单目运算符: + - + - (取正、取负)。,例2.2 int a=5; int b=4; int c=a+/-b; int d=a%4; b 变量先自减1,再计算 a除以b.,操作对象限于变量,操作数为整数,2)算术运算符的运算优先级和结合性 优先级: 指同一个表达式中不同运算符进行计算时的 先后次序; 结合性: 指相同优先级的多个运算符的求值顺序。 优先级 运算符 结合性 1 () 由内向外 2 + - -(取负) 自右至左 3 / % 自左至右 4 + - 自左至右,3
8、) 算术表达式 如: +i g*t*t/2.0,说明: 1.在算术表达式中,所有的字符都是在一条水平线上; 2.运算符不能省略; 3.一律用圆括号,若是多重括号,由内向外逐层计算。,4)算术型数据的混合运算 (1)自动类型转换(隐式类型转换) 规则: A, 由低级向高级转换; B, 一个运算符有两个类型不同的操作数,由 低转向高级的类型,结果为较高的类型。,高级,低级,double,long,unsigned,int,float,Char, short,例 #include main() float y, z=242.5; unsigned x=2; short s=4; y=10+b+5.7
9、*x+z/a-s*12.5; printf(“y=%f”, y); ,强制类型转换(显式类型转换) 根据程序的需要,将某数据强制转换成指定的数据类型. 形式: (类型标识符) 表达式 如: (int)(2.7+6.8) (float)x/y 注明: 经强制类型转换后得到的值存储在一个临时的中间变量中, 变量或表达式原来的类型并没有发生任何变化.,例2.4 #include main() float x=4.55; printf(“n(int)x=%d, tx=%fn”, (int)x, x); 运算结果: (int)x=4, x=4.550000,注意 (1) 两个整数直接相除,结果自动取整,
10、丢弃小数部分; 例如: 设float x , y; x=10/4; /*结果为: 2.0*/ y=10.0/4; /*结果为: 2.5*/ (2)自增1、自减1运算符为单目运算符,其运算的优 先级高于算术运算中的所有双目运算符,且运算对 象只能整型、字符型和指针型变量,不能是常量; 如: 3+ ch+是错误的 前缀形式: n=+i; 后缀形式: n=i+;,例 设int x=2; 请计算下列表达式中x,y的值. y=+x; /*x=x+1; y=x*/ y=x+; /* y=x; x=x+1*/ y=x+*x+; y? y=+x*x+; y? y=+x*+x; y?,4 9 16,2.8 逗号
11、运算符和逗号表达式 1) 逗号运算符 一.逗号“,”的用法: (1) 用作分隔符. 如: int x,y,z; (2)用作运算符. 如: a=2*6, a-4, b+5; 用作运算符需注意: (1) 是一个双目运算符; (2) 优先级是所有运算符中最低的; (3) 运算顺序是自左至右的; (4) 只在有“=”的式子中才有赋值功能. 如: x=4/2, x+3, x+;,逗号表达式 定义: 用逗号运算符将若干表达式连接 起来的式子. 形式: 表达式1, 表达式2 , 表达式n 注意: 最后一个表达式的值为整个逗号 表达式的值. 如: a=7.3, b=1.1, 12+b, a+b; 计算下面逗号
12、表达式 的值: y=(x=5, x+4, +x ); y? n=(m=3, +m, m*=2); n? n=(m=3, m +, m*=2); n?,6 8 8,位运算符和位表达式 C语言提供类似汇编语言的功能,完成这功能的即是位运算符. 1)位运算符: !非 ! 1=0 ! 0=1 2,对二进制位进行运算. 2)位运算符规则: 如: !a (取非) a printf(“nInput a,b:n”); scanf(“%d%d”, ,设 a=0110110111101100 b=0100011100100110 a&0 x00ff: 0110110111101100 & 0000000011111111 00000
温馨提示
- 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学年度监理工程师高频难、易错点题附答案详解(培优B卷)
- 2024-2025学年度执法资格经典例题附参考答案详解(达标题)
- 2024-2025学年度施工员自我提分评估及参考答案详解(综合卷)
- 2024-2025学年度环境影响评价工程师之环境影响评价相关法律法规考前冲刺练习题(夺分金卷)附答案详解
- 2024-2025学年度惠州工程职业学院单招数学高分题库【满分必刷】附答案详解
- 2026年扬州工业职业技术学院单招职业技能考试题库带答案详解
- 6会摇尾巴的狼 教学课件
- (2025年)院感岗前培训试题(附答案)
- 2026年室内装修水电合同(1篇)
- GB/T 24015-2026环境管理环境尽职调查评估指南
- 康复医学XX康复康复医学实习生实习报告
- 2026广东江门市新会银湖产业投资集团有限公司招聘15人考试参考试题及答案解析
- 2026年佳木斯职业学院单招综合素质考试题库含答案详解(完整版)
- 2026年九江职业大学单招职业技能测试题库附参考答案详解(达标题)
- 高考英语重点不及物动词汇编
- 中国地质调查局局属单位2026年度公开招聘工作人员(第一批)【714人】考试参考题库及答案解析
评论
0/150
提交评论