CH04_程序流程结构
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_程序流程结构的更多相关文章
- C语言基础知识-程序流程结构
C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...
- [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 ...
- 程序流程结构——if语句
c语言支持最基本的三种运行结构: 顺序结构:程序按顺序执行,不发生跳转 选择结构:根据是否满足条件 ,有选择的执行相应功能 循环结构:依据条件是否满足,循环多次执行某段代码 #define _CRT_ ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...
- iOS/iPhone 程序文件目录结构以及启动流程
要想清晰的理解IOS应用程序的启动过程,毫无疑问需要深入了解一下ios应用程序的文件系统.一个ios应用程序都有一个属于自己沙盒(sandbox),应用沙盒就是文件系统目录,并且与文件系统的其他部分隔 ...
- C++之程序流程_选择结构
C/C++支持最基本的三种程序运行结构:==顺序结构.选择结构.循环结构== * 顺序结构:程序按顺序执行,不发生跳转* 选择结构:依据条件是否满足,有选择的执行相应功能* 循环结构:依据条件是否满足 ...
- [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套
一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...
- Java 基础 程序流程控制 (下)
Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...
- Java 基础 程序流程控制 (上)
Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...
随机推荐
- python 判断token是否有效,若失效,重新发起token请求
场景: 1.对一个接口,进行接口自动化测试,查找的是有权限操作的用例,传入到获取token接口,生成token,判断当前是否有token,如果存在token,则无需再次发起token接口: 存在的问题 ...
- 【动手学深度学习】第五章笔记:层与块、参数管理、自定义层、读写文件、GPU
为了更好的阅读体验,请点击这里 由于本章内容比较少且以后很显然会经常回来翻,因此会写得比较详细. 5.1 层和块 事实证明,研究讨论"比单个层大"但"比整个模型小&quo ...
- 【Python】基于动态规划和K聚类的彩色图片压缩算法
引言 当想要压缩一张彩色图像时,彩色图像通常由数百万个颜色值组成,每个颜色值都由红.绿.蓝三个分量组成.因此,如果我们直接对图像的每个像素进行编码,会导致非常大的数据量.为了减少数据量,我们可以尝试减 ...
- 【Error】mysql的error.log中ranges: 268 max_threads: 4 split: 268 depth: 2是什么意思?
2021-12-08T09:36:39.612332+08:00 44213799 [Note] [MY-011825] [InnoDB] Parallel scan: 4 2021-12-08T09 ...
- UNR #7 Day2 T1 火星式选拔题解
放一个比赛链接 先考虑打完暴力后 \(k = 1\) 的特殊性质. 当队列容量为 \(1\) 时,队中的人 \(i\) 会被第一个满足 \(i \leq j\) 且 \(b_i \leq a_j\) ...
- SpringBoot快速插入Mysql 1000万条数据
导读 有时候为了验证系统瓶颈,需要往数据库表中插入大量数据,可以写sheel脚本插入,前几天为了插入100万条数据,走的sheel脚本(点我直达),插入速度简直无法直视,花了3小时,才插入了10万条, ...
- Java 反射获取对象里的值
最近在负责邮件服务,里面会涉及到很多Email模板,这里我使用到了java的模板引擎:jetbrick-template,需要使用Map集合一个个往里面设置值,然后调用模板方法,进行替换.实体类一个个 ...
- 使用requests库实现http请求
1.发送请求 import requests url = 'http://www.tipdm.com/tipdm/index.html' rqq = requests.get(url) In [ ]: ...
- 一天快速入门Django:从0到1创建属于自己的Web应用
DjangoWeb开发 Day1 1. Django的安装 pip install django 2. 创建项目 2.1 终端创建 "python环境路径\scripts\django-ad ...
- 开源免费又好用的中式数据报表:UReport2是一款高性能的架构在Spring之上纯Java报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。
北润乾.南帆软,数加发力在云端. uReport 身何安?中式报表真开源. 报表江湖之中,uReport安身立命的产品品类定位是什么? 说来很简单,uReport的价值在于填补了这样一个市场空白:开源 ...