c++学习笔记03 程序流程结构

简介: C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。

程序流程结构

分类:
顺序结构,选择结构,循环结构

选择结构

注意:break和continue不可以用于退出if条件判断

if语句

单行if语句

if(判断条件)
{
执行语句
}

if (score >= 600) {
   
        cout << "your score is" << score<<endl;
        cout << "PASS";
    }

多行if语句

if(判断条件)
{
要执行的语句
}
else
{
要执行的语句
}

if (score >= 600) {
   
    cout << "your score is" << score << endl;
    cout << "PASS 600";
}
else {
   
    cout << "NOT PASS 600 ";
}

多条件if语句
if(判断条件)
{
要执行的语句
}
else if(判断的其他条件)
{
要执行的语句
}
else
{
要执行的语句
}
注释:else为除了if和else if 剩下的情况

if (score >= 600) {
   
    cout << "your score is" << score << endl;
    cout << "PASS 600";
}

else if((600>=score)&&(score>=500)){
   
    cout << "PASS 500 Not PASS 600";
} 
else {
   
    cout << "not pass 500";
}

注意:if后面不得加;,否则直接执行后面片段而不经过判断
两个判定条件不能连续大于小于,否则不生效,需要用逻辑运算符分开

三目运算符

(表达式1?表达式2:表达式3)

c=(a>b?a:b)

表达式1为真→执行表达式2并返回表达式2结果
表达式1为假→执行表达式3并返回表达式3结果

三目运算符返回的如果是变量,可以继续赋值
(a>b?a:b)=100;
三目运算符可以用来代替简单的if语句
例子如下:

    //找出数组中最大的元素
int array[5] = {
    300,350,200,400,250 };
int max = 0;
for (int i = 0; i < 5; i++)
{
   
    if (array[i] > max)
    {
   
        max = array[i];
    }

    //三目运算符的做法
    //max = (array[i] > max ? array[i] : max);
}
cout << max;
switch语句
switch(变量名)
{
   
case 变量值情况1:
    执行语句1
    执行语句2
    执行语句3
    break;
case 变量值情况2:
    执行语句1
    break;
default:
    非以上case的默认情况下要执行的语句
    break;

}

变量可以是常量(如int类型)也可以是char类型和bool类型,但不能是string类型
当变量为bool类型时,输入的非0数均会被转化为1

如果有部分case的处理方式相同时,将他们放在一起,使用如下方法

case 3:
case 2:
    cout << "你选择的难度是中等"  << endl;
    break;

如果switch语句中不加break,将会执行下方所有的switch,因此switch的每个case下都要加break
swich语句的case中如果有多条语句不需要加{},switch将会执行该case下的所有语句然后break
当语句过多时将会报错,此时再加{}来包住语句块即可
break和continue不可以用于退出if条件判断
如果不加default,输出不符合case各个情况值时会跳过switch语句块

总结:

1.if可以判断一个区间,而switch只能判断整型或者字符型
2.switch要写break
2.switch执行效率高,结构清晰

循环结构

while循环
while(循环条件)
{
   
}

当条件为1(真)时,循环为死循环,会不断执行,需要有相关的退出循环的代码

break可以用于退出当前循环
变形:do-while循环

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

注意:这里的whlie后面需要加分号;
总结:
do-while先执行一遍再判断循环条件
while先判断是否符合循环条件再执行循环条件

for循环结构

for(起始表达式;条件表达式;末尾循环体)
{
   
循环语句
}

首先是执行起始条件,如果符合条件表达式,则执行循环内容,然后执行末尾循环体

注意:起始表达式中定义的变量仅在该循环里存在

for(A;B;C)的ABC任意一项都可以没有,而在其他地方对循环作限制,如下:

int i = 1;
for (;;) {
    //对for进行拆分,仍可以执行
    if (i > 10)
        break;
    cout << i<<endl;
    i++;
}

注意:for循环只会执行第一个语句,如不包含{},后续语句将在循环外依次执行

嵌套循环

嵌套循环不使用同一个循环起始表达式生成的变量i,当使用同一个变量名 “i”时,会按就近原则取值
但一般不命名为相同的变量名

跳转语句

break语句

1.switch中用于终止case并跳出switch
2.出现在循环语句中,用于跳出当前循环
3.出现在嵌套循环中用于跳出最近的内层循环语句

continue语句

类似break,但不同,循环中使用continue,执行到本行就不再执行,而执行下一次循环

goto语句

goto FLAG;//开始跳转
FLAG:  //跳转点位置

注意跳转点位置加:冒号
不太推荐多次使用,容易混淆

目录
相关文章
|
4月前
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
47 0
|
2月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
121 21
|
2月前
|
程序员 C++
C++编程:While与For循环的流程控制全解析
总结而言,`while`循环和 `for`循环各有千秋,它们在C++编程中扮演着重要的角色。选择哪一种循环结构应根据具体的应用场景、循环逻辑的复杂性以及个人的编程风格偏好来决定。理解这些循环结构的内在机制和它们之间的差异,对于编写高效、易于维护的代码至关重要。
57 1
|
3月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
54 2
|
3月前
|
安全 C语言 C++
C++学习笔记
C++学习笔记
|
4月前
|
C++
【学习笔记】【C/C++】 c++字面值常量
【学习笔记】【C/C++】 c++字面值常量
42 1
|
4月前
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
73 0
|
4月前
|
编译器 C++
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
49 0
|
4月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
44 0
|
6天前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
21 2