选择
if:
1:if的简单用法: 格式: if(表达式)
语句;
若表达式真则执行语句,若假则不执行
2:if的范围问题:默认只能控制一个语句是否执行 if(表达式)
语句A;语句B;
此时只控制A 语句,语句B无限制下一定执行。若用{}将多个语句包括在内,则可以控制多个语句,如{
printf(A);
printf(B);}.
3:if...else...的用法:if(表达式)
语句A ;
else
语句B;
若表达式真则执行语句A,若为假则执行B语句,
else的控制范围同if。
4:if...else... if...else...的用法:
if(1)
A;
else if(2)
B;
else if (3)
C;
else
D;
若1成立执行A,1不成立2成立执行B,12不成立3成立执行C,以此类推
6:if的举例--求分数等级(p57)
7:if的常见错误(p63)
空语句错误如 if();
语句A;
else 语句B;
此时将执行一个if后的空语句,else语句此时无法与if相匹配,发生错误。
Switch:
printf(“请输入您要进入的楼层”);
scanf("%d",&val);
switch(val) Switch(表达式)
{ { case常量表达式1:语句1;
case 1: case常量表达式2:语句2;
printf("1层开"); case常量表达式n: 语句n;
break; default : 语句n+1;}
case 2:
printf("2层开"); swtich后表达式可以是任意类型,在vc++中只能是int和char
break; case后为标签,只能是枚举常量、数值常量、字符常量、
default: 常变量、宏变量。不能是普通变量、枚举变量。
printf("没有盖到这一层");
break;}
switch将输入的值按顺序与case匹配,若匹配成功则进入内部按顺序执行语句,break中断语句。若上程序输入1,去除所有break,则将执行所有的语句。default表达默认的意思,即上述程序若输入12外的值,则默认执行default后的语句。
注意:若switch不在for或while中,不能出现continue。