C++入门教程之三:控制语句

C++入门教程之三:控制语句

控制语句是C++语句中的一项重点内容。可以说,如果没有控制语句,C++的大厦,乃至于整个编程的大厦都无从建起。控制语句包括条件语句和循环语句,下面我来分别介绍一下。

条件语句

条件语句,又称判断语句。条件语句是用来判断给定的条件是否满足(表达式值是否为0),并根据判断的结果(真或假)决定执行的语句,选择结构就是用条件语句来实现的。

if语句

基本语法:

if(判断内容)
{
    语句1;
    语句2;
}
//或
if(判断内容)语句;//这种情况下判断的执行语句只能有一条

猜你也能猜出来,其使用方法是如果判断内容为真,则执行花括号中的语句;如果为假,则跳过花括号中的内容。

if、else if、else语句

基本语法:

if(判断语句1)
{
    语句1;
    语句2;
}
else if(判断语句2)
{
    语句3;
}
else
{
    语句4;
}

在这种语句结构中,先判断if中的判断语句,如果为真,则执行if语句中的内容;如果为假,则判断第一个else if的判断语句,如果为真,则执行相应else if中的语句,如果为假,则继续判断下一个else if语句的判断语句,以此类推。如果全都为假,则执行else中的语句。如果没有else语句,则直接退出这个语句。

在这种语句中,最开始的if必不可少,else最多只能有一个,else if语句可以有多个。

switch语句

基本语法:

switch(变量)
{
case 情况1:
    语句1;
    break;
case 情况2:
    语句2;
    break;
default:
    语句3;
    break;
}

在这种语句结构中,如果变量为情况1,则执行从case 情况1:break;之间的语句,如果为情况2;则执行从case 情况2:break;之间的语句,以此类推。如果变量值不是以上任何一种情况,则执行从default:break;之间的语句。

变量只能为数字类型,即情况1情况2只能是数字。break不可或缺。但在下面这种情况下,break必须省略:

switch(变量)
{
case 情况1:
    语句1;
    break;
case 情况2:
case 情况3:
    语句2;
    break;
default:
    语句3;
    break;
}

此时因为case 情况2没有break,所以继续往下执行语句2。而case 情况3也执行语句2,也就是说,如果你想让两种情况执行同一种语句,则需要以上面这种方式进行。

运算符形式

基本语法:

a=判断语句?数据1:数据2;

这种运算符的运算方式是:判断?前面的判断语句是否为真,如果为真,则将数据1赋值给a;如果为假,则将数据2赋值给a。

数据1和数据2必须和变量a的数据类型相同,否则将报错或强制转换为a的数据类型。

循环语句

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。

while循环

基本语法:

while(终止条件)
{
    语句1;
    语句2;
}

在这种语句结构中,程序将循环执行花括号中的语句,直到终止条件为假。

do while循环

基本语法:

do
{
    语句1;
    语句2;
}
while(终止条件);

在这种语句结构中,程序将循环执行花括号中的语句,直到终止条件为假。

与while不同的是,do while将至少执行1次花括号中的语句,即使一上来终止条件就为假。但是while语句如果一开始终止条件就为假,则直接跳出循环。

for循环

基本语法:

for(单次表达式;条件表达式;末尾循环体)
{
    语句1;
    语句2;
}

在这种语句结构中,将首先执行单次表达式。单次表达式仅在开始时执行一次。然后执行条件表达式。如果为真,则执行花括号中的内容,再执行末尾循环体。三个表达式都可以省略,但分号不能省略。举个例子:

for(int i=0;i<5;i++)
    cout << i << endl;

输出:

0
1
2
3
4

在这个语句中,先int i=0;再判断i<5如果为真,则执行cout << i << endl;,然后执行i++

由此可见,for循环在需要计数的循环中十分常用。比如上面的代码用while语句写是这样的:

int i=0;
while(i<5)
{
    cout << i << endl;
    i++
}

显然要复杂得多。

循环语句的特殊关键字

break

break的作用是退出这个循环。

continue

continue的作用是结束本次循环,开始下一次循环。

goto关键字

基本语法:

goto 标签;
标签: 语句

goto可以充当循环语句的一种形式;比如

for(int i=0;i<4;i++)
{
    cout << i << endl;
}

用goto是:

int i=0;
loop:
    if(i<4)
    {
        cout << i << endl;
        i++
    }
goto loop;

显然,这种做法除了让程序更难以理解外,并没有其他意义。因为goto语句破坏了程序的完整性,让人极容易犯错,因此不建议使用goto语句。

省略花括号

花括号可以省略,但这仅限于执行内容只有一个语句的时候。比如:

if(1>2)
    cout << "yes";
    cout << "no";

输出:

no
if(1>2)
{
    cout << "yes";
    cout << "no";
}

输出:

无输出

你可能感兴趣的:(C++入门教程之三:控制语句)