三⽬运算是采⽤goto_零基础C++学习(2)——运算符和流程
3 运算符
**作⽤:**⽤于执⾏代码的运算
本章我们主要讲解以下⼏类运算符:
运算符类型作⽤算术运算符⽤于处理四则运算赋值运算符⽤于将表达式的值赋给变量⽐较运算符⽤于表达式的⽐较,并返回⼀个真值或假值
逻辑运算符⽤于根据表达式的值返回真值或假值
3.1 算术运算符
作⽤:⽤于处理四则运算
算术运算符包括以下符号:
运算符术语⽰例结果+正号+33-负号-3-3+加10 + 515-减10 - 55*乘10 * 550/⽄10 / 52%取模(取余)10 % 31++前置递增a=2;
b=++a;a=3; b=3;++后置递增a=2; b=a++;a=3; b=2;–前置递减a=2; b=–a;a=1; b=1;–后置递减a=2; b=a–;a=1; b=2;
⽰例1:
//加减乘除int main() {int a1 = 10;int b1 = 3;cout << a1 + b1 << endl;cout << a1 - b1 << endl;cout << a1 * b1 << endl;cout << a1 / b1 << endl;  //两个整数相除结果依然总结:在除法运算中,除数不能为0
⽰例2:
//取模int main() {int a1 = 10;int b1 = 3;cout << 10 % 3 << endl;int a2 = 10;int b2 = 20;cout << a2 % b2 << endl;int a3 = 10;int b3 = 0;//cout << a3 % b3 << endl; //取模总结:只有整型变量可以进⾏取模运算
⽰例3:
//递增int main() {//后置递增int a = 10;a++; //等价于a = a + 1cout << a << endl; // 11//前置递增int b = 10;++b;cout << b << endl; // 11//区别//前置递增先对变量进⾏++总结:前置递增先对变量进⾏++,再计算表达式,后置递增相反
运算符优先级图片
3.2 赋值运算符
**作⽤:**⽤于将表达式的值赋给变量
赋值运算符包括以下⼏个符号:
运算符术语⽰例结果=赋值a=2; b=3;a=2; b=3;+=加等于a=0; a+=2;a=2;-=减等于a=5; a-=3;a=2;*=乘等于a=2; a*=2;a=4;/=除等于
a=4; a/=2;a=2;%=模等于a=3; a%2;a=1;
⽰例:
int main() {//赋值运算符// =int a = 10;a = 100;cout << "a = " << a << endl;// +=a = 10;a += 2; // a = a + 2;cout << "a = " << a << endl;// -=a = 10;a -= 2; // a = a - 2cou
3.3 ⽐较运算符
**作⽤:**⽤于表达式的⽐较,并返回⼀个真值或假值
⽐较运算符有以下符号:
运算符术语⽰例结果==相等于4 == 30!=不等于4 != 31>⼤于4 > 31<=⼩于等于4 <= 30>=⼤于等于4 >= 11
⽰例:
int main() {int a = 10;int b = 20;cout << (a == b) << endl; // 0 cout << (a != b) << endl; // 1cout << (a > b) << endl; // 0cout << (a < b) << endl; // 1cout << (a >= b) <<;注意:C和C++ 语⾔的⽐较运算中, “真”⽤数字“1”来表⽰, “假”⽤数字“0”来表⽰。
3.4 逻辑运算符
**作⽤:**⽤于根据表达式的值返回真值或假值
逻辑运算符有以下符号:
运算符术语⽰例结果!⾮!a如果a为假,则!a为真; 如果a为真,则!a为假。&&与a && b如果a和b都为真,则结果为真,否则为假。||或a ||
b如果a和b有⼀个为真,则结果为真,⼆者都为假时,结果为假。
**⽰例1:**逻辑⾮
//逻辑运算符  --- ⾮int main() {int a = 10;cout << !a << endl; // 0cout << !!a << endl; // 1system("pause");return 0;}
总结: 真变假,假变真
**⽰例2:**逻辑与
//逻辑运算符  --- 与int main() {int a = 10;int b = 10;cout << (a && b) << endl;// 1a = 10;b = 0;cout << (a && b) << endl;// 0 a = 0;b = 0;cout << (a && b) << endl;// 0sy 总结:逻辑与运算符总结: 同真为真,其余为假
**⽰例3:**逻辑或
//逻辑运算符  --- 或int main() {int a = 10;int b = 10;cout << (a || b) << endl;// 1a = 10;b = 0;cout << (a || b) << endl;// 1 a = 0;b = 0;cout << (a || b) << endl;// 0system 逻辑或运算符总结: 同假为假,其余为真
4 程序流程结构
C/C++⽀持最基本的三种程序运⾏结构:顺序结构、选择结构、循环结构
顺序结构:程序按顺序执⾏,不发⽣跳转
选择结构:依据条件是否满⾜,有选择的执⾏相应功能
循环结构:依据条件是否满⾜,循环多次执⾏某段代码
4.1 选择结构
4.1.1 if语句
**作⽤:**执⾏满⾜条件的语句
if语句的三种形式
单⾏格式if语句
多⾏格式if语句
多条件的if语句
1. 单⾏格式if语句:if(条件){ 条件满⾜执⾏的语句 }⽰例:int main() { //选择结构-单⾏if语句 //输⼊⼀个分数,如果分数⼤于600分,
视为考上⼀本⼤学,并在屏幕上打印 int score = 0; cout << "请输⼊⼀个分数:" << endl; cin >> score; cout << "您输⼊的分数为:" << score << endl; //if语句 //注意事项,在if判断语句后⾯,不要加分号 if (score > 600) { cout << "我考上了⼀本⼤学" << endl; } system("pause"); return 0; }
注意:if条件表达式后不要加分号
2. 多⾏格式if语句:if(条件){ 条件满⾜执⾏的语句 }else{ 条件不满⾜执⾏的语句 };
⽰例:
int main() {int score = 0;cout << "请输⼊考试分数:" << endl;cin >> score;if (score > 600){cout << "我考上了⼀本⼤学" << endl;}else{cout << "我未考上⼀本⼤学" <<
3. 多条件的if语句:if(条件1){ 条件1满⾜执⾏的语句 }else if(条件2){条件2满⾜执⾏的语句}... else{ 都不满⾜执⾏的语句}
⽰例:
int main() {int score = 0;cout << "请输⼊考试分数:" << endl;cin >> score;if (score > 600){cout << "我考上了⼀本⼤学" << endl;}else if (score > 500){cout << "我考上嵌套if语句:在if语句中,可以嵌套使⽤if语句,达到更精确的条件判断
案例需求:
提⽰⽤户输⼊⼀个⾼考考试分数,根据分数做如下判断
分数如果⼤于600分视为考上⼀本,⼤于500分考上⼆本,⼤于400考上三本,其余视为未考上本科;
在⼀本分数中,如果⼤于700分,考⼊北⼤,⼤于650分,考⼊清华,⼤于600考⼊⼈⼤。
⽰例:
int main() {int score = 0;cout << "请输⼊考试分数:" << endl;cin >> score;if (score > 600){cout << "我考上了⼀本⼤学" << endl;if (score > 700){cout << "我考上了北⼤练习案例: 三只⼩猪称体重
有三只⼩猪ABC,请分别输⼊三只⼩猪的体重,并且判断哪只⼩猪最重?[
4.1.2 三⽬运算符
作⽤: 通过三⽬运算符实现简单的判断
语法:表达式1 ? 表达式2 :表达式3
解释:
如果表达式1的值为真,执⾏表达式2,并返回表达式2的结果;
如果表达式1的值为假,执⾏表达式3,并返回表达式3的结果。
⽰例:
int main() {int a = 10;int b = 20;int c = 0;c = a > b ? a : b;cout << "c = " << c << endl;//C++中三⽬运算符返回的是变量,可以继续赋值(a > b ? a : b) = 100;cout << "a =总结:和if语句⽐较,三⽬运算符优点是短⼩整洁,缺点是如果⽤嵌套,结构不清晰
4.1.3 switch语句
**作⽤:**执⾏多条件分⽀语句
语法:
switch(表达式){case 结果1:执⾏语句;break;case 结果2:执⾏语句;break;...default:执⾏语句;break;}
⽰例:
int main() {//请给电影评分 //10 ~ 9  经典  // 8 ~ 7  ⾮常好// 6 ~ 5  ⼀般// 5分以下烂⽚int score = 0;cout << "请给电影打分" << endl;cin >> score;switch (score){cas 注意1:switch语句中表达式类型只能是整型或者字符型
注意2:case⾥如果没有break,那么程序会⼀直向下执⾏

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。