目录
一、程序流程结构
程序在运行过程有三大基本程序运行结构:顺序结构、选择结构、循环结构。
- 顺序结构:程序按顺序执行,不发生跳转。(代码一行一行运行)
- 选择结构:依据条件是否满足,选择性执行对应功能。(常见的有if、switch)
- 循环结构:依据条件是否满足,循环多次执行对应代码。(常见的有while、for)
二、选择结构
1.if-else语句
定义:if(条件){满足时执行的语句}else{不满足时执行的语句}
其中else可以根据自己需求是否省略。
if语句的执行流程图如下
可以根据简单的单行的if语句设计一个判断类型的程序:判断当前成绩是否及格。
#include<iostream>
using namespace std;
int main() {
float score = 0;//将成绩初始化为0
cout << "请输入您的成绩:";
cin >> score;//输入成绩
//判断成绩是否合格
if (score >= 60) {
cout << "恭喜你,成绩合格!" << endl;
}
else {
cout << "很遗憾,成绩不合格!" << endl;
}
system("pause");
return 0;
}
最后可以得到对应结果:
2.if - else if - else语句
作用:用于执行多种条件的if语句。
实例程序:判断分数处于哪个分段。
#include<iostream>
using namespace std;
int main() {
float score = 0;//将成绩初始化为0
cout << "请输入您的成绩:";
cin >> score;//输入成绩
//判断成绩所处分段
if (score >= 90 && score <= 100) {
cout << "优秀!" << endl;
}
else if(score >= 75 && score < 90) {
cout << "良好" << endl;
}
else if (score >= 60 && score < 75) {
cout << "合格" << endl;
}
else {
cout << "成绩不及格或出错!" << endl;
}
system("pause");
return 0;
}
3.if语句嵌套
作用:若需要在原有条件下继续加以条件,可以将if语句嵌套在原有的if语句中。
例如:
if (score > 60) {
if (score > 90 && score <= 100) {
cout << "您的成绩为:优秀。" << endl;
}
else {
cout << "您的成绩为:合格。" << endl;
}
}
else {
cout << "您的成绩为:不合格;" << endl;
}
4.三目运算符
作用:用于简单的条件判断。在return函数返回值时可以以最少的代码量达成return返回值的目的。
定义:表达式1?表达式2:表达式3;
- 如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
- 如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
int a = 10;
int b = 20;
int c = 0;
c = a > b ? a : b;
//a>b的结果为0,返回结果为c=20;
5.switch语句
作用:执行多条分支语句。
switch (表达式) {
case 结果1:
执行语句;
break;
case 结果2:
执行语句;
break;
...
default:
执行语句;
break;
}
当前面的case的条件都未选中,则执行default语句。
注意:如果不输入break就不会跳出分支,每一个分支就回都执行。
示例:
switch (score) {
case 1:
cout << "优秀。" << endl;
break;
case 2:
cout << "良好。" << endl;
break;
case 3:
cout << "合格。" << endl;
break;
default:
cout << "您输入的选项不包含1 2 3 " << endl;
break;
}
三、循环结构
1.while语句
作用:满足循环条件时,执行循环语句。
语法:while(条件){循环语句}
只要条件中的布尔型为真,循环结构就会继续执行。
示例:输出1到10。
int a = 1;
while (a <= 10) {
cout << a << endl;
a++;
}
2.do-while语句
区别:while和do-while的区别为起始阶段while会先判断再做,而do-while会先做再判断。
语法:do{循环体}while(条件);
示例:输出1到10。
int a = 0;
do {
a++;
cout << a << endl;
} while (a <= 9);
3.for循环语句
作用:与while语句一样,满足循环条件,执行对应的语句。
语法:for(起始表达式;条件表达式;末尾循环体){循环体}
示例:输出1到10。
for (int a = 1; a <= 10; a++) {
cout << a << endl;
}
4.嵌套循环
作用:将一层循环嵌套在另外一层循环中,解决一些实际问题。
示例:打印九九乘法表。
#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 << " ";
}
cout << endl;
}
system("pause");
return 0;
}
四、跳转语句
1.break
作用:跳出选择结构或循环结构
使用时机:
- 出现在switch语句中,作用时终止case并跳出循环。
- 出现在循环语句中,作用是跳出循环语句。
- 出现在嵌套循环中,作用是跳出最近的的内层循环语句。
2.continue
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环。
3.goto
作用:可以无条件跳转语句
语法:goto 标记;
注意:程序尽量避免使用goto语句,以免造成程序混乱。
#include<iostream>
using namespace std;
int main() {
cout << "1" << endl;
cout << "2" << endl;
goto Mark;
cout << "3" << endl;//不输出
Mark:
cout << "4" << endl;
system("pause");
return 0;
}
输出结果为1 2 4。