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

类型c语言(第五章选择结构)-c语言-教学课件.ppt

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

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

    特殊限制:

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

    关 键  词:
    语言 第五 选择 结构 教学 课件
    资源描述:

    1、第五章第五章选择结构程序设计选择结构程序设计C语言程序设计 第五章 选择结构程序设计本章主要内容本章主要内容 关系运算符和关系表达式关系运算符和关系表达式 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 if 语句语句 switch 语句语句 程序举例程序举例C语言程序设计 第五章 选择结构程序设计5.1 关系运算符和表达式关系运算符和表达式 关系运算:判断两个数据间的某种关系关系运算:判断两个数据间的某种关系是否成立是否成立35 不成立(假)不成立(假)53 成立(真)成立(真)关系运算符关系运算符种类:种类:=!=结合方向:自左向右结合方向:自左向右优先级别:优先级别:高于赋值运算符高于赋值

    2、运算符 低于算术运算符低于算术运算符C语言程序设计 第五章 选择结构程序设计 前前4个运算符(个运算符(,=)的优的优先级是先级是6级级 后后2个运算符个运算符(=,!=)的优先级是的优先级是7级级例例 ca+b /c(a+b)ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)高高算术运算符算术运算符关系运算符关系运算符赋值运算符赋值运算符 低低 (优先级关系优先级关系)C语言程序设计 第五章 选择结构程序设计例例 int a=3,b=2,c=1,d,f;ab ab=c b+cb f=abc (a=3)(b=5)/表达式值表达式值1/表达式值表达式值1/表达式值表达式值0/表

    3、达式的值表达式的值1,d的的1/表达式的值表达式的值0,f的值的值0/表达式的值表达式的值0 关系表达式:关系表达式:用关系运算符将两个表达用关系运算符将两个表达式(可以是算术表达式、关系表达式、式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式连接起来的式子,称为关系表达式.关系表达式的值:只有两个值关系表达式的值:只有两个值“真真”或或“假假”,用,用1(真真)和和0(假假)表示表示C语言程序设计 第五章 选择结构程序设计 关系运算注意:关系运算注意:(1)若若a=0;b=0.5;x=0.3;则则 a=x

    4、278在在C中是允许的,中是允许的,值为值为0(3)int i=1,j=7,a;a=i+(j%4!=0);则则a=2C语言程序设计 第五章 选择结构程序设计(4)ab 结果为结果为a0 结果为结果为A100 结果为结果为100(5)注意区分)注意区分“=”与与“=”int a=0,b=1;a=b 赋值表达式赋值表达式 结果为结果为1a=b 关系表达式关系表达式 结果为结果为0C语言程序设计 第五章 选择结构程序设计/*ch5_01.c*/main()char c=c;int i=1,j=2,k=1;float x=3e+5,y=0.85;printf(%d,%dn,a+1=k+1);print

    5、f(%d,%dn,1j5,x-5.25=x+y);printf(%d,%dn,i+j+k=-2*j,k=j=i+1);运行结果运行结果:1,01,10,0C语言程序设计 第五章 选择结构程序设计5.2 逻辑运算符和表达式逻辑运算符和表达式 逻辑运算符逻辑运算符种类:种类:!(非非,not)&(并且并且,and)|(或者或者,or)C语言程序设计 第五章 选择结构程序设计逻辑运算真值表逻辑运算真值表ab!a!ba&ba|b真真真真假假假假真真真真真真假假假假真真假假真真假假真真真真假假假假真真假假假假真真真真假假假假C语言程序设计 第五章 选择结构程序设计优先级:优先级:!高于算术运算符高于算术

    6、运算符&|低于关系运算符低于关系运算符 高高 !算术运算符算术运算符关系运算符关系运算符&|赋值运算符赋值运算符 低低优先级关系优先级关系 C语言程序设计 第五章 选择结构程序设计1 ()2 -!+-&3 */%4 +-5 6 =7 =!=8 9 10 11&12|13?:14 赋值运算符赋值运算符15 逗号运算符逗号运算符C语言程序设计 第五章 选择结构程序设计例例 a=x&xb&xya=b|x=y!a|ab/(a=x)&(xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)结合方向:结合方向:!:从右向左从右向左&:从左向右从左向右|:从左向右从左向右C语言程序设计 第五章 选择结

    7、构程序设计 逻辑表达式逻辑表达式用逻辑运算符将关系表达式或逻辑量用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。连接起来的式子就是逻辑表达式。逻辑表达式的值应该是一个逻辑量逻辑表达式的值应该是一个逻辑量 “真真”或或“假假”。运算量运算量:0表示表示“假假”非非0表示表示“真真”运算结果运算结果:“假假”用用0表示表示“真真”用用1表示表示C语言程序设计 第五章 选择结构程序设计例例 a=4;b=5;!aa&ba|b!a|b4&0|253&2|83)&2|(8b)&(n=cd)/表达式值为表达式值为0,m=0,n=1C语言程序设计 第五章 选择结构程序设计/*ch5_02.c*/

    8、main()char c=c;int i=1,j=2,k=3;float x=3e+5,y=0.85;printf(%d,%dn,!x*!y,!x);printf(%d,%dn“,x|i&j-3,ij&xy);printf(%d,%dn,i=5&c&(j=8),x+y|i+j+k);运行结果运行结果:0,01,00,1C语言程序设计 第五章 选择结构程序设计 例判定例判定x是否在是否在a,b的表达式的表达式a=x&xy)printf(“%d”,x);表达式表达式语句语句非非0=0C语言程序设计 第五章 选择结构程序设计/*ch5_03.c*/#include main()int x,y;pri

    9、ntf(Enter an integer:);scanf(%d,&x);y=x;if(yabsolute value:%dn,x,y);例例 求一个数的绝对值求一个数的绝对值C语言程序设计 第五章 选择结构程序设计运行:运行:Enter an integer:-12 integer:-12-absolute value:12C语言程序设计 第五章 选择结构程序设计形式二:形式二:格式:格式:if(表达式表达式)语句语句1else语句语句2 执行过程:执行过程:例:例:if(xy)max=x;else max=y;表达式表达式语句语句1语句语句2非非0=0C语言程序设计 第五章 选择结构程序设计

    10、例例 输入两个数并判断两数相等否输入两个数并判断两数相等否/*ch5_04.c*/#include main()int a,b;printf(Enter integer a:);scanf(%d,&a);printf(Enter integer b:);scanf(%d,&b);if(a=b)printf(a=bn);else printf(a!=bn);C语言程序设计 第五章 选择结构程序设计运行:运行:Enter integer a:12 Enter integer b:12 a=b 运行:运行:Enter integer a:12 Enter integer b:9 a!=b C语言程序

    11、设计 第五章 选择结构程序设计形式三:形式三:格式:格式:if(表达式表达式1)语句语句1else if(表达式表达式2)语句语句2else if(表达式表达式3)语句语句3.else 语句语句n C语言程序设计 第五章 选择结构程序设计=0表达式表达式1语句语句1非非0=0表达式表达式2表达式表达式3语句语句4语句语句3语句语句2非非0非非0=0 执行过程执行过程C语言程序设计 第五章 选择结构程序设计 例:例:if(salary1000)index=0.4;else if(salary800)index=0.3;else if(salary600)index=0.2;else if(sal

    12、ary400)index=0.1;else index=0;C语言程序设计 第五章 选择结构程序设计例例 判断输入字符种类判断输入字符种类/*ch5_05.c*/#include main()char c;printf(Enter a character:);c=getchar();if(c=0&c=A&c=a&c0)printf(“%f”,x);else printf(“%f”,-x);(3)在在if 和和else 后面可以只含一个内嵌的语句,也可以有后面可以只含一个内嵌的语句,也可以有多个操作语句,此时用花括号将几个语句括起来成为一多个操作语句,此时用花括号将几个语句括起来成为一个复合语句

    13、。如:个复合语句。如:if (xy)t=x;x=y;y=t;C语言程序设计 第五章 选择结构程序设计例5.1 输入两个实数,按代数值由小到大输出这两个数。a b?交换交换a、b的位置的位置假假真真main()float a,b,t;scanf(%f,%f,&a,&b);if(ab)t=a;a=b;b=t;printf(%5.2f,%5.2f,a,b);运行示例运行示例3.6,-3.2 -3.2,3.6 C语言程序设计 第五章 选择结构程序设计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;

    14、c=t;if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);运行运行:3,7,1 1.00,3.00,7.00 371371 173137例例5.2 输入三个数,按由小到大输出。输入三个数,按由小到大输出。C语言程序设计 第五章 选择结构程序设计if(表达式表达式1)if(表达式表达式2)语句语句1 else 语句语句2内嵌内嵌ifif(表达式表达式1)if(表达式表达式2)语句语句1else 语句语句2内嵌内嵌if if语句嵌套语句嵌套:一般形式:一般形式:C语言程序设计 第五章 选择结构程序设计if(表达式表达式1)if(表达式表达式2)语句

    15、语句1 else 语句语句2else if(表达式表达式3)语句语句3 else 语句语句4内嵌内嵌if内嵌内嵌ifif(表达式表达式1)语句语句1else if(表达式表达式2)语句语句2 else 语句语句3内嵌内嵌ifC语言程序设计 第五章 选择结构程序设计/*ch5_06.c*/#include main()int x,y;printf(Enter integer x,y:);scanf(%d,%d,&x,&y);if(x!=y)if(xy)printf(XYn);else printf(XYn);else printf(X=Yn);例例 输入两数并判断其大小关系输入两数并判断其大小关

    16、系C语言程序设计 第五章 选择结构程序设计运行:运行:Enter integer x,y:12,23 XYEnter integer x,y:12,12 X=YC语言程序设计 第五章 选择结构程序设计if else 配对原则:配对原则:缺省缺省 时,时,else总总是和它上面离它最近的未配对的是和它上面离它最近的未配对的 if 配配对对.if()if()if()else.else.else.C语言程序设计 第五章 选择结构程序设计例:例:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);修改:修改:if(a=b)if(b=c)printf(“a

    17、=b=c”);else printf(“a!=b”);避免避免if与与else配对错位的最佳办法是配对错位的最佳办法是加大括号加大括号,同时,为了,同时,为了便于阅读,使用适当的缩进便于阅读,使用适当的缩进.(只有大括号能保证(只有大括号能保证if和和else不错位配对,缩进仅便于阅读)不错位配对,缩进仅便于阅读)C语言程序设计 第五章 选择结构程序设计例例 考虑下面程序输出结果考虑下面程序输出结果:main()int x=100,a=10,b=20;int v1=5,v2=1;if(ab)if(b!=15)if(!v1)x=1;else if(v2)x=10;x=-1;printf(“%d”

    18、,x);运行结果:运行结果:-1C语言程序设计 第五章 选择结构程序设计 例5.3 有一函数如下,编一程序,输入一个x值,输出y值。x 0真真 假假 x=0 真真 假假y=-1 y=0 y=-1 )0()0()0(101 xxxy程序程序1:main()int x,y;scanf(%d,&x);if(x=0)if(x0)y=1;else y=0;else y=-1;x=0真真 假假 x0真真 假假y=1 y=0 y=-1 y=-1真真 x!=0 假假 x0真真 假假y=1 y=0 程序程序3:y=-1;if (x!=0)if(x0)y=1;else y=0;C语言程序设计 第五章 选择结构程序

    19、设计5.4 条件运算符与表达式条件运算符与表达式 一般形式:一般形式:表达式表达式1?表达式表达式2:表达式表达式3 执行过程执行过程表达式表达式1取表达式取表达式2值值取表达式取表达式3值值非非0=0C语言程序设计 第五章 选择结构程序设计先求解表达式先求解表达式1的值的值若表达式若表达式1的值为真的值为真(非非0);则求解表达;则求解表达式式2的值,将其作为条件表达式的值。的值,将其作为条件表达式的值。表达式表达式3不计算。不计算。若表达式若表达式1的值为假的值为假(0);则求解表达式;则求解表达式3的值,将其作为条件表达式的值。表的值,将其作为条件表达式的值。表达式达式2不计算。不计算。

    20、例:例:int a=1,b=2,c=3,d=4,m=5,n=6,k;k=ab?(m=cb):(n=bd)结果:结果:k=0,m=5,n=0C语言程序设计 第五章 选择结构程序设计 功能:相当于条件语句,但不能取代一功能:相当于条件语句,但不能取代一般般if语句语句.例例 if(ab)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,ab?a:b);例例 if(ab)max=a;elsemax=b;max=ab?a:b;ab?printf(“%d”,a):printf(“%d”,b);C语言程序设计 第五章 选择结构程序设计例例 求求 a+|b|prin

    21、tf(“a+|b|=%dn”,b0?a+b:a-b);例例 (a=b)?Y:N(x%2=1)?1:0(x=0)?x:-x(c=a&c0?1:(xb?a:b+1(ab)?a:(b+1)C语言程序设计 第五章 选择结构程序设计 结合方向:自右向左结合方向:自右向左如如 ab?a:cd?c:d ab?a:(cd?c:d)例:例:int a=1,b=2,c=3,d=4,m=5,n=6,k;k=ac?(m=cb):(n=bd)结果:结果:k=4,m=5,n=6C语言程序设计 第五章 选择结构程序设计例例 x?a:b /x=0,表达式值为表达式值为b;x 0,表达表达式值为式值为axy?1:1.5 /xy

    22、 ,值为值为1.0;x=A&ch60n”);break;.C语言程序设计 第五章 选择结构程序设计例例 switch(score)case 5:printf(“Very good!”);case 4:printf(“Good!”);case 3:printf(“Pass!”);case 2:printf(“Fail!”);default :printf(“data error!”);运行结果:运行结果:score为为5时,时,输出:输出:Very good!Good!Pass!Fail!data error!C语言程序设计 第五章 选择结构程序设计 例、根据考试成绩的等级(例、根据考试成绩的等

    23、级(grade)打印)打印出百分制分数段:出百分制分数段:C语言程序设计 第五章 选择结构程序设计switch(grade)case A:printf(85100n);break;case B:printf(7084n);break;case C:printf(6069n);break;case D:printf(=0,则则 x1=,x2=delta=0)x1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);printf(“x1=%.2f,x2=%.2fn”,x1,x2);else re=-b/(2*a);im=fabs(sqrt(-delta)/

    24、(2*a);printf(“x1=%.2f+%.2fin”,re,im);printf(“x2=%.2f-%.2fin”,re,im);C语言程序设计 第五章 选择结构程序设计 例例3运输公司对用户计算运费。路程运输公司对用户计算运费。路程(s)越远,每公里运费越低。)越远,每公里运费越低。距离距离S(公里)越远,折扣越高:(公里)越远,折扣越高:s250 没有没有折扣折扣 250=s500 2%折扣折扣 500=s1000 5%折扣折扣 1000=s2000 8%折扣折扣 2000=s3000 10%折扣折扣 3000=s 15%折扣折扣设基本运费为设基本运费为p 计算公式:运费计算公式:运

    25、费=基本费基本费*重量重量*距离距离*(1-折扣)折扣)f=p*w*s*(1-d)C语言程序设计 第五章 选择结构程序设计main()int s;float p,w,d,f;scanf(%f,%f,%d,&p,&w,&s);if(s250)d=0;else if(s500)d=0.02;else if(s1000)d=0.05;else if(s2000)d=0.08;else if(s=3000)c=12;else c=s/250;switch(c)case 0:d=0;break;case 1:d=2;break;case 2:case 3:d=5;break;C语言程序设计 第五章 选择

    26、结构程序设计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.4f,f);C语言程序设计 第五章 选择结构程序设计 例例4:输入年号:输入年号y,月份,月份m,输出该年该,输出该年该月天数。月天数。分析:分析:2月:闰年月:闰年29天,平年天,平年28天天;4,6,9,11月:月:30天天;1,3,5,7,8,10,12月:月:31天天C语言程序设计 第五章 选择结构程序设

    27、计#include“stdio.h”void main()int y,m,days;printf(“Input year and month:”);scanf(“%d%d”,y,m);if(y10000)printf(“year isnt correct.n”);return;if(m12|m1)printf(“month isnt correct.n”);return;C语言程序设计 第五章 选择结构程序设计switch(m)case 2:if(!(y%4)&y%100|!(y%400)days=29;else days=28;break;case 4:case 6:case 9:case

    28、11:days=30;break;default:days=31;printf(“The number of days is%d.n”,days);C语言程序设计 第五章 选择结构程序设计 例例5:用:用if语句实现,给出一百分制语句实现,给出一百分制成绩,要求输出成绩等级。成绩,要求输出成绩等级。90100 A 8089 B 7079 C 6069 D 60分以下分以下 EC语言程序设计 第五章 选择结构程序设计#include“stdio.h”main()int score;char level;printf(“input score=”);scanf(“%d”,&score);if(sc

    29、ore60)level=E;else if(score70)level=D;else if(score80)level=C;else if(score、=、=、=逻辑运算符:&逻辑“与”|逻辑“或”!逻辑“非”条件运算符:表达式1?表达式2:表达式3 C语言程序设计 第五章 选择结构程序设计 二、语句 1 if语句 1)if(表达式)语句 2)if(表达式)语句1 else 语句2 3)if(表达式1)语句1 else if (表达式2)语句2 .else if(表达式m)语句m else 语句n if语句的嵌套:if()if()语句1 内嵌if else 语句2 else if()语句3 内嵌if else 语句4 C语言程序设计 第五章 选择结构程序设计2 switch语句 switch(表达式)case 常量表达式1:语句1 case 常量表达式2:语句2 case 常量表达式n:语句n default:语句n+1

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:c语言(第五章选择结构)-c语言-教学课件.ppt
    链接地址:https://www.163wenku.com/p-4985014.html

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


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


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

    163文库