首页 > 编程语言 >C++—程序流程结构

C++—程序流程结构

时间:2023-08-27 22:04:19浏览次数:40  
标签:语句 C++ while 循环 程序流程 条件 执行 表达式 结构

4 程序流程结构

C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构

  • 顺序结构:程序按顺序执行,不发生跳转
  • 选择结构:依据条件是否满足,有选择的执行相应功能
  • 循环结构:依据条件是否满足,循环多次执行某段代码

4.1 选择结构

4.1.1 if语句

作用:执行满足条件的语句

if语句的三种形式

  • 单行格式if语句

  • 多行格式if语句

  • 多条件的if语句

  1. 单行格式if语句:if(条件){ 条件满足执行的语句 }

注意:if条件表达式后不要加分号

  1. 多行格式if语句:if(条件){ 条件满足执行的语句 }else{ 条件不满足执行的语句 };

多条件的if语句:if(条件1){ 条件1满足执行的语句 }else if(条件2){条件2满足执行的语句}... else{ 都不满足执行的语句}

嵌套if语句:在if语句中,可以嵌套使用if语句,达到更精确的条件判断

4.1.2 三目运算符

作用: 通过三目运算符实现简单的判断

语法:表达式1 ? 表达式2 :表达式3

解释:

如果表达式1的值为真,执行表达式2,并返回表达式2的结果;

如果表达式1的值为假,执行表达式3,并返回表达式3的结果。

总结:和if语句比较,三目运算符优点是短小整洁,缺点是如果用嵌套,结构不清晰

4.1.3 switch语句

作用:执行多条件分支语句

注意1:switch语句中表达式类型只能是整型或者字符型

注意2:case里如果没有break,那么程序会一直向下执行

总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间

4.2 循环结构

4.2.1 while循环语句

作用:满足循环条件,执行循环语句

语法: while(循环条件){ 循环语句 }

解释:只要循环条件的结果为真,就执行循环语句

注意:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环

4.2.2 do...while循环语句

作用: 满足循环条件,执行循环语句

语法: do{ 循环语句 } while(循环条件);

注意:与while的区别在于do...while会先执行一次循环语句,再判断循环条件

总结:与while循环区别在于,do...while先执行一次循环语句,再判断循环条件

4.2.3 for循环语句

作用: 满足循环条件,执行循环语句

语法: for(起始表达式;条件表达式;末尾循环体) { 循环语句; }

注意:for循环中的表达式,要用分号进行分隔

总结:while , do...while, for都是开发中常用的循环语句,for循环结构比较清晰,比较常用

4.2.4 嵌套循环

作用: 在循环体中再嵌套一层循环,解决一些实际问题

例如我们想在屏幕中打印如下图片,就需要利用嵌套循环

4.3 跳转语句

4.3.1 break语句

作用: 用于跳出选择结构或者循环结构

break使用的时机:

  • 出现在switch条件语句中,作用是终止case并跳出switch
  • 出现在循环语句中,作用是跳出当前的循环语句
  • 出现在嵌套循环中,跳出最近的内层循环语句

4.3.2 continue语句

作用:循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

注意:continue并没有使整个循环终止,而break会跳出循环

4.3.3 goto语句

作用:可以无条件跳转语句

语法: goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

注意:在程序中不建议使用goto语句,以免造成程序流程混乱

标签:语句,C++,while,循环,程序流程,条件,执行,表达式,结构
From: https://www.cnblogs.com/ljh2487/p/17660928.html

相关文章

  • C++—指针
    7指针7.1指针的基本概念指针的作用:可以通过指针间接访问内存内存编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址7.2指针变量的定义和使用指针变量定义语法:数据类型*变量名;指针变量和普通变量的区别普通变量存放的是数据,指针变量存放......
  • C++—数组
    5数组5.1概述所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的5.2一维数组5.2.1一维数组定义方式一维数组定义的三种方式:数据类型数组名[数组长度];数据类型数组名[数组长度......
  • C++—函数
    6函数6.1概述作用:将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。6.2函数的定义函数的定义一般主要有5个步骤:1、返回值类型2、函数名3、参数表列4、函数体语句5、return表达式语法:返回值类型函数名(参数列......
  • C++初识
    1.1注释作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码两种格式单行注释://描述信息通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明多行注释:/*描述信息*/通常放在一段代码的上方,对该段代码做整体说明提示:编译器在编译代码时,会忽......
  • Educational Codeforces Round 152 (Rated for Div. 2)E. Max to the Right of Min(数
    题目链接:https://codeforces.com/problemset/problem/1849/E 大致题意: 长度为n的序列,求有多少个区间满足区间最大值在区间最小值的右边? 解题思路: (此题有使用线段树等其他做法,本处使用的是单调栈做法) 我们先求出每个a【i】的左边的比他小的LMIN,左边比他大的LMAX,右......
  • C++空类中有哪些成员函数?
    一共有6个成员函数。1.构造函数2.拷贝构造函数3.析构函数4.赋值运算符5.取址运算符6.取值运算符const1#include<iostream>2usingnamespacestd;34classEmpty5{6Empty();//构造函数7Empty(Empty&);//拷贝构造函数8~Empty();......
  • 操作系统学习笔记(二)——操作系统结构
    一、内核作为应用和硬件设备之间的桥梁,负责应用程序只与内核交互,不用关心硬件的细节。4个基本能力:管理进程、线程,决定哪个进程、线程使用CPU,也就是进程调度的能力;管理内存,决定内存的分配和回收,也就是内存管理的能力;管理硬件设备,为进程与硬件设备之间提供通信能力,也就是硬......
  • 剑指Offer 26. 树的子结构
    题目链接:剑指Offer26.树的子结构题目描述:输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构,即A中有出现和B相同的结构和节点值。解法思路:首先这道题很明显是采取递归的形式,整体流程主要分为两步:找到A树上的某个节点与B树的根......
  • cmake学习方法+CHI独占+ctags编写+C/C++语言原子的序+单核比多核快的C代码
    cmake学习方法主要是cmake这个东西好像有点抽象,而我想要的是完完全全的控制,虽然是花里胡哨的;但是在高手看来,这些东西有点过家家,而不是真正意义上的技术,甚至经常被怼,净是花拳绣腿,不容易阅读,控制效果不好,有时候还有语法错误云云。因此我还是用的Makefile,但是想必cmake是更好的,因......
  • 「算法与数据结构」梳理6大排序算法 为了offer!
    6种排序如下......