C+语言程序设计 第3讲:更好的C
C++语言程序设计 第3讲: 更好的C/5
运算符分类 算术运算符加(+)、减(-)、乘(*)、除()、求余(或称模运 算,%)、自增(++)、自减(-)共七种 关系运算符大于(>)小于()、等于(==)大于等于(>=) 于等于(<=)和不等于(!=)六种。 3逻辑运算符与(s&)、或(1)、非(!)三种。 位操作运算符位与()、位或()、位非(~)、位异或(小左 移(<<)、右移(>>)六种。 赋值运算符赋值(=)、复合算术赋值(+=,-=,*=,/=%=)和复 合位运算赋值(=,|=,=,少>=,<<=)三类共十一种 条件运算符用于条件求值(?:) 7逗号运算符用于把若干表达式组合成一个表达式(,) 指针运算符用于取内容(*)和取地址()二种运算 9求字节数运算符用于计算数据类型所占的字节数( sizeof) 特殊运算符有括号(),下标[],成员(->,.)等几种
运算符分类 1. 算术运算符 加(+)、减(-)、乘(*)、除(/)、求余(或称模运 算,%)、自增(++)、自减(--)共七种。 2. 关系运算符 大于(>)、小于(<)、等于(==)、 大于等于(>=)、 小于等于(<=)和不等于(!=)六种。 3. 逻辑运算符 与(&&)、或(||)、非(!)三种。 4. 位操作运算符 位与(&)、位或(|)、位非(~)、位异或(^)、左 移(<<)、右移(>>)六种。 5. 赋值运算符 赋值(=)、复合算术赋值(+=,-= , *= ,/=,%=)和复 合位运算赋值(&=,|=, ^= ,>>=,<<=)三类共十一种。 6. 条件运算符 用于条件求值(?:)。 7. 逗号运算符 用于把若干表达式组合成一个表达式(,)。 8. 指针运算符 用于取内容(*)和取地址(&)二种运算。 9. 求字节数运算符 用于计算数据类型所占的字节数(sizeof)。 10. 特殊运算符 有括号(),下标[],成员(->,.)等几种
运算符优先级 高括号 ++, ,Si思考: int x=l, y=0; bool z =!x&&x+y&&++yi 位运算 && z→(!x)&(x+y)&(++y) 0&&(1+0)&(1)0 赋值运算 逗号运算, 低
运算符优先级 括号 ++,--,sizeof *, /, % +, - ==, != 位运算 && || ?: 赋值运算 = 逗号运算 , 思考: int x=1, y=0; bool z = !x&&x+y&&++y; Z = ? 高 低 z ➔ (!x)&&(x+y)&&(++y) ➔ 0&&(1+0)&&(1) ➔ 0
例2-2:输入一个年份,判断是否闰年 #include <iostream> using namespace std; 运行结果: int main() Enter the year: 2000 t int yeari boo工 lEapyEar; 2000 is a leap year cout < Enter the year: i cin > year; IsLeapYear = ( yeax号4 o&s Yeax号100 0)||(year%400 0)); if(工 lEapyEar) cout < year < w is a leap year < endli else cout < year < w is not a leap year < endl
#include <iostream> using namespace std; int main() { int year; bool IsLeapYear; cout << "Enter the year: "; cin >> year; IsLeapYear = (( year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)); if (IsLeapYear) cout << year << " is a leap year“ << endl; else cout << year << " is not a leap year“ << endl; } 例2-2 :输入一个年份,判断是否闰年 运行结果: Enter the year: 2000 2000 is a leap year
例2-4:输入一个0~6的整数,转换成星期 include <iostream> using namespace stdi int main o 运行结果: t int day i cin > day i Tuesday switch (day) t case 0: cout<<" Sunday <<endli breaki case 1: cout<<"Monday <<endli breaki case 2: cout<< "Tuesday <<endli breaki case 3: cout<< Wednesday<<endl i break case 4: cout<<" Thursday<<endl; break case 5: cout<<"Friday<<endli breaki case 6: cout<<"Saturday<<endl; breaki defau1七 cout<<"Day out of range Sunday Saturday <<endli break
#include <iostream> using namespace std; int main() { int day; cin >> day; switch (day) { case 0: cout<<"Sunday"<<endl; break; case 1: cout<<"Monday"<<endl; break; case 2: cout<<"Tuesday"<<endl; break; case 3: cout<<"Wednesday"<<endl; break; case 4: cout<<"Thursday"<<endl; break; case 5: cout<<"Friday"<<endl; break; case 6: cout<<"Saturday"<<endl; break; default: cout<<"Day out of range Sunday .. Saturday"<<endl; break; } } 例2-4 :输入一个0~6的整数,转换成星期 运行结果: 2 Tuesday