C++复习之路五——语句

语句:一个表达式加上一个分号就构成了一个语句。

一、最简单的语句——空语句

空语句只由一个分号构成。

; //空语句

【注意】:在写代码的时候不要漏写分号,也不要多写分号。否则我们的代码可能会违反我们的本意

if(i == 0); //如果i等于零,不进行任何操作,但是有可能本意是如果i等于0,就给i赋值为1
 i = 1;     //这样写不管i是否为0,都会给i赋值为1

如果想实现以上的想法,应该这样写

if(i == 0)  //这样就是当i等于0的时候给i赋值,如果i不为0,就不会给i赋值为1
 i = 1;

通过以上的两个例子我们就可以知道加不加分号的重要性了!

二、复合语句

复合语句指的是用花括号括起来的语句和声明的序列,复合语句也被称为

【注意】一个块就是一个作用域!,复合语句不以分号结束。

三、语句的作用域

定义在控制结构当中的变量只在相应的语句的内部可见,一旦语句结束,变量也就超出其作用域了。

四、条件语句

C++提供了两种按条件执行的语句,if语句和switch语句

if语句

判断一个条件是否为真,根据判断的结果决定是否执行相应的操作。

if语句有两种形式

if(condition)
 statement;   

if(condition)
  statement1;
else 
  statement2;
在使用if else语句嵌套的时候要注意,if和else的匹配, else 与离它最近的且尚未匹配的 if 匹配

switch语句

switch 语句的形式

switch (表达式)
{
 case 标签1: 语句1; break; 
 case 标签2: 语句2; break;
 default : 语句3; break;
}

switch语句会根据表达式的值,来与case后面的标签比较,如果相匹配就会执行那条程序,否则就会一直往下找,如果所有的标签都比较结束了也没有找到与之匹配的,就会进入default语句。

【注意】:每条case后面的break不是必须的,如果没有break,当找到一个匹配的标签后,就会从这条语句开始执行,知道switch语句结束。如果我们只想执行其中一条语句,我们就要加上一个break

例子: 不加break的

int num = 2;

switch (num)
{
case 1: cout << 'a';
case 2: cout << 'b';
case 3: cout << 'c';
default: cout << " no this num" << endl;
	break;
}         

最后输出 bc no this num, 首先switch会根据num来找匹配的case, 找到了case2,然后除数b,由于没有break, 所以会一直往下执行。

例2:加上break的:

int num = 2;

switch (num)
{
case 1: cout << 'a'; break;
case 2: cout << 'b'; break;
case 3: cout << 'c'; break;
default: cout << "no this num" << endl;
	break;
}

最后输出 b,switch找到了case2, 执行完之后,因为有一个break,所以会跳出这个switch,所以只输出一个b。

建议 :我们写代码的时候最好在每个case后面都加上一个break。

五、迭代语句

迭代语句就是我们所说的循环,C++中的迭代语句有这样的三种,for语句, while 语句, do while 语句。

while语句

语法形式

while (condition)
  statement;

只要条件为真,就会执行循环体内的语句。

for语句

语法形式

for(init-statement; condition; expression)
 statement;

init-statement 负责初始化一个值,这个值是会伴随着循环二改变的, condition是判断条件,如果条件满足就会执行循环体内的语句,也就是statement, 然后expression会修改init_statement初始化的这个值。

do while语句

语法形式

do 
  statement;
while(condition);

do while 语句首先执行一次循环体,然后在判断条件是否满足。

【注意】:while后面的分号不要漏掉!

do while和 while 的区别

do while至少执行一次循环体。先执行,后判断

while 先判断后执行。

六、跳转语句

1、break语句

break语句负责终止离它最近的while 、do while、 switch、 for语句,并且从这些语句之后的第一条语句开始执行。

2、continue语句

continue语句负责终止离它最近的循环中的当且迭代,并且开始下一次迭代。

【注意】continue 只能出现在while 、 do while 、for语句中或者嵌套在此类循环里的语句或者块的内部

break语句和continue语句的区别:

break:结束循环,并且跳出整个循环体,从循环的下一条语句开始执行。

continue:结束当前循环,并且从下一个循环开始不会跳出整个循环体。


猜你喜欢

转载自blog.csdn.net/y____xiang/article/details/79959114