PPT-单元四选择结构程序设计_第1页
PPT-单元四选择结构程序设计_第2页
PPT-单元四选择结构程序设计_第3页
PPT-单元四选择结构程序设计_第4页
PPT-单元四选择结构程序设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

选择结构程序设计C语言程序设计高等教育出版社新形态一体化教材单元四导学【问题二】某超市举行店庆活动,购物金额低于100元的顾客获赠小礼品一份,购物金额达到100元的顾客,每满100元获赠10元代金券一张。请根据顾客的购物金额,分析顾客获赠情况。根据题目先回答:可以获赠代金券的条件是什么?【问题一】什么是选择结构?导航仪对公路上的汽车进行导航的过程中,要以“目的地”为条件选择相应的路线进行导航,这就是选择结构。目录1选择条件表达2if选择语句3多分支switch语句4选择结构综合应用选择条件表达1选择条件表达——关系运算符及表达式名称符号表示名称符号表示名称符号表示小于<

大于>

等于==小于等于<=大于等于>=(1)关系运算符(2)关系表达式

用关系运算符将两个表达式(算术、关系、逻辑或赋值表达式)连接起来构成关系表达式。关系表达式成立时,值为1,否则,其值为0。当整型变量r的值为3时,判断下列关系表达式的值。

值为1r=4r==30<r<1

值为1

值为01选择条件表达——随堂练习(1)字符变量ch的值是字母‘y’的关系表达式为:

。(2)整型变量n为偶数的关系表达式为:

。1选择条件表达——逻辑运算符及表达式名称符号表示逻辑非!逻辑与&&逻辑或||(1)逻辑运算符操作数A操作数B!AA&&BA||B非0非0011非000010非010100100(2)运算规则1选择条件表达——逻辑运算符及表达式(3)逻辑运算符优先级!(非)(高)算术运算符关系运算符&&和||赋值运算符(低)1选择条件表达——逻辑运算符及表达式(4)逻辑表达式示例当x=3,y=4,z=5时,计算逻辑表达式x>y&&y>z的值。分析:该逻辑表达式等价于(x>y)&&(y>z),x>y不成立,所以为假,根据逻辑与“&&”的运算规则,该逻辑表达式值为0(假)。一个三角形的三边分别用a,b,c表示,写出判断该三角形为等腰三角形的逻辑表达式。分析:等腰三角形的特征为任意两个边相等,即a与b相等,或者b与c相等,或者c与a相等,所以其逻辑表达式为a==b||b==c||c==a。1选择条件表达——随堂练习(1)判断字符变量ch的值为大写字母的逻辑表达式为:

。(2)判断某一年份是否为闰年。闰年是符合以下条件的年份:能被4整除但不能被100整除,或者能被400整除。若用整型变量year表示年份,则闰年的逻辑判断表达式为:

。目录1选择条件表达2if选择语句3多分支switch语句4选择结构综合应用

if选择语句2if选择语句——单分支if语句引例

从键盘输入一个字母,无论该字母为大写字母还是小写字母,均以小写字母形式输出。#include<stdio.h>voidmain(){charch;printf("请输入一个字母:");ch=getchar();

if(ch>='A'&&ch<='Z')ch=ch+32;printf("输出结果为:");putchar(ch);}2if选择语句——单分支if语句(1)语法格式(2)执行流程

if(表达式)

{语句组;}重要提示:

“语句组”是一条独立的语句,“{}”可以省略;“语句组”为多条语句的复合语句,“{}”不能省略。2if选择语句——单分支if语句(3)程序示例编写程序输入两个整数,然后将这两个整数按照从大到小的顺序输出。#include<stdio.h>voidmain(){inta,b,t;printf("请输入a,b的值:");scanf("%d%d",&a,&b);

if(a<b){t=a;a=b;b=t;}printf("输出结果为:a=%d,b=%d.",a,b);}2if选择语句——随堂练习以下程序段的功能是计算一个整数的绝对值,将程序补充完整。intn;scanf("%d",&n);

;

;printf("该整数的绝对值是%d.",n);2if选择语句——双分支if语句引例输入一个正整数,判断该数是偶数,还是奇数。#include<stdio.h>voidmain(){

intx;printf("请输入一个正整数:");scanf("%d",&x);

if(x%2==0)printf("正整数%d是偶数。\n",x);

elseprintf("正整数%d是奇数。\n",x);}2if选择语句——双分支if语句(1)语法格式(2)执行流程

if(表达式)

{语句组1;}else

{语句组2;}2if选择语句——双分支if语句(3)程序示例

一个三角形的三边分别用a,b,c表示,输入三个边长a、b、c,判断该三角形是否为等腰三角形。#include<stdio.h>voidmain(){inta,b,c;printf("请输入三角形三边长:");scanf("%d%d%d",&a,&b,&c);if(a==b||b==c||a==c)printf("该三角形是等腰三角形.\n");elseprintf("该三角形不是等腰三角形.\n");}2if选择语句——双分支if语句修改程序,输入三个边长a、b、c,如果这三个边能构成三角形,判断该三角形是等边三角形、等腰三角形,还是其它三角形。if(a+b>c&&b+c>a&&a+c>b)

{if(a==b&&b==c)

printf("该三角形是等边三角形.\n");

else

if(a==b||b==c||a==c)

printf("该三角形是等腰三角形.\n");

else

printf("该三角形是其它三角形.\n");}else

printf("注意:不能构成合法三角形.\n");重要提示:

else总是和它前面离它最近的未配对的if相匹配。可以通过“{}”来强制if和else的配对关系。2if选择语句——随堂练习

以下程序用于判断输入的字符是否为字母,补充完整,然后将程序改写成仅一对if-else的形式。charch;ch=getchar();

if(

)printf("%c是字母。",ch);

else

if(

)

printf("%c是字母。",ch);else

printf("%c不是字母。",ch);2if选择语句——条件运算符(1)语法格式(2)执行流程表达式1?表达式2:表达式3关系表达式或逻辑表达式

先计算表达式1的值,若表达式1的值为真,则计算表达式2的值,并将表达式2的值作为整个表达式的值;若表达式1的值为假,则计算表达式3的值,并将表达式3的值作为整个表达式的值。(3)优先级

条件运算符的优先级高于赋值运算符。2if选择语句——随堂练习以下程序段的功能是计算一个整数的绝对值,使用条件表达式,将程序补充完整。intn;scanf("%d",&n);;printf("该整数的绝对值是%d.",n);目录1选择条件表达2if选择语句3多分支switch语句4选择结构综合应用多分支switch语句3多分支switch语句——引例根据学生考试成绩score的值判定考试等级。判定标准如下表所示。成绩(score)等级score>=90优秀(A级)80<=score<90良好(B级)70<=score<80中等(C级)60<=score<70及格(D级)score<60不及格(E级)3多分支switch语句(1)语法格式switch(表达式){case

常量表达式1:[语句序列1;][break;]

case

常量表达式2:[语句序列2;][break;]

……

case

常量表达式n:[语句序列n;][break;]

default:语句序列n+1;}方括号括起来的可省退出当前switch语句整型或字符型整型或字符型,常量值不能重复3多分支switch语句(2)执行流程首先计算switch后面表达式的值,再依次与每一个case后面的常量表达式的值进行比较,若有相等的情况,则以该case为入口,执行相应的语句序列。若相应的语句序列后面有break,则程序跳出switch选择结构,执行switch选择结构后面的语句;若相应的语句序列后面没有break,则执行下一个case后面的语句序列。若所有case后面的常量表达式的值没有与switch后面表达式的值相等的情况,则执行default后面的语句序列。3多分支switch语句——引例实现#include<stdio.h>voidmain(){doublescore;printf("请输入学生成绩:");scanf("%lf",&score);

switch((int)(score/10))//分析switch后面的表达式为什么写成(int)(score/10)?{case10:

case

9:printf("该生的成绩等级为A-优秀.");break;

case

8:printf("该生的成绩等级为B-良好.");break;

case

7:printf("该生的成绩等级为C-中等.");break;

case

6:printf("该生的成绩等级为D-及格.");break;

default:printf("该生的成绩等级为E-不及格.");}}程序运行结果思考:将程序代码中的break去掉,会得到怎样的运行结果,试分析其原因。3多分支switch语句——随堂练习

微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,通过微信推送的消息可以通过如图所示的菜单进行发送或分享,使用switch语句模拟实现菜单调用过程。

目录1选择条件表达2if选择语句3多分支switch语句4选择结构综合应用选择结构综合应用4选择结构综合应用——应用一根据定期存款的期限和相应的利率,计算本息合计。存款期限利率三个月2.6%六个月2.8%一年3.3%二年3.75%三年4.25%五年4.75%分析第一步:输入存款金额c和存款期限m;第二步:根据存款期限m确定存款利率r;第三步:根据存款金额c和利率r计算本息合计金额s。4选择结构综合应用——应用一方法一:单分支if语句if(m==3)r=0.026;if(m==6)r=0.028;if(m==12)r=0.033;……方法二:if…else…语句if(m==3)r=0.026;elseif(m==6)r=0.028;elseif(m==12)r=0.033;elseif(m==24)r=0.0375;elseif(m==36)r=0.0425;elseif(m==60)r=0.0475;4选择结构综合应用——应用一方法三:switch语句switch(m){

case

3:r=0.026;break; case6:r=0.028;break;

case

12:r=0.033;break;

case

24:r=0.0375;break;

case

36:r=0.0425;break;

default:r=0.0475;

}4选择结构综合应用——应用二

某银行ATM机操作界面如图,当密码输入正确后进入服务项目选择界面,然后根据需要选择相应选项。请编程模拟该操作过程。4选择结构综合应用——应用二#include<stdio.h>voidmain(){intn,pwd;printf("请输入您的密码<按回车键结束>:");scanf("%d",&pwd);

if(pwd!=1234)printf("密码错误,服务退出.\n");

else{printf("********请选择服务项目********\n");printf("****1-改密4-查询****\n");

4选择结构综合应用——应用二

printf("****2-

温馨提示

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

评论

0/150

提交评论