文档详情

二章数据类型运算符表达式.ppt

发布:2017-03-21约1.2万字共46页下载文档
文本预览下载声明
2.1 数据类型 各种进制之间的转换 二进制、八进制、十六进制转换成十进制 方法:按权相加 字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1 ANSI标准定义的整数类型 例2.5 转义字符的使用 main() { printf(“ ab c\t de\rf\tg\n); printf(“h\ti\b\bj k\n); } 字符数据在内存中的存储 一个字符在内存中占一个字节 字符数据在内存中以ASCII码存储 例2.7 大小写字母的转换 main() { char c1,c2; c1=a;c2=b; c1=c1-32; c2=c2-32; printf(%c %c\n,c1,c2); } main() { char a=176,b=219; printf(%c%c%c%c%c\n,b,a,a,a,b); printf(%c%c%c%c%c\n,a,b,a,b,a); printf(%c%c%c%c%c\n,a,a,b,a,a); printf(%c%c%c%c%c\n,a,b,a,b,a); printf(%c%c%c%c%c\n,b,a,a,a,b); } 作业: P41 2.3(2)、(5),2.6,2.7,2.8,2.9,2.10,2.11,2.12 2.8 算术运算符和算术表达式 C 运 算 符 算术运算符:+ - * / % ++ -- 关系运算符: = = = = != 逻辑运算符:! || 位运算符 : ~ | ^ 赋值运算符:= 及其扩展赋值运算符 条件运算符:?: 逗号运算符:, 指针运算符:* 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. - 下标运算符:[] 其它 :( ) - 算术运算符和表达式 基本算术运算符: + - * / % 说明: 两整数相除,结果为整数 采取“向零取整”的方法 %要求两侧均为整型数据 例 5/2 = 5/2.0 = 例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2 例 5/2 = 2 5/2.0 =2.5 例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (?) 算术表达式和运算符的优先级与结合性 C算术表达式:用算术运算符和括号将运算对象连接起来的、符合C语法规则的式子 结合方向为“自左至右” 例 a*b/c-1.5+’a’ ab*c/1.5-’a’+ 强制类型转换运算符 可以将一个表达式转换成所需类型 形式 (类型名)(表达式) 类型名与表达式都应用括号括起来 例(double)a (int)(x+y) 说明:强制类型转换时,得到一个所需类型 的中间变量,原变量的类型未发生变化 例2.8 强制类型转换 main() { float x; int I; x=3.6; i=(int) x; printf(”x=%f,i= %d\n”,x,i); } 运行结果: x=3.600000,i=3 自增、自减运算符++ -- 作用:使变量值加1或减1 种类: 前置 ++i, --i (先执行i+1或i-1,再使用i值) 后置 i++,i-- (先使用i值,再执行i+1或i-1) 例 j=3; k=++j; j=3; k=j++; j=3; printf(“%d”,++j); j=3; printf(“%d”,j++); a=3;b=5;c=(++a)*b; a=3;b=5;c=(a++)*b; //k=4,j=4 //k=3,j=4 //4 //3 //c=20,a=4 //c=15,a=4 自增、自减运算符++ -- 作用:使变量值加1或减1 种类: 前置 ++i, --i (先执行i+1或i-1,再使用i值) 后置 i++,i-- (先使用i值,再执行i+1或i-1) 说明: ++ -- 不能用于常量和表达式,如5++,(a+b)++ ++ --结合方向: 自右向左 优先级: 例 -i++ ? -(i++) i=3;
显示全部
相似文档