k A的外的出》净的出《的要的《图的《的气
本章要点: C++中的各种运算符 区C++中的各种表达式 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 2 本章要点: C++中的各种运算符 C++中的各种表达式
53.1C++的运算符 >运算符:在程序中,许多语句是由表达式构成的。表达式是由运算符和运算 数组成的式子。运算符指运算的符号,而运算数包含常量、变量 和函数等。 >运算符的分类: ①按运算符连接运算对象的个数分为: ■单目运算(一元运算符,只需一个操作数) 双目运算(二元运算符,需两个操作数) 三目运算(三元运算符,需三个操作数) ②按其在表达式中所起的作用又可分为: C++程序设计课件设计制作:徐龙琴 3
C++程序设计课件 设计制作:徐龙琴 3 §3.1 C++的运算符 ➢运算符:在程序中,许多语句是由表达式构成的。表达式是由运算符和运算 数组成的式子。运算符指运算的符号,而运算数包含常量、变量 和函数等。 ➢运算符的分类: ◼ 单目运算(一元运算符,只需一个操作数) ◼ 双目运算(二元运算符,需两个操作数) ◼ 三目运算(三元运算符,需三个操作数) ① 按运算符连接运算对象的个数分为: ② 按其在表达式中所起的作用又可分为:
算术运算符+-*/% 关系运算符>~ 自增自减运算符+ 赋值运算符=及其扩展(+=-=*=/=%=等) 条件运算符?: 指针运算符*和& 逗号运算符 分量运算符* 函数调用运算符() 下标运算符[] 求字节运算符 sizeof 强制类型转换运算符:(type) C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 4 ◼ 算术运算符 + - * / % ◼ 关系运算符 = == != ◼ 逻辑运算符 ! && || ◼ 位运算符 > ~ | ^ & ◼ 自增自减运算符++ -- ◼ 赋值运算符 = 及其扩展(+= -= *= /= %= 等) ◼ 条件运算符 ? : ◼ 指针运算符 * 和 & ◼ 逗号运算符 , ◼ 分量运算符 * -> ◼ 函数调用运算符() ◼ 下标运算符[] ◼ 求字节运算符 sizeof ◼ 强制类型转换运算符:(type)
1、算术运算符 运算符名字 实例 2+49/∥/得出169 加减乘除 398-4∥得出-0.02 2÷34∥得出68 9/20∥/得出45 取余 13%3∥/得出1 2、自加和自减运算符 十十是自增运算符,一一自减运算符,它门都是单目运算符,都是 将数值变量的值加1或减1,该类操作符应用于变量而不能应用于常量 例:inti=5; C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 5 1 、算术运算符 运算符 名字 实例 + 加 12 + 4.9 // 得出16.9 - 减 3.98 - 4 // 得出-0.02 * 乘 2 * 3.4 // 得出6.8 / 除 9 / 2.0 // 得出4.5 % 取余 13 % 3 // 得出1 2 、自加和自减运算符 ++是自增运算符,――自减运算符,它门都是单目运算符,都是 将数值变量的值加1或减1,该类操作符应用于变量而不能应用于常量。 例: int i= 5;
运算符 名字 实例 + 自加(前缀) ++i+10∥得出16,变为6 自加(后缀) i+++10∥/得出15,i变为6 自减(前缀) -i+10∥得出14,i变为4 自减(后缀) +10∥得出15,变为4 例:a=6; b=6 cl=a++ c2=++b;执行结果为:c1=6,a=7,b=7,c2=7 注意:①+或-一只能用于变量 ②+或-i是先增值再引用,i++或i-是先引用再增值 ③自右向左将运算符结合在一起,但调用函数时,实参的求值顺序 般为自右向左。 int a=l printf(“号d,号d,号d”,a++,a++,a++); 程序设计调输出的结果为3,2,1而不是1,2,3
C++程序设计课件 设计制作:徐龙琴 6 运算符 名字 实例 + + 自加(前缀) ++i + 10 // 得出16,i变为6 + + 自加(后缀) i++ + 10 // 得出15,i变为6 - - 自减(前缀) --i + 10 // 得出14,i变为4 - - 自减(后缀) i-- + 10 // 得出15,i变为4 注意: ①++或--只能用于变量 ②++i 或- -i 是先增值再引用,i ++ 或i - - 是先引用再增值 ③ 自右向左将运算符结合在一起,但调用函数时,实参的求值顺序一 般为自右向左。 a = 6; b=6; c1 = a++; c2=++b; 例: 执行结果为:c1=6, a=7,b=7,c2=7 int a=1; printf(“%d,%d,%d”,a++,a++,a++); 输出的结果为3,2,1而不是1,2,3
3、关系运算符 关系运算符用于数值之间的比较,表达式的值为1(表示true),或为0 (表示 false),见表 运算符 名字 实例 等于 5==5∥得出1 不等于 5!=5∥得出0 小于 55.5/得出0 大于或等于 63>=5∥得出1 关系运算符都是双目运算符,两边的数值结果必须是类型相同的其结 合性是从左到右,优先级低于算术运算符。字符串不应当用关系运算符比 较,因为被比较的不是字符串的内容本身,而是字符串的地址 C++程序设计课件设计制作:徐龙琴 7
C++程序设计课件 设计制作:徐龙琴 7 3 、关系运算符 关系运算符用于数值之间的比较,表达式的值为1(表示true),或为0 (表示false),见表: 运算符 名字 实例 = = 等于 5 = = 5 // 得出1 ! = 不等于 5 != 5 // 得出0 大于 5 > 5.5 // 得出0 > = 大于或等于 6.3 >= 5 // 得出1 关系运算符都是双目运算符,两边的数值结果必须是类型相同的其结 合性是从左到右,优先级低于算术运算符。字符串不应当用关系运算符比 较,因为被比较的不是字符串的内容本身,而是字符串的地址
①如何表示数学中的逻辑关系:0≤a≤9? 用0=0&a<=9 C++程序设计课件设计制作:徐龙琴 8
C++程序设计课件 设计制作:徐龙琴 8 ① 如何表示数学中的逻辑关系:0≤a≤9? 用0=0&&a<=9
逻辑运算符 运算符 名字 实例 逻辑非 (5==5) ∥得出0 && 逻辑与 53&&2|183-0的值为:1 注意:①逻辑非的优先级最高,逻辑与次之,逻辑或最低 ②&&:如果第一操作数为0,则不再求解第二操作数 例:(x=0)&&(y=4):只完成了x的赋值,不再操作y=4,所以, y没有实现赋值。 ③||:如果第一操作数为1,则不再求解第二操作数。 例:(x=4)‖(y=4)结果如何? C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 9 4 、逻辑运算符 运算符 名字 实例 ! 逻辑非 !(5 = = 5) // 得出 0 && 逻辑与 5 3 && 2 | | 8<3 - !0的值为: 1
例:从键盘上输入年份year(4位十进制数),判断其是否闰年。 闰年的条件是:能被4整除、但不能被100整除;或者能被400整除。 # include≤ stdio. k void maino int year printf( Please input the year: ) scanf(%/od " &year)i if(year%4==0&&year%100!=0)ll(year%400==0) printf( %/od is a leap year n"year)i ese printf( %/od is not a leap year n"year)i C++程序设计课件设计制作:徐龙琴 10
C++程序设计课件 设计制作:徐龙琴 10 例:从键盘上输入年份year(4位十进制数),判断其是否闰年。 闰年的条件是:能被4整除、但不能被100整除;或者能被400整除。 #include void main() { int year; printf("Please input the year:"); scanf("%d",&year); if ((year%4==0 && year%100!=0)||(year%400==0)) printf("%d is a leap year.\n",year); else printf("%d is not a leap year.\n",year); }