第3章 分支结构程序设计_第1页
第3章 分支结构程序设计_第2页
第3章 分支结构程序设计_第3页
第3章 分支结构程序设计_第4页
第3章 分支结构程序设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章,信息学院计算机基础组,分支结构程序设计,1.条件分支if语句 ifelse If ifelse if三种形式。 2.开关分支switch语句,本章主要内容:,3.1 引例,例3-1 有一个函数,定义如下:,程序代码如下: include void main() float x,y; printf(“Please input x:”); scanf(“%f”, /*输出函数值*/ ,3.1 引例,例3-2 输入三角形的三条边长,求三角形面积。,程序代码如下: #include #include void main() float a,b,c,s,area; printf(”请输入三角形的

2、三条边 a,b,c:); scanf(%f,%f,%f, /*判断能否构成三角形*/ if(a0 area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%7.2f b=%7.2f c=%7.2fn,a,b,c); printf(s=%7.2f area=%7.4fn,s,area); else /*条件不成立,输出相关信息*/ printf(此三条边不能构成三角形!n); ,3.2关系运算和逻辑运算,3.2.1 关系运算,3.2.2 逻辑运算,3.3 if 语句,3.3.1 ifelse形式,Ifelse分支结构一般形式为: if(表达式) 语句1; else 语句2

3、;,执行过程为:先计算表达式的值,若表达式结果为“真”,则执行语句1;否则(表达式为“假”),执行语句2。,例3-3 输入一个整数,判断该数是奇数还是偶数。,程序代码如下: #include void main() int x ; printf(“请输入:”) scanf(“%d”, ,3.3.1 ifelse形式,例3-4 输入两个整数, 将较大的数输出。,程序代码如下: #include void main() int a,b; printf(“n Please input a,b:”); scanf(“%d,%d”, ,3.3.1 ifelse形式,运行结果: Please input

4、a、b: 100,99 max=100,例3-5 输入两个数,按数值由小到大的次序输出这两个数。,程序代码如下: #include void main() float a,b,t; scanf(“%f,%f ”, ,3.3.1 ifelse形式,3.3 if 语句,3.3.2 if形式,If分支结构一般形式为: if(表达式) 语句1;,执行过程为:先计算表达式的值,若表达式结果为“真”,则执行语句1;否则什么都不做,跳过语句1。,例3-6 输入一个字符,判断该字符是否为英文字母。,程序代码如下: #include void main() char ch; printf(“n Please i

5、nput ch :”); scanf(“%c”, ,3.3.2 if形式,运行结果: Please input ch :m Yes!,例3-7 若输入一个整数是非零数,则显示“OK!”,否则什么也不显示。,程序代码如下: #include void main() int a; printf(“n Please input a :”); scanf(“%d”, ,3.3.2 if形式,练习3-3:判断输入的数据是否介于0 和100 之间。如果该数不在此范围内,输出“Error score!”。如果该数在此范围内,不输出。,在Ifelse分支语句中还包括另外的其它if语句,则称为嵌套的if语句。其

6、结构形式为:,3.3.3 if语句的嵌套,if(表达式1) if(表达式2)语句1; else 语句2; else if(表达式3)语句3; else 语句4;,例3-8 任意输入三个整数,求其中最大的数。,3.3.3 if语句的嵌套,例3-8 任意输入三个整数,求其中最大的数。,3.3.3 if语句的嵌套,程序代码如下: #include void main() int x,y,z,max; printf(“n Please input x,y,z :”); scanf(“%d %d %d”, ,例3-9 写程序,输入某年的年份,判断此年是否闰年。,3.3.3 if语句的嵌套,#includ

7、e void main() int year,flag; printf(“n 请输入年份 :”); scanf(%d, ,例3-10 有一个函数,定义如下:,3.3.3 if语句的嵌套,程序代码如下: #include void main() float x,y ; scanf(“%f”, ,3.3.3 if语句的嵌套,注意: 1.else子句不能作为语句单独使用,它必须与if配对使用。 2.为使程序结构清晰、层次分明,常常采用程序行缩进的书写格式,if 和其对应的else写在一列上。但,书写格式不能代替逻辑结构。 3.if 和 else 的配对关系。一个 else 总是与其上面距它最近的,并

8、且没有其它 else 与其配对的 if 相配对。,if(表达式1) if(表达式2)语句1; else if(表达式3)语句3; else 语句4;,if(表达式1) if(表达式2)语句1; else ; else if(表达式3)语句3; else 语句4;,3.3.4 ifelse if形式,Ifelse if分支结构一般形式为: if(表达式1)语句1; else if(表达式2)语句2; else if(表达式n-1)语句n-1; else 语句n;,执行过程是:先判断表达式1如果为“真”,则执行语句1,然后退出该if结构;否则(表达式1为“假”)再判断表达式2 ,若成立,则执行语句

9、2,然后退出该if结构;,3.3.4 ifelse if形式,例3-11 输入三角形的三条边长,判断它们能否构成三角形。若能,再判断是何种三角形(等腰三角形、等边三角形、一般三角形)。,#include #include void main() float a,b,c; scanf(%f,%f,%f, ,3.3.4 ifelse if形式,例3-12 学生成绩分A、B、C、D、E 五等。任输入一个百分制成绩,判断它属于哪一等,其中分数在90100分为A,8089分为B,7079分为C,6069分为D,059分为E,其他数据显示出错信息。,#include void main() float s

10、core; printf(nEnter a score :); scanf(%f, ,3.3.5 条件运算符及条件表达式,if (xy) max=x; else max=y;,max=(xy)?x : y;,条件表达式的一般形式为 : 表达式1?表达式2:表达式3,说明: 1.条件运算符由?和:组成,唯一三目运算符,运算级为13。 2.执行顺序:先求表达式1,若为真(非0),以表达式2的值作为整个条件表达式的值,否则,以表达式3的值作为整个条件表达式的值。 3.条件运算符优先于赋值运算符,3.4 switch 语句,switch 分支语句一般形式为: switch(表达式e) case 常量表

11、达式c1:语句1;break; case 常量表达式c2:语句2;break; case 常量表达式cn:语句n;break; default: 语句n+1;break; ,3.4 switch 语句,例3-13 观察程序执行过程。,void main() int x; scanf(“%d”, ,3.4 switch 语句,例3-13 观察程序执行过程。,说明: 1.switch后面括号内的表达式可以是整型、字符型或枚举类型。 2.当表达式的值与某一个case后面的常量表达式值相等时,就执行此case后面的语句;若所有case后面的值没有与之相匹配的,就执行default后面的语句。 3.各个case的出现次序不影响执行结果。 4.多个case可以共用一组执行语句。 5.break语句使控制退出switch结构。,3.4 switch 语句,例3-14 上节中的例3-12重新使用switch语句来完成。,include void main

温馨提示

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

评论

0/150

提交评论