◆形式三: 格式:if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 ◆执行过程: else 语句n 例:if( number>>1000 cost=0.4 else if(number>800) cost=0.3 else if(number>600) cost=0.2 else if(number>400) cost-=0.1 else cost=0
形式三: • 格式: if (表达式1 ) 语句1 else if ( 表达式2 ) 语句2 else if (表达式3 ) 语句3 …... [ else 语句n ] 表达式1 语句1 非0 =0 表达式2 表达式3 语句2 语句3 语句n 非0 非0 =0 =0 ◆执行过程: 例:if ( number>1000) cost=0.4; else if (number>800) cost=0.3; else if (number>600) cost=0.2; else if (number>400) cost=0.1; else cost=0;
●说明 ◆if后面的表达式类型任意 if(x if(xI=0. 如:afb&或=p(“a=bxy):x=5 ◆语旬可以是复合语旬 (%d”,3X=5”) fC%d?2, x!=5) 例考虑下面程序的输出结果 #include <stdio.h> rinf((%dx=5”) main e printf((%od,x=5”) i int x y, z scanf(%d,%d'", &x, &y),x)printfloodi if(xy) Compile error x=0)printf(%dx1=5") X++;y++; printf("%d32Xx=5”) printf( %d, %odn",x,y)
例如: x=5; if (x) printf(“%d”,”x =5”); else printf(“%d”,”x!=5”); if( x!=0) printf(“%d”,”x=5”); else printf(“%d”,”x!=5”); if(!x) printf(“%d”,”x !=5”); else printf(“%d”,”x=5”); if(x==0) printf(“%d”,”x !=5“); else printf(“%d”,”x=5” ); 如:if(a==b&&x==y) printf(“a=b,x=y”); if(3) printf(“OK”); if(‘a’) printf(“%d”,’a’); ⚫说明: ◆if后面的表达式类型任意 ◆ if(x) if(x!=0) if(!x) if(x= =0) Compile Error! 例 考虑下面程序的输出结果: #include <stdio.h> main() { int x,y,z; scanf(“%d,%d”,&x,&y); if(x>y) z=x; x=y; y=z; else x++; y++; printf(“%d,%d\n”,x,y); } ◆语句可以是复合语句