文档详情

wxm第三章数据类型.ppt

发布:2017-04-30约9.9千字共40页下载文档
文本预览下载声明
§3.1 C的数据类型 §3.2 数据——常量与变量 例: 符号常量的定义与使用 #define PRICE 30/*宏定义*/ #include stdio.h void main ( ) { int num; num=10 * PRICE; printf(″num=%d\n ″,num); } 常见逻辑错误: 数据溢出(overflow) #include stdio.h void main() { int a; a= -100000*100000; printf(%d \n, a ); } §3.4 浮点型数据 计算机中 小数存储方式 §3.5 字符型数据 char c1=’a’ , c2=’A’; 等价为 c1=97 65 书eg3.6:写出运行结果 #includestdio.h void main() { char c1,c2,c3; c1=97; /*等价为c1=’a’; */ c2=98; c3=1; printf(%c %c %c\n,c1,c2,c3); printf(%d %d %d\n,c1,c2,c3); } 书eg3.7:大小写字母之间的变换关系 #includestdio.h void main() { char c1,c2; c1=a; c2=b; printf(%c %c\n,c1,c2); c1=c1-32; c2=c2-32; printf(%c %c\n,c1,c2); } printf(“班级\t姓名\t学号\t成绩\n”); printf(一班\t张全\t022229\t83.5\n); printf(十二班\t王方新\t116\t95\n); printf( \01, \016 ); printf(\\, \ ); §3.8 算术运算符和算术表达式 §3.7 各类数据类型的混合运算 §3.9 赋值运算符和赋值表达式 *§3.10 逗号运算符和逗号表达式 强制类型转换运算符:将一个表达式转换成所需类型。 格式: (类型名)表达式 (float)(5%3) (int)(3.9+4.9) (int)3.9+4.9 ★ ★ ★小结:共有两种类型转换 1)运算时不必用户指定,系统自动进行的类型转换,如3+6.5。 2)当自动类型转换不能实现目的时,程序员强制要求进行某种类型转换,如 b= (int)a % 3 ; float k= (float)1.3 ; 表达式的值为: 2.0000 表达式的值为: 8 (规则:8.8小数甩掉) 表达式的值为: 7.9000 编程经验:如何四舍五入?(int)( x +0.5) // 先加0.5 赋值表达式: 变量= 表达式 最常见的语法问题: 符号常量=55; //错,常量在运行中不能改变值! int a=b=c=5; //错,应改为:int a=5,b=5,c=5; 或者改为:int a,b,c; a=b=c=5 ; printf(“%d”,a=b+4); //语法正确,但可读性差 *高精度数被赋给低精度变量,会舍弃什么? 例:float f=1.6f; int i; i=f;//系统自动舍弃实数的小数部分,且会语法警告 *长字节整数被赋给短字节整数变量,会舍弃什么? 例:int a=300;char c; c=a; //系统自动舍弃高位(c被赋值为44) 注意:这些都有可能引发逻辑错误。 所以需了解一下.( *各种情况总结在书P60~62) 复合的赋值运算符 +=,-=,*=,/=,%=, =,=,=,^=,|= 作用:能提高编译效率(逆波兰式 )。 不建议初学者使用,但要求能读懂。 a+=3 a=a+3
显示全部
相似文档