●C语言类型转换通常是自动的-隐式类型转换 1)字符与整数 可以用整数的地方就可以用字符。 而整数转换成字符时,超出8位就将高位丢掉。 2)浮点数与整数 整数 截去小数部分 3)无符号整数 般整数(int)和无符号整数( unsigned)混合使用,则简单整 数转换成无符号整数。 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 zC语言类型转换通常是自动的--- 隐式类型转换 1)字符与整数 可以用整数的地方就可以用字符。 而整数转换成字符时,超出8位就将高位丢掉。 2)浮点数与整数 3)无符号整数 一般整数(int)和无符号整数(unsigned)混合使用,则简单整 数转换成无符号整数。 浮 点 整数 截去小数部分
4)算术转换 如果一个运算符,有不同类型的运算对象,那么“较低”类型会自动 转换成“较高”类型。 double float insign short. cha 此外,赋值号右边表达式的类型会自动转换为赋值号左边变量类 型 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 4)算术转换 如果一个运算符,有不同类型的运算对象,那么“较低”类型会自动 转换成“较高”类型。 double float long unsign int short, char 此外,赋值号右边表达式的类型会自动转换为赋值号左边变量类 型
●强制类型转换(cast)-显式类型转换 (<类型名>)<表达式 如:x=sqrt( double)n) 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 z强制类型转换(cast)--- 显式类型转换 (<类型名>)<表达式> 如:x = sqrt((double) n );
2.5表达式和运算符 C语言中一个表达式后跟一个分号可构成一条语句,如 <表达式;称为表达式语句 在C语言中,分号是语句的结束符,而在 PASCAL语言中分号 是语句的分隔符。在其它语言里常见的赋值语句E1=E2;在C语 言中称为赋值表达式语句。 在C中,a=b=c=0;是合法的赋值表达式语句。 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 2.5表达式和运算符 C语言中一个表达式后跟一个分号可构成一条语句,如: <表达式>; 称为表达式语句 在C语言中,分号是语句的结束符,而在PASCAL语言中分号 是语句的分隔符。在其它语言里常见的赋值语句E1 = E2;在C语 言中称为赋值表达式语句。 在C中,a = b = c = 0; 是合法的赋值表达式语句
2.5.1表达式 <表达式>=<初等表达式>初等量,相当园 <单目表达式> <双目表达式> 1<条件表达式> <赋值表达式> <初等表达式>:=<标识符>变量名、常量名等 <常量> 文字常量 <字符串> (<表达式>) <标识符>([表达式>D<表达式习]*]) <左值> 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 2.5.1表达式 <表达式> ::= <初等表达式> 即<初等量>,相当于<因子> | <单目表达式> | <双目表达式> | <条件表达式> | <赋值表达式> <初等表达式> ::= <标识符> 变量名、常量名等 | <常量> 文字常量 | <字符串> | (<表达式>) | <标识符>( [<表达式> [, <表达式>]* ]) | <左值>