文档详情

C语言类型运算符与表达式.ppt

发布:2017-09-11约1.01万字共64页下载文档
文本预览下载声明
* 要求: 深刻理解在计算机中各类型数据在内存中的存储形式、取值范围和能够对它进行的操作; 深刻理解各基本类型作了 short、long、unsigned 扩展之后与原类型之间的区别; 深刻理解各种整型常量的形式,字符常量、转义字符和符号常量的意义和作用。 熟练掌握每一种变量的定义格式; 深刻理解每一个算术运算符的功能、使用格式、计算结果,尤其是 /、%、++、--; 深刻理解赋值运算符(=)的意义、注意与数学中的等号相区别;复合赋值运算符的执行过程和执行结果。 * 小结 1、在计算机中对数据进行描述: 数据的基本类型:整型、字符型、浮点类型; 数据在在内存中的存储形式、取值范围和能够对它进行的操作; 扩展基本类型:short、long、unsigned 2、常量:各种整型常量的形式、字符常量、转义字符、符号常量; 3、变量:定义格式; 4、运算符: 算术运算符:/、%、++、--;优先级; 赋值运算符:=,与数学中的等号相区别; * 转换由编译系统自动完成。 转换按数据长度增加的方向进行,即按“向高看齐”的原则提升“较低”类型,以保证不降低精度。 * 注意:一个long型或double型数据给一个int型或float型变量赋值时,可能会引起数值溢出。 * 注意:一个long型或double型数据给一个int型或float型变量赋值时,可能会引起数值溢出。 * * * 格式说明符,必须按从左到右的顺序,与输出表列中的每个数据一一对应,否则就会出错。 格式字符紧跟在%后面就作为格式字符,否则将作为普通字符使用。 Printf(“c=%c,f=%f\n”,c,f); * 格式说明符,必须按从左到右的顺序,与输出表列中的每个数据一一对应,否则就会出错。 格式字符紧跟在%后面就作为格式字符,否则将作为普通字符使用。 Printf(“c=%c,f=%f\n”,c,f); * 强调输出多个数据时格式控制和输出表列的对应关系,多个输出用,号分割 * * * * C 运 算 符 算术运算符:+ - * / % ++ -- 关系运算符: = == = != 逻辑运算符:(! || 位运算符 : ~ | ^ 赋值运算符: = 及其扩展 条件运算符: ? : 逗号运算符: , 指针运算符: * 求字节数 :sizeof 强制类型转换:(类型) 分量运算符: . - 下标运算符: [ ] 其它 : ( ) - * 主要内容 预备知识 常量和变量的概念 各种数据类型的常量及变量 变量赋初值 不同类型数据之间的混合运算 常用运算符和表达式 输入函数与输出函数 * 3.5 数据的混合运算 1、自动转换 运算转换 赋值转换 2、强制类型转换 * 1、自动转换—运算转换 在进行运算时,不同类型的数据要先自动转换成同一类型,然后进行运算。转换的规则按图所示。 int ← char, short 高 低 long unsigned double← float 转换由编译系统自动完成。 转换按数据长度增加的方向进行, 即按“向高看齐”的原则提升“ 较低”类型,以保证不降低精度。 * (1)实型赋予整型,舍去小数部分。 (2)整型赋予实型,数值不变,但将以浮点形式存放,即增 加小数部分(小数部分的值为0)。 (3)字符型赋予整型,由于字符型为一个字节,而整型为两 个字节,因此将字符的ASCII码值放到整型变量的低八 位中,高八位为0。 (4)整型赋予字符型,只把低八位赋予字符型变量。 (5) double型赋予 float型,丢失的部分按四舍五入向前 进位。 1、自动转换—赋值转换 * 注意:一个long型或double型数据给一个int型或float型变量赋值时,可能会引起数值溢出。 注意:如果赋值运算符两边的数据类型不相同,系统将进行类型转换,即把赋值号右边的类型换成左边的类型,如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。 1、自动转换—赋值转换 * 练习: 已知: double a; float b; int c; char d;执行 语句c=(d+b)*c-a;后,变量c的数据类型是( )。 A. double B. float C. int D. char 正确答案: C * 2、强制类型转换 强制类型转换运算符,将一个类型的变量值强制转换为另一种类型。 一般格式为:(类型标识符)表达式 例: k =(int)((int)x +(float)i) (float)(x = 85) * 注意:对一个变
显示全部
相似文档