84.3选择型程序设计 ★if语句(条件选择语旬) expr if语旬的三种形式 ●形式一: statement ◆格式:if( expression) statement ◆执行过程 if(x>y) printf(f%od>x) 非0 sIon expr statement1 statement1 statement2 statement2 ◆执行过程 if(>y)max-x else max-y
§4.3 选择型程序设计 «if语句(条件选择语句) vif语句的三种形式 l形式一: u格式:if (expression) statement u执行过程: expr statement 非0 =0 例:if (x>y) printf(“%d” ,x); expr statement1 statement2 l形式二: 非0 =0 u格式:if (expression) statement1 else statement2 u执行过程:例:if (x>y) max=x; else max=y;
if( expI statement l ●形式三 ◆格式 else if(expr2) statement2 else if(expr3) statement ◆执行过程: else statement I 例:if( salary>1000) index=0. 4 else if(salary>800) index=0.3 else if (salary>600) index=0. 2 else if (salary >400) index=0. 1 else index=0 statemnt1 statemnt2 statemnt3 statemntn
l形式三: u格式: if ( expr1 ) statement1 else if (expr2 ) statement2 else if (expr3 ) statement3 …... [ else statementn ] expr1 statemnt1 非0 =0 expr2 expr3 statemnt2 statemnt3 statemntn 非0 非0=0 =0 u执行过程: 例:if (salary>1000) index=0.4; else if (salary>800) index=0.3; else if (salary>600) index=0.2; else if (salary>400) index=0.1; else index=0;
●说明: ◆if后面的表达式类型任意 语句可以是复合语句 if(a==b&&x=y) printf(a=b, x=y") (3)printf( OK) 例考慮下面程序的输出结果 #include <stdio.h> maint i intx,y scan(%d9d”,&x&y); if(x>y) Xy, y-x, Compile error! else X++;y++; printf( %od, %d\n,,x,y)
如:if(a==b&&x==y) printf(“a=b,x=y”); if(3) printf(“OK”); if(‘a’) printf(“%d” , ’a’); l说明: uif后面的表达式类型任意 u语句可以是复合语句 u if(x) if(x!=0) if(!x) if(x==0) 例 考虑下面程序的输出结果: #include <stdio.h> main() { int x,y; scanf(“%d,%d” ,&x,&y); if(x>y) x=y; y=x; else x++; y++; printf(“%d,%d\n” ,x,y); } Compile Error!
例求一个数的绝对值国圈 ch4 1. c*/ #include <stdio. h> main Int x,y printf( Enter an integer scanf("%d", &x) if(y<0 printf("integer: %/d--->absolute value: %d\", x, y) 运行: Enter an integer:-12 integer: -12--->absolute value: 12
/*ch4_1.c*/ #include <stdio.h> main() { int x,y; printf("Enter an integer:"); scanf("%d" ,&x); y=x; if(y<0) y= -y; printf("\ninteger:%d--->absolute value:%d\n" ,x,y); } 例 求一个数的绝对值 运行:Enter an integer:-12 integer:-12--->absolute value :12
例输入两个数并判断两数相等否 C Cha 2 半Ch42.c* #include<stdio. h mainO int a b 运行: Enter integer a:12 printf( Enter integer a: Enter integer b: 12+ scanf(" %od", &a) a==b printf("Enter integer b: scanf("%/od", &b) 运行: Enter integer a:12 if(a==b) Enter integer b: 9 printf("a-bIn") else printf(al=bln
/*ch4_2.c*/ #include <stdio.h> main() { int a,b; printf("Enter integer a:"); scanf("%d" ,&a); printf("Enter integer b:"); scanf("%d" ,&b); if(a==b) printf("a==b\n"); else printf("a!=b\n"); } 例 输入两个数并判断两数相等否 运行:Enter integer a:12 Enter integer b:12 a==b 运行:Enter integer a:12 Enter integer b:9 a!=b