C语言程序设计教程 李淑华 第05讲 条件语句新.ppt
文本预览下载声明
第五讲 条件语句 4.1 语句和复合语句 4.2 if语句 4.3 switch语句 4.4 应用举例 第四章 条件语句 结构化程序的三种基本结构:顺序结构、选择分支结构和循环结构。 顺序结构:是指每个程序都是按照语句的书写顺序依次执行的。 选择分支结构:是指通过对特定条件的判断,来选择一个分支执行。 循环结构:循环是指在给定条件下,重复执行某段程序,直到不满足条件为止。 4.1 语句和复合语句 表达式语句:一个表达式的后面跟随一个分号构成的语句。 如:x=x+a; 说明:分号“;”是语句的终结符,而不是语句的分隔符即分号是语句的最末组成部分。 复合语句:由左右花括号括起来的语句; 形式:{说明部分;语句部分} 一个复合语句在语法上等同于一个语句,在程序中,凡是单个语句能够出现的地方,都可以出现复合语句。一个复合语句又可以出现在其他复合语句内部。 在复合语句的后面必须有一个分号,做为该语句的终结符。 4.2 if语句 If语句是条件选择语句,它是通过对给定条件的判断,来决定所要执行的操作。 4.2.1 if语句的三种形式 If语句的第一种形式 格式:if(表达式)〈语句〉 功能:首先计算表达式的值,若表达式的值 为“真”(为非0),则执行语句,若表达 式的值为“假”(为0),不执行语句。 2. If语句的第二种形式 格式:if(表达式) 〈语句1〉 else 〈语句2〉 功能:首先计算表达式的值, 若表达式的值为“真”(为非0)。 则执行语句1,若表达式的值为 “假”(为0),则执行语句2。 3. If语句的第三种形式 格式: if(表达式1) 〈语句1〉 else if(表达式2) 〈语句2〉 else if(表达式3) 〈语句3〉 ┆ else if(表达式n) 〈语句n〉 else 〈语句n+1〉 功能:首先计算表达式的值,若第n个表达式的值为“真”(为非0),则执行语句n,若所有的表达式的值都为“假”(为0),则执行语句n+1。其流程图如下: 例如: if(score89) grade=‘5’; else if(score74) grade=‘4’; else if(score59) 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(ab) 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 (ab) {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 有一函数 4.2.3
显示全部