c语言教学教案(8)

2019-02-26 10:53

else if(score>59) grade=‘3’; else grade=‘2’; 说明:

(1)if语句中的表达式可以是C语言的合法表达式。

(2)第二种、第三种格式的if语句中,在每个else前面有一个分号,整个语句结束处也有一个分号。这是由于分号是C语句中不可缺少的部分,这个分号是if语句中的内嵌语句所要求的。

(3)在if和else后面可以只含有一个内嵌的操作语句,也可以含有多个操作语句,此时应用花括号“{ }“将几个语句括起来,构成一个复合语句。

例4.1 将两个数中较大者赋给 s。 main() { int a,b,s; a=10;b=20; if(a>b) s=a; else s=b;

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

执行结果: s=20

例4.2 比较两个数,按由大到小输出。

main( ) {

int a,b,x,y; a = 10; b = 20;

if (a>b) {x=a;y=b;} else {x=b;y=a;}

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

执行结果: x=20,y=10 4.2.2 if语句的嵌套

在if 语句中又包含一个或多个if语句,称为if语句的嵌套。一般形式如下: if( )

if( ) 〈语句1〉 else 〈语句2〉 else

if( ) 〈语句3〉 else 〈语句4〉 if( )

if( ) 〈语句1〉

else

if( ) 〈语句2〉 else 〈语句3〉 说明:

(1)if与else的配对关系,从最内层开始,else总是与离它最近的未曾配对的if配对。

(2)if与else的个数最好相同,从内层到外层一一对应,以避免出错。

(3)如果if与else的个数不相同,可以用花括号来确定配对关系。例如: If ( )

{if( )〈语句1〉} else

〈语句2〉

这时{ }限定了内嵌if 语句的范围,因此else与第一个if配对。 例4.3 有一函数

编一程序,输入一个x值,输出y 值。 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);} 4.2.3 条件运算符

如果if语句的形式如下所示: if(表达式1) x=〈表达式2〉; else

x=〈表达式2〉;

无论表达式1为“真”还是为“假”,都只执行一个赋值语句且给同一个变量赋值。

可以利用条件运算符,将这种语句简单地用如下语句来表示。 x=〈表达式1〉?〈表达式2〉:〈表达式3〉;

说明:即当表达式1的值为“真”时,将表达式2的值赋给变量x;当表达式1的值为“假”时,将表达式3的值赋给变量x。 如:

a=5,b=10,c=20; x=a>b? c*b:c/b;

因为a>b为假,则x=c/b=2。

例4.4 输入两个数,并将其中较大者显示出来。 #include “stdio.h”

main( ) { int a,b,max;

scanf(“%d%d”,&a,&b); max=(a>b)? a:b;

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

条件运算符也可以嵌套使用,如:

Grade=(score>=90)?’A’:(score<=70)?’C’:’B’当score>=90时,将字符‘A’赋给变量grade; 当score<=70时,将字符‘C’赋给变量grade; 否则将字符‘B’赋给变量grade. 4.3 switch语句

Switch语句是多分支选择语句,其一般形式如下:Switch(表达式) {

case 〈常量表达式1〉:〈语句1〉 case 〈常量表达式2〉:〈语句2〉 ┆

case 〈常量表达式n〉:〈语句n〉 default:〈语句n+1〉 }

;


c语言教学教案(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:嵌入式实验指导书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: