易妖游戏网
您的当前位置:首页IF语句的三种形式课件

IF语句的三种形式课件

来源:易妖游戏网
4.1 if语句的三种形式

作用:根据所指定的条件是否满足,决定从给定的两组操作选择其中之一。 1、if语句的三种格式: 1)简化形式

if(表达式) 语句块

如: if(x>y) printf(“%d”,x);

2)一般形式

if (表达式)

语句块1 else 语句块2 例如:

if (x>y)

printf(“max=%d”,x); else

printf(“max=%d”,y);

3)嵌套形式

• •

含义:一条if语句重又包含另一个if语句称为if语句的嵌套. 格式: if( )

if( ) 语句块1 else 语句块2 else

if( ) 语句块3 else 语句块4

内嵌if 内嵌if

注:1、右缩进格式的书写 2、嵌套条件的含义

例如:

if (score>90)

printf(“very good”); else

if(score>80)

printf(“good”); else

if(score>60)

printf(“ok”); else

printf(“bad”);

4)if与else语句的配对关系

a、if语句中if与else的配对关系为else总是与它上面的最近的if配对.书写格式的缩进与否与它们之间的配对无关. 例如:

if ( )

if ( ) 语句块1 else

语句块2

这时的else配对的对象为内层的if,而不是外层的if. b、要实行强行的配对关系可以利用{ }。 如: if ( )

{ if ( ) 语句块1 } else 语句块2

2.使用要点

1) 语句块:

当有若干条语句时,必须用{…}括起来,当只有一条语句时,用“;”。如:

if(a>b)

{ x=1;

max=a; }

2)if 表达式:

if语句的表达式一般情况下为逻辑表达式或关系表达式。 如:if (a= =b && x= =y) printf (“a=b,x=y”);

也可以是任意类型(包括整型、实型、字符型、指针类型) 例如:if („a‟) printf ( “%d”, ‟a‟ );

if („3‟) printf ( “OK!” ); 注意:“非零”与“零”的用法

请区分if(x=1)与if(x= =1)的不同。 设a=3,b=5,x=4,试分析如下程序区别: if (a= =b) x=5; 和if (a=b) x=5;

3、综合举例

例exp4_1 输入两个数,按数值将其按大小顺序输出. #include void main( ) { float a,b,t;

scanf(“%f,%f”,&a,&b); if(a>b) {t=a;a=b;b=t;}

printf(“%5.2f,%5.2”,a,b); }

要点:交换两个数据的方法

例exp4_2 输入三个数按大小顺序输出. #include void main() { float a,b,c,t; if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;}

printf(“%5.2f,%5.2f,%5.2f”,a,b,c); }

例exp4_3 有一函数如下,编程输出X的值。

-1 (x<0) y= 0 (x=0) 1 (x>0)

#include

void main() { int x,y;

scanf(“%d”,&x); if (x<0) y=-1;

else if (x= =0) y=0; else y=1;

printf(“x=%d,y=%d\\n”,x,y); }

将上面的if语句改为: if(x>=0)

if(x>0) y=1; else y=0;

else y=-1;

将上述if语句改为: y=-1; if(x!=0)

if(x>0) y=1; else y=0;

将上述if语句改为: y=0; if(x>=0)

if(x>0) y=1; else y=-1;

讨论一下以上写法,哪些是错误的? 例exp4_3:写一程序判定某一年是否为闰年。

闰年的判定:某年能被4整除但不能被100整除或者能被4整除,又能被400整除.

例exp4_4:

#include main() { int year,leap;

scanf(“%d”,&year); 请同学们考虑程序有无 其它简化形式

if(year%4= =0)

{ if (year%100= =0)

{ if (year%400= =0) leap=1; else leap=0;} else leap=1;}

else leap=0;

if(leap) printf(“%dis”,year); else printf(“%d is not ”,year); printf(“a leap year\\n”);}

因篇幅问题不能全部显示,请点此查看更多更全内容