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. DotNet Web应用单文件部署系列

    目录 一.    pubxml文件配置 二.    打包wwwroot文件夹 三.    混淆dll文件 四.    csproj文件配置 五.    批处理 六.    Windows服务安装 七. ...

  2. 【译】VisualStudio.Extensibility 17.10:用 Diagnostics Explorer 调试您的扩展

    想象一下,创建的扩展比以往任何时候都运行得更快.更流畅!如果您最近还没有跟上,我们一直在努力改进 VisualStudio. Extensibility SDK.VisualStudio. Exten ...

  3. Kubernetes(四)Pod详解

    Pod详解 本章主要介绍Pod资源的各种配置(yaml文件)和原理 1. Pod介绍 如上图所示,每个Pod中都可以包含一个或多个Container,这些Containers 可以分为2类: 用户程序 ...

  4. 多核处理器与MP架构

    多核处理器也称片上多核处理器(Chip Multi-Processor,CMP). 多核处理器的流行 多核出现前,商业化处理器都致力于单核处理器的发展,其性能已经发挥到极致,仅仅提高单核芯片的速度会产 ...

  5. 关于kubesphere集群calico网络组件报错的修复

    最近公司的项目用到了Kubesphere,于是自己先在虚拟机上测试了一番,遇到了很多的问题,现将遇到的有关calico的问题记录一下 上一篇介绍了如何离线安装kubesphere v3.0,安装之后我 ...

  6. 浏览器中JS的执行

    JS是在浏览器中运行的,浏览器为了运行JS, 必须要编译或解释JS,因为JS是高级语言,计算机不认识,必须把它编译或解释成机器语言,其次,在运行JS的过程,浏览器还要创建堆栈,因为程序是在栈中执行,执 ...

  7. .NET 6 Entity Framework Core Db First(2) 增删改查

    基础代码 在Program.cs注入DemoContext 新建HomeController,继承ControllerBase 添加Controller特性,[ApiController] [Rout ...

  8. MySQL 并发控制(锁得使用)

    导读 并发问题:同一时刻进行读写,并发问题回引发数据不一致问题. 解决并发问题:MySQL采用了锁定机制去解决并发问题 锁的分类 MySQL使用两种锁机制去解决问题:共享锁和排他锁,也叫读锁或者写锁. ...

  9. Unity的Package库在IDE里不显示API注释的解决方法

    当你在代码里使用Package库的API的时候,比如Addressable和Unity.Entities等等,以Visual Studio为例,鼠标放到API上,会发现不显示注释: 然而按F12访问源 ...

  10. webpack4.15.1 学习笔记(六) — 代码拆分(Code Splitting)

    目录 入口起点 防止重复 动态导入(dynamic imports) 代码拆分能够将代码分离到不同的 bundle 中,然后可以按需加载或并行加载这些文件.代码拆分可以用于获取更小的 bundle,以 ...