C++控制结构详情

 更新时间:2022年03月10日 10:52:34   作者:机器学习入坑者  
这篇文章主要介绍了C++控制结构详情,C++的控制结构和其它编程语言类似包括顺序结构、选择结构、循环结构,更多相关资料需要的小伙伴可以参考下面文章内容

C++的控制结构和其它编程语言类似,共包含以下三种:

  • 顺序结构
  • 选择结构
  • 循环结构

不知道是否有论文证明过,上述三种结构是否实现所有的逻辑。

1、顺序结构

即表达式按照上下顺序执行,比如下面的代码:

printf("Hello");
printf("\n");
printf("World");

程序会依次输出“Hello World”。

2、选择结构

选择结构可以使用if语句或者switch语句实现,下面分别记录。

2.1、 if语句

采用if实现的选择结构含有3种情况:

  • 单层选择if-else
  • 嵌套判断if-else
  • 多重判断if-else if

单层选择的选择采用if-else实现,其语法如下:

if (表达式) 语句1
else 语句2

比如判断x是否大于10,若是则输出yes,否则输出no:

int x = 100;
if (x>10)
    {
        printf("yes");
    }
else 
    {
        printf("no"); 
    }

此外,if-else内部可以嵌套新的判断,比如判断if x>10以后可以继续判断x和20的关系,else 后可以判断x继续判断x和5的关系:

int x = 100;
    if (x>10)
    {
        if (x>20)
        {
            printf("x>20");
        }
    }
    else 
    {
        if (x<5)
        {
            printf("x<5");
        }
    }

除了上述两种方式,还可以使用if-else if对某种条件进行多次判断,当前面的判断不成立时继续判断后面:

if (x>50)
    {
        printf("x>50");
    }
else if (x>30)
    {
      printf("x>30");
    }
else
    {
        printf("all no");
    }

2.2 、switch语句

当需要判断的条件是同一个表达式的值时可以使用switch语句,比如判断x具体为什么值:

int x = 100;
    switch (x)
    {case 10:
        {
            printf("x= 10");
            break;
        }
        case 100:
        {
            printf("x = 100");
            break;
        }
        default:
        {
            printf("unknown");
    }}

switch语句使用有两个注意事项,第一是case中使用break才能保证后面的case不被执行;第二是case后的表达式是必须是常量表达式,比如整型、字符型或者枚举型。

3、循环结构

C++中包含3种循环语句:while、do while以及for,下面分别介绍。

3.1 、while语句

while语句表示当满足某个条件时,语句被循环执行,一般需要在循环体内部改变表达式的值,语法如下:

while (表达式) 语句

比如当x<10时不断在屏幕显示“yes”,并将x进行加1直到循环停止:

int x = 1;
    while (x<10)
    {
        printf("yes\n");
        x ++;
    }

3.2 do while 语句

尽管do whilewhile的功能十分类似,但是C++单独使用do while肯定是有原因的。do while的语法为:

do 语句
while (表达式)

同样采用x<10时不断在屏幕显示yes为例:

int x = 1;
do {
        printf("yes\n");
        x ++;
    }while(x<10);

while和do while的区别是先执行语句还是先判断表达式。do while也经常在循环体内部改变判断条件表达式的值,比如上述代码中的x++一行。

3.3 for语句

在python中for经常作为迭代功能使用,这和C++的for有些不同,

其语法如下:

for(初始语句;判断条件;更新)
{循环主体语句}

执行顺序为:首先执行“初始语句”,当满足“判断条件”时就去执行“循环主体语句”,否则就退出循环,每次“循环主体语句”执行后进行“更新”,重复前述操作。下面展示了在x<10时不断的在屏幕输出No:

for (int x=1; x<10; x++){
        printf("No\n");
    }

4、总结

每学一点都再次印证了C++确实很复杂这一点,需要特别注意的有:

  • switch中的break
  • 各种循环结构的结束条件(防止死循环)

到此这篇关于C++控制结构详情的文章就介绍到这了,更多相关C++控制结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++实现LeetCode(648.替换单词)

    C++实现LeetCode(648.替换单词)

    这篇文章主要介绍了C++实现LeetCode(648.替换单词),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Qt采用线程以队列方式实现下发数据

    Qt采用线程以队列方式实现下发数据

    在C++中队列是一种常用的数据结构之一,一种特殊的线性表,一般采用先进先出的方式。本文主要为大家介绍了Qt如何以队列方式实现下发数据,感兴趣的可以了解一下
    2022-10-10
  • C/C++中extern

    C/C++中extern "C" 的作用分析

    这篇文章主要介绍了C/C++中extern "C" 的作用,是在进行C/C++程序设计中非常常见的用法,需要的朋友可以参考下
    2014-09-09
  • opencv提取轮廓大于某个阈值的图像

    opencv提取轮廓大于某个阈值的图像

    这篇文章主要为大家详细介绍了opencv提取轮廓大于某个阈值的图像,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 适合初学者的C语言转义字符讲解

    适合初学者的C语言转义字符讲解

    转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现(没有转义字符开头)时的语义。因此转义字符开头的字符序列被叫做转义序列
    2022-04-04
  • Qt的Qss用法小结

    Qt的Qss用法小结

    Qt的Qss是一种用于定义用户界面的样式表语言,本文主要介绍了Qt的Qss用法小结,非常具有实用价值,需要的朋友可以参考下
    2023-06-06
  • c++11中关于std::thread的join的详解

    c++11中关于std::thread的join的详解

    这篇文章主要介绍了c++11中关于std::thread的join详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 在C语言编程中设置和获取代码组数的方法

    在C语言编程中设置和获取代码组数的方法

    这篇文章主要介绍了在C语言编程中设置和获取代码组数的方法,分别为setgroups()函数和getgroups()函数的使用,需要的朋友可以参考下
    2015-08-08
  • C++中图片类型的识别与转换详解方法

    C++中图片类型的识别与转换详解方法

    本文简单的介绍一下C++语言中如何识别图片文件的类型,以及各图片类型之间的转换方法,并提供相关的源码供大家参考,感兴趣的朋友快来看看吧
    2021-11-11
  • VS2022 CUDA环境配置的实现步骤

    VS2022 CUDA环境配置的实现步骤

    本文主要介绍了VS2022 CUDA环境配置的实现步骤,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05

最新评论