二. 判断与循环
1. 比较数据值
关系运算符返回一个bool型数值.
可以使用关系运算符来比较任何基本类型或枚举类型的数值.
运用关系运算符比较变量和常量时,可以将常量写在运算符的左边,这样可以避免一些错误(特别是“==”运算符)。
2. if语句
else总是属于前面最近的、还没有对应else的if。
3. 逻辑运算符和表达式
对于&&运算符,如果其左边的操作数为false,则不再对其右操作数求值。
auto ivar_0 = 0;
auto ivar_1 =1;
auto ivar_2;
ivar_2 = ivar_0 && ++ivar_1;
结果:ivar_0 = 0;
ivar_1 = 1;
ivar_2 = 0;
对于 || 运算符,如果其左边的操作数为true,则不再对其右操作数求值。
4. 条件运算符 ?:
表达式1 ? 表达式2 : 表达式3
如果表达式1为真,则执行表达式2;
如果表达式1为假,则执行表达式3.
5. switch
switch(expression 1)
{
case c1:
break;
case c2:
break;
……
case cn:
break;
default:
break;
}
每个case表达式都必须是可以在编译期间计算的常量表达式,且相互不同整数值。
6. 无条件转移 goto
LABEL: cout << "HELLO WORLD!" << endl;
goto LABEL;
7. 循环
不同于C语言,for循环的初始化表达式可以包含循环变量的声明。
for(int i; i<10; i++);
循环数也可以使用浮点型。但是二进制的小数部分是利用多个
(12n)
的和来表示的。i.e.
(12)
、
(14)
、
(18)
…….
基于范围的for循环:
temperatures[] = {10,20,30,40,50};
for(auto temp : temperatures)
{
sum += temp;
}
temp指定了访问集合中每个值的变量;temperatures指定了集合。