C++基础——选择结构与循环结构

基础:

选择语句☑️❌

if语句

if(a)
{
    //a 判断表达式,如果a为真那就执行语句   
}

if语句还可以与else结合使用

if(a)
{
     //a 判断表达式,如果a为真那就执行语句   
}
else if(b)
{
     //如果a为假,b为真那就执行语句 
}
else
{
    如果a和b都为假,那就执行该语句
}

switch语句

等价与一个if-else语句

switch (option) 
//option只能是char类型或者是int类型则case后面只能是数字或者是'字符'例如:'a'
{  
    case 1:  
        // 如果option等于1,执行这里的代码  
        break; // 可选,用于避免执行下一个case的代码  
    case 2:  
        // 如果option等于2,执行这里的代码  
        break;  
    // ... 可以有更多的case  
    default:  
        // 如果option不匹配任何case,执行这里的代码  
        break; // 可选  
}


循环🔄

while 语句

while(表达式)

{
// 循环体,这里是要重复执行的代码
}

如果表达式的值为真,执行循环体

#include <iostream>  
int main() 
{  
    int i{0};  
    while (i < 5) 
    {  
        std::cout << i << std::endl;  
        ++i;  
    }  
    return 0;  
}

do while

至少执行一次,如果while后的表达式为真,循环体将继续执行

do-whlie的while要加;while语句的while不加;

#include <iostream>  
  
int main() 
{  
    int i = 66;  
    do 
    {  
        std::cout << i << std::endl;  
        ++i;  
    } while (i < 5);  
    return 0;  
}

//执行一次

 for语句

for(表达式1;表达式2;表达式3)

{
// 循环体,这里是要重复执行的代码
}
表达式1:初始化循环控制变量。
表达式2:循环条件,如果为真则执行循环体,否则跳出循环。
表达式3:每次循环迭代后更新循环控制变量的表达式。

表达式如果有多个语句那就用逗号(,)隔开

#include <iostream>  
int main() 
{  
    for (int i = 0; i < 5; ++i) 
    {  
        std::cout << i << std::endl;  
    }  
    return 0;  
}

//该循环四次

进阶:

遍历

指的是按照一定的顺序访问容器(如数组、向量、列表、映射等)或数据结构的每个元素,并对每个元素执行某种操作。

我们可以通过遍历去进行写循环语句

范围for循环🔄

是C++11引入的一种循环结构,它允许程序员更简洁地遍历容器(如数组、向量、列表等)或任何支持迭代器对象的元素。范围for循环会自动处理迭代器的创建、初始化和递增,使代码更加清晰易读。

for (declaration : expression)  
{ 
      // 循环体   
} 
declaration:用于声明循环变量,该变量将用于存储当前元素。 
expression:表示要遍历的容器或范围。
这通常是一个容器对象
(如std::vector、std::array、std::list等)或任何返回迭代器的表达式。

eg:
#include <iostream>  
#include <vector>  
int main() {  
    std::vector<int> vec = {1, 2, 3, 4, 5};  
    // 使用范围for循环遍历vector  
    for ( auto element : vec) {  
        std::cout << element << ' ';  
    }  
    std::cout << '\n';  
    return 0;  
}

//输出的结果是:1 2 3 4 5

运用std::views::iota进行循环

是 C++20 引入的一个视图(view)适配器,它生成一个从给定起始值开始的连续整数序列。

视图是 C++20 的一个新特性,它们提供了一种惰性的、可组合的方式来处理容器或范围。

std::views::iota 是生成一个从给定起始值开始的整数序列,每次递增一个固定的步长(默认为 1)。

这对于生成一系列连续的整数特别有用。

#include<iostream>
#include<ranges>
int main()
{
    int sum{};   
    for(auto i:std::views::iota(1,101))
    {
        sum+=i;   
    }
    std::cout<<sum<<std::endl;
    return 0;
}

//输出的结果是:5050

std::views::iota(a,b)

在括号里的两个参数:起始值和结束值(不包括)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值