已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,数据类型、运算符与表达式,数据表示 数据类型 常量与变量 数据操作 算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式 数据类型转换(数值型混合运算) 自动转换 强制转换 赋值转换,标识符:即命名, 可由字母、数字和下划线成,首字符不能是数字。区分大小写字母。应做到“见名知意”。 正确: sum,_total, month, Student_name, 错误: M.D.John, ¥123,3D64,ab 1.关键字:32个,C语言中预先规定的标识符,不能再定义使用。 2.预定义标识符:C语言中预先定义有特定含义,可另作他用,但最好不用。(define) 3.用户标识符:用户自定义标识符。 用户标识符与关键字相同,系统报错;用户标识符与预定义标识符相同,不报错,预定义标识符失去原含义,可能会引发错误。,标识符,数据类型:系统提供的表示数据的方法,一、数据类型数据表示角度之1,常量:在程序运行过程中,其值不能被改变的量。 字面常量(直接常量): 整型 100,125,-100,0 实型 3.14 , 0.125,-3.789 字符型 a, b,2 字符串 “a”, “ab”,“1232” 符号常量:大写,目的为修改方便。 #define PI 3.1415926,常量与变量数据表示角度之2,变量:在程序运行过程中,其值可以被改变的量。 变量代表一个存储单元,其中存放数据,可以变。需定义后使用。有变量名,变量值,变量地址,变量类型(空间,操作),类型 类型说明符 长度 数的范围 基本型 int 2字节 -3276832767 短整型 short 2字节 -215215-1 长整型 long 4字节 -231231-1 无符号整型 unsigned 2字节 065535 无符号短整型 unsigned short 2字节 065535 无符号长整型 unsigned long 4字节 0(232-1),不同的编译系统为整型数据分配的字节数是不相同的,VC+ 6.0则分配4个字节,整型数据,1.整型常量的表示方法: 十进制整数:如:123, -456。 八进制整数:以0开头的数是八进制数。 如:0123即十进制数83,-011即十进制数-9。 十六进制整数:以0x开头的数是16进制数。 如:0x123等于十进制数291。-0x12等于十进制数-18。 2.整型变量的表示方法: int a; a=10;,3.浮点型数据在内存中的存放形式 整型数据在内存中是以二进制“补码” 存放的。,-1000 (反转) +1000 (正转) =0 9000 (正转) +1000 (正转) =10000=0 -1000 (反转)作用与9000 (正转) 相同, 9000是-1000补码 好处是减法转换成加法,简化了计算,例:整型数据的溢出 #include void main() int a,b; a=32767; b=a+1; printf(“%d,%dn”,a,b); 运行结果: 32767,-32768 整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。,浮点型数据,1.浮点型常量的表示方法: 小数: 0.123 必须有“.”可缺一边。 指数: 3e-3 e(或E)之前必须有数字, e后面为整数 规范化的指数形式:小数部分中,小数点左边应有一位(且只能有一位)非零的数字. 1.23456e2 正确:1e3、1.8e-3、-123e-6、-.1e-3 错误:e3、2.1e3.5、.e3、e 2.浮点型变量的表示方法: double x; x=1.2;,3.浮点型数据在内存中的存放形式:,例:浮点型数据的舍入误差 #include void main() float a,b; a = 123456.789e5; b = a + 20 ; printf(“%fn”,b); 运行结果:123456.789e5 浮点型变量只能保证前几位有效数字(float7位-double15位)准确,后面的数字是无意义的,并不准确地表示该数。一个很大的数和一个很小的数相加或相减,小的数不影响结果。,字符型数据,1.字符型常量的表示方法:用单引号包含一个字符。A 2.字符型变量的表示方法: char c1; c1a; 3.字符型数据在内存中的存放形式: 在内存中占一个字节,存放字符的ASCII代码(数值)。 这样使字符型数据和整型数据在0255之间可以通用。 4.有些以“”开头的特殊字符称为转义字符 n 换行 t 横向跳格 r 回车 反斜杠 ddd ddd表示1到3位八进制数字 xhh hh表示1到2位十六进制数字,例: 向字符变量赋以整数。 #include void main() char c1,c2; c1=97; c2=98; printf(%c %c,c1,c2); printf(%c %c,c1,c2); 运行结果: 97 98 255内,字符与整型通用,例:大小写字母的转换 #include void main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c %c,c1,c2); 运行结果: 小写字母比它相应的大写字母的ASCII码大32,字符串常量:一对双撇号括起来的字符序列. 如:“CHINA”, “a” ,“$123.45” 注意是字符常量,”是字符串常量,二者不同。也不能把一个字符串常量赋给一个字符变量。 规定:字符串常量的结尾加一个字符串结束标志0,系统据此判断字符串是否结束。 如:”CHINA”,实际上在内存中占个字符,最后一个字符为。但在输出时不输出。,字符串常量,1.定义变量的同时初始化(赋值) 如: int a=3,b; 指定为整型变量,初值为 2.先定义,后赋值。 int a; a=3; 注意: int a=b=c=3; /错误 int a=3,b=3,c=3; /正确 int a,b,c; a=b=c=3; /正确,变量赋初值,(1)算术运算符 (+ - * / %) (2)关系运算符 (!) (3)逻辑运算符 (!|) (4)位运算符 ( |) (5)赋值运算符 (及其扩展赋值运算符) (6)条件运算符 (?:) (7)逗号运算符 (,) (8)指针运算符 (*和) (9)求字节数运算符() (10)强制类型转换运算符( (类型) ) (11)分量运算符(-) (12)下标运算符( ) (13)其他 (如函数调用运算符(),二、运算符简介,运算符的优先级 表达式求值时,按运算符的优先级别高低次序执行。 方法为以数据为中心比较两边的运算符。 例如: a+5*b (5右边的*比左边的+高) 运算符的结合方向(结合性) 两个运算符同级时,看结合性是“先左后右”还是“先右后左”。 例如: -a+ (右结合性)是-(a+), (加法运算符,或正值运算符。如:、) (减法运算符,或负值运算符。如:、) * (乘法运算符。如:*) (除法运算符。如:) 两整数相除结果为整数,舍小数部分。如有一个为负值,舍入方向不固定,一般向零取整 (模运算符,或称求余运算符) 两侧均应为整型数据,如:的值为。,算术运算符和算术表达式,使变量的值增或减,只能用于变量,自右向左。 ,(先加(减),后使用) ,(使用,后加(减) 1.不确定性:( 原则:该变量本式中不用第二次) 设i=3;(i+)+ (i+)+ (i+) 表达式可能为9 i=6 设i=3;(+i)+(+i)+(+i) 表达式可能为18 i=6 2.自左向右,尽可能多的组成一个运算符。 i+j 相当于 ( i+)+j,自增、自减运算符,赋值运算符与赋值表达式,1.赋值运算符: 变量值 x3 2.复合赋值运算符:,*,| 如: x 3 相当于 xx3 * 相当于*() 3.赋值表达式: 将赋值运算符右侧的“表达式”的值,赋给左侧的变量。 注意:表达式结果为变量,例(a=3*5)=4*3 括弧内的运算结果为a,a的值为15;再将4*3即12赋给a。最后a的值为12,整个表达式的值为a。 例:a+=a-=a*a 先进行“*”的运算, 它相当于*,a的值为144132。 再进行“a”的运算,相当于=a+a,a=132-132-264。,表达式,表达式,表达式 1.逗号表达式:用逗号将两个以上表达式连接起来的表达式。作用为顺序求值。 2.逗号表达式的值:最后一个表达式的值(表达式的值)。 逗号运算符是所有运算符中级别最低的。 例: (,*) x=18,逗号表达式为18 ,*3 x=3,逗号表达式为18 注意:不是任何地方的逗号都是逗号运算符。可能是间隔符。 如: printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c),逗号运算符和逗号表达式,1.自动转换(隐式转换):运算时系统自动将不同类型转换成同一类型后进行运算 横向是必须的,纵向一步到位。 1/10 与 1.0/10(一般有实数则结果为double实数),三、数据类型转换(数值型混合运算),2.显式转换:明确指出转换目标类型 (类型)表达式 (int)(3.6+7.2) (int)x+y 3. 赋值转换,2.1200000000002.12 2.1234567892.12346 长短注意:四舍五入溢出,相同长度的符号数无符号数,不改动,注意数范围,1.ANSI C并没有具体规定表达式中的子表达式的求值顺序,允许各编译系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业担保借款合同
- 2025年叉车租赁合同范本
- 2025年企业用工《劳动合同》简化版
- 2025企业合作租赁合同模板
- 2025房屋租赁合同范文
- 2025建筑脚手架租赁合同范本
- 2025二手车买卖合同简化版范本
- 理货员技能等级考核标准与理论考试大纲
- 银行从业考试服务平台及答案解析
- 2025标准店铺租赁合同模板下载
- 物业住宅小区的应急处理预案
- 班组建设培训课件完整版
- 2025下半年黑龙江交易集团有限公司社会招聘笔试历年参考题库附带答案详解
- 光船船舶运输合同范本
- 2026沈阳市面向国内部分高校应届毕业生招聘教师1446人考试模拟试题及答案解析
- 市政道路电力、照明、通信管道工程施工方案
- 【初中作文】打造作文“好身材”凤头豹尾【课件】
- GJB3243A-2021电子元器件表面安装要求
- 以诺书999中英对照
- 数控激光切割机租赁合同
- 结直肠癌课件
评论
0/150
提交评论