(1)if语句:
1)bool类型的判断:if(flag)/if(!flag);
整数类型的判断:if(value==0)/if(value!=0)/if(value>=0);
浮点数类型的判断:if(x>=0)/if(x<0),不应该讲”!=”/”==”用作浮点数的比较;
指针变量的判断:if(p==NULL)/if(p!=NULL)
2)写程序的时候要特别注意:if条件表达式中的变量在其语句块中的改变,例如:
if(a>3)
a=2; //这时a的值已经改变了,就会影响接 下来一条语句 的判断
if(a<=3)
a=1;
3)io类型可以用作if条件表达式,但是string类型和容器类型不能用于if条件表达式。
(2)switch语句:
1)switch中的表达式必须是一个整型表达式,{}后面不加分号;
2)case标号的值是一个常量表达式;
3)如果表达式与其中一个标号匹配,则程序将从该标号开始依次执行各个语句直到遇到break语句或者switch结束;
4)一个标号不能独立存在,必须位于语句之前,所以如果switch语句以default标号结束且不需要完成任何任务,那么该标号后面必须有一个空语句;
5)switch语句中两个标号不能具有相同的值,否则会发生编译错误;
6)switch结构只能在它最后一个标号后面定义变量,如果需要为特殊的case标号定义变量,必须在语句块中定义;
7)default关键词一般放在switch语句的最后面,但是也有可能放在case语句之前。
当default关键词放在最后的时候,如果没有case与条件匹配,则会执行default 中的表达式,如果有case与条件匹配,但是没有break中止的情况下,也会执行 default表达式。当default关键字放在中间的时候,编译器先验证所有case是否与条件符合,如果有与条件符合的情况下,则按照正常顺序执行下去,如果没有与case相符合的话,就执行default语句以及其后面的语句,直到遇到break或者结尾终止。
(3)while语句:
1)while语句与do while语句执行次序不一样,do while语句第一次肯定执行;
2)与while语句不同,do while语句总是以分号结束;
(4)for语句:
1)for语句的三个部分必须以分号隔开,缺省情况下也需要加上分号;
2)for语句由初始化语句、循环条件语句、表达式语句组成,初始化语句可以定义多个对象,但是每个对象必须具有相同的类型;