1 / 14

第 4 讲 分支结构控制语句

第 4 讲 分支结构控制语句. 计算机与通信工程学院. 第 4 讲 分支结构控制语句. 本讲主要内容: 一、 if 语句 二、 switch 语句. 学习目的与要求: —— 掌握 if 语句的三种形式( if,if-else,if-else if ) 及其执行过程; —— 掌握 if 语句嵌套概念; —— 掌握条件运算; —— 掌握多路分支 switch 语句的格式及其执行过程。 学习重点: if 语句和 switch 语句的格式及其执行过程。 学习难点: if 语句的嵌套; switch 语句的执行过程。. 0.

Download Presentation

第 4 讲 分支结构控制语句

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第4讲 分支结构控制语句 计算机与通信工程学院

  2. 第4讲 分支结构控制语句 本讲主要内容: 一、if语句 二、switch语句 学习目的与要求: ——掌握if语句的三种形式(if,if-else,if-else if) 及其执行过程; ——掌握if语句嵌套概念; ——掌握条件运算; ——掌握多路分支switch语句的格式及其执行过程。 学习重点:if语句和switch语句的格式及其执行过程。 学习难点:if语句的嵌套;switch语句的执行过程。

  3. 0 表达式 非0 语句组 0 表达式 非0 语句组2 语句组1 一、if 语句 if(表达式) {语句组1} else {语句组2} 1.if 语句的一般形式 语句格式: 语句格式: 执行过程: 如果表达式的值为非0, 则执行{语句组1},然后执行紧 接{语句组2}之后的语句;否则,就跳过{语句组1}而执 行{语句组2},然后继续向下执行。 一般if语句的逻辑结构 举例 2.if语句的简单形式 if(表达式) {语句组} 执行过程: 若表达式的值非0(即真), 则执行{语句组},然后继续 执行if语句的下一个语句;否则,不执行{语句组},而 直接执行{语句组}之下的语句。 简单if语句逻辑结构 举例

  4. if(表达式1) {if(表达式2) {语句组1} else {语句组2} } else {语句组3} if(表达式1) {语句组1} else {if(表达式2) {语句组2} else {语句组3} } 一、if 语句(续) 3. if 语句的嵌套结构 语句格式: if(表达式) {语句组1} else {语句组2} 嵌套 举例 if(表达式1) {if(表达式2) {语句组1} else {语句组2} } else {if(表达式3) {语句组3} else {语句组4} } 4. if-else-if结构 else与if 的配对 规则:

  5. if 语句的一般形式举例 例4-4:输入一个整数,判断它的奇偶性。 main() { int n; printf("Input a number:"); scanf("%d",&n); if (n%2==0) printf("The number is even.\n"); else printf("The number is odd.\n"); } main() { int x , y; printf("input x,y: "); scanf("%d,%d",&x,&y); if(x>y) printf("MAX=%d\n",x); else printf("MAX=%d\n",y); } 例4-2:用if一般形式编写求两个整数的最大数程序。 返回

  6. if 语句的简单形式举例 例4-1:输入一个整数x,若是正数,则输出它。 main() { int x,y,max; printf("input x,y: "); scanf("%d,%d",&x,&y); max=x; if(y>x) max=y; printf("MAX=%d\n",max); } main() { int x; printf("input x: "); scanf("%d",&x); if(x>0) printf("%d\n",x); } 例4-2:用if简单形式编写求两个整数的最大数程序。 返回

  7. if语句嵌套示例程序 main() { float x,y; printf("Input a real number: "); scanf("%f",&x); if (x>=0.0) { y=x*x; if (y>500.0) printf("%f\n",y); else printf("%f\n",500.0); } else printf("%f\n",x); } 例4-6:对实数x ,若其不小于0,则求它的平方数y ,当y 大于500时输出y ,否则输出500;若x < 0,则输出x。 返回

  8. if嵌套结构中else与if的配对规则: C语言规定:在else语句无明确配对结构时,else语句与 最近的一个尚未配对的if语句配对。 程序段一: if (x>20||x<-10) {   if(y<=100&&y>x)   printf("Good"); } else printf("Bad"); 程序段二: if (x>20||x<-10) if (y<=100&&y>x)     printf("Good"); else printf("Bad"); 返回

  9. 0 表达式1 非0 0 表达式2 非0 0 表达式3 非0 0 表达式4 非0 语句组1 语句组2 语句组3 语句组4 语句组5 具体执行过程如下: 从上到下逐个对条件进行判断, 一旦发现条件 满足就执行与它有关的语句组,其下的所有条 件都不再判断;当任何一个条件都不满足时, 执行最后一个{语句组n+1}。 4. if-else if结构 一般格式: if(表达式1) {语句组1} else if(表达式2) {语句组2} …… else if(表达式n) {语句组n} else {语句组n+1} 举例 返回 if-else if语句的逻辑结构

  10. if-else if结构举例 main() { float x,y; scanf("%f",&x); if (x>0) y=5.0*x+8.0; else if (x==0) y=36.0; else y=1.5*x-26; printf("y=%f\n",y); } 例4-7:计算y的值。 返回

  11. 一、if 语句(续) if(条件表达式1) {结果表达式2} else {结果表达式3} 条件运算是C语言中惟一的一个三目运算, 运算符由“?”和“:”构成。 相当于 5. 条件运算 条件运算的一般形式为: 条件表达式1 ? 结果表达式2 : 结果表达式3 结果:当条件表达式1非0时,取表达式2为条件运算结果; 当条件表达式1为0时,取表达式3为条件运算结果。 优先级:高于赋值运算,而低于算术运算和关系运算。 举例: y=5 ? 19+6 : 21 y=25 y=x>0?x+25:x-25; 返回

  12. 二、switch 语句 switch(表达式) { case 常量1: 语句组1 case 常量2: 语句组2 ┇ case 常量n:      语句组n default: 语句组n+1 } 1.语句的一般格式 2.执行过程 首先计算switch表达式的值,然后与各个case的“常量”进行比较,若相等,则从其下的语句组开始,依次向下执行各语句组的语句,直至遇到一个强制中断语句break或执行完最后一个语句组语句为止。当所有case都不符合要求时,执行default下的语句组语句。 举例 返回

  13. main() {int i; scanf("%d",&i); switch(i) {case 0: printf("zero "); case 1: printf("one "); break; case 2: printf("two "); case 3: printf("three "); default: printf("other "); } switch语句举例 例4-8:输入0,1,2,3,4时,显示对应的zero,one,two,three,four;若输入的是其他字符,显示other。 注意break语句 的使用! 返回

  14. 分支结构控制语句-小结 • 1.实现分支结构的控制语句主要有if语句、switch语句。if语句通常有if、if else、if-else if三种形式。 • 2.if语句任何一种if语句的语句体中都可以出现其他的if结构,这种结构称为if语句的嵌套结构。在理论上if嵌套的层数没有限制,但当嵌套层数较多时,容易使程序在逻辑上变得不清晰。 • 3.switch语句专门用于多路分支选择,适用于if –else if式的结构,而且更清晰。程序总是试图从满足条件的第一个case子句开始执行其后的所有语句,而不再对其后的case进行判断。因此,通常使用break语句中断switch语句的运行。 作业:教材4.4, 4.6

More Related