【和春笋一起学C++】if else语句
if else语句格式如下:
if(test-condition)
statement1;
else
statement2;
如果测试条件为true或非零,程序执行statement1,跳过statements,如果测试条件为false或0,则程序将跳过statement1,执行statement2。
注:C++不会自动将if和else之间的所有代码视为一个代码块,必须使用花括号将这些语句组成一个语句块。
因if else本身是一条语句,所以一个if else语句可以嵌套在另一个if else语句中,如:
if (ch == 'A')
{
a_grade++;
}
else
{
if (ch == 'B')
{
b_grade++;
}
else
{
soso++;
}
}
因C++是自由格式语言,C++允许将这些元素排列成便于阅读的格式:
if (ch == 'A')
{
a_grade++;
}
else if (ch == 'B')
{
b_grade++;
}
else
{
soso++;
}
看上去像一个新的控制结构:if else if else,但实际上它只是一个if else被包含在另一个if else中。修订后的格式更为清晰,使程序员通过浏览代码便能确定不同的选择,整个构造仍被视为一条语句。
条件操作符和错误防范
将表达式variable==value反转为value==variable,可以捕获将相等操作符误写为赋值操作符的错误。如:将条件输入为:
if(3 == myNumber)
是有效的,但如果将它错误的输入为:
if(3 = myNumber)
则编译器将生成错误消息。但如果此时将变量写在前面,如下:
if(myNumber = 3)
则编译能通过,不会报错,导致这种错误在排查时很难发现。