文档详情

C语言程序设计第3章 简单的算术运算和表达式.ppt

发布:2017-12-09约6.51千字共51页下载文档
文本预览下载声明
【例3.1】计算并输出一个三位整数的个位、十位和百位数字之和 关键是如何分离个位、十位、百位数字? 153 % 10 = 3 153 / 100 = 1 153 - 1*100 = 53 53 / 10 = 5 【例3.1】计算并输出一个三位整数的个位、十位和百位数字之和 变量的赋值 简单赋值(Simple Assignment): 变量 = 表达式 ; 多重赋值(Multiple Assignment): 变量1 = 变量2 = 表达式 ; Syntax: 变量x = 变量x 运算符op 表达式 ; 变量x 运算符op = 表达式; 3.1.2复合的赋值运算符 (Combined Assignment Operators) 这种形式看起来更直观,且执行效率一般也更高一些 Example: num = num + 5; num 15 ?15 + 5 ?20 20 Example: num += 5; similar to num = num + 5 shorthand assignment operator 3.1.2复合的赋值运算符 (Combined Assignment Operators) 已知 int a = 3; 执行 a += a -= a * a 后,变量a的值? a += a -= a * a a += a -= 9 a += -6 a = -12 3 -6 -12 执行 a += a -= a *= a 后,变量a的值? a += a -= a *= a a += a -= 9 a += 0 a = 0 3 9 0 0 Operation Examples of expression Description += num += 5; num = num + 5; -= num -= 5; num = num – 5; *= num *= 5; num = num * 5; /= num /= 5; num = num / 5; %= num %= 5; num = num % 5; 简写的复合赋值(Shorthand Assignment) 3.1.2复合的赋值运算符 (Combined Assignment Operators) 3.1.3增1和减1运算符 (Increment and Decrement) n++,n--,++n,--n ++让参与运算的变量加1,--让参与运算的变量减1 作为后缀(postfix)运算符时,先取n的值,然后加/减1 m = n++; m = n; n++; 3.1.3增1和减1运算符 (Increment and Decrement) n++,n--,++n,--n ++让参与运算的变量加1,--让参与运算的变量减1 作为后缀(postfix)运算符时,先取n的值,然后加/减1 作为前缀(prefix)运算符时,先加/减1,然后取n的值 m = ++n; n++; m = n; Example: j = ++i - 2 i 5 similar to i = i + 1; j = i – 2; j ?? 4 6 前缀( Prefix )增1和减1运算符 Example: j = i++ - 2 i 5 similar to j = i – 2; i = i + 1; 后缀(Postfix)增1和减1运算符 j ?? 3 6 int a=3; printf(%d, -a++); a 3 similar to printf(%d, -a); a = a + 1; 后缀(Postfix)增1和减1运算符 4 良好的程序设计风格提倡: 在一行语句中,一个变量只能出现一次增1或者减1运算 过多的增1和减1运算混合,不仅可读性差,而且因为编译器实现的方法不同,导致不同编译器产生不同的运行结果 3.1.3增1和减1运算符 (Increment and Decrement) 【例3.2】计算圆的周长和面积 circumference = 33.300854 area = 88.247263 【例3.3】计算圆的周长和面积 Input r: 5.3↙ circumference = 33.300854 area = 88.247263 在程序中直接使用的常数称为幻数(Magic Number) 使用幻数存在的问题? 假如直接使用常数,会有什么影响? 程序的可读性变差
显示全部
相似文档