CH04_程序流程结构

程序流程结构

C/C++支持最基本的三种程序运行结构:

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

选择结构

if语句

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

单行格式if语句:if(条件){语句块}

示例:

#include <iostream>
using namespace std; int main() { int score = 72; //判断条件是否满足
if (score >= 60) {
cout << "及格了" << endl;
} system("pause");
return 0;
}

多行格式if语句:if(条件){语句块}else{语句块}

示例:

#include <iostream>
using namespace std; int main() { int score = 72; //判断条件是否满足
if (score >= 60) {
cout << "及格了" << endl;
}
else {
cout << "继续努力" << endl;
} system("pause");
return 0;
}

多条件的if语句:if(条件){语句块}else if(条件){语句块}...else{语句块}

示例:

#include <iostream>
using namespace std; int main() { int score = 0; cout << "请输入你的考试成绩:" << endl;
cin >> score; //判断条件
if (score >= 80) {
cout << "优秀" << endl;
}
else if (score >= 70) {
cout << "良好" << endl;
}
else if (score >= 60) {
cout << "及格" << endl;
}
else {
cout << "差" << endl;
} system("pause");
return 0;
}

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

示例:

#include <iostream>
using namespace std; int main() { //学校组建校篮球队,面向全校招募队员,要求身高不低于1.75米 char flag = 'n';
double height = 0; cout << "你是本校学生吗?(y/n):" << endl;
cin >> flag;
cout << "你身高多少(cm):" << endl;
cin >> height; if (flag == 'y') { if (height >= 175) {
cout << "恭喜你,报名成功!" << endl;
}
else {
cout << "很遗憾,身高不满足要求!" << endl;
}
}
else {
cout << "非本校学生,禁止报名!" << endl;
} system("pause");
return 0;
}

三目运算符

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

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

描述:

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

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

示例:

#include <iostream>
using namespace std; int main() { int age = 0; cout << "请输入你的年龄:"<<endl;
cin >> age; cout << "你是:" << (age >= 18 ? "成年人" : "未成年人") << endl; system("pause");
return 0;
}

switch语句

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

语法:

switch(表达式){
case 值1:
//语句块
break;
case 值2:
//语句块
break;
case 值3:
//语句块
break;
default:
//语句块
break;
}

示例:

#include <iostream>
using namespace std; int main() { int mingCi = 0; cout << "请输入你的名次:" << endl;
cin >> mingCi; switch (mingCi) {
case 1:
cout << "奖励一个女朋友" << endl;
break;
case 2:
cout << "奖励一个笔记本电脑" << endl;
break;
case 3:
cout << "奖励一个移动硬盘" << endl;
break;
default:
cout << "什么奖励都没有" << endl;
break;
} system("pause");
return 0;
}

循环结构

while循环

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

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

描述:只要循环条件的结果为真,就执行循环语句。

示例:

#include <iostream>
using namespace std; int main() { //产生的随机数范围为:1-100
//int num = rand() % 100 + 1; int count = 0; while (count < 10) {
cout << "好好学习,天天向上!" << endl;
count++;
} system("pause");
return 0;
}

do-while循环

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

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

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

示例:

#include <iostream>
using namespace std; int main() { int score = 0; do { cout << "参加了一次考试,请输入分数:" << endl;
cin >> score; } while (score<60); cout << "恭喜你,考试合格!" << endl; system("pause");
return 0;
}

for循环

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

语法:for(初始部分;条件部分;迭代部分){循环语句}

示例:

#include <iostream>
using namespace std; int main() { for (int i = 0; i < 10; i++) {
cout << "hello world" << endl;
} system("pause");
return 0;
}

嵌套循环

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

示例:

#include <iostream>
using namespace std; int main() { for (int i = 1; i <=9; i++) { for (int j = 1; j <= i; j++) {
cout << j<<"*"<<i<<"="<<(j*i)<<"\t";
}
cout << endl; } system("pause");
return 0;
}

跳转语句

break语句

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

描述:

1.出现在switch条件语句中,作用是终止case并跳出switch。

2.出现在循环语句中,作用是跳出当前的循环语句。

3.出现在嵌套循环中,跳出最近的内存循环结构。

示例:

#include <iostream>
using namespace std; int main() {
int score = 0; for (int i = 0; i <10; i++) { cout << "请输入分数:" << endl;
cin >> score; if (score < 0) {
cout << "分数输入错误,终止录入!" << endl;
break;
}
} system("pause");
return 0;
}

continue语句

作用:在循环语句中,结束本次循环,继续下一次循环。

示例:

#include <iostream>
using namespace std; int main() { for (int i = 1; i <= 100; i++) { if (i % 2 == 0)continue; cout << i << endl;
} system("pause");
return 0;
}

goto语句

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

语法:goto 标记

描述:如果标记的名称存在,则执行到goto语句时,会跳转到标及的位置。

示例:

#include <iostream>
using namespace std; int main() { cout << "1" << endl; goto Flag; cout << "2" << endl;
cout << "3" << endl;
cout << "4" << endl; Flag: cout << "5" << endl; system("pause");
return 0;
}

CH04_程序流程结构的更多相关文章

  1. C语言基础知识-程序流程结构

    C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...

  2. [C++基础入门] 4、 程序流程结构

    文章目录 4 程序流程结构 4.1 选择结构 4.1.1 if语句 4.1.2 三目运算符 4.1.3 switch语句 4.2 循环结构 4.2.1 while循环语句 4.2.2 do...whi ...

  3. 程序流程结构——if语句

    c语言支持最基本的三种运行结构: 顺序结构:程序按顺序执行,不发生跳转 选择结构:根据是否满足条件 ,有选择的执行相应功能 循环结构:依据条件是否满足,循环多次执行某段代码 #define _CRT_ ...

  4. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  5. Java基础-程序流程控制第一弹(分支结构/选择结构)

    Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...

  6. iOS/iPhone 程序文件目录结构以及启动流程

    要想清晰的理解IOS应用程序的启动过程,毫无疑问需要深入了解一下ios应用程序的文件系统.一个ios应用程序都有一个属于自己沙盒(sandbox),应用沙盒就是文件系统目录,并且与文件系统的其他部分隔 ...

  7. C++之程序流程_选择结构

    C/C++支持最基本的三种程序运行结构:==顺序结构.选择结构.循环结构== * 顺序结构:程序按顺序执行,不发生跳转* 选择结构:依据条件是否满足,有选择的执行相应功能* 循环结构:依据条件是否满足 ...

  8. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  9. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  10. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

随机推荐

  1. Arduino实现温湿度传感器以及数据上传到云(乐维互联)

    0 准备材料 0.1 ESP-01S 引脚及定义 官方定义: 序号 pin 功能 1 GND 地线 2 IO0/GPIO0 工作模式选择:①悬空:Flash Boot,工作模式 ②下拉:UART Do ...

  2. 如何在 VSCode 中配置和编写 LINGO

    目录 如何在 VSCode 中配置和编写 LINGO 安装 VSCode 扩展 LINGO 脚本文件与 runlingo 命令 LINGO 命令行交互和脚本文件 配置 Visual Stdio Cod ...

  3. Oracle 数据库 命令行安装

    Oracle 数据库 命令行安装 1. 准备工作 关闭 防火墙,关闭 SElinux 2. 安装相关依赖包 yum -y install binutils compat-libcap1 compat- ...

  4. LLM推理 - Nvidia TensorRT-LLM 与 Triton Inference Server

    1. LLM部署-TensorRT-LLM与Triton 随着LLM越来越热门,LLM的推理服务也得到越来越多的关注与探索.在推理框架方面,tensorrt-llm是非常主流的开源框架,在Nvidia ...

  5. Android Framework:如何让 App 拿到Power key 值

    Android app:如何让 App 拿到Power key 值 原文(有删改):https://blog.csdn.net/qq_37858386/article/details/10383566 ...

  6. FLUTTER 中 Isolate 的一个例子.

    isolate 起因 最近看了一点isolate的东西, 自己写了一个例子. 普通的的 consummer-producer例子是只有前后两端的,实际上,会把前后两端再进行包装. 我这里这个例子,是把 ...

  7. Redis 高阶应用

    生成全局唯一 ID 全局唯一 ID 需要满足以下要求: 唯一性:在分布式环境中,要全局唯一 高可用:在高并发情况下保证可用性 高性能:在高并发情况下生成 ID 的速度必须要快,不能花费太长时间 递增性 ...

  8. AI Agent技术的最新进展与改变世界的典型项目巡礼

    AI Agent技术的最新进展与改变世界的典型项目巡礼 1. AI Agent 技术发展以及典型项目 1.0 前 AI Agent 时代 在学术探索的浩瀚星空中,机器人技术领域的璀璨明珠莫过于Agen ...

  9. Web 安全:OWASP TOP10 漏洞介绍

    OWASP TOP 10漏洞是指由Open Web Application Security Project(OWASP)发布的十大最严重. 最普遍的Web应用程序安全漏洞.这些漏洞在当今的Web应用 ...

  10. 防火防盗防CDN流量盗刷

    没想到自己的小破站也逃不掉被攻击的命,分分钟就给我刷欠费了. 本来不想写这篇文章的,但看到好多大佬(小林coding. JavaGuide)近期cdn都被盗刷了. 还是来提醒下大家,防火防盗防cdn流 ...