• C++-逻辑语句


    if语句

    基本格式:

    只有判断结果为true,才会执行后续{}内的代码

    1. if (要执行的判断,结果需是bool型)
    2. {
    3. 判断结果true,才会执行的代码;
    4. }
    1. if (条件判断)
    2. {
    3. 如果判断结果为true,会执行的代码;
    4. }
    5. else{
    6. 如果判断结果为false,会执行的代码;
    7. }

    可以编写多个else if 语句 判断从上到下互斥,

    有一个满足就不会在判断其它条件 可以在最后提供else语句,全部条件不满足后的执行

    1. if (条件判断)
    2. {
    3. 如果判断结果为true,会执行的代码;
    4. }
    5. else if (条件判断2)
    6. {
    7. 条件2true,会执行的代码;
    8. }
    9. else if (条件判断N)
    10. {
    11. 条件N为true,会执行的代码;
    12. }
    13. else
    14. {
    15. 上述判断全部为false,会执行的代码;
    16. }

    嵌套:

    1. if (条件)
    2. {
    3. code;
    4. if (条件)
    5. {
    6. code;
    7. }
    8. else
    9. {
    10. code;
    11. }
    12. }
    13. else
    14. {
    15. code;
    16. }

    swtich控制语句

    它在功能上和if、else if的组合使用基本一致, 只是提供了另外一种更为简洁的针对多条件判断的写法。

    1. switch(expression)
    2. {
    3. case expression_1:
    4. code;
    5. break; // 可选的
    6. case expression_2:
    7. code;
    8. break; // 可选的
    9. case expression_N:
    10. code;
    11. break; // 可选的
    12. default:// 当没有任何 case 表达式的值与 expression 的值匹配时,执行此语句
    13. }

    需要注意的是,switch语言只执行一次,直到出现break才停止。如果没有出现break,那么就会一直执行后面的程序。

    代码举例:

    1. #include "iostream"
    2. using namespace std;
    3. int main()
    4. {
    5. // 输入数字1-7 输出星期几
    6. // int num;
    7. // cout << "请输入数字来告知是星期几(1-7):" << endl;
    8. // cin >> num;
    9. // switch(num){
    10. // case 1:
    11. // cout << "今天是星期一" << endl;
    12. break;
    13. // case 2:
    14. // cout << "今天是星期二" << endl;
    15. break;
    16. // case 3:
    17. // cout << "今天是星期三" << endl;
    18. break;
    19. // case 4:
    20. // cout << "今天是星期四" << endl;
    21. break;
    22. // case 5:
    23. // cout << "今天是星期五" << endl;
    24. // break;
    25. // case 6:
    26. // cout << "今天是星期六" << endl;
    27. break;
    28. // default:
    29. // cout << "今天是星期天" << endl;
    30. // }
    31. int num;
    32. cout << "请给电影打分10和9是优秀、8和7是一般、6和5是普通,低于5是垃圾:" << endl;
    33. cin >> num;
    34. switch (num) {
    35. case 10:
    36. case 9:
    37. cout << "优秀" << endl;
    38. break;
    39. case 8:
    40. case 7:
    41. cout << "普通" << endl;
    42. break;
    43. case 6:
    44. case 5:
    45. cout << "一般" << endl;
    46. break;
    47. default:
    48. cout << "垃圾电影" << endl;
    49. }
    50. return 0;
    51. }

    枚举

    枚举是一种用户自定义类型,可以将数字标号定义为具体的符号。

    枚举一般用于对各种不同的状态,定义可识别的符号。

    枚举类型本质上述数字

    默认数字序号从0开始递增,也可以手动指定,如上。指定RED为1,那么YELLOW为2,BLUE为3

    枚举可以配合switch case语句一起使用,增加代码的可读性。

    1. #include "iostream"
    2. using namespace std;
    3. int main()
    4. {
    5. /*
    6. * enum 枚举类型名称{
    7. * 枚举元素,
    8. * 枚举元素,
    9. * ...,
    10. * ...,
    11. * }
    12. */
    13. // 询问小朋友喜欢的颜色:红黄蓝三种选1
    14. // enum Color{
    15. // RED, // 默认是0
    16. // YELLOW, // 默认是1
    17. // BLUE // 默认是2
    18. // };
    19. enum Color{
    20. RED = 1,
    21. YELLOW = 3,
    22. BLUE = 5
    23. };
    24. int num;
    25. cout << "小朋友们你们喜欢什么颜色?1红色,3黄色,5蓝色" << endl;
    26. cin >> num;
    27. switch (num) {
    28. case RED:
    29. cout << "小朋友喜欢红色!" << endl;
    30. break;
    31. case YELLOW:
    32. cout << "小朋友喜欢黄色!" << endl;
    33. break;
    34. case BLUE:
    35. cout << "小朋友喜欢蓝色!" << endl;
    36. break;
    37. default:
    38. cout << "你输入的数字有误,不知道你喜欢什么颜色!" << endl;
    39. }
    40. return 0;
    41. }

    while循环:

    while循环需要提供判断表达式,只要表达式结果为true,就会持续的执行下去

    表达式的判断需要有变量,否则会无限循环。即一般会在代码提供:循环因子,即可以在每一次循环产生变化的变量或其它,用来规避循环无限执行。

    1. #include "iostream"
    2. using namespace std;
    3. int main()
    4. {
    5. // 循环的控制因子
    6. // bool is_run = true;
    7. // int num = 0; // 控制变量
    8. // while (is_run) { // false就结束while循环了,true就继续执行循环体
    9. // cout << "hello" << endl;
    10. // num++;
    11. //
    12. // if (num > 5) {
    13. // is_run = false; // 控制因子的更新
    14. // }
    15. // }
    16. // 我要向小美表白,每一天都表白,连续表白10
    17. int day = 1; // 循环的控制因子
    18. while (day <= 10)
    19. {
    20. cout << "今天是第" << day << "天,小美我喜欢你!" << endl;
    21. day++; // 循环控制因子的更新
    22. }
    23. return 0;
    24. }

    do while

    do while和while功能有相同也有不同:

    do while和while都是基于条件判断的循环结构

    while是:判断->执行->判断->执行...的流程

    do while:执行->判断->执行->判断->执行...的流程

    do while适用于需要对循环体先执行的场景

    while编写乘法表举例:

    1. #include "iostream"
    2. using namespace std;
    3. /*
    4. * 打印九九乘法表
    5. * 1. 外层循环控制行,内层控制列
    6. * 2. \t分隔内层循环的输出,行和行之间有换行分隔
    7. * 1x1=1
    8. * 1x2=2 2x2=4
    9. * 1x3=3 2x3=6 3x3=9
    10. * 1x4=4 2x4=8 3x4=12 4x4=16
    11. * 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
    12. * 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
    13. * 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
    14. * 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
    15. * 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
    16. * */
    17. int main()
    18. {
    19. // 1. 通过外层循环输出9
    20. int line = 1; // 外层循环控制因子,从1开始
    21. while (line <= 9) // 判断条件,9行输出
    22. {
    23. // cout << line << endl;
    24. // 2. 内层循环
    25. int num = 1; // 内层循环的控制因子
    26. while (num <= line)
    27. {
    28. cout << num << "x" << line << "=" << num * line << "\t";
    29. num++; // 内层循环控制因子++
    30. }
    31. line++; // 外层循环控制因子的更新
    32. cout << endl;
    33. }
    34. return 0;
    35. }

    while编写案列举例:

    1. #include "iostream"
    2. using namespace std;
    3. /**
    4. * 细节点:
    5. * 1. 外层循环完成5天的减肥
    6. * 2. 内层循环进行:三次俯卧撑(三次完成减少1斤体重)、三次400米冲刺(三次完成减少1斤体重)
    7. * 3. 过程中要累计其体重减少
    8. */
    9. int main()
    10. {
    11. cout << "有点胖需要减掉10斤体重,计划5天,每天目标2斤体重。加油!" << endl;
    12. int sum = 0; // 体重累加变量
    13. // 外层循环完成5天的减肥
    14. int day = 1; // 减肥日的周期,从第一天开始。外层循环的控制因子
    15. while (day < 6) // 控制减肥5
    16. {
    17. cout << "今天是减肥的第" << day << "天" << endl;
    18. // 俯卧撑的三次控制
    19. int sport1 = 1; // 俯卧撑控制因子
    20. while (sport1 < 4)
    21. {
    22. cout << "开始做减肥第" << day << "天的第" << sport1 << "个俯卧撑! ";
    23. sport1++; // 俯卧撑控制因子的更新
    24. }
    25. sum += 1; // 体重减少的累加1
    26. cout << endl;
    27. cout << "减肥第" << day << "天的3个俯卧撑做完,体重减少1斤,累计减少" << sum << "斤!" << endl;
    28. // 400米冲刺的三次控制
    29. int sport2 = 1; // 400米冲刺控制因子
    30. while (sport2 < 4)
    31. {
    32. cout << "开始做减肥第" << day << "天的第" << sport2 << "批次的400米冲刺! ";
    33. sport2++; // 400米冲刺控制因子的更新
    34. }
    35. sum+=1; // 体重减少累加1
    36. cout << endl;
    37. cout << "减肥第" << day << "天的3个400米冲刺做完,体重减少1斤,累计减少" << sum << "斤!" << endl;
    38. day++; // 循环控制因子的更新,每一天完事,day+1
    39. cout << endl;
    40. }
    41. cout << "5天的减肥完成,累计减少:" << sum << "斤体重!" << endl;
    42. return 0;
    43. }

    获取随机函数:

    在代码中 #include "random" 将右侧代码放置在main函数之前 即可调用 get_random_num 函数, 随机数范围可以通过调用函数的2个参数控制,可以得到1~10范围的随机数字。

    get_random_num(1,10)获取[1,10]的整数

    for循环:

    while循环,仅:条件判断,是语法要求,循环因子相关是用户自行提供。
    for循环循环,条件判断、循环因子初始化、循环因子变化,均包含在for循环的语法内,是语法自带功能。

    语法结果:

    for循坏是一种更为严谨的循环:
    循环因子的初始化
    条件判断
    循环因子的更新
    都是for循环语法要求的。

    for循环的循环因子初始化、条件判断、循环因子更新;
    三部分是语法功能但不是强制要求,可根据需要提供或不提供

    for循环和while循环区别:

    for循环需要注意:

    执行顺序为1——>2——>3——>4;1这个步骤只执行一次,后续执行是2——>3——>4不断重复执行。

    for的嵌套:

    for语句乘法表:

    1. #include "iostream"
    2. using namespace std;
    3. /**
    4. * for|while (; ;)
    5. * {
    6. * ...
    7. * for|while ()
    8. * {
    9. * ...
    10. * }
    11. * }
    12. */
    13. int main()
    14. {
    15. // 1. 对行的控制9
    16. for (int line = 1; line <= 9; line++)
    17. {
    18. // 2. 对列进行控制
    19. // 1x3 2x3 3x3
    20. // 左侧操作数从1开始,到行号结束。 右侧操作数是固定为行号
    21. for (int col = 1; col <= line; col++)
    22. {
    23. cout << col << "x" << line << "=" << col * line << "\t";
    24. }
    25. // 每一行之间留下回车分隔
    26. cout << endl;
    27. }
    28. return 0;
    29. }

    变量的作用域

    在C++代码中,变量并不是随时、随处可以访问的,而是要看作用域。
    {...…}称之为代码块,也是内部变量的作用域
    在{....}内部声明的变量,可以在{}内任何地方被访问,但在{}之外无法被访问到

    循环中断语句

    在循环中可以使用:

    continue关键字,跳过本次循环,进入下一次;

    break关键字,直接结束所在循环。

    注意:如果执行的是continue这条指令,那么cout这条指令不会被执行。

    如果执行的是break语句那么会直接跳出该代码块。

    1.continue的作用是:
    中断所在循环的当次执行,直接进入下一次
    2.break的作用是:
    直接结束所在的循环
    3.注意事项:
    continue和break,在for和while循环中作用一致
    在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用

    goto语句

    1.goto语句可以实现任意跳转,无任何条件
    2.基于其功能其实仅goto就可以实现如:循环,continue、break等的功能
    3.goto语句建议:慎重使用、慎重使用、或者压根不用

  • 相关阅读:
    Linux 安装MYSQL、CentOS7中使用yum安装Nginx的方法
    【echart 】legend.icon传递svg图标,图标不显示的原因。
    ThreadPoolExecutor BlockingQueue讲解
    18.ROS编程:ROS中的时间c++
    爬虫: response.text 爬取链接下的三国演义小说第一回,并将结果保存到桌面《三国演义》.txt文件中。
    Excel文件损坏打不开怎么办?可用这三招解决!
    Kotlin版本实现Gradle插件
    心理咨询预约微信小程序开发制作步骤
    使用PageHelper实现分页查询(详细)
    Hadoop集群配置相关架构介绍
  • 原文地址:https://blog.csdn.net/weixin_71113035/article/details/139073157