【带头学C++】----- 1.基础知识[巩固期] ---- 5.1 逻辑控制语句

本文详细介绍了C++中的逻辑控制语句,如if、if-else、if-elseif、switch、for循环、break、continue、goto以及嵌套for和while循环的用法和实例,帮助读者理解条件控制和迭代过程。
摘要由CSDN通过智能技术生成

目录

5.1 逻辑控制语句

5.1.1 if以及if - else(条件语句)

 1.if语句:

2.条件语句(if-else语句):用于根据给定条件决定执行哪个代码块。如果条件为真,则执行if代码块;否则,执行else代码块。

5.1.2 if - else if(条件语句)

5.1.3 Switch(条件语句)

5.1.4 For循环(迭代语句)

5.1.5 for与break 、continue、goto(跳转语句)

    1. break 语句

 2.continue语句

 3.goto语句

5.1.6 for循环嵌套for

5.1.7 While循环(迭代语句)


5.1 逻辑控制语句

本节主要学习关于C++逻辑控制的一些语句的用法,结合实践代码总结一下。

5.1.1 if以及if - else(条件语句)

 1.if语句:

if(条件){
   执行语句;
}

//一旦执行if语句,先判断()里的条件是否满足,返回真、假;真则执行下面的执行语句,
//假则执行  if(){}  中 “}” 后面的内容

2.条件语句(if-else语句):用于根据给定条件决定执行哪个代码块。如果条件为真,则执行if代码块;否则,执行else代码块。

例如:

if (条件) {
    // 如果条件为真,执行这里的代码
} else {
    // 如果条件为假,执行这里的代码
}

5.1.2 if - else if(条件语句)

摘抄自c++primer5片段 

 if-else if语句的基本语法如下:

if (条件1) {
    // 如果条件1为真,执行这里的代码
} else if (条件2) {
    // 如果条件1为假且条件2为真,执行这里的代码
} else if (条件3) {
    // 如果条件1和条件2均为假且条件3为真,执行这里的代码
} else {
    // 如果所有条件均为假,执行这里的代码
}

if-else if语句按照从上到下的顺序逐个检查条件,如果某个条件为真,则执行对应代码块,并跳过后面的条件。如果没有条件为真,则执行else代码块中的代码。

需要注意的是,if-else if语句只会执行一个条件为真的代码块。一旦某个条件为真,后面的条件将不再被检查。

以下是一个例子,演示了使用if-else if语句根据分数给出不同的评级:

int score = 85;
if (score >= 90) {
    cout << "优秀" << endl;
} else if (score >= 80) {
    cout << "良好" << endl;
} else if (score >= 60) {
    cout << "及格" << endl;
} else {
    cout << "不及格" << endl;
}

5.1.3 Switch(条件语句)

分支语句(switch语句):根据不同的情况选择执行不同的代码块。

switch (表达式) {
    case 值1:
        // 如果表达式的值与值1匹配,执行这里的代码
        break;
    case 值2:
        // 如果表达式的值与值2匹配,执行这里的代码
        break;
    // 可以有更多的case
    default:
        // 如果表达式的值与任何case都不匹配,执行这里的代码
}

5.1.4 For循环(迭代语句)

for循环:通过指定初始条件、循环条件和每次循环后的操作来控制循环执行。

for (初始条件; 循环条件; 每次循环后的操作) {
    // 在循环条件为真时执行这里的代码
}

5.1.5 for与break 、continue、goto(跳转语句)

    1. break 语句

       break 语句(break statement)负责终止离它最近的whiledo whilefor或switch语句,并从这些语句之后的第一条语句开始继续执行。
     break 语句只能出现在迭代语或者 switch 语句内部(包括套在此类循环里的语句或块的内部)。break语句的作用范围仅限于最近的循环或者switch:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    cout << i << " ";
}

输出:0 1 2 3 4 

 2.continue语句

  • 当在循环内部遇到continue语句时,当前迭代会被跳过,转到下一次迭代。
  • continue语句适用于for循环、while循环和do-while循环。

示例:

for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;
    }
    cout << i << " ";
}

 3.goto语句

     goto语句无条件跳转到同一函数内的另一条语句

for (int i = 0; i < 5; i++) {
    if (i == 2) {
        goto skip;
    }
    cout << i << " ";
}

skip:
cout << "Skipped";

5.1.6 for循环嵌套for

for循环可以嵌套在另一个for循环内,这被称为for循环的嵌套。通过嵌套for循环,可以实现多重循环的结构,用于处理更复杂的任务。

嵌套for循环的基本语法如下:

for (初始化语句1; 循环条件1; 更新语句1) {
    // 外层循环代码
    
    for (初始化语句2; 循环条件2; 更新语句2) {
        // 内层循环代码
    }
    // 外层循环代码
}

在嵌套for循环中,外层循环执行一次时,内层循环会完整地执行完所有的迭代。然后外层循环再继续执行下一次迭代,内层循环又会重新开始执行所有的迭代。这样,内层循环的每一次迭代都会与外层循环的每一次迭代配对。

通过嵌套for循环,可以实现多维数组的遍历、二维图形的打印、九九乘法表等复杂的循环操作。在编写嵌套for循环时,需要注意内层循环的变量不应与外层循环的变量重名,以避免混淆和错误。

下面是一个例子,展示了一个简单的使用嵌套for循环打印九九乘法表的示例代码:

for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {
        cout << j << " * " << i << " = " << i * j << "\t";
    }
    cout << endl;
}

这段代码会输出如下的九九乘法表:

1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

5.1.7 While循环(迭代语句)

  1. 循环语句:用于重复执行一段代码块,直到满足指定条件。
  • while循环:在每次循环之前检查给定条件是否为真,如果为真,则执行代码块。

while (条件) {
    // 在条件为真时执行这里的代码
}

do-while循环:先执行一次代码块,然后再检查给定条件是否为真,如果为真,则继续执行代码块。

do {
    // 在条件为真时执行这里的代码
} while (条件);
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小白Erike.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值