基本控制结构2

顺序结构

程序按照语句的书写次序顺序执行。

选择结构

判断选择结构又称条件分支结构,是一种基本的程序结构类型。

在程序设计中,当需要进行选择、判断和处理的时候,就要用到条件分支结构。

条件分支结构的语句一般包括if语句、if--else语句、switch--case语句。

if语句在二选一的条件下,Switch则是在多选一的条件下。都是对条件表达式进行判断,针对不同结果,决定要执行的语句。

switch语句(多分支)

switch(表达式){

case 常量表达式1: 语句组1; break;

......

case 常量表达式n: 语句组n; break;

default: 语句组n+1;

}

switch语句的执行过程:

①先求出表达式的值;

②将表达式的值依次与case后面的常量表达式值相比较,若与某一常量表达式的值相等,则转去执行该case语句后边的语句序列,直到遇到break语句或switch语句的右花括号为止。

③若表达式的值与case语句后的任一常量表达式的值都不相等,如果有default语句,则执行其后边的语句序列。如果没有default语句,则什么也不执行。

循环结构

C++提供了3种循环语句:for语句、while语句和do-whi1e语句。

在循环语句中,重复执行的操作叫做循环体。

循环体可以是单条语句、块语句甚至是空语句。

while循环

while循环有两种循环控制语句实现,while语句和do...while语句。

while语句

格式: while(条件表达式) 语句

while语句执行过程为:

先计算条件表达式,如果该表达式的值为非零,则执行循环体的语句;

否则退出循环,不执行循环体,而执行该循环语句后面的语句。

也就是说,当循环条件为真时反复执行循环体。因此,while循环也被叫做"当"型循环。

do while 语句

格式:do 语句 while(条件表达式);

do...while语句执行过程为:

先执行循环体后判断条件表达式的值,若表达式的值为真则反复地执行循环体,直到表达式的值为假才退出循环。

因此,do...while语句也被叫做"直到"型循环。

区别:在一定条件下,while循环可能一次都不执行,而do...while循环在任何条件下都至少要执行一次。

for循环

格式:for(表达式1;表达式2;表达式3) 语句

就是:for( 循环变量赋初值;循环条件;循环变量增值) 循环体

for是关键字,语句为循环体,它可以是一条语句,也可以是复合语句,还可以是空语句。

for循环语句的执行过程:

① 计算表达式1的值。

② 计算表达式2的值,并进行判断,如果表达式2的值为0(false)则退出该循环,执该循环体后面的语句; 如果表达式2的值为非0(true)转(3) 。

③ 执行循环体的语句。

④ 计算表达式3的值。

⑤ 转 ②

跳转语句

提供:三个转移语句:break语句、continue语句和goto语句。

主要用于改变程序中语句的执行顺序,使程序从某一语句有目的地转移到另一语句继续执行。

break语句

break语句的功能是:中断所在循环体或switch...case语句块,跳转本层循环体外。

我们希望一个程序从中间某个地方停止运行,就需要使用循环控制语句break,break语句只能跳出直接包含它的for循环。

例如,输出100到999之间第一个15的倍数?

cpp 复制代码
#include<iostream>
using namespace std;
int main(){
    int i;
    for(i = 100; i <= 999; i ++){
        if( i % 15 == 0){
            break;
        }
    }
    cout << i << endl;
    return 0;
}

continue语句

continue语句的作用是跳过本次循环的其它语句,直接进入下一次循环。

continue语句只能用在循环语句的循环体内。在循环执行的过程中,如果遇到continue语句,程序将结束本次循环,接着开始下一次的循环。

例如:

cpp 复制代码
#include<iostream> 
using namespace std; 
int main(){ 
    int i; 
    for(i = 100; i <= 110; i ++){ 
        if( i % 17 == 0){ 
            continue; 
        } 
        cout << i << endl; 
    } 
    return 0; 
}

goto语句

格式: goto 语句标号;

程序跳到语句标号位置继续执行。语句标号属于标识符,格式:语句标号: 语句

其中的语句可以是任意语句,如:{、 while()、 for()...等。

goto语句的使用限制在一个函数体内,即goto语句只能在一个函数范围内进行语句转移。在同一函数中,语句标号应该是唯一的。

相关推荐
多思考少编码2 小时前
PAT甲级真题1001 - 1005题详细题解(C++)(个人题解)
c++·python·最短路·pat·算法竞赛
极客智造3 小时前
C++ 标准 IO 流全详解:cin /cout/get /getline 原理、用法、区别与避坑
c++·io
charlie1145141913 小时前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
样例过了就是过了5 小时前
LeetCode热题100 分割等和子集
数据结构·c++·算法·leetcode·动态规划
麦兜和小可的舅舅6 小时前
ClickHouse 列管理机制解析:从 COW、IColumn 到 CRTP
c++·clickhouse
旖-旎6 小时前
深搜练习(组合)(5)
c++·算法·深度优先·力扣
vegetablesssss6 小时前
vtk镜像图
c++·qt·vtk
@小码农6 小时前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法
【 】4237 小时前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++