循环分支结构:
1-if-else分支结构
if,if-else,都是判断语句,应用形式为if(条件) { 语句};else{语句},if判断后输出的值为bool值,且只有当小括号内的bool值为true的时候才会输出后面花括号的值,逻辑关系上来讲也就是说只有你上一个分支的值为true时,下一个分支才会被执行,否则就会去执行另一个分支,
例程序:int main()
{
int age;
scanf("%d",&age);
if(age<=20){
printf(“这么年轻还有什么理由不去奋斗”);}
else{
printf(“都到了负责任的年龄了,还不去奋斗?”);}
return 0;
}
在上面的例程序中,使用了if-else语句去判断年龄,并在对应的范围年龄输出了语句。虽然有些地方还有缺陷,例如万一age用的是int类型,万一用户输的是float类型就输出不了了。
1.2switch-case语句
switch-case和if-case语句都是判断语句,但是switch-case语句多用于判断值,而if-else语句多用于判断范围,
switch-case(表达式的值){
case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break;
…
case 常量表达式n: 语句n; break;
default : 语句3; break;}
switch -case语句每一个分支结束后,都需使用break语句跳出循环分支,否则程序就陷在循环里出不来了,每一个分支后都要带一个break。
例程序switch-case语句查询商品价格
int main(){
double x,y,z;
int i,n,choice;
n=3;
for(i=1;i<=n;i++){
printf("[1]Select crisps");
printf("[2]Select cola");
printf("[3]Select popcorn");
scanf("%d",&choice);
x=3.5;
swtich(choice){
case 1 : printf(“x=%.2lf\n”,x);break;
case 2 :printf(“y=%.2lf\n”,y);break;
case 3 :printf(“z=%.2lf\n”,z);break;
default :printf(“unknown operater\n”);break;
return 0;}
例程序中是一个很简单的选商品的程序,switch中用一个choice来判断用户所选的商品,并对应的输出价格,然后break,跳出程序。
2.小总结
if-else语句和switch-case语句用来进行判断,if-else语句常用来判断范围,而switch-case语句常用来判断值,switch能判断的if一定能判断,switch属于式if的优化算法,所以swtich能判断的if都能,但是if能判断的switch不一定能判断。