目录
三种基本程序结构:顺序结构、选择结构和循环结构。
- 顺序结构:程序自上而下顺序执行,不发生跳转。
- 选择结构:依据条件是否满足,有选择地执行程序。
- 循环结构:依据条件是否满足,循环执行某段程序。
一、选择结构
1. if条件语句
1.1 单if条件
语法:
if(条件)
{
条件为真时执行地代码;
}
if(5>3)
{
cout << "true" << endl;
}
true
请按任意键继续. . .
1.2 if-else
语法:
if(条件)
{
条件为真时执行地代码;
}
else
{
条件为假时执行地代码;
}
if(5<3)
{
cout << "true" << endl;
}
else
{
cout << "false" << endl;
}
false
请按任意键继续. . .
1.3 if-else if-...-else
if(条件1)
{
条件1为真时执行地代码;
}
else if(条件2)
{
条件1为假条件2为真时执行地代码;
}
......
else
{
所有条件均为假时执行地代码;
}
if(3<3)
{
cout << "true" << endl;
}
else if(3>3)
{
cout << "false" << endl;
}
else
{
cout << "zero" << endl;
}
zero
请按任意键继续. . .
2.三目运算符
语法:表达式1?表达式2:表达式3
当表达式1为真时,三目运算符的结果为表达式2,表达式1为假时,三目运算符的结果为表达式3。
注:三目运算符的结果仍是变量,可进行赋值运算。
int a = 10;
int b = 3;
c = a>b? a:b
cout << c << endl;
(a>b? a:b) = 100;
cout << a << endl;
cout << b << endl;
10
100
3
请按任意键继续. . .
3.switch语句
语法:
switch(表达式)
{
case 结果1:执行语句; break;
case 结果2:执行语句;break;
...
default: 执行语句;break;
}
注:当不加break时,程序将从某一满足的case处执行到switch的结束(或执行到break处)。
int a = 10;
switch(a)
{
case 10:cout << 10 << endl;break;
case 9:cout << 9 << endl;break;
case 8:cout << 8 << endl;break;
case 7:cout << 7 << endl;break;
case 6:cout << 6 << endl;break;
case 5:cout << 5 << endl;break;
default: cout << "false" << endl;break;
}
cout << "不添加break的情况:" << endl;
switch(a)
{
case 10:cout << 10 << endl;
case 9:cout << 9 << endl;
case 8:cout << 8 << endl;
case 7:cout << 7 << endl;
case 6:cout << 6 << endl;break;
case 5:cout << 5 << endl;break;
default: cout << "false" << endl;break;
}
10
不添加break的情况:
10
9
8
7
6
请按任意键继续. . .
二、循环结构
1.while循环
语法:
while(条件)
{
条件满足时的循环语句
}
int a = 5;
while(a>0)
{
cout << a-- << endl;
}
5
4
3
2
1
请按任意键继续. . .
2.do-while循环
语法:
do
{
条件满足时的循环语句
} while(条件);
注:do-while与while循环的区别在于do-while会先执行一次循环体再判断条件是否满足决定是否继续循环,也就是说,do-while无论条件是否满足都至少会执行一次循环体。
int a = 5;
do
{
cout << a-- << endl;
} while(a>0);
5
4
3
2
1
请按任意键继续. . .
3.for循环
语法:
for(起始表达式;条件表达式;末尾循环体)
{
满足条件时的循环程序;
}
for(int a = 5; a > 0; a--)
{
cout << a << endl;
}
5
4
3
2
1
请按任意键继续. . .
注:
- for循环起始起始表达式、条件表达式、末尾循环体均可为空(分号不可省略),可调整到程序适合的地方(一般不这么做)。
- for循环里的三个表达式使用分号隔开;
三、跳转语句
1.break
跳出并结束当前循环。
for(int a = 5; a > 0; a--)
{
if(a == 3)break;
cout << a << endl;
}
5
4
请按任意键继续. . .
2.continue
跳出本次循环,并继续进行下次循环。
for(int a = 5; a > 0; a--)
{
if(a == 3)continue;
cout << a << endl;
}
5
4
2
1
请按任意键继续. . .
3.goto
语法:
goto 标志;
标志:
标志执行语句;
int a = 5;
for (; a > 1; a--)
{
if (a==3) goto FLAG;
}
FLAG:cout << "a = "<<a << endl;
a = 3
请按任意键继续. . .
注:标记一般使用大写字母进行命名。