C++控制结构
一种程序设计语言,只要有顺序执行结构、选择结构和循环结构,即可解决所有的编程问题。
选择结构
if语句
if语句语法:
if(表达式1)
{语句组1}
else if(表达式2)
{语句组2}
…
else if(表达式n-1)
{语句组n-1}
else
{语句组n}
执行逻辑:
从上至下计算各个表达式是否为真,若为真,则执行相应的语句组,剩下的表达式和语句组都不再执行;如果为假,则继续判断下一个表达式的真假,若所有的表达式都为假,则执行else后的语句组,如果没有else语句,则什么都不执行。
如果某个语句组只有一条语句,那么“{ }” 可被省略。 但是,在有if判断的嵌套时,最好用“{ }”来区分出各个嵌套层。
if ( x > 0 )
cout << "x is positive";
#include <iostream>
using namespace std;
int main ()
{
int a = 10;
if( a < 20 ) {
cout << "a 小于 20" << endl;
}
else {
cout << "a 大于 20" << endl;
}
cout << "a 的值是 " << a << endl;
return 0;
}
switch语句
awitch语句语法:
switch(表达式){
case 常量表达式1:
语句组1
break;
case 常量表达式2:
语句组2
break;
…
case 常量表达式n:
语句组n
break;
default:
语句组n+1
}
"switch"关键字右边的括号中的表达式,其值必须是整数类型的(char、unsigned char类型也可以)。“case”右边的表达式,必须是常量表达式,即不包含变量。
注意:case 表达式和 default 之后必须要带冒号“:”。
#include <iostream>
using namespace std;
int main ()
{
int a = 100 , b = 200;
switch(a) {
case 100:
cout << "这是外部 switch 的一部分" << endl;
switch(b) {
case 200:
cout << "这是内部 switch 的一部分" << endl;
}
}
cout << "a 的准确值是 " << a << endl;
cout << "b 的准确值是 " << b << endl;
return 0;
}
循环结构
for循环结构
for语句的基本格式:
for (表达式1;表达式2;表达式3)
{
语句组
}
如果语句组只有一条语句构成,那么也可以去掉 “{ }”。
#include <iostream>
using namespace std;
int main ()
{
// for 循环执行
for( int a = 10, b = 20; a < 20; a ++ , b++) {
cout << "a 的值:" << a << ',' << "b 的值:" << b << endl;
}
return 0;
}
在表达式1中定义的一个或者多个变量,这些变量的作用于仅局限于for语句之内。
三个表达式任何一个都可以不写,但是分号一定要保留。如果不写“表达式2”,那么说明没有跳出循环的判断语句,则会陷入“死循环”。但是,在死循环中,可以通过break语句在一定的判断条件成立的情况下跳出循环。
while循环结构
while语句的基本格式:
while (表达式)
{
语句组
}
如果语句组中只有一句语句, “{ }”也可以省略。
如要编写一个死循环,程序如下:
while (true)
{
...
}
中间同样可以使用break语句来跳出死循环。
#include <iostream>
using namespace std;
int main ()
{
int a = 10;
while( a < 20 )
{
cout << "a 的值:" << a << endl;
a++;
}
return 0;
}
do … while循环结构
do … while语句先执行一个语句组再做后续判断,其能保证循环至少能执行一次。
do
{
语句组
} while(表达式);
#include <iostream>
using namespace std;
int main ()
{
int a = 10;
do
{
cout << "a 的值:" << a << endl;
a = a + 1;
}while( a < 20 );
return 0;
}
循环控制结构
break语句
C++ 中 break 语句有以下两种用法:
1. 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
2. 它可用于终止 switch 语句中的一个 case。
如果使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
continue语句
C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。
对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。
对于 while 和 do…while 循环,continue 语句会导致程序控制回到条件测试上。
无限循环
常用for( ; ; )结构来表示无限循环;
注意:当程序执行时陷入死循环,可按Ctrl+C来终止程序。