1,程序流程结构
C/C+=支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构
- 顺序结构:程序按顺序执行,不发生跳转
- 选择结构:依据条件是否满足,有选择的执行相应功能
- 循环结构:依据条件是否满足,循环多次执行某段代码
4.1 选择结构
4.1.1 if语句
作用:执行满足条件的语句
if语句的三种形式
- 单行格式if语句
- 多行格式if语句
- 多条件的if语句
1.单行格式语句:if(条件){条件满足执行的语句}
示例:
int main() {
int a = 0;
if(a > 5) {cout << "a > 5" << endl;}
system("pause");
return 0;
}
注意:if条件后面不加分号,加分号后无论条件是否满足都会执行
2.多行格式if语句:if(条件){满足条件执行的语句}else{不满足条件执行的语句};
示例:
int main() {
int a = 1;
if(a > 0)
{
cout << "a > 0" << endl;
}
else
{
cout << "a < o" << endl;
}
system("pause");
return 0;
}
3.多条件if语句:if(条件1){条件1满足执行的语句}else if(条件二){条件2满足执行的语句}……else{都不满足执行的语句}
示例:
int main() {
int a = 5;
if(a < 0){
cout << "a < 0" << enddl;
}
else if(a < 10){
cout << "a <10" << endl;
}
else{
cout << "a > 10" << endl;
}
system("pause");
return 0;
}
嵌套if语句:在if语句中,可以嵌套使用if语句,达到更精确的条件判断
案例需求:
- 提示用户输入一个高考考试分数,根据分数做如下判断;
- 分数如果大于600分视为考上一本,大于500分视为考上二本,大于400分视为考上三本,其余视为未考上本科;
- 在一本分数中,如果大于700分,考入北大;大于650分,考入清华,大于600考入人大
示例
int main() {
int score = 0;
cout << "请输入您的分数" << endl;
cin >> score;
if (score > 600) {
cout << "恭喜您考上一本" << endl;
if (score > 700) {
cout << "恭喜您考上北大" << endl;
}
else if (score > 650) {
cout << "恭喜您考上清华" << endl;
}
else {
cout << "恭喜您考上人大" << endl;
}
}
else if (score > 500) {
cout << "恭喜您考上二本" << endl;
}
else if (score > 400) {
cout << "恭喜您考上三本" << endl;
}
else {
cout << "很遗憾,未考上本科" << endl;
}
system("pause");
return 0;
}
4.1.2 三目运算符
作用:通过三目运算符实现简单的判断
语法:表达式1?表达式2 :表达式3
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
示例
int main() {
int a = 10;
int b = 20;
int c = 0;
//如果a大于b则返回a的值,否则返回b的值
c = a > b ? a : b;
cout << "c = " << c << endl;
//在C++中三目运算符返回的是变量,可以继续赋值
(a > b ? a : b) = 100;
}
4.1.3 switch语句
作用:执行多条件分支语句
语法:
switch(表达式)
{
case 结果1:执行语句1;break;
case 结果2;执行语句2;break;
......
default:执行语句n;break;
}
4.2 循环结构
4.2.1 while循环语句
作用:满足循环条件,执行循环语句
语法:while(循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句
示例
int main() {
//while循环
//在屏幕中打印0~9,10个数字
int num = 0;
while()
{
cout << num << endl;
num++;
}
system("pause");
return 0;
}
4.2.2 do…while循环语句
作用:满足循环语句,执行循环条件
语法:do{循环语句}while(循环条件);
注意:与while的区别在于do…while会先执行一次循环语句,再判断循环条件
示例:
int main() {
//do...while循环
//在屏幕中输出0~9,10个数字
int num = 0;
do{
cout << num << endl;
num++;
}
while(num < 10);
system("pause");
return 0;
}
4.2.3 for循环语句
作用:满足循环条件,执行循环语句
语法:for(其实表达式,条件表达式;末尾循环体){循环语句};
示例:
int main() {
for (int i = 0;i < 10;i++)
{
cout << i << endl;
}
system("pause");
return 0;
}
4.2.4 嵌套循环
作用:在循环体中再嵌套一层循环,解决一些实际问题
例如,我们想绘制一个二维矩阵,利用嵌套循环可以快速绘制
int main() {
for (int j = 0; j < 10; j++) {
for (int i = 0; i < 10; i++) {
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}

用嵌套循环完成一个乘法口诀表
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;
}
4.3 跳转语句
4.3.1 break语句
作用:用于跳出选择结构或者循环结构
break使用的时机:
- 出现在switch条件语句中,作用是终止case并跳出switch
- 出现在循环语句中,作用是跳出当前的循环语句
- 出现在嵌套循环中,跳出最近的内层循环语句
示例:
int main() {
//1,在switch语句中使用break
cout << "请选择您挑战副本的难度" << endl;
cout << "1,普通" << endl;
cout << "2,中等" << endl;
cout << "3,困难" << endl;
int num = 0;
cin >> num;
switch(num) {
case 1:
cout << "您选择的是普通难度" << endl;
break;
case 2:
cout << "您选择的是中等难度" << endl;
break;
case 3:
cout << "您选择的是困难难度" << endl;
break;
}
//2,出现在循环语句中
for (int i = 0;i < 10;i++) {
if (i == 5) {
break;
}
cout << i << endl;
}
}
4.3.2 continue语句
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
示例:
int main() {
for (int i = 0;i < 100;i++) {
//如果是偶数,则跳过输出,奇数则输出
if(i % 2 == 0) {
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}
4.3.3 goto语句
作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
注意:尽量不要使用goto
示例:
int main() {
cout << "1" <<endl;
goto FLAG;
cout << "2" << endl;
cout << "3" << endl;
cout << "4" << endl;
FLAG;
cout << "5" << endl;
}
本文深入解析C/C++中的顺序、选择和循环结构,包括if语句的多种形式、三目运算符、switch语句及循环结构的使用,如while、do...while、for循环,还有嵌套循环的应用。同时,探讨了break、continue和goto等跳转语句的作用。
664

被折叠的 条评论
为什么被折叠?



