目录
程序流程结构
一、选择结构
1.1 If语句
1.2 三目运算符
1.3 switch语句
二、循环结构
2.1 while 循环语句
2.2 do…while循环
2.3 for循环
2.4 嵌套循环
三、跳转语句
3.1 break语句
3.2 continue 语句
3.3 goto语句
程序流程结构
C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构
- 顺序结构:程序按顺序执行,不发生跳转
- 选择结构:依据条件是否满足,有选择的执行相应功能
- 循环结构:依据条件是否满足,循环多次执行某段代码
一、选择结构
1.1 If语句
作用:执行满足条件的语句
If语句的三种形式
- 单行格式If语句
- 多行格式If语句
- 多条件的If语句
1. 单行格式If语句: if(条件){ 条件满足执行的语句 }
注意:If后边不能加分号,不然If的判断效果就不存在了
if(判断条件)// 条件为真
{
// 执行语句
}
2.多行格式If语句: if(条件){ 条件满足执行的语句 } else { 条件不满足执行的语句 }
if(判断条件) // 条件为真
{
// 执行语句1
}
else // 条件为假
{
// 执行语句2
}
3. 多条件的If语句:if(条件1){ 条件1满足执行的语句 }else if(条件2){ 条件2满足执行的语句} … else{ 都不满足执行的语句}
if(条件1)
{
条件1满足执行的语句
}
else if(条件2)
{
条件2满足执行的语句
}
…
else
{
都不满足执行的语句
}
4. 嵌套if语句:在if语句中,可以嵌套使用if语句,达到更精确的条件判断
if(条件1)
{
if(条件2)
{
// 条件1,2同时满足
}
}
1.2 三目运算符
作用:通过三目运算符实现简单的判断
语法:表达式1 ? 表达式2 : 表达式3
示例:
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<"最大的数是:"<<(((a>b?a:b) > c )?(a>b?a:b):c)<<endl;
return 0;
}
运行结果:
1.3 switch语句
作用:执行多条件分支语句
语法:
switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;
...
default:执行语句;break;
}
if和switch的区别?
switch 缺点:判断时候只能是整型或者字符型,不可以是一个区间
switch 优点:结构清晰,执行效率高
二、循环结构
2.1 while 循环语句
作用:满足循环条件,执行循环语句
语法:while(循环条件) { 循环语句 }
注意:在写循环一定要避免死循环的出现
while(循环条件)
{
循环语句
// 加出循环的条件
}
2.2 do…while循环
作用:满足循环条件,执行循环语句
语句: do { 循环语句 } while ( 循环条件 );
注意:与while的区别在于do…while会先执行一次循环语句,再判断循环条件
do
{
循环语句
// 出循环的条件
}while(循环条件);
2.3 for循环
作用:满足循环条件,执行循环语句
语法:for(起始表达式;条件表达式;末尾循环体) { 循环语句; }
for(起始表达式;条件表达式;末尾循环体)
{
循环语句
}
2.4 嵌套循环
作用:在循环体中再嵌套一层循环。
#include<stdio.h>
#include<iostream>
#include <bits/stdc++.h> // 万能
#include<string.h>
#include<ctype.h> // 字符串字母大小写函数
#include<iomanip> // 保留小数位数
#include<math.h> // 数学
#include <time.h> // 时间函数库
//clock_t clock(void)
using namespace std;
int main ()
{
for(int i=1;i<10;i++)
{
for( int j=1;j<10;j++)
{
cout<<"* ";
}
cout<<endl;
}
return 0;
}
运行结果:
三、跳转语句
3.1 break语句
作用:用于跳出选择结构或者循环结构
break的使用时机
- 出现在switch条件语句中,作用是终止case并跳出switch
- 出现在循环语句中,作用是跳出当前的循环语句
- 出现在嵌套循环中,跳出最近的内层循环语句
3.2 continue 语句
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环(可以筛选条件,执行到此就不再向下执行,执行下一次循环)
例:只输出奇数项
#include<stdio.h>
#include<iostream>
using namespace std;
int main ()
{
for(int i=0;i<100;i++)
{
if(i%2==0){
continue;
}
cout<<i<<endl;
}
return 0;
}
运行结果:
3.3 goto语句
作用:可以无条件跳转语句
语法:goto 标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
示例:
#include<stdio.h>
#include<iostream>
using namespace std;
int main ()
{
cout<<"1**************"<<endl;
cout<<"2**************"<<endl;
//fgoto FLAG;
cout<<"3**************"<<endl;
cout<<"4**************"<<endl;
//FLAG:
cout<<"5**************"<<endl;
return 0;
}
运行结果:
加入goto语句后