1、C语言程序设计 进阶篇第 2章 运算符和表达式 (2)C语言程序设计 进阶篇内容概述内容概述 C语言的运算符、表达式及运用方法。C语言程序设计 进阶篇教学目标教学目标 1熟悉自增、自减运算的特点,掌握赋值运算,了解逗号运算符和逗号表达式。 2 掌握数据类型转换的概念,能进行基本的数据类型转换。 3 逻辑运算、 switch语句及其运用方法。C语言程序设计 进阶篇2.1.1 基本的算术运算符2.1 算术运算符和算术表达式算术运算符和算术表达式运算符 名称 举 例 说 明+ 正 值 运算符 (正号 ) +b 值 不 变- 负值 运算符 (负 号 ) -d 取相反数+ 加法运算符 a+3 加法- 减
2、法运算符 c-4 减法* 乘法运算符 a*3 乘法/ 除法运算符 c/d 除法% 模运算符 e%4 求余数、取模C语言程序设计 进阶篇2.1.2 算术表达式和运算符的优先级和结合性算术表达式和运算符的优先级和结合性表达式是由常量、变量、函数和运算符组合起来的式子。 a+b(a*2) c(x+r)*8-(a+b) 7+isin(x)+sin(y)(+i)-(j+)+(k-) C语言程序设计 进阶篇n 优先级 (从高到低 )+ (正号 ) (负号 )* / % + (加 ) (减 )n 结合方向+ (正号 ) (负号 ):从右向左+ (加 ) (减 ) * / %: 从左向右C语言程序设计 进阶篇
3、n 例: 计算下列表达式的值:-x/(y+1.8)-15%9*16求值过程如下: 求 -x的值 求 y+1.8的值 求 / 的值 求 15%9的值 求 *16 的值 求 - 的值C语言程序设计 进阶篇说明 :1. 两个整数相除,结果也为整数n 直接舍去商的小数部分,而不会 “四舍五入 ”n 负数整数除法,结果的舍入方向没有规定n 如果需要得到精确的运算结果,可以把其中一个操作数转换为浮点数n 举例, 5/3(=1)、 5.0/3(=1.66666)n 举例, -5/3(=-1?-2?)2. 模运算符的两个操作数都必须是整数n 负数模运算结果的符号没有规定n 举例, 5%3(=2)、 -5%3(
4、=-2?1?)C语言程序设计 进阶篇【例 2.1】#include main()printf(“nn%d,%dn“, 20/7,-20/7);printf(“%f,%fn“,20.0/7, -20.0/7);【例 2.2】#include main()printf(“%dn“,100%3); 运行结果 :1运行结果 :2,-22.857143,-2.857143C语言程序设计 进阶篇2.1.3 强制类型转换运算符 一般形式为:(类型说明符 ) (表达式 )功能 :把表达式的运算结果强制转换成类型说明符所表示的类型。例如:(float) a 把 a转换为实型(int)(x+y) 把 x+y的结果转换为整型