飞道的博客

C++学习笔迹(五)——选择结构(if、双目运算符、switch)

188人阅读  评论(0)

1. if结构

1.1单行if语句


  
  1.   if(条件表达式) //后面千万不要写分号。不然后面的“执行语句”就废了
  2. {
  3. 执行的语句

  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //选择结构 单行if语句
  6. //实现:用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出
  7. //1.用户输入分数
  8. int score = 0;
  9. cout << "请输入一个分数:" << endl;
  10. cin >> score;
  11. //2.打印用户输入的分数
  12. cout << "您输入的分数:" << score << endl;
  13. //3.判断是否大于600.如果大于,那么输出
  14. if (score > 600)
  15. {
  16. cout << "恭喜您考上了一本大学" << endl;
  17. } //输入599,就不打出来"恭喜您考上了一本大学"
  18. system( "pause");
  19. return 0;
  20. }

1.2 多行if语句


  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //多行if语句
  6. //案例:输入考试分数,如果分数大于600,视为考上一本
  7. // 没考上一本大写,打印“没考上一本大学”
  8. //1.输入考试分数
  9. int score = 0;
  10. cout << "请输入一个分数:" << endl;
  11. cin >> score;
  12. //2.提示用户输入的分数
  13. cout << "您输入的分数:" << score << endl;
  14. //3.判断 大于600,打印考上一本,否则打印没考上一本
  15. if (score > 600)
  16. {
  17. cout << "恭喜您考上了一本大学" << endl;
  18. }
  19. else
  20. {
  21. cout << "您未考上一本大学" << endl;
  22. }
  23. system( "pause");
  24. return 0;
  25. }

1.3 多条件if语句


  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //多条件if语句
  6. //输入一个分数
  7. //大于600分,考上一本大学
  8. //大于500分,考上二本大学
  9. //大于400分,考上三本
  10. //小于等于400分,为考上本科
  11. //1.输入考试分数
  12. int score = 0;
  13. cout << "请输入一个分数:" << endl;
  14. cin >> score;
  15. //2.提示用户输入的分数
  16. cout << "您输入的分数:" << score << endl;
  17. //3.判断
  18. if (score > 600) //大于600,打印考上一本,否则打印没考上一本
  19. {
  20. cout << "恭喜您考上了一本大学" << endl;
  21. }
  22. else if(score > 500) //大于500,打印考上二本
  23. {
  24. cout << "恭喜您考上了二本大学" << endl;
  25. }
  26. else if (score > 400) //大于400,打印考上三本
  27. {
  28. cout << "恭喜您考上了三本大学" << endl;
  29. }
  30. else //收尾,前面都不满足就执行它对应的语句
  31. {
  32. cout << "很遗憾,没考上本科,再接再厉!" << endl;
  33. }
  34. system( "pause");
  35. return 0;
  36. }

1.4嵌套if语句

禁止套娃,if的嵌套本质上就是if的某一个条件中,在这个条件下再细分条件并对应其执行语句。


  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //多条件if语句
  6. //输入一个分数
  7. //大于600分,考上一本大学
  8. //大于700,考上清华
  9. //大于650,考上北航
  10. //大于600,考上农大
  11. //大于500分,考上二本大学
  12. //大于400分,考上三本
  13. //小于等于400分,为考上本科
  14. //1.输入考试分数
  15. int score = 0;
  16. cout << "请输入一个分数:" << endl;
  17. cin >> score;
  18. //2.提示用户输入的分数
  19. cout << "您输入的分数:" << score << endl;
  20. //3.判断
  21. if (score > 600) //大于600,打印考上一本,否则打印没考上一本
  22. {
  23. cout << "恭喜您考上了一本大学" << endl;
  24. if (score > 700)
  25. {
  26. cout << "您能考上清华大学!!!" << endl;
  27. }
  28. else if (score > 650)
  29. {
  30. cout << "您能考上北航!!!" << endl;
  31. }
  32. else
  33. {
  34. cout << "您能考上农大!!!" << endl;
  35. }
  36. }
  37. else if (score > 500) //大于500,打印考上二本
  38. {
  39. cout << "恭喜您考上了二本大学" << endl;
  40. }
  41. else if (score > 400) //大于400,打印考上三本
  42. {
  43. cout << "恭喜您考上了三本大学" << endl;
  44. }
  45. else //收尾,前面都不满足就执行它对应的语句
  46. {
  47. cout << "很遗憾,没考上本科,再接再厉!" << endl;
  48. }
  49. system( "pause");
  50. return 0;
  51. }

1.5三只小猪称体重——if语句案例

输入三只小猪ABC的体重,判断那只最重。

思路:


  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //三只小猪称体重
  6. //1.创建三只小猪的体重变量
  7. int num1 = 0;
  8. int num2 = 0;
  9. int num3 = 0;
  10. //2.输入三只小猪的重量
  11. cout << "输入第一只小猪的重量:" << endl;
  12. cin >> num1;
  13. cout << "输入第二只小猪的重量:" << endl;
  14. cin >> num2;
  15. cout << "输入第三只小猪的重量:" << endl;
  16. cin >> num3;
  17. cout << "小猪A的体重为:" << num1 << endl;
  18. cout << "小猪B的体重为:" << num2 << endl;
  19. cout << "小猪C的体重为:" << num3 << endl;
  20. //3.判断哪只最重
  21. //先判断A和B重量
  22. if (num1 > num2)
  23. {
  24. if (num1 > num3)
  25. {
  26. cout << "小猪A最重" << endl;
  27. }
  28. else
  29. {
  30. cout << "小猪C最重" << endl;
  31. }
  32. }
  33. else
  34. {
  35. if (num2 > num3)
  36. {
  37. cout << "小猪B最重" << endl;
  38. }
  39. else
  40. {
  41. cout << "小猪C最重" << endl;
  42. }
  43. }
  44. system( "pause");
  45. return 0;
  46. }

2. 三目运算符

条件运算符强大而独特,它提供了一种表达简单 if-else 语句的简写方法。该运算符由问号(?)和冒号(:)组成,其格式如下:

表达式 ? 表达式 : 表达式 ;


  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //三目运算符
  6. //创建三个变量 a b c
  7. //将a和b作比较,将变量中大的值赋值给c
  8. int a = 10;
  9. int b = 16;
  10. int c = 0;
  11. c = (a > b ? a : b);
  12. cout << "c = " << c << endl;
  13. //C++中三目运算符返回的是变量,可以继续赋值
  14. (a > b ? a : b) = 100; //判断a和b的大小,然后将100赋值给返回的变量
  15. cout << "a = " << a << endl;
  16. cout << "b = " << b << endl;
  17. system( "pause");
  18. return 0;
  19. }

3.switch语句

四个关键字:switch 、 case 、 break 、 default

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。


  
  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. //switch语句
  6. //给电影进行打分
  7. // 10 经典
  8. // 8/ 9 非常好
  9. // 7 - 5 一般
  10. // 5一下 烂片
  11. //1.提示用户进行打分
  12. cout << "请给电影打分:" ;
  13. //2.用户打分
  14. int score = 0;
  15. cin >> score;
  16. cout << "你打的分数为" << score << endl;
  17. //3.提示结果
  18. switch (score) //缺点:只能放一个整数或者字符,不能放区间
  19. //优点:结构清晰,执行效率高
  20. {
  21. case 10: cout << "你认为是经典电影!" << endl; break;
  22. case 9: cout << "你认为电影非常好!" << endl; break;
  23. case 8: cout << "你认为电影非常好!" << endl; break;
  24. case 7: cout << "你认为电影一般!" << endl; break;
  25. case 6: cout << "你认为电影一般!" << endl; break;
  26. case 5: cout << "你认为电影一般!" << endl; break;
  27. default: cout << "你认为电影是烂片" << endl;
  28. }
  29. system( "pause");
  30. return 0;
  31. }

 


转载:https://blog.csdn.net/txr152111/article/details/116714365
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场