[C++]条件语句与迭代语句

版权声明:未经博主同意不得转载 https://blog.csdn.net/ycwwl1993/article/details/89409494

一、条件语句

(一)if语句

形式:
①if(condition)
 statement;
②if(condition)
 statement;
else
 statement;
if语句允许嵌套。
else悬垂问题:
在if,else语句中,当else语句少于if语句时,else应该与哪一个if?C++规定,else总是对应上一个没有匹配else的if进行匹配(没有{}控制执行路径时)。
要使else能够准确的与对应的if匹配,可以使用{ }控制执行路径,即将未与else匹配且不需要else匹配的if及其statement语句用{ }括起来作为语句块告诉下面的else,这里不需要else匹配。
(二)switch
switch(表达式){
 case常量表达式:
  语句;
 case常量表达式:
  语句;

 defult:
   语句;
}

①break:
  遇到break,跳出本层循环或条件语句;
  当满足某一case条件时默认执行后边case条件后的语句,所以需要加入break,跳出switch结构;
②default:
  当所有case语句均不满足时,执行default分支;
③switch内部的变量定义:
   C++不允许跨过变量的初始化语句直接跳转到变量作用域内的另一位置。
二、迭代语句
(一)while语句
while(condition)
 statement;
当while语句的condition条件满足时,执行statement。
注意:允许condition中声明定义变量,而且定义在条件部分或者循环体内的变量每次迭代都会经历从创建到销毁的过程。
(二)传统的for循环语句
for(init-statement;condition;expression)
 statement;
init-statement是for循环的初始化部分,通常用来设置循环控制变量的初始值;
condition是循环体的条件部分;
expression是for循环的增量部分。
三个部分都可以省略,当省略condition时,程序因为判断为真而现如死循环,除非遇到跳转语句。
(三)范围for语句
这种语句可以遍历容器或者其他序列的所有元素。语法:
for(declaration:expression)
  statement;
expression表示的必须是一个序列,比如用花括号括起来的初始值列表、数组或者vector或者string等类型的对象,这些类型的共同点是拥有能返回迭代器的begin和end成员。
注意:不能通过范围for向增加遍历对象的元素,这是因为范围for语句预存了遍历对象的尾元素的下一位置的值。
(四)do while语句
语法:
do
 statement;
while(condition);
注意:condition不能省,也不能是空语句
先执行statement,再判断condition,而且condition内不能定义变量。

猜你喜欢

转载自blog.csdn.net/ycwwl1993/article/details/89409494
今日推荐