Chapter2 数据类型.ppt

Chapter2 数据类型

例: # include stdio.h main( ) { int a; float b; a*=a/=(a=7)-(b=4.5); printf(a=%d, b=%f\n,a, b); } a=4,b=4.500000 例: int m=7,n=12; 则能得到值为3的表达式是_____ A. n%=(m%=5) B. n%=(m-m%5) C. n%=m-m%5 D. (n%=m)-(m%=5) D 逗号运算符和逗号表达式 一般形式: 表达式1,表达式2,…,表达式n 例:z=(y=(x=4*5,x*5),x+25) x=20, y=100, z=45 综合例题: int k=7; float a=2.5,b=4.7; 则表达式 a+k%3*(int)(a+b)%2/4的值_____ A. 2.5 B. 2.75 C. 3.5 D. 0.0 A 各类数值型数据间的混合运算与类型转换 C语言规定: 相同类型数据直接进行运算,运算结果是原数据类型; 不同类型的数据先转换成同一类型,然后才可进行运算。 两种转换形式: (1)隐含转换(隐式转换); (2)强制转换(显式转换) 隐含转换 1、运算转换——不同类型数据混合运算时 2、赋值转换——把一个值赋给与其类型不同的变量时 3、输出转换——输出时转换成指定的输出格式 4、函数调用转换——实参与形参类型不一致时转换 由C语言系统自动完成的 double float long unsigned int char,short 低 高 转换规则: 注意: (1) 转换按箭头方向不是逐步进行, 而是一步到位。 (2) 类型转换只影响表达式结果,不改变原变量的类型。 例 char ch; int i; float f; double d; ch / i + f * d - ( f + i ) int double double double double 例:以下表达式结果为整数的是_____ (设int i;char c;float f;) A. i+f B. i*c C. c+f D. i+c+f B 强制转换 通过强制类型转换运算符将表达式值转换为指定类型。 一般形式: (类型标识符)表达式 如: (int)(a+b*c-d/e)%f 例: main() { float x1,x2; x1=5.1/1.7; x2=5.1/(int)1.7; printf(“x1=%f,x2=%f”,x1,x2); } x1=3.000000,x2=5.100000 注意: 1、类型表示符两侧的括号不能省略; 2、转换时,得到的是一个所需类型的中间 变量,原变量的类型未发生变化。 第2章 基本数据类型、运算符及表达式 2.1 C的基本数据类型 数 据 类 型 基本类型 构造类型 指针类型 空类型 void 数值类型 字符类型 char 枚举类型 enum 整 型 浮点型 单精度型 float 双精度型 double 短整型 short 长整型 long 整型 int 数组类型 结构体类型 struct 共用体类型 union 2.2 常量与变量 常量 程序运行的过程中,值不能被改变的量。 含义: 分类: 字面常量和符号常量。 其中,字面常量又分为:整型常量、实型常量、 字符型常量(字符常量和字符串常量) 字面常量 — 整型常量 形式: (1)十进制整型常量: 由0至9的数字组成,没有前缀,不能以0起头。 (2)八进制整型常量: 以0(数字0)为前缀,其后由0到7的数字组成, 没有小数部分。 (3)十六进制整型常量: 以0x或0X为前缀,其后由0到9的数字和A到F (大小写均可)字母组成,没有小数部分 整型常量中的长整型数据可用L(或小写字母l)作后缀表示。 十进制、八进制和十六进制3种形式 字面常量 — 实型常量 构成: 由整数部分和小数部分组成的,只有十进制方式。 形式: (1)定点数形式: 它由数字和小数点组成。整数和小数部分可以省 去一个,但不可两者都省,而且小数点不能省。 如:1.23

文档评论(0)

1亿VIP精品文档

相关文档