c语言第三章
第三章 基本数据类型、运算符和表达式 3.1 常量 3.1.1 整型常量 3.1.2 实型常量(浮点型) 3.1.3 字符常量 3.1.4 字符串常量 3.1.5 符号常量 3.1.1 整型常量 3.1.2 实型常量 3.1.3 字符常量 字符常量 3.1.4 字符串常量 3.1.5 符号常量 3.2 变量 3.2.1 变量名与标识符 3.2.2 变量的数据类型和变量的地址 3.2.3 变量的定义和初始化 3.2.1 变量名与标识符 3.2.2 变量的数据类型和变量的地址 3.2.3 变量的定义和初始化 3.3 数据类型的转换 3.3.1 自动类型转换 3.3.2 强制类型转换 3.3.1 自动类型转换 3.3.2 强制类型转换 3.4 算术运算符 3.4.1 基本的算术运算符 3.4.2 算术表达式及运算符的优先级与结合性 3.4.3 自增、自减运算符 3.4.4 取负运算 3.4.1 基本的算术运算符 3.4.2 算术表达式及运算符的优先级与结合性 3.4.3 自增、自减运算符 自增、自减运算只能用于变量,不能用于常量或表达式。 如:-i++; 表示的是-(i++)而不是(-i)++; 该运算符的结合性为“自右至左”。 如:int i = 5; int j = 3 - ++i; 则 j = -3 注意避免出现歧义: 如: (i++) + (i++) + (i++) , (++i) + (++i) + (++i)或 i+++j 3.4.4 负号运算符 3.5 赋值运算 3.5.1 赋值运算符和赋值表达式 3.5.2 赋值运算的类型转换 3.5.3 复合的赋值运算符 3.5.1 赋值运算符和赋值表达式 3.5.2 赋值运算的类型转换 3.5.3 复合的赋值运算符 3.6 关系运算 3.6.1 关系运算符及其优先级 3.6.2 关系表达式 3.6.1 关系运算符及其优先级 3.6.2 关系表达式 3.7 逻辑运算 3.7.1 逻辑运算符及其优先级 3.7.2 逻辑表达式 3.7.1 逻辑运算符及其优先级 3.7.2 逻辑表达式 3.8 位运算 C语言具有位逻辑运算和移位运算的独特功能,参与位运算的运算量必须是整数。位逻辑运算包括&、|、∧、~四种运算,移位运算有<>两种运算。其中~为单目运算符。 3.8.1 按位与 3.8.2 按位或 3.8.3 按位异或 3.8.4 按位取反 3.8.5 按位左移 3.8.6 按位右移 3.8.7 位运算的复合赋值运算符 3.8.1 按位与 3.8.2 按位或 3.8.3 按位异或 3.8.4 按位取反 3.8.5 按位左移 3.8.6 按位右移 3.8.7 位运算的复合赋值运算符 3.9 其它运算 3.9.1 条件运算 3.9.2 逗号运算 3.9.3 长度运算 3.9.1 条件运算 3.9.2 逗号运算 3.9.3 长度运算 3.10 本章程序举例 3.11 本章要点小结 C语言的各种类型常量表示,其中整数可采用十、八和十六进制数表示。 变量的定义及初始化。 不同类型的数据可混合运算,系统进行类型转换。强制类型转换时注意,由较短类型转换为较长类型时可能有误差甚至出错。 C语言的运算符及它们的优先级和结合性 ? ? ? ? ? ? 闷囚京阂踏婉侠锅蛛液烙黎掩卯罚逻兵郊邮毡纶芹抱域幂彦巴铭钻辩谦结c语言第三章c语言第三章 ? ? ? ? ? ? “=”是赋值运算符,功能是将“=”右边表达式的值赋给左边的一个变量,区别于关系运算符中的相等(==)。 赋值表达式的形式为: 〈变量〉=〈表达式〉; 如:x=9;y=‘a’;i=i+1;a = (b = 6) / (c = 3); 赋值运算符具有右结合性,如:a=b=3+8;先做3+8,然后将11赋给b,再将b的值11赋给a。 迁旭谤币厌徐侦丸疼视峰烧聊姬砍橇瑚柄梗矣冉涌殊安郴包另抿梁儡生缔c语言第三章c语言第三章 当赋值运算符两侧的数据类型不一致时,要将赋值符号右边表达式的值按左边变量的数据类型转换之后再赋值。 int i = 4.78; float f = 34; float f = 23.64e40; 溢出错误 int i = ‘\310’; i = -56 char c = 295; c = 39 int long, unsigned signed 注意:如果左边变量的类型长度较右边值的长度长时,一般不会出现问题;但是如果左边变量的类型长度较右边值的长度短时,就可能产生误差,甚至完全