资源描述:
《C语言程序设计教程教学课件李淑华 第05讲 条件语句.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五讲条件语句4.1语句和复合语句4.2if语句4.3switch语句4.4应用举例第四章条件语句结构化程序的三种基本结构:顺序结构、选择分支结构和循环结构。顺序结构:是指每个程序都是按照语句的书写顺序依次执行的。选择分支结构:是指通过对特定条件的判断,来选择一个分支执行。循环结构:循环是指在给定条件下,重复执行某段程序,直到不满足条件为止。4.1语句和复合语句表达式语句:一个表达式的后面跟随一个分号构成的语句。如:x=x+a;说明:分号“;”是语句的终结符,而不是语句的分隔符即分号是语句的最末组成部分。复合语句:由左右花括号括起来的语句;形式:{说明部分;
2、语句部分}一个复合语句在语法上等同于一个语句,在程序中,凡是单个语句能够出现的地方,都可以出现复合语句。一个复合语句又可以出现在其他复合语句内部。在复合语句的后面必须有一个分号,做为该语句的终结符。4.2if语句If语句是条件选择语句,它是通过对给定条件的判断,来决定所要执行的操作。4.2.1if语句的三种形式If语句的第一种形式格式:if(表达式)〈语句〉功能:首先计算表达式的值,若表达式的值为“真”(为非0),则执行语句,若表达式的值为“假”(为0),不执行语句。例如:If(x>y)printf(“%d”,x);表达式语句假(0)真(非0)2.If语句的
3、第二种形式格式:if(表达式)〈语句1〉else〈语句2〉功能:首先计算表达式的值,若表达式的值为“真”(为非0)。则执行语句1,若表达式的值为“假”(为0),则执行语句2。例如:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);语句1表达式语句2真假3.If语句的第三种形式格式:if(表达式1)〈语句1〉elseif(表达式2)〈语句2〉elseif(表达式3)〈语句3〉┆elseif(表达式n)〈语句n〉else〈语句n+1〉功能:首先计算表达式的值,若第n个表达式的值为“真”(为非0),则执行语句n,若所有的表达式的值都
4、为“假”(为0),则执行语句n+1。其流程图如下:表达式1表达式2表达式3表达式4真真真真假假假假语句1语句2语句3语句4语句5例如:if(score>89)grade=‘5’;elseif(score>74)grade=‘4’;elseif(score>59)grade=‘3’;elsegrade=‘2’;说明:(1)if语句中的表达式可以是C语言的合法表达式。(2)第二种、第三种格式的if语句中,在每个else前面有一个分号,整个语句结束处也有一个分号。这是由于分号是C语句中不可缺少的部分,这个分号是if语句中的内嵌语句所要求的。(3)在if和else后
5、面可以只含有一个内嵌的操作语句,也可以含有多个操作语句,此时应用花括号“{}“将几个语句括起来,构成一个复合语句。例4.1将两个数中较大者赋给s。main(){inta,b,s;a=10;b=20;if(a>b)s=a;elses=b;printf(“s=%d”,s);}执行结果:s=20例4.2比较两个数,按由大到小输出。main(){inta,b,x,y;a=10;b=20;if(a>b){x=a;y=b;}else{x=b;y=a;}printf(“x=%d,y=%d”,x,y);}执行结果:x=20,y=104.2.2if语句的嵌套在if语句
6、中又包含一个或多个if语句,称为if语句的嵌套。一般形式如下:if()if()〈语句1〉else〈语句2〉elseif()〈语句3〉else〈语句4〉if()if()〈语句1〉elseif()〈语句2〉else〈语句3〉说明:(1)if与else的配对关系,从最内层开始,else总是与离它最近的未曾配对的if配对。(2)if与else的个数最好相同,从内层到外层一一对应,以避免出错。(3)如果if与else的个数不相同,可以用花括号来确定配对关系。例如:If(){if()〈语句1〉}else〈语句2〉这时{}限定了内嵌if语句的范围,因此else与第一个if
7、配对。内嵌if内嵌if内嵌if例4.3有一函数-1(x<0)y=0(x=0)1(x>0)编一程序,输入一个x值,输出y值。main(){intx,y;scanf(“%d”,&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf(“x=%d,y=%d”,x,y);}4.2.3条件运算符如果if语句的形式如下所示:if(表达式1)x=〈表达式2〉;elsex=〈表达式2〉;无论表达式1为“真”还是为“假”,都只执行一个赋值语句且给同一个变量赋值。可以利用条件运算符,将这种语句简单地用如下语句来表示。x=〈表达式1〉?〈表
8、达式2〉:〈表达式3〉;说明:即当表达式1的值为“真