C语言程序设计基础(第三版)课件 4 选择结构程序设计_第1页
C语言程序设计基础(第三版)课件 4 选择结构程序设计_第2页
C语言程序设计基础(第三版)课件 4 选择结构程序设计_第3页
C语言程序设计基础(第三版)课件 4 选择结构程序设计_第4页
C语言程序设计基础(第三版)课件 4 选择结构程序设计_第5页
已阅读5页,还剩33页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

2025/7/14西南交通大学出版社童华主编4选择结构程序设计在大多数程序中都会包含选择结构选择结构的作用是根据所指定的条件判断实际的结果是否满足(真或假),再选择从给定的分支操作中执行2025/7/14西南交通大学出版社童华主编能力训练环节简单趣味程序演示:计算参赛总分在唱歌大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值2025/7/14西南交通大学出版社童华主编能力训练环节//趣味程序演示代码#include<stdio.h>intmain(void){ intinteger,i,max,min,sum; max=-32768;/*先假设当前的最大值max为C语言整型数的最小值*/ min=32767;/*先假设当前的最小值min为C语言整型数的最大值*/ sum=0;/*将求累加和变量的初值置为0*/system("title计算参赛总分——CProgram");//程序窗口上的标题for(i=1;i<=10;i++) { printf("Inputnumber%d=",i); scanf("%d",&integer);/*输入评委的评分*/ sum+=integer;/*计算总分*/ if(integer>max)max=integer;/*通过比较筛选出其中的最高分*/ if(integer<min)min=integer;/*通过比较筛选出其中的最低分*/ } printf("Canceledmaxscore:%d\nCanceledminscore:%d\n",max,min);printf("Averagescore:%d\n",(sum-max-min)/8);/*输出结果*/return0;}2025/7/14西南交通大学出版社童华主编能力训练环节趣味程序演示结果2025/7/14西南交通大学出版社童华主编任务4选择结构程序设计训练任务要求会在C语言集成环境下熟练编写和调试操作一般选择结构程序会熟练使用if语句、switch语句和break语句,实现各种单路分支、多路分支的实用选择结构算法2025/7/14西南交通大学出版社童华主编

必备知识环节阶段性子系统(子程序)引例:学生成绩管理可选菜单这是一个主要用switch语句构成的多分支选择结构程序,输出显示一个简单的学生成绩管理系统可选菜单2025/7/14西南交通大学出版社童华主编

必备知识环节#include<stdio.h>intmain(void){ floatstudent[10];/*定义表示学生成绩的数组*/ intn=10,menu=0;/*定义学生的人数n和菜单项变量menu*/ system("title学生成绩管理系统——

系统选择菜单CProgram");//程序窗口上的标题

{ printf("\n"); printf("学生成绩管理系统菜单\n"); printf("1.录入学生成绩\n"); printf("2.排序学生成绩\n"); printf("3.显示学生成绩\n"); printf("4.修改学生成绩\n"); printf("5.查询学生成绩\n"); printf("6.统计学生成绩\n"); printf("7.退出系统\n"); printf("请选择菜单:");

scanf("%d",&menu); switch(menu) { case1:;/*调用录入成绩函数*/ break; case2:;/*调用排序成绩函数*/ break; case3:;/*调用显示成绩函数*/ break; case4:;/*调用修改成绩函数*/ break; case5:;/*调用查询成绩函数*/ break; case6:;/*调用统计成绩函数*/ break; } } return0;}2025/7/14西南交通大学出版社童华主编

必备知识环节程序运行结果2025/7/14西南交通大学出版社童华主编4.1if语句4.1.1if基本形式4.1.2if-else形式4.1.3if-else-if形式2025/7/14西南交通大学出版社童华主编

4.1if语句if语句的一般形式如下:

if(表达式)语句1[else语句2]

“表达式”可以是:关系表达式、逻辑表达式,数值表达式语句1

和语句2可以是:简单语句、复合语句、另一个if语句2025/7/14西南交通大学出版社童华主编根据if语句的一般形式,if语句可以写成不同的形式最常用的有以下三种形式

4.1if语句2025/7/14西南交通大学出版社童华主编4.1.1if基本形式第一种if语句形式为基本形式:

if(表达式)语句简称为if形式如果“表达式”的值为真,则执行其后的语句,否则不执行该语句2025/7/14西南交通大学出版社童华主编例输入两个整数,输出其中的大数。思路分析:本例程序中,先定义一个装大数的变量maxmax=a;if(max<b)max=b;4.1.1if基本形式表达式语句2025/7/14西南交通大学出版社童华主编4.1.1if基本形式执行情况如下:Inputtwonumbers:↙56max=62025/7/14西南交通大学出版社童华主编4.1.2if-else形式第二种if语句形式为:

if(表达式)语句1else语句2简称为if-else形式如果表达式的值为真,则执行语句1,否则执行语句22025/7/14西南交通大学出版社童华主编例如:

if(x>y)printf("%d",x);elseprintf("%d",y);这种if-else形式语句的执行过程如下图所示4.1.2if-else形式2025/7/14西南交通大学出版社童华主编例4-2输入两个整数,输出其中的大数。思路分析: 在例4-1的基础上,改用if-else语句判别a、b的大小,不必定义装大数的变量maxif(a>b) printf("max=%d\n",a);else printf("max=%d\n",b);4.1.2if-else形式表达式语句1语句22025/7/14西南交通大学出版社童华主编4.1.2if-else形式执行情况如下:Inputtwonumbers:↙56max=62025/7/14西南交通大学出版社童华主编4.1.3if-else-if形式多个分支选择(多重选择)时,可采用第三种if语句形式,其一般形式为:

if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3

…elseif(表达式n)语句nelse语句n+12025/7/14西南交通大学出版社童华主编简称为if-else-if

形式依次判断表达式的值,当出现某个值为真时,则执行其对应的语句,然后跳到整个if语句之外继续执行程序如果所有的表达式均为假,则执行语句n+1,然后继续执行后续程序4.1.3if-else-if形式2025/7/14西南交通大学出版社童华主编if-else-if形式语句的执行过程见书示4.1.3if-else-if形式2025/7/14西南交通大学出版社童华主编例判别从键盘输入字符的类别。思路分析: 本例要求判别从键盘输入字符的类别 判别字符类型的基本原理主要是根据字符的ASCII码表作多重选择4.1.3if-else-if形式2025/7/14西南交通大学出版社童华主编4.1.3if-else-if形式2025/7/14西南交通大学出版社童华主编4.1.3if-else-if形式执行情况如下:Inputacharacter:a↙Thisisasmallletter.2025/7/14西南交通大学出版社童华主编4.2if语句的嵌套在if语句中又包含一个或多个if语句,则称为if语句的嵌套嵌套的if语句还可以嵌套另一个if语句,形成多重嵌套。if语句嵌套的一般形式如下

if(表达式)

if(表达式)语句1

else语句2else

if(表达式)语句3

else

语句4else总是与它上面最近的未配对的if配对

2025/7/14西南交通大学出版社童华主编例比较两个数的大小关系。思路分析: 设有两个整数a、b,因为要比较两个数的大小关系,实际上有三种可能的选择结果即a>b、a<b或a=b。 选用if语句的嵌套形式,进行多分支选择4.2if语句的嵌套2025/7/14西南交通大学出版社童华主编4.2if语句的嵌套执行情况如下:Pleaseinputa,b56a<b2025/7/14西南交通大学出版社童华主编4.3switch语句

C语言提供了switch语句直接处理多分支选择问题2025/7/14西南交通大学出版社童华主编它的一般形式如下:switch(表达式){case常量1:语句组1;[break;]case常量2:语句组2;[break;]

…case常量n:语句组n;[break;][default:语句组n+1;[break;]]}4.3switch语句2025/7/14西南交通大学出版社童华主编switch语句又称为开关语句,可用来实现如下图所示的多分支选择结构4.3switch语句2025/7/14西南交通大学出版社童华主编例输入月份,打印1999年该月有几天。思路分析:设month为switch后的开关表达式case后的各常量值1、3、5、7、8、10、12为语句“day=31;”的匹配入口标号case后的各常量值4、6、9、11为语句“day=30;”的匹配入口标号case后的常量值2为语句“day=28;”的匹配入口标号输入月份,打印1999年该月有几天的程序如下:4.3switch语句2025/7/14西南交通大学出版社童华主编4.3switch语句2025/7/14西南交通大学出版社童华主编4.3switch语句执行情况如下:Pleaseinputthemonthnumber:7↙1999.7has31days2025/7/14西南交通大学出版社童华主编例输入三个数a、b、c,要求按由小到大的顺序输出。解题思路:输入任意的a,b,c的值。t为两个数据交换时用的中间变量。ifa>b,a和b对换(a是小者)。ifa>c,a和c对换(a是最小者)。ifb>c,b和c对换(b次小者)。顺序输出a,b,c。4.4选择结构程序设计举例2025/7/14西南交通大学出版社童华主编4.4选择结构程

温馨提示

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

评论

0/150

提交评论