《C语言》课程教学课件(PPT讲稿)第四章 选择结构程序设计

第4章选择结构程序设计 第一课: 教学内容 学习选择结构程序设计方法, if-else语 句 教学目标: 掌握选择结构程序的流程图的画法,并 会用 if-else语句实现C语言程序 教学重点: i语句中ilse的匹配关系,i语句的 嵌套
第4章 选择结构程序设计 第一课: 一、教学内容: 学习选择结构程序设计方法,if—else语 句。 二、教学目标: 掌握选择结构程序的流程图的画法,并 会用if—else语句实现C语言程序。 三、教学重点: if语句中if—else的匹配关系,if语句的 嵌套

(一)i语句 1、i语句的简单形式 f(表达式) 语句 2、i语句的标准形式 f(表达式 句1 else 语句2 句的执行过程:先判断或计算表达式的值,若结果为 “真”(非0),则执行语句1,否则执行语句2
1、if语句的简单形式 if(表达式) 语句 2、if语句的标准形式 if(表达式) 语句1 else 语句2 语句的执行过程:先判断或计算表达式的值,若结果为 “真”(非0),则执行语句1,否则执行语句2。 (一) if语句

输入任意三个整数numl、num2、num3,求三个数 中的最大值。 main( fint numl, num2, num3, max; printf("Please input three numbers scanf( %od, %od, %od",&numl, &num2, &numb) if (numI>num2 maxmum maxenum2 if(num>max max-num3 printf("The three numbers are: %d%d%d\n"numl num2. num3 printf("max-%odn", max)
例:输入任意三个整数num1、num2、num3,求三个数 中的最大值。 main() {int num1,num2,num3,max; printf("Please input three numbers:"); scanf("%d,%d,%d",&num1,&num2,&num3); if (num1>num2) max=num1; else max=num2; if (num3>max) max=num3; printf("The three numbers are:%d,%d,%d\n",num1,num2,num3); printf("max=%d\n",max); }

程序运行情况如下: Please input three numbers: 11, 22, 18K The three numbers are: 11.22.18 max-22 本例中的第1个证语句,可优化为如下不带else子句的 形式: max=numl if(num2>max)max-num2 这种优化形式的基本思想是:首先取一个数预置为 max(最大值),然后再用max依次与其余的数逐个比较 如果发现有比max大的,就用它给max重新赋值,比较完 所有的数后,max中的数就是最大值。这种方法,对从3 或3个以上的数中找最大值的处理,非常有效。请同学 ]仔细体会
程序运行情况如下: Please input three numbers:11,22,18↙ The three numbers are:11,22,18 max=22 本例中的第1个if语句,可优化为如下不带else子句的 形式: max=num1; if(num2>max) max=num2; 这种优化形式的基本思想是:首先取一个数预置为 max(最大值),然后再用max依次与其余的数逐个比较, 如果发现有比max大的,就用它给max重新赋值,比较完 所有的数后,max中的数就是最大值。这种方法,对从3 个或3个以上的数中找最大值的处理,非常有效。请同学 们仔细体会

例:输入任意三个数numl、num2、num3,按从小到大 的顺序排序输出。 main( fint numI, num2, numb, temp: printf( Please input three numbers. ) scanf(%od, %od, %od,&numl, &num2, &num3) if(numI>num2)(temp=numI; numl=num2 num2=temp;) if (num2>num) temp=num2; num2=numb, num3-=temp; 3 if(numI>num2)(temp=numl; numl=num2; num2=temp, 1 printf("Three numbers after sorted: %od, %od, %\"numl, num2, num3): 序运行情况如下: Please input three numbers: 11.22, 18K Three numbers after sorted: 11.18.22
例:输入任意三个数num1、num2、num3,按从小到大 的顺序排序输出。 main() {int num1,num2,num3,temp; printf("Please input three numbers:"); scanf("%d,%d,%d",&num1,&num2,&num3); if (num1>num2) {temp=num1;num1=num2;num2=temp;} if (num2>num3) {temp=num2;num2=num3;num3=temp;} if (num1>num2) {temp=num1;num1=num2;num2=temp;} printf("Three numbers after sorted: %d,%d,%d\n",num1,num2,num3); } 程序运行情况如下: Please input three numbers:11,22,18↙ Three numbers after sorted: 11,18,22

3.i句的嵌套与嵌套匹配原则 ii句允许嵌套。所谓ⅱ语句的嵌套是指,在 语句组1”或(和)“语句组2”中,又包含有i语 句的情况。 i语句嵌套时,else子句与i的匹配原则:与 在它上面、距它最近、且尚未匹配的对。 为明确匹配关系,避免匹配错误,强烈建议: 将内嵌的语句,一律用花括号括起来 例:写一程序,从键盘上输入1年份year(4位 十进制数),判断其是否闰年。闰年的条件是: 能被4整除、但不能被100整除,或者能被400整
3.if语句的嵌套与嵌套匹配原则 if语句允许嵌套。所谓if语句的嵌套是指,在 “语句组1”或(和)“语句组2”中,又包含有if语 句的情况。 if语句嵌套时,else子句与if的匹配原则:与 在它上面、距它最近、且尚未匹配的if配对。 为明确匹配关系,避免匹配错误,强烈建议: 将内嵌的if语句,一律用花括号括起来。 例: 写一程序,从键盘上输入1年份year(4位 十进制数),判断其是否闰年。闰年的条件是: 能被4整除、但不能被100整除,或者能被400整 除

算法设计要点: (1)如果Ⅹ能被Y整除,则余数为0, 即如果ⅹ%Y的值等于0,则表示Ⅹ能被 Y整除! (2)首先将是否闰年的标志eap预置为 0(非闰年),这样仅当year为闰年时将 leap置为1即可。这种处理两种状态值的方 法,对优化算法和提高程序可读性非常有 效,请同学们仔细体会
算法设计要点: (1)如果X能被Y整除,则余数为0, 即如果X%Y的值等于0,则表示X能被 Y整除! (2)首先将是否闰年的标志leap预置为 0(非闰年),这样仅当year为闰年时将 leap置为1即可。这种处理两种状态值的方 法,对优化算法和提高程序可读性非常有 效,请同学们仔细体会

参考程序如下 main int year, leap=0;/*leap=0:预置为非闰年* printf( Please input the year scanf( od", &year) if(year %04==0) if (year %100=0)leap=1 else fif (year%0400==0)leap=1;i if (leap) printf( %od is a leap year. In" year) else printf("%od is not a leap year. n",year)
参考程序如下: main() {int year,leap=0; /* leap=0:预置为非闰年*/ printf("Please input the year:"); scanf("%d",&year); if (year % 4==0) {if (year % 100 != 0) leap=1;} else {if (year%400==0) leap=1; } if (leap) printf("%d is a leap year.\n",year); else printf("%d is not a leap year.\n",year); }

课后小结: 本节课我们主要学习了分支(选择) 程序设计, if-else语句;要求同学们拿 到一个间题能够画出它的流程图,并用 if-else语句将它实现成一个C语言程序
课后小结: 本节课我们主要学习了分支(选择) 程序设计,if—else语句;要求同学们拿 到一个问题能够画出它的流程图,并用 if—else语句将它实现成一个C语言程序

第二课 教学内容: 对f一els嵌套形式进行复习。 利用 switch语句直接处理多路分支选择问题。 、教学目的: 会画多路分支的流程图。 会使用 switch语句直接处理多路分支选择间题 教学重点: switch语句的应用
第二课 一、教学内容: 对if—else嵌套形式进行复习。 利用switch语句直接处理多路分支选择问题。 二、教学目的: 会画多路分支的流程图。 会使用switch语句直接处理多路分支选择问题。 三、教学重点: switch语句的应用
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言》课程教学课件(PPT讲稿)第六章 数组.ppt
- 《C语言》课程教学课件(PPT讲稿)第八章 指针及链表.ppt
- 《C语言》课程教学课件(PPT讲稿)第二章 数据类型、运算符与表达式.ppt
- 《C语言》课程教学课件(PPT讲稿)第三章 顺序结构程序设计.ppt
- 《C语言》课程教学课件(PPT讲稿)第七章 函数.ppt
- 《计算机体系结构》 第七章 多处理机.ppt
- 《计算机体系结构》 第六章 输入输出系统.ppt
- 《计算机体系结构》 第五章 存储层次.ppt
- 《计算机体系结构》 第四章 指令级并行.ppt
- 《计算机体系结构》 第三章 流水线技术.ppt
- 《计算机体系结构》 第二章 计算机指令集结构设计.ppt
- 《计算机体系结构》 第一章 计算机体系结构的基本概念.ppt
- 《多媒体技术与应用》第四章 多媒体视频信息处理.ppt
- 《多媒体技术与应用》第六章 多媒体软件系统及制作技.ppt
- 《多媒体技术与应用》第五章 媒体辅助设备.ppt
- 《多媒体技术与应用》第二章 多媒体光盘存储系统(2/2).ppt
- 《多媒体技术与应用》第二章 多媒体光盘存储系统(1/2).ppt
- 《多媒体技术与应用》第三章 多媒体音频信息处理.ppt
- 《多媒体技术与应用》第七章 面向网络的多媒体技术.ppt
- 《多媒体技术与应用》第二章 多媒体计算机系统的组成.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第六讲 信息系统的规划.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第四讲 数据资源管理技术.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第一讲 管理信息系统入门.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第五讲 管理信息系统的应用.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第七讲 管理信息系统的开发方法.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第八讲 MIS的系统分析.ppt
- 成都信息工程大学(成都信息工程学院):《管理信息系统》课程PPT教学课件_第十讲 管理信息系统的实施、评价与运行管理.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第一讲 电子商务时代(主讲:陈进).ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第二讲 发展网上金融服务.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第三讲 国际互连网络带动的金融服务.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第四讲 电子商务时代的挑战.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第五讲 电子服务的方式.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第六讲 各国政府的七大政策问题.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第七讲 电子商务金融支付与结算.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第八讲 计算机网络连接形式.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第九讲 电子商务活动.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第十讲 电子商务环境.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第十一讲 电子商务与网络营销.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第十二讲 计算机网络介绍.ppt
- 对外经济贸易大学:《电子商务》课程教学资源(PPT课件讲稿)第十三讲 电子货币系统.ppt