八、程序流程结构

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

顺序结构:程序按顺序执行,不发生跳转。

选择结构:依据条件是否满足,有选择的执行相应功能。

循环结构:依据条件是否满足,循环多次执行某段代码。

参考视频:https://www.bilibili.com/video/BV1et411b73Z?from=search&seid=4205594350351753444

已投币三连,非常好的视频教程,感谢up主的奉献。

(1)选择结构

1. 使用 if语句,语法为:

if (条件) {/* 满足条件后,可执行括号中内容 */// ...
}
if (条件1) {/* 满足条件1后,执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
else if (条件2) {/* 如果条件1不满足,而条件2满足,执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
else if (条件3) {/* 如果条件1、条件2均不满足,而条件3满足,执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
...
...
...
if (条件1) {/* 满足条件1后,执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
else if (条件2) {/* 如果条件1不满足,而条件2满足,执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
else if (条件3) {/* 如果条件1、条件2均不满足,而条件3满足,执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
...
...
...
else {/* 如果条件1、条件2、条件3...均不满足,则执行本括号中程序 */// .../* 执行完程序后,结束整个if结构 */
}
int main() {int a = 0;if (a < 0) {cout << "a小于0" << endl;}else if (a > 0) {cout << "a大于0" << endl;}else {cout << "a等于0" << endl;}system("pause");return 0;
}
---------------------------------------------------
a等于0
请按任意键继续. . .

if支持多重嵌套。

2. 三目运算符

三目运算符可实现简单的判断。语法:

表达式1 ? 表达式2 : 表达式3
// 如果表达式1为真,则执行表达式2,并返回表达式2的结果。
// 如果表达式1为假,则执行表达式3,并返回表达式3的结果。
int main() {int a = 10;a > 0 ? cout << "a大于0" << endl : cout << "a小于0" << endl;system("pause");return 0;
}
------------------------------------------------------------------
a大于0
请按任意键继续. . .

3. switch语句。执行多条件分支语句。语法:

switch (表达式) {case 结果1: 执行代码段; break;case 结果2: 执行代码段; break;case 结果3: 执行代码段; break;.........defaule: 执行代码段; break;
}
 int usr=0;cout << "请输入1、2、3其中一个数字" << endl;cin >> usr;switch (usr){case 1:cout << "输入了1" << endl; break;case 2:cout << "输入了2" << endl; break;case 3:cout << "输入了3" << endl; break;default:cout << "不在规定范围内输入" << endl; break;}
--------------------------------------------------------------
请输入1、2、3其中一个数字
3
输入了3
请按任意键继续. . .

注意:别少写break,少写break代码会继续向下执行。直到再次遇到break,才会结束整个switch。

(2)循环结构

1. while循环语句。语法:

while (条件) {/* 满足条件后,执行本括号中程序 */// .../* 执行完程序后,接着判断条件。如满足,继续循环执行本括号程序;如不满足,结束while循环 */
}

2. do while循环语句。语法:

do {// 先执行一次本括号程序// .../* 执行完程序后,判断条件。如满足,继续循环执行本括号程序;如不满足,结束while循环 */
}while (条件)

3. for循环语句。满足循环条件,执行循环语句。语法:

for (表达式1; 表达式2; 表达式3)
{循环语句
}for (初始化语句; 循环条件; 自增或自减)
{循环语句
}
 int i, j;for (i = 0; i < 5; i++){for (j = 0; j < 10; j++){cout << "j ";}cout << "i" << endl;}
-------------------------------------------
j j j j j j j j j j i
j j j j j j j j j j i
j j j j j j j j j j i
j j j j j j j j j j i
j j j j j j j j j j i
请按任意键继续. . .

(3)跳转语句

break语句:用于跳出选择结构或循环结构。

(注意:break只会跳出距离它最近的for、while这些循环语句,跟if没有关系)

作用:

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

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

出现在嵌套循环语句中,跳出最近的内层循环语句。

 int usr=0;cout << "请输入1、2、3其中一个数字" << endl;cin >> usr;switch (usr){case 1:cout << "输入了1" << endl; //break;case 2:cout << "输入了2" << endl; //break;case 3:cout << "输入了3" << endl; //break;default:cout << "不在规定范围内输入" << endl; //break;}
---------------------------------------------------------------
请输入1、2、3其中一个数字
2
输入了2
输入了3
不在规定范围内输入
请按任意键继续. . .
 int i, j;for (i = 0; i < 5; i++){for (j = 0; j < 10; j++){if (j >= 5)break;cout << "j ";}cout << "i" << endl;}
---------------------------------------------------------
j j j j j i
j j j j j i
j j j j j i
j j j j j i
j j j j j i
请按任意键继续. . .
 int i, j;for (i = 0; i < 5; i++){for (j = 0; j < 10; j++){cout << "j ";}cout << "i" << endl;break;}
------------------------------------------------------
j j j j j j j j j j i
请按任意键继续. . .

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

 int i, j;for (i = 0; i < 5; i++){for (j = 0; j < 10; j++){if (j == 5 || j == 8){continue;}cout << j;}cout << "i" << endl;}
--------------------------------------------------------
01234679i
01234679i
01234679i
01234679i
01234679i
请按任意键继续. . .

goto语句:可以无条件跳转语句。

(注意:少用,goto不利于梳理代码逻辑)

 cout << "执行代码段1" << endl;goto CODE_1;cout << "执行代码段2" << endl;cout << "执行代码段3" << endl;CODE_1:cout << "执行代码段4" << endl;
---------------------------------------------------------
执行代码段1
执行代码段4
请按任意键继续. . .

c/c++教程 - 1.6 程序流程结构 if switch do while for break continue goto ?:三目运算符相关推荐

  1. 【黑马程序员 C++教程从0到1入门编程】【笔记1】数据类型、运算符、程序流程结构、数组、函数、指针、结构体

    黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难 文章目录 1.C++初识 1.1 第一个c++程序 1.2 注释 1.3 变量 1.4 常量 1.5 关键字 1.6 标识符命名规则 2 ...

  2. c++基础——程序流程结构之选择结构

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

  3. 黑马程序员C语言基础(第五天)运算符与表达式、程序流程结构、数组和字符串、函数

    https://www.bilibili.com/video/BV15W411K7k6?p=93&spm_id_from=pageDriver 黑马程序员C语言基础(第五天)运算符与表达式.程 ...

  4. C++阶段01笔记汇总【C++软件安装、C++初识、数据类型、运算符、程序流程结构、数组、函数、指针、结构体】

    C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 C++课程安排 1 C++初识 1.1 第一个C++程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1. ...

  5. C++阶段01笔记04【程序流程结构(选择结构、循环结构、跳转语句)】

    C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 4 程序流程结构 4.1 选择结构 4.1.1 if语句 --①单行格式if语句 --②多行格式if语句 --③多条件的if语句 ...

  6. C++基础( C++初识、数据类型、运算符、程序流程结构、)

    前言: C++专栏笔记来源于观看视频笔记 配套视频: https://www.bilibili.com/video/BV1et411b73Z?p=16 基本代码框架: #include <ios ...

  7. c++学习笔记4程序流程结构

    4程序流程结构 最基本三种结构: 1)顺序结构:程序按顺序执行,不发生跳转: 2)选择结构:依据条件是否满足,有选择的执行相应功能: 3)循环结构:依据条件是否满足,循环多次执行: 4.1选择结构 4 ...

  8. C++ 6.程序流程结构—选择结构(嵌套if语句、经典问题三只小猪称体重、三目运算符、switch语句)

    注意事项:if 后不要加分 #include <stdio.h> #include <iostream> using namespace std; /*------------ ...

  9. 黑马自学笔记 C++基础入门(程序流程结构)

    目录 4.1选择语句 4.1.1if语句 4.1.2三目运算符 4.1.3switch语句 4.2循环语句 4.2.1while语句 4.2.2 do ... while 循环语句 4.2.3for循 ...

最新文章

  1. 伍六七带你学算法 入门篇-卡牌分组
  2. 理解Android系统的进程间通信原理(二)----RPC机制
  3. AD域与外部网站域名相同处理办法
  4. Myxls导出excel报表
  5. java 线程安全的原因_Java并发编程——线程安全性深层原因
  6. python public_【速记速学】Python类的定义,属性,方法,访问性
  7. AndroidMainfest.xml具体解释——lt;activitygt;
  8. sql用户名数据迁移到mysql_如何将SQL Server数据迁移到MySQL
  9. 安卓游戏广告加速插件_大杀器一款超级良心的免费游戏加速器,PC、安卓、iOS都可使用...
  10. c语言运算符优先级表(c语言中各种运算符的优先级)
  11. 苏宁易购:前后端分离架构的落地思考
  12. C++程序运算时间计算
  13. Mac开发-公证流程记录Notarization-附带脚本
  14. zephir-类和对象2
  15. linux系统搭建jenkins并完成一键部署项目,解决部署项目繁琐步骤
  16. 前端必备精美CSS样式,不来瞅瞅吗?
  17. 基于微信小程序的智能招聘小程序
  18. 【数据结构】List相关知识的学习【详解篇2】
  19. 主机IP是什么?IP与服务器的联系与类型什么?
  20. Transformer image recongnition

热门文章

  1. 小峰视频十四:面向对象和类的概念
  2. 洛谷P1402 酒店之王
  3. JS_prototype
  4. 今天开始学习QT for sysbiam 1
  5. [转载]EmitMapper,AutoMapper,NLiteMapper和手工映射性能大比拼
  6. JavaScript学习总结(二十)——Javascript非构造函数的继承
  7. C# 委托与事件总结
  8. 【重识 HTML + CSS】定位
  9. 【网络信息安全】鉴别和密钥分配协议
  10. 从编写到上线带你搞定springboot博客之编辑博客时新增标签02