《高级语言程序设计教学课件第5章2.ppt》由会员分享,可在线阅读,更多相关《高级语言程序设计教学课件第5章2.ppt(13页珍藏版)》请在优知文库上搜索。
1、第第5章章 数据类型和表达式数据类型和表达式5.2.1整型整型n基本类型:基本类型:int类型类型比特数比特数取值范围取值范围signed int32-231 (231-1)unsigned int320 (232-1)signed short int16-215 (215-1)unsigned short int160 (216-1)signed long int32-231 (231-1)unsinged long int320 (232-1)5.2.2 实型数据实型数据float4-3.4*10-38 3.4*1038double8-1.7*10-308 1.7*10308系统默认实型常
2、量为系统默认实型常量为double类型类型若希望指定为若希望指定为float类型在后面加类型在后面加f或或F2.3f -0.123F 2e-3f5.2.3 字符型数据字符型数据char c1,c2;c1=a;c2=b;字符常量字符常量 以单撇号括起来的一个字符。如以单撇号括起来的一个字符。如a、C、#以一个以一个开头的字符序列。开头的字符序列。字符形式字符形式含含 义义ASCIIASCII码码 n换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头10 t水平制表(跳到下一个水平制表(跳到下一个tab位置)位置)9 b退格,将当前位置移到前一列退格,将当前位置移到前一列8 r回车,将当
3、前位置移到本行开头回车,将当前位置移到本行开头13 f换页,将当前位置移到下一页开头换页,将当前位置移到下一页开头12字符形式字符形式含含 义义ASCIIASCII码码 反斜杠字符反斜杠字符92 单撇号字符单撇号字符39 双撇号字符双撇号字符34 ddd1到到3位位8进制数所代表的字符进制数所代表的字符 xhh1到到2位位16进制数所代表的字符进制数所代表的字符5.3运算符及表达式运算符及表达式nC运算符简介运算符简介算术运算符算术运算符+-+-*/%+-/%+-关系运算符关系运算符 =!=!=逻辑运算符逻辑运算符!&|&|位运算符位运算符|&|&赋值运算符赋值运算符=及其扩展(及其扩展(+=
4、-=+=-=等)等)逗号运算符逗号运算符,强制类型转换强制类型转换(类型)类型)条件运算符条件运算符?:?:分量运算符分量运算符.-.-指针运算符指针运算符*&下标运算符下标运算符求字节数求字节数sizeofsizeof其它其它()-()-算术运算符算术运算符n基本的算术运算符基本的算术运算符 优先级:优先级:自增、自减运算符自增、自减运算符 +-n作用作用 使使加加1或减或减1n种类种类 前置前置 +i,-ii=i+1或或i=i-1,i值值 后置后置 i+,i-i值值,i=i+1或或i=i-15+(a+b)+n复合赋值运算符复合赋值运算符 种类种类 含义含义a+=3 x*=y+8x%=3 a
5、=a+3 x=x*y+8 x=x%3逗号运算符逗号运算符n逗号运算符逗号运算符 形式:形式:优先级优先级:最低最低 结合性结合性:从左向右从左向右 逗号表达式的值:等于表达式逗号表达式的值:等于表达式n的值的值x=3,y=13,z=4.000000 位运算符位运算符按位取反按位取反右移右移2 00000000 000001015i2 00000000 0101010084i&j 00000000 0001000016ij 00000000 0010110145i|j 00000000 00111101615.4 类型转换类型转换n混合运算的规则混合运算的规则 不同类型数据混合运算,先转化为同一
6、类型不同类型数据混合运算,先转化为同一类型 转化规则转化规则float型一律转化为型一律转化为double型型char,short型转化为型转化为int型型精度低类型转化为精度高类型精度低类型转化为精度高类型floatchar,shortdoublelongunsignedintint a=3;float f=5.14;char c=a;10+c c转化为转化为int型型,c的值为的值为97,则结果为,则结果为107 a*f a和和f转化都为转化都为double型型,结果为结果为9.420000 10+c+a*f 将将10+c的结果转化为的结果转化为double型与型与a*f的结果相加的结果相加 结果为结果为116.420000floatchar,shortdoublelongunsignedint强制类型转换运算符强制类型转换运算符n作用:将一个表达式的值转换成所需类型作用:将一个表达式的值转换成所需类型n一般形式:一般形式:n说明:说明:表达式必须用括号括起来表达式必须用括号括起来 在进行强制转换时,得到一个所需类型的中间在进行强制转换时,得到一个所需类型的中间变量,原来变量的类型并没有发生变化变量,原来变量的类型并没有发生变化(double)a(int)(x+y)(float)(5%3)(int)x+y (int)(x+y)