书签 分享 收藏 举报 版权申诉 / 40
上传文档赚钱

类型C语言程序设计04课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5191709
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:40
  • 大小:2.07MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C语言程序设计04课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言程序设计 04 课件
    资源描述:

    1、第4章 选择结构程序设计延边大学经济管理学院 朴光赫1.程序、算法2.算法表示3.基本结构:顺序、选择、循环4.表达式、表达式语句5.基本输入输出函数6.格式控制、格式声明、格式字符第三章第三章 简简 要要 回回 顾顾第四章第四章 选择结构程序设计选择结构程序设计 主要内容、重点、难点1.掌握算术运算符、关系运算符、逻辑运算符以及各个表达式的概念和用法。2.用if语句实现循环结构,用switch语句实现多分支选择结构。(嵌套使用)3.注意switch语句使用中,case 语句只起语句标号作用)。因此,要用break语句,正确实现多分支选择。4.条件运算符(?:)-三目运算符。主要内容难点:编写

    2、选择结构的程序条件判断4.1.1 条件判断的含义条件判断的结果是逻辑值:“是”或“否”。条件判断4.1.2 关系运算符和关系表达式算术运算符关系运算符逻辑运算符(高)(低)关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式接起来的式子,称关系表达式。关系表达式的值是一个逻辑值,即“真”或“假”。C语言中没有专用的逻辑值,1代表真,0代表假条件判断4.1.3 逻辑运算符和逻辑表达式1.逻辑运算符及其优先次序1.&(逻辑与)相当于其他语言中的AND2.|(逻辑或)相当于其他语言中的OR3.!(逻辑非)相当于其他语言中的NOT例:a&b 若a,b为

    3、真,则a&b为真。a|b 若a,b之一为真,则a|b为真。!a 若a为真,则!a为假。条件判断4.1.3 逻辑运算符和逻辑表达式逻辑运算符:1.&(逻辑与)相当于其他语言中的AND2.|(逻辑或)相当于其他语言中的OR3.!(逻辑非)相当于其他语言中的NOT例:a&b 若a,b为真,则a&b为真。a|b 若a,b之一为真,则a|b为真。!a 若a为真,则!a为假。优先次序:!(非)-&()-|()逻辑运算符中的“&”和“|”低于关系运算符,“!”高于算术运算符逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就 是逻辑表达式逻辑表达式的值应该是一个逻辑量“真”或“假”。“非零为真”。条件

    4、判断ab!a!ba&ba|b真假真假假假真真真假假假假假真真假假真真真假真真ab!a!ba&ba|b非00非0000非0非01000001100111011条件判断例:53&83逻辑值为1!0逻辑值为14-1值为38b)&(n=cd)当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“ab”的值为0,因此m=0,而“n=cd”不被执行,因此n的值不是0而仍保持原值1。条件判断 例例:判断闰年判断闰年 1.问题提出:问题提出:能被能被4整除,但不能被整除,但不能被100整除;整除;能被能被4整除,又能被整除,又能被400整除。整除。2.解题思路:解题思路:3.编写程序编写程序:4.运行结

    5、果运行结果:5.程序分析程序分析:6.程序改进程序改进:year%400|(year%4=0&year%100!=0)值为真(1)是闰年,否则为非闰年。!(year%400|(year%4=0&year%100!=0)值为真(1)是非闰年,否则为闰年。(year%4!=0)|(year%100=0)&year%400!=0)值为真(1)是非闰年,否则为闰年。条件判断条件判断用if语句实现选择结构例例4.1 成绩比较成绩比较 1.问题提出:问题提出:2.解题思路:解题思路:变量max,a大于或等于b,a的值赋给max,b大于a,b的值赋给max 3.编写程序编写程序:4.运行结果运行结果:5.程

    6、序分析程序分析:6.程序改进程序改进:if-else 结构结构#includeint main()float a,b,max;printf(please enter a and b:)scanf(%f,%f,&a,&b);if(a=b)max=a;if(ba)max=b;printf(max=%6.2fn,max);return 0;max=a真真假假a bmax=b真真假假bamax=a真真假假a bmax=b用if语句实现选择结构例例4.2 3个个成绩排序成绩排序 1.问题提出:问题提出:2.解题思路:解题思路:伪代码描述 3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:

    7、6.程序改进程序改进:if-else 结构结构#include void main()float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2fn,a,b,c);伪代码算法描述:If ab 将a和b对换If ac 将a和c对换If bc 将b和c对换abacbca和b交换a和c交换c和b交换yyynn用If语句实现选择结构表达式语句真(非0)假(0)4.2.2 if语句的一般形式 (1)if (表达式)语句 (2)i

    8、f(表达式)语句1 else 语句2 条件条件 语句语句1 语句语句2YN用If语句实现选择结构(1)if 语句中在if后面都有表达式,一般为逻辑表达式或关系表达式。(2)if 语句中有内嵌语句,每个内嵌语句必须以分号结束。(3)else 语句不能作为语句单独使用,它是if语句的一部分,必须与if配对使用。(4)在if和else后面可以只含有一个内嵌的操作语句,也可以由多个操作语句,此时用花括号将几个语句括起来成为一个复合语句。4.2.3 if语句使用的说明用If语句实现选择结构例例4.3 三角形面积三角形面积 1.问题提出:问题提出:2.解题思路:解题思路:构成三角形的必要条件是:两边之和大

    9、于第三边 3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:#include#includeint main()double a,b,c,s,area;printf(please enter a,b,c:);scanf(%if,%f,%f,&a,&b,&c);if(a+bc&b+ca&c+ab)s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%6.2fn,area);else printf(It is not a trila)return 0;用If语句实现选择结构4.2.4 使用嵌套的if语

    10、句实现多层条件判断If()if()语句1else 语句2Elseif()语句3else 语句4匹配规则:else总是与它上面的,最近的,统一复合语句中的,未配对的if语句配对。例:If()if()语句1elseif()语句2 else 语句3例:If()if()语句1elseif()语句2 else 语句3用If语句实现选择结构 if语句的嵌套#includevoid main()int x,y;scanf(“%d”,&x);程序段 printf(“x=%d,y=%dn”,x,y);用If语句实现选择结构上例中的程序段有四个,请判断哪个是正确的?上例中的程序段有四个,请判断哪个是正确的?程序1

    11、:程序2:If(x=0)Y=-1;if(x0)y=1;Else else y=0;If(x=0)y=0;else y=-1;Else y=1;程序3:程序4:Y=-1;y=0;If(x!=0)if(x=0)If(x0)y=1;if(x0)y=1;Else y=0;Else y=-1;正确正确用If语句实现选择结构例例4.4 促销折扣促销折扣 1.问题提出:问题提出:购买货物多,优惠也多 2.解题思路:解题思路:判断货物折扣的选择结构 关系式:应付货款=件数*单价*(1-优惠折扣)3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:#include#inclu

    12、deint main()int number;double cost,price,total;printf(please enter number and price:);scanf(%d,%lf,&number,&price);if(number=500)cost=0.15;嵌套的if语句 else if(number=300)cost=0.10;else if(number=100)cose=0.075;else if(number=50)cost=0.05;else cost=o;用If语句实现选择结构例例4.4 促销折扣促销折扣 1.问题提出:问题提出:购买货物多,优惠也多 2.解题思

    13、路:解题思路:判断货物折扣的选择结构 关系式:应付货款=件数*单价*(1-优惠折扣)3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:total=number*price*(1-cost);printf(Total=%10.2fn,total);return 0;折扣折扣15%真真假假件数件数 500件数件数 300真真假假折扣折扣10%件数件数 100真真假假折扣折扣7.5%件数件数 50真真假假折扣折扣5%无折扣无折扣用If语句实现选择结构例例4.4 促销折扣促销折扣 1.问题提出:问题提出:购买货物多,优惠也多 2.解题思路:解题思路:判断货物折扣的

    14、选择结构 关系式:应付货款=件数*单价*(1-优惠折扣)3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:#include#includeint main()int number;double cost,price,total;printf(please enter number and price:);scanf(%d,%lf,&number,&price);if(number=500)cost=0.15;else if(number=300)cost=0.10;else if(number=100)cose=0.075;else if(number=5

    15、0)cost=0.05;else cost=o;total=number*price*(1-cost);printf(Total=%10.2fn,total);return 0;利用switch语句实现多分支选择结构switch语句的格式:switch(表达式)case常量表达式:语句 case常量表达式:语句 case常量表达式:语句 default :语句 switch表达式表达式语句组语句组1语句组语句组2语句组语句组n语句组语句组.C 1C 2Cndefaultcase 利用switch语句实现多分支选择结构例例:要求按照考试成绩的等级输出百分制分数段,用要求按照考试成绩的等级输出百分

    16、制分数段,用switch语句实现:语句实现:switch(grade)case printf(-););case printf(-););case printf(-););case printf(););default (printf););利用switch语句实现多分支选择结构grade输出输出85100AB输出输出7084输出输出6069C输出输出60输出输出errorD其他其他 利用switch语句实现多分支选择结构说明:(1 1)switchswitch后面括弧内的后面括弧内的“表达式表达式”,ANSIANSI标准允许它为任何标准允许它为任何类型。类型。(2 2)当表达式的值与某一个)

    17、当表达式的值与某一个casecase后面的常量表达式的值相等时,后面的常量表达式的值相等时,就执行此就执行此casecase后面的语句,若所有的后面的语句,若所有的casecase中的常量表达式的值中的常量表达式的值都没有与表达式的值匹配的,就执行都没有与表达式的值匹配的,就执行defaultdefault后面的语句。后面的语句。(3 3)每一个每一个casecase的常量表达式的值必须互不相同,否则就会出的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。案)。利用switch语句实现多

    18、分支选择结构 (4 4)各个各个case和和default的出现次序不影响执行结果。例如,可的出现次序不影响执行结果。例如,可以先出现以先出现“default:”,再出现,再出现 “case:”,然后是,然后是“case:”。(5)执行完一个后面的语句后,流程控制转移到下一执行完一个后面的语句后,流程控制转移到下一 个个case继续执行。继续执行。“case常量表达式常量表达式”只是起语句标号作用,只是起语句标号作用,并不是在该处进行条件判断。在执行并不是在该处进行条件判断。在执行switch语句时,根据语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始后面表达式的值找到

    19、匹配的入口标号,就从此标号开始执行下去,不再进行判断。执行下去,不再进行判断。应该在执行一个应该在执行一个case分支后分支后,可以用一个可以用一个break语句来终止语句来终止switch语句的执行。语句的执行。(6)多个多个case可以共用一组执行语句。可以共用一组执行语句。程序综合举例例例4.5:判断闰年判断闰年 1.问题提出:问题提出:能被能被4整除,但不能被整除,但不能被100整除;整除;能被能被4整除,又能被整除,又能被400整除。整除。2.解题思路:解题思路:3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:程序综合举例例例4.5:判断闰年判

    20、断闰年 1.问题提出:问题提出:能被能被4整除,但不能被整除,但不能被100整除;整除;能被能被4整除,又能被整除,又能被400整除。整除。2.解题思路:解题思路:3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:#include void main()int year,leap;scanf(%d,&year);if(year%4=0)if(year%100=0)if(year%400=0)leap=1;else leap=0;else leap=1;else leap=0;if(leap)printf(%d is,year);else printf(%d

    21、 is not,year);printf(a leap year.n);程序综合举例例例4.5:判断闰年判断闰年 1.问题提出:问题提出:能被能被4整除,但不能被整除,但不能被100整除;整除;能被能被4整除,又能被整除,又能被400整除。整除。2.解题思路:解题思路:3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:(!);(!);(!);程序综合举例例例4.6:运费计算运费计算 1.问题提出:问题提出:2.解题思路:解题思路:3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:路程路程s(Km)运费折扣运费折扣dc=

    22、s/250d250没有折扣c10200500 2%折扣1 c 22%5001000 5%折扣2 c 45%100020008%折扣4 c 88%20003000 10%折扣8 c 1210%300015%折扣c 1215%程序综合举例例例4.6:运费计算运费计算 1.问题提出:问题提出:2.解题思路:解题思路:3.编写程序编写程序:4.运行结果运行结果:5.程序分析程序分析:6.程序改进程序改进:#include void main()int c,s;float p,w,d,f;scanf(%f,%f,%d,&p,&w,&s);if(s=3000)c=12;else c=s/250;switc

    23、h(c)case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;case 4:case 5:case 6:case 7:d=8;break;case 8:case 9:case 10:case 11:d=10;break;case 12:d=15;break;f=p*w*s*(1-d/100.0);printf(freight=%15.4fn,f);运行情况:please enter price,weight,distance:23,345.7,136.45freight=1081349.64 提高部分条件表达式的一般形式为:条件表达

    24、式的一般形式为:表达式表达式1?表达式表达式2:表达式:表达式34.5.1 用条件表达式实现简单的选择结构表达式表达式1表达式表达式2值值表达式表达式3值值非非0=0 max=(ab)?a:b 等于等于 max=ab?a:b ab?a:cd?c:d 等于等于 ab?a:(cd?c:d)“自右向左”条件运算符是条件运算符是 C 语言中语言中唯一唯一的的三目运算符三目运算符 提高部分例4.7 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换,然后输出得到的字符。#includeint main()char ch;scanf(“%c”,&ch);ch=(ch=A&ch=

    25、Z)?(ch+32):ch;printf(“%cn”,ch);return 0;本章小结 1 1.掌握算术运算符,关系运算符,逻辑运算符以及算术表达式、掌握算术运算符,关系运算符,逻辑运算符以及算术表达式、关系表达式、逻辑表达式的概念和用法。关系表达式、逻辑表达式的概念和用法。以非以非0 0为真,以为真,以0 0为假。为假。2.2.主要用主要用ifif语句实现选择结构,语句实现选择结构,用用switchswitch语句实现多分支选择结构。语句实现多分支选择结构。(1 1)内嵌)内嵌ifif也应包括也应包括elseelse部分;部分;(2 2)把内嵌的)把内嵌的ifif放在外层的放在外层的els

    26、eelse子句中;子句中;(3 3)加大括号,限定范围;)加大括号,限定范围;(4 4)程序写成锯齿形,同一层次的)程序写成锯齿形,同一层次的ifif和和elseelse在同一列上。在同一列上。本章小结 3.3.在用在用switchswitch语句实现多分支选择结构时,语句实现多分支选择结构时,“casecase常量表达式常量表达式”只起语句标号作用,如果只起语句标号作用,如果“switch”switch”后面的表达式的值与后面的表达式的值与“case”case”后后面的常量表达式的值相等,就执行面的常量表达式的值相等,就执行casecase后面的语句。但应该在每个后面的语句。但应该在每个casecase子句最后加一个子句最后加一个breakbreak语句才能实现多分支选择。语句才能实现多分支选择。4.4.条件运算符条件运算符(?:)(?:)是是C C语言中唯一的三目(元)运算符。语言中唯一的三目(元)运算符。5.5.学会编写选择程序。学会编写选择程序。Thank you!谢谢聆听!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言程序设计04课件.ppt
    链接地址:https://www.163wenku.com/p-5191709.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库