循环结构 假 当P为真 ●当型循环结构 A 真 A ●直到型循环结构 A A 假 直到P为真 真 注:A,B,A1.A可以是一个简单语句,也可以是一个基本结构
v循环结构 l当型循环结构 l直到型循环结构 P A 假 真 当P为真 A A P 真 假 A 直到P为真 注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构
S4,3选择型程序设计 ★f语句(条件选择语句) =0 expr f语句的三种形式 非0 ●形式一: statement ◆格式:if(expression) statement ◆执行过程: 例:if(x>y) printf 非0 =0 expr statementl else statementl statement2 statement2 ◆执行过程: 例: if (x>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 expr1 statementl ●形式三: ◆格式: else if (expr2 statement2 else if (expr3 statement3 ◆执行过程: 。. [else statementn =0 例:if(salary>l000) 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; statemntl 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后面的表达式类型任意 ◆语句可以是复合语句 :ifa==b&:&x=y) printf(“a=b,xy'); if3)printf(OK."); 例考虑下面程序的输出结果 #include <stdio.h> main( int xy; scanf(d,%d",&x&y); if(x>y) {x-y;y=x;} Compile Error! else {x+;y+;} printf(%d,%dn”,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!
例求一个数的绝对值 /*ch41.c*/ #include <stdio.h> main( int x,y, printf("Enter an integer:") scanf("%d",&x); y-X; if(y0) y=-y; printf("\ninteger:%d->absolute value:%d n",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