选择结构-002.ppt_第1页
选择结构-002.ppt_第2页
选择结构-002.ppt_第3页
选择结构-002.ppt_第4页
选择结构-002.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,拥有梦想只是一种智力 实现梦想才是一种能力,第4章 选择结构程序设计,第4章 选择结构程序设计,第4章 选择结构程序设计,提供了相应的流程控制语句。 、 等条件语句以及 等循环语句。还提供了两条辅助控制语句。,第4章 选择结构程序设计,第4章 选择结构程序设计,用 括起来的一组语句。 一般形式: 数据说明部分; 执行语句部分; 说明: “”后不加分号 语法上和单一语句相同 复合语句可嵌套,复合语句,第4章 选择结构程序设计,4.1 if 语句,4.1.1 if 语句的三种形式 第一种形式:if,if(表达式) 语句;,第4章 选择结构程序设计,#include void main() int

2、 a,b,max; printf(input two numbers:); scanf(%d%d, ,【例4.1】求两个数的最大者(一),第4章 选择结构程序设计,【例4.2】编程将输入的任意三个数升序排序。,#include void main() float a,b,c,t; printf(Please input three numbers:); scanf(%f,%f,%f, ,第4章 选择结构程序设计,if(表达式) 语句1; else 语句2;,第二种形式: if-else,第4章 选择结构程序设计,#include main() int a, b; printf(input tw

3、o numbers:); scanf(%d%d, ,【例4.3】求两个数的最大者(二),第4章 选择结构程序设计,【例4.4】编程求输入的任意三个整数中的最大值。,#include void main()int a,b,c,max; printf(Please input three numbers:); scanf(%d,%d,%d,第4章 选择结构程序设计,第三种形式: if-else if 形式 前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else if语句,其一般形式为:,if(表达式1) 语句1; else if(表达式2) 语句2; else if

4、(表达式3) 语句3; else if(表达式m) 语句m; else 语句n;,第4章 选择结构程序设计,第4章 选择结构程序设计,#includestdio.h main() char c; printf(input a character:); c=getchar(); if(c=0 ,【例4.5】编制程序,将用户输入的字符进行分类。,第4章 选择结构程序设计,几点说明,1)在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。 例如:,if(a=5) printf(%d,a); else

5、 printf(a=0);,第4章 选择结构程序设计,2)在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。 3)在if语句的三种形式中,语句可以为一个复合语句(用括起来的一组语句)。,if(ab) a+; b+; else a=0; b=10; ,第4章 选择结构程序设计,4.1.2 if语句的嵌套 在if语句中又包含if语句时,就构成了if 语句的嵌套。,if() if() if() 语句1; else 语句2; else 语句3 else 语句4;,注: 1)执行流程。 2)if与else的组合的原则:else 总是属于距它最近且还没有else的if。,第4章 选择结构

6、程序设计,if(表达式1) if(表达式2) 语句1; else 语句2;,第4章 选择结构程序设计,【例4.6】,#include void main() int a,b; printf(please input A,B:); scanf(%d%d, ,教材P100例5.3,第2章 数据类型、运算符与表达式,4.1.3 三项条件运算 ?: 一般格式:表达式1?表达式2:表达式3 是c语言中唯一的带三个操作数的运算。,三项条件表达式的运算过程:首先计算表达式1的值,如果为真(非零),则将表达式2的结果值作为该三项表达式的结果值;否则,将表达式3的结果值作为该三项表达式的结果值。,相当于以下if

7、语句: if(表达式1) 表达式2; else 表达式3;,第2章 数据类型、运算符与表达式,例 ab?printf(“%d”,a): printf(“%d”,b); (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a x0,表达式值为a xy?1:1.5 /xy ,值为1.0; x=y ,值为1.5,第2章 数据类型、运算符与表达式,注:1)三项条件表达式允许嵌套。 例如:y=x0?1:(x0?-1:0),ab?a:cd?c:d 相当于,2)三项条件表达式从功能上相当于一个简单的条件语句。,ab?a:(cd?c:d) 当a=1,b=2,c=3,d=4时,该三项条件表达

8、式的值等于 。,4,第4章 选择结构程序设计,#include main() int a, b; printf(input two numbers:); scanf(%d%d, ,【例4.7】求两个数的最大者(三),#include main() int a, b,max; printf(input two numbers:); scanf(%d%d, ,#include main() int a, b; printf(input two numbers:); scanf(%d%d, ,第4章 选择结构程序设计,4.2 switch语句,switch(表达式) case 常量1: 语句组1;

9、break; case 常量2: 语句组2; break; case 常量3: 语句组3; break; case 常量n: 语句组n; break; default: 语句组; ,执行流程是:首先计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句。如果后面有break语句,则退出switch语句,否则继续执行后面case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句(如果有的话)。,第4章 选择结构程序设计,几点说明:,1)在case后的各常量表达式的值不能相同,否则会出现错误。 2)在cas

10、e后,允许有多个语句,可以不用括起来。 3)各case和default子句的先后顺序可以变动,而不会影响程序执行结果。 4) default子句可以省略不用。 5)多个case可以共享同一语句组。,第4章 选择结构程序设计,#include main() int a; printf(input integer number:); scanf(%d, ,第4章 选择结构程序设计,#include main() int a; printf(input integer number:); scanf(%d, ,第4章 选择结构程序设计,#include void main() float a,b;

11、char c; printf(input expression: a+(-,*,/)b n); scanf(%f%c%f, ,例题讲解 1、计算器程序。用户输入运算数和四则运算符,输出计算结果。,第4章 选择结构程序设计,2、编制程序,从键盘上输入一个百分制成绩score,按下列原则输出其等级:score90,等级为A;80score90,等级为B;70score80,等级为C;60score70,等级为D;score60,等级为E。,例题讲解,第4章 选择结构程序设计,#include main() int score, grade; printf(“Input a score(0100): ”); scanf(“%d”, ,第4章 选择结构程序设计,case 5: case 4: case 3: case 2: case 1: case 0: printf(“grade=En”); break; default: printf(“The score is out of range!n”); ,第4章 选择结构程序设计,3、编制程序,输入年、月,输出该年该月有几天。,main() int year,m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论