C++程序流程结构

news2024/11/25 3:19:35

目录

程序流程结构

一、选择结构

1.1 If语句

1.2  三目运算符

1.3  switch语句

二、循环结构

2.1 while 循环语句

2.2  do…while循环

2.3  for循环

2.4  嵌套循环

三、跳转语句

3.1 break语句

3.2 continue 语句

3.3 goto语句


程序流程结构

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

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

一、选择结构

1.1 If语句

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

If语句的三种形式

  • 单行格式If语句
  • 多行格式If语句
  • 多条件的If语句

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

注意:If后边不能加分号,不然If的判断效果就不存在了

if(判断条件)// 条件为真
{
    // 执行语句
}

 

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

 

if(判断条件)  // 条件为真
{
    // 执行语句1
}
else  // 条件为假
{
    // 执行语句2
}

 

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

 

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

 

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

if(条件1)
{
    if(条件2)
    {
        // 条件1,2同时满足    
    }
}

 

1.2  三目运算符

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

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

示例:

#include<iostream>

using namespace std;

int main()

{

    int a,b,c;

    cin>>a>>b>>c;

    cout<<"最大的数是:"<<(((a>b?a:b) > c )?(a>b?a:b):c)<<endl;

    return 0;

}

运行结果:

 

1.3  switch语句

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

语法:

switch(表达式)

{

    case 结果1:执行语句;break;

    case 结果2:执行语句;break;

    ...

    default:执行语句;break;

}

if和switch的区别?

switch  缺点:判断时候只能是整型或者字符型,不可以是一个区间

switch  优点:结构清晰,执行效率高

二、循环结构

2.1 while 循环语句

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

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

注意:在写循环一定要避免死循环的出现

while(循环条件)
{
    循环语句
    // 加出循环的条件
}

2.2  do…while循环

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

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

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

do
{
    循环语句
    // 出循环的条件
}while(循环条件);

 

2.3  for循环

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

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

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

2.4  嵌套循环

作用:在循环体中再嵌套一层循环。

#include<stdio.h>

#include<iostream>

#include <bits/stdc++.h>  // 万能

#include<string.h>

#include<ctype.h>         // 字符串字母大小写函数

#include<iomanip>         //  保留小数位数

#include<math.h>          // 数学

#include <time.h>         // 时间函数库

//clock_t clock(void)

using namespace std;

int main ()

{

    for(int i=1;i<10;i++)

    {

        for( int j=1;j<10;j++)

        {

            cout<<"* ";

        }

        cout<<endl;

    }

    return 0;

}

运行结果:

三、跳转语句

3.1 break语句

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

break的使用时机

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

3.2 continue 语句

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环(可以筛选条件,执行到此就不再向下执行,执行下一次循环)

例:只输出奇数项

#include<stdio.h>

#include<iostream>

using namespace std;

int main ()

{

    for(int i=0;i<100;i++)

    {

        if(i%2==0){

        continue;

        }

        cout<<i<<endl;

    }

    return 0;

}

运行结果:

3.3 goto语句

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

语法:goto  标记;

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

示例:

#include<stdio.h>

#include<iostream>

using namespace std;

int main ()

{

    cout<<"1**************"<<endl;

    cout<<"2**************"<<endl;

    //fgoto FLAG;

    cout<<"3**************"<<endl;

    cout<<"4**************"<<endl;

    //FLAG:

    cout<<"5**************"<<endl;
    
    return 0;

}

运行结果:

加入goto语句后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/644363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20230623在WIN10安装PROTEL DXP2004(STEP-BY-STEP)

20230623在WIN10安装PROTEL DXP2004&#xff08;STEP-BY-STEP&#xff09; https://xiazai.zol.com.cn/detail/43/428470.shtml Protel DXP 2004 https://www.onlinedown.net/soft/580490.htm Protel DXP 2004 DXP2004 安装步骤 Failed To load Parallel Port Driver Welcom…

vue或react中修改组件样式的方法

vue或react中修改组件样式的方法 从组件库中引入的组件深度选择器&#xff1a;deep和&#xff1a;global深度选择器在scss中的使用关键点 常规的组件样式修改vue中的样式修改react中的样式修改 从组件库中引入的组件 深度选择器&#xff1a;deep和&#xff1a;global 在 Vue …

Python 算法交易实验63 关于回测

说明 项目结束了&#xff0c;这几天把量化第一版搭起来&#xff0c;量化很重要&#xff0c;现在可以迈出第一步了。首先要关注的是回测&#xff0c;和前不久写的这篇文章呼应&#xff0c;测试的确是一个相对独立&#xff0c;又非常重要的部件。过去比较少关注在方面上&#xf…

数据分析案例-航空公司满意度数据可视化

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【瑞萨RA_FSP】ADC——电压采集

文章目录 一、ADC简介二、ADC的结构框图1. 电压输入范围2. 工作模式3. 转换过程顺序4. 触发源5. ADC转换时间6. 数据寄存器7. 电压转换 一、ADC简介 ADC即模拟数字转换器&#xff0c;ADC英文全称&#xff08;Analog-to-digital converter&#xff09;&#xff0c; 是一种用于将…

Delphi XE10 dxLayoutControl 控件应用指南

Delphi XE10 dxLayoutControl 控件应用指南 DevExpress VCL套件是一套非常强大的界面控件&#xff0c;可惜关于Delphi开发方面的说明太少&#xff0c;有些控件使用起来一头雾水&#xff0c;不知从何下手。本节详细介绍在Delphi Xe10 Seattle中如何利用dxLayoutControl 控件来做…

MMENGINE.LOGGING

MMENGINE.LOGGING 文章目录 MMENGINE.LOGGING[Print_log](https://mmengine.readthedocs.io/zh_CN/latest/api/generated/mmengine.logging.print_log.html "Print_log")[MMENGINE.LOGGING.LOGGER 源代码](https://mmengine.readthedocs.io/zh_CN/latest/_modules/mm…

Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II

目录 88. 合并两个有序数组 Merge Sorted Array &#x1f31f;  89. 格雷编码 Gray Code &#x1f31f;&#x1f31f; 90. 子集 II Subsets II &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Py…

计算机网络-网络体系结构

目录 计算机网络的基本概念计算机网络的定义组成与功能计算机网络的分类按照网络的作用范围进行分类按照网络的使用者进行分类 计算机网络主要性能指标 计算机网络体系结构计算机网络协议、接口、服务等概念ISO/OSI 参考模型和 TCP/IP 模型OSI七层模型TCP/IP 模型封装与分用 计…

[Hadoop之Hive安装配置 第二篇 ]

前言: 记录一下Hive笔记 目录 前言: Hive的基本简介,使用场景介绍 安装地址: 官网的Hive文档地址: 官网 Hive 的教程地址 Hive安装涉及到的应用介绍 Hive安装步骤: 1.解压hive压缩包, tar -zxvf 压缩包,然后进入module目录 查看压缩的文件 ,并改名为hive 2. pwd查看当…

Paper | CenterPoint

CenterPoint paper 文章目录 CenterPoint paper摘要IntroductionRelated WorkCenterPointTwo-Stage CenterPoint Reference 论文链接&#xff1a;https://arxiv.org/pdf/2006.11275.pdf 代码链接&#xff1a;https://github.com/tianweiy/CenterPoint 摘要 该文章是Center-ba…

SpringBoot--日志

日志的作用&#xff1f; 记录用户登陆日志&#xff0c;方便分析用户是正常登陆还是恶意破解用户记录系统的操作日志&#xff0c;方便数据恢复和定位操作人记录程序的执行时间&#xff0c;方便为以后优化程序提供数据支持 日志是程序的重要组成部分&#xff0c;最重要的用途是…

Leetcode | 40 组合总和II

40 组合总和II 文章目录 40 组合总和II题目官方解法&#xff1a;回溯思路与算法 codeReference 题目 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能…

【哈佛积极心理学笔记】第12讲 写日记

第12讲 写日记 preparationincubation (take a break, need some rest time)evaluationelaboration JP Morgan’s quote, I can do a year’s work in 9 months but not in 12" a simple technique of intervation: journaling Postive emotions and painful emotions…

CSS基础学习--12 分组 和 嵌套 选择器

一、分组选择器 在样式表中有很多具有相同样式的元素 h1 {color:green; } h2 {color:green; } p {color:green; } 为了尽量减少代码&#xff0c;你可以使用分组选择器。 每个选择器用逗号分隔。 在下面的例子中&#xff0c;我们对以上代码使用分组选择器&#xff1a; <!DO…

windows下cmake的小白级入门使用教程(hello world)

想学习cmake&#xff0c;基于惯性思维&#xff0c;想先跑通一个“hello world”的例子&#xff0c;奈何网上教程一大把&#xff0c;有用的教程破费功夫寻找。大部分教程都没有从新电脑(重装系统后的电脑)的角度讲述步骤。 为了得到干净的电脑环境&#xff0c;研究了一段时间VMw…

【图像任务】Transformer系列.3

本文介绍3篇改进Transformer以实现不同图像任务的工作&#xff1a;少样本医学图像分割CAT-Net&#xff08;arXiv2023&#xff09;&#xff0c;高效图像重建等任务GRL&#xff08;CVPR2023&#xff09;&#xff0c;轻量视觉Transformer中的局部信息思考CloFormer&#xff08;arX…

根据指定条件和规则逐一判断两个数组中对应元素是否接近 numpy.isclose()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 根据指定条件和规则逐一判断 两个数组中对应元素是否接近 numpy.isclose() [太阳]选择题 请问关于以下代码的表述错误的是&#xff1f; import numpy as np a np.array([2, 7, np.nan]) b …

【RabbitMQ教程】前言 —— 消息队列介绍

&#x1f4a7; 【 R a b b i t M Q 教程】前言——消息队列介绍 \color{#FF1493}{【RabbitMQ教程】前言 —— 消息队列介绍} 【RabbitMQ教程】前言——消息队列介绍&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风…

力扣题库刷题笔记3--无重复字符的最长子串

1、题目如下&#xff1a; 2、个人Python代码实现如下&#xff1a; 代码如下&#xff1a; class Solution: def lengthOfLongestSubstring(self, s: str) -> int: temp "" #临时变量&#xff0c;记录当前连续不重复子串 out_put …