文档详情

数据类型运算符表达式C语言程序设计(谭浩强第三)分析.ppt

发布:2016-06-09约1.43万字共62页下载文档
文本预览下载声明
如果一个变量在一个表达式中使用,那么只有该变量初始化后,表达式才能产生一个有意义的结果。 int i=0; i=i+2; int i; i=i+2; 表达式i=i+2没有意义,因为i 没有初始化 表达式i=i+2有意义,因为i 已经初始化 变量在使用之前一定要有明确的值 例: int student; stadent=19; //Undefined symbol ‘statent’ in function main 4. 变量的使用:先定义后使用 编译程序根据变量定义为其 分配指定字节的内存单元 …... 地址 int a=1, b=-3,c; a b c 2字节 2字节 2字节 地址 地址 …... 内存 1 -3 ?? 随机数 变量 概念:其值可以改变的量 变量名与变量值 变量定义的一般格式: 数据类型 变量1[,变量2,…,变量n]; 变量初始化:定义时赋初值 例: int a,b,c; float data; 决定分配字节数 和数的表示范围 合法标识符 例: int a=2,b,c=4; float data=3.67; char ch=‘A’; int x=1,y=1,z=1; int x=y=z=1; 变量的使用:先定义,后使用 例1 int student; stadent=19; //Undefined symbol ‘statent’ in function main 例2 float a,b,c; c=a%b; //Illegal use of floating point in function main 变量定义位置:一般放在函数开头 main() { int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%f\n”,data); } 变量定义 可执行语句 main() { int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%f\n”,data); } 3.4 各类数值型数据间的混合运算 double float long unsigned int char,short 低 高 运算对象类型不同时转换 int int double double double double double double 10+‘a’ +i*f - d/l 例 int i; float f; double d; long l; 低级别转换为高级别 隐式类型转换 混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算. 3.5运算符和表达式(34种、15个优先级)P378附录D C 运 算 符 算术运算符:(+ - * / % ++ --) 关系运算符:( = == = !=) 逻辑运算符:((! ||) 位运算符 :( ~ | ^ ) 赋值运算符:(= 及其扩展) 条件运算符:(?:) 逗号运算符:(,) 指针运算符:(* ) 求字节数 :(sizeof) 强制类型转换:(类型) 分量运算符:(. -) 下标运算符:([]) 其它 :(( ) -) 学习运算符应注意: 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 3.5.1算术运算符和算术表达式 (1)基本算术运算符: + - * / % 结合方向:从左向右 优先级: - ----* / % ----- + - (2) (3) (4) 说明: “-”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据 例 5/2 = -5/2.0 = 例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2 例 5/2 = 2 -5/2.0 = -2.5 例 5%2 = 1
显示全部
相似文档