c程序设计 第5章 选择结构程序设计.ppt

上传人:s****8 文档编号:69347598 上传时间:2023-01-02 格式:PPT 页数:55 大小:530KB
返回 下载 相关 举报
c程序设计 第5章 选择结构程序设计.ppt_第1页
第1页 / 共55页
c程序设计 第5章 选择结构程序设计.ppt_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《c程序设计 第5章 选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《c程序设计 第5章 选择结构程序设计.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、上机操作步骤:(开机后进入上机操作步骤:(开机后进入98)1、在、在D盘上建立自己的子目录盘上建立自己的子目录XXX;2、在桌面上或在桌面上或Turbo C子目录下双击子目录下双击 tc.exe,即可即可进入进入Turbo C编辑环境编辑环境;3、进入进入Turbo C后打开后打开options子菜单子菜单;、选择、选择Directories菜单子项,将下列菜单子项,将下列四个选项分别改成如下形式:四个选项分别改成如下形式:Include directories:c:turboc2includeLibrary directories:c:turboc2lib Out directory:d:x

2、xxTurbo c directory:c:turboc2、选择选择Save options菜单子项,不要修菜单子项,不要修改内容,直接按回车即可。改内容,直接按回车即可。4、打开、打开File文件菜单,选择文件菜单,选择Change dir菜单子项,把当前路径改为菜单子项,把当前路径改为d:xxx后回车。后回车。Turbo c菜单介绍(菜单介绍(Alt+首字符首字符)FileFile菜单菜单菜单菜单(文件文件文件文件)Load F3Load F3 装载已有文件或编辑新文件装载已有文件或编辑新文件装载已有文件或编辑新文件装载已有文件或编辑新文件Pick Alt+F3Pick Alt+F3 装载

3、已编辑过的文件装载已编辑过的文件装载已编辑过的文件装载已编辑过的文件NewNew 建立一个新文件建立一个新文件建立一个新文件建立一个新文件Save F2Save F2 存盘存盘存盘存盘(文件名不用数字开头,少用汉字文件名不用数字开头,少用汉字文件名不用数字开头,少用汉字文件名不用数字开头,少用汉字)Write toWrite to 另存盘另存盘另存盘另存盘DirectoryDirectory 用文件标识符的方式,装载已有文件用文件标识符的方式,装载已有文件用文件标识符的方式,装载已有文件用文件标识符的方式,装载已有文件Change dirChange dir 改变当前工作目录改变当前工作目录改

4、变当前工作目录改变当前工作目录Os ShellOs Shell 进入进入进入进入DOSDOS外壳,返回用外壳,返回用外壳,返回用外壳,返回用ExitExit命令命令命令命令Quit Alt+XQuit Alt+X 退出退出退出退出Turbo cTurbo c系统系统系统系统Turbo c菜单介绍菜单介绍(Alt+首字符首字符)EditEdit (编辑编辑编辑编辑)、CompileCompile (编译编译编译编译)、ProjectProject (工程工程工程工程)、OptionsOptions (选项选项选项选项)、DebugDebug (调试调试调试调试)、Break/WatchBreak

5、/Watch (中中中中断断断断/查看查看查看查看)、RunRun菜单菜单菜单菜单(运行运行运行运行)Run Ctrl+F9Run Ctrl+F9 编译、连接、运行编译、连接、运行编译、连接、运行编译、连接、运行C C源程序源程序源程序源程序Program reset Ctrl+F2 Program reset Ctrl+F2 重新编译、连接、运行重新编译、连接、运行重新编译、连接、运行重新编译、连接、运行C C源程源程源程源程序序序序Go to Cursor F4 Go to Cursor F4 从光标位置开始运行从光标位置开始运行从光标位置开始运行从光标位置开始运行C C源程序源程序源程序

6、源程序Trace into F7Trace into F7 进入跟踪状态进入跟踪状态进入跟踪状态进入跟踪状态Step over F8 Step over F8 进入单步运行状态进入单步运行状态进入单步运行状态进入单步运行状态User screen Alt+F5 User screen Alt+F5 进入用户屏幕进入用户屏幕进入用户屏幕进入用户屏幕C语言源程序的调试过程语言源程序的调试过程1、打开打开 Tc,建立好环境建立好环境2、建立一个新文件(建立一个新文件(File菜单下的菜单下的New命令)命令)3、在编辑窗口输入源程序、在编辑窗口输入源程序(Alt+E)4、保存文件、保存文件(F2),

7、首次保存时输入路径首次保存时输入路径(d:xxxex1.c)5、编译、连接、运行编译、连接、运行C源程序源程序(Run菜单下菜单下Run命命令令)6、出错后回到编辑窗口出错后回到编辑窗口(Alt+E),修改程序,返回修改程序,返回5步步7、运行正确后进入用户屏幕查看结果(运行正确后进入用户屏幕查看结果(Alt+F5)C语言源程序调试过程中常用热键语言源程序调试过程中常用热键1、F2 存盘(文件名的后缀是存盘(文件名的后缀是.c)2、Ctrl+F9 编译、连接、运行编译、连接、运行C源程序源程序3、Alt+E 回到编辑窗口回到编辑窗口4、Alt+F5 运行正确后进入用户屏幕查看运行正确后进入用户

8、屏幕查看结果结果5、Exit 进入进入DOS外壳返回编辑状态命外壳返回编辑状态命令令6、Alt+Enter 全屏和窗口切换命令全屏和窗口切换命令重点重点:如何实现程序中选择结构如何实现程序中选择结构?关系运算符和关系表达式关系运算符和关系表达式 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 if语句和语句和switch语句语句第5章 选择结构程序设计5.1 关系运算符和关系表达式关系运算符和关系表达式 关系运算关系运算=比较运算。结果为比较运算。结果为真或假真或假(0或或非零非零)。一、运算符与优先级一、运算符与优先级(左结合性左结合性)=!=!=同级同级同级同级高高低低算术运算算术运算 关系

9、运算关系运算 赋值运算赋值运算高高低低例如:例如:cab 等效于等效于 c(ab)ab=c 等效于等效于(ab)=c a=bc 等效于等效于a=(bc)a=bc 等效于等效于a=(bc)5.1.2 关系表达式关系表达式1、关系表达式的形式、关系表达式的形式 表达式可以是算术表达式、关系表达式、逻表达式可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式。辑表达式、赋值表达式、字符表达式。例如:例如:ab abbc (a=3)(b=5)ab (ab)(bc)2、关系表达式的值、关系表达式的值1 真真0 假假 用逻辑运算符将关系表达式或逻辑量连接用逻辑运算符将关系表达式或逻辑量连接起来

10、的式子就是起来的式子就是逻辑表达式逻辑表达式。5.2 逻辑运算符和逻辑表达式!算术运算算术运算 关系运算关系运算&|高高低低逻辑逻辑运算运算真值真值表表例如:例如:(ab)&(xy)可写成可写成 ab&xy (a=b)|(x=y)可写成可写成 a=b|x=y (!a)|(ab)可写成可写成 !a|ab5.2.2 逻辑表达式逻辑表达式 逻辑表达式的值是一个逻辑量逻辑表达式的值是一个逻辑量“真真”或或“假假”。1、逻辑表达式的值、逻辑表达式的值1 真真0 假假2、逻辑运算的对象并非仅限于逻辑量、逻辑运算的对象并非仅限于逻辑量C判断处理的原则判断处理的原则非非0 真真 0 假假例:设例:设 a=4,

11、b=5,则则 !a 为为 0(假假)a&b-1 为为 1(真真)4、举例、举例 5 3&2|8 b)&(n=cd)当当a=1,b=2,c=3,d=4,m=1,n=1时,执行结果时,执行结果m=0,(n=cd)不被执行不被执行,n 仍然为仍然为1。5.3 if语句语句格式格式1:if(e)语句语句格式格式2:if(e)语句语句1 else 语句语句2格式格式3:if(e1)语句语句1 else if(e2)语句语句2 else if(e3)语句语句3 .else if(em)语句语句m else 语句语句n 表达式表达式语句或复合语句语句或复合语句格式格式1:if(e)语句语句计算计算 e 的的

12、值并判断值并判断。e 值值非非0,则执行,则执行语句语句;否则,执行否则,执行下条语句下条语句。格式格式2:if(e)语句语句1 else 语句语句2计算计算 e 的的值并判断。值并判断。e 值值非非0,则执行,则执行语语句句1;否则,执行;否则,执行语语句句2。计算计算 e1 的的值并判断,值并判断,其其值值非非0执行执行语句语句1;否则,判断;否则,判断 e2 的的值,值,其其值值非非0执行执行语句语句2;否则,否则,.判断判断em 的的值,值,其其值值非非0执行执行语句语句m;否则,否则,执行执行语语句句n例如:例如:if(number500)cost=0.15;else if(numb

13、er300)cost=0.10;else if(number100)cost=0.075;else if(number50)cost=0.05;else cost=0;例例5.1 从键盘输入两个整型数,输出最大数。从键盘输入两个整型数,输出最大数。开开始始enda,babab)printf(“max=%dn”,a);if(ba)printf(“max=%dn”,b);例例5.2 输入两个整型数,按大小输出。输入两个整型数,按大小输出。main()int a,b,t;scanf(“%d,%d”,&a,&b);if(ba)t=a;a=b;b=t;printf(“%d,%dn”,a,b);开开始始e

14、nda,bbaa,ba b例例5.3 输入输入3个数个数a,b,c,要求按由小到要求按由小到大的顺序输出。大的顺序输出。分析:设已知的三个数为分析:设已知的三个数为a,b,c。(1)可直接通过逻辑表达式和条件语句可直接通过逻辑表达式和条件语句 设计程序。设计程序。(2)可通过条件语句和互换变量值设计)可通过条件语句和互换变量值设计 程序,即经过处理后使:程序,即经过处理后使:abcmain()/*源源程序程序 方法一方法一*/float a,b,c;scanf(“%f%f%f”,&a,&b,&c);if(ab&bc)printf(“%f,%f,%f”,a,b,c);if(ac&cb)print

15、f(“%f,%f,%f”,a,c,b);if(ba&ac)printf(“%f,%f,%f”,b,a,c);if(bc&ca)printf(“%f,%f,%f”,b,c,a);if(cb&ba)printf(“%f,%f,%f”,c,b,a);if(ca&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.2f”,a,b,c);例例5.5 某运输公司吨公里基本运费为某运输公司吨公里基本运费为p,根据根据距离距离s的远近计费标准如下:的远近计费标准如下:s250km没有折扣没有折扣 250 s500

16、2%折扣折扣500 s1000 5%折扣折扣 1000 s2000 8%折扣折扣 2000 s=3000)d=0.15;else if(s=2000)d=0.10;else if(s=1000)d=0.08;else if(s=500)d=0.05;else if(s=250)d=0.02;else d=0.0;f=p*w*s*(1-d);printf(“f=%15.2f”,f);5.3.2 if语句的嵌套语句的嵌套在在if语句中又包含一个或多个语句中又包含一个或多个if语句称为语句称为if语语句的嵌套。一般形式如下:句的嵌套。一般形式如下:if()if()语句语句1else语句语句2内嵌内嵌

17、ifelseif()语句语句3else语句语句4内嵌内嵌if 注意注意:1.else总是与它上面的最近的总是与它上面的最近的if配对。配对。2.如果如果if与与else的数目不一样的数目不一样,为实现为实现程序设计者的企图程序设计者的企图,可以加花括弧来可以加花括弧来确定配对关系。确定配对关系。if()if()语句语句1 else语句语句2(内嵌内嵌if)例例5.4 有一函数有一函数:y=-1 x00 x=0编程序从键盘输入编程序从键盘输入x,计算出对应的计算出对应的ymain()int x,y;scanf(d,&x);if(x0)y=-1;else if(x=0)y=0;else y=1;p

18、rintf(x=d,y=dn,x,y);5.3.3 条件运算符条件运算符if(ab)max=a;elsemax=b;可以用下面的条件运算符来处理:可以用下面的条件运算符来处理:max=(ab)?a b;条件表达式的一般形式条件表达式的一般形式?:条件优先级条件优先级算术、关系、逻辑运算算术、关系、逻辑运算(!除外除外)条件运算条件运算 赋值运赋值运算算高高低低右结合右结合(1)输出输出x和和y当中的最大值当中的最大值 z=xy?x:y;printf(“max=%d”,z);或或 printf(“max=%d”,xy?x:y);或或 xy?printf(“%d”,x):printf(“%d”,y

19、);举例举例:(2)ab?a:b+1等价等价ab?a:(b+1)而不是而不是(ab?a:b)+1(3)ab?a:cd?c:d等价于等价于ab?a:(cd?c:d)(4)xy?1:5.6 表达式的值的类型取高的表达式的值的类型取高的(5)ch=(ch=A&ch0 有两不等实根。有两不等实根。b2-4ac0求求xyynnd=b-4ac2yna=0开开 始始a,b,cend据此编写程序如下:据此编写程序如下:#includemain()float a,b,c,d,disc,x1,x2,realpart,imagpart;scanf(f,f,f,&a,&b,&c);printf(The equatio

20、n);if(fabs(a)=le-6)printf(is not a quadratic);else disc=b*b-4*a*c;if(fabs(disc)=le-6)printf(has two roots:%8.4n,-b(2*a);else if(discle-6)x1=(-bsqrt(disc)(2*a);x2=(-b-sqrt(disc)(2*a);printf(has distinct:%8.4f and%8.4fn,x1,x2);else realpart=-b(2*a);imagpart=sqrt(-disc)(2*a);printf(has comPlex roots n)

21、;printf(%8.4f+%8.4fin,realpart,imagpart);printf(%8.4f-%8.4fin,realpart,imagpart);例例5.7 运输公司对用户计算运费。路程运输公司对用户计算运费。路程(S)越远,每公里运费越低。标准如下:越远,每公里运费越低。标准如下:s250km没有折扣没有折扣 250S500 2折扣折扣 500S1000 5折扣折扣 1000S2000 8折扣折扣 2000S3000 10折扣折扣 3000S 15折扣折扣公式:公式:f=p*w*s*(1-d)main()float p,w,s,d,f;int c;scanf(“%f”,&s)

22、;scanf(“%f%f”,&p,&w);if(s=3000)c=12;else c=s/250;switch(c)case 0:d=0;break;case 1:d=0.02;break;case 2:case 3:d=0.05;break;case 4:case 5:case 6:case 7:d=0.08;break;case 8:case 9:case 10:case 11:d=0.1;break;case 12:d=.15;break;f=p*w*s*(1-d);printf(“f=%15.2f”,f);习题习题5.2 C语言中如何表示语言中如何表示“真真”和和“假假”?系统如何判断

23、一个量的系统如何判断一个量的“真真”和和“假假”?5.3 写出逻辑表达式值。写出逻辑表达式值。a=3,b=4,c=5。(1)abc&b=c 0 (2)a|bc&b-c 1 (3)!(ab)&!c|1 1 (4)!(x=a)&(y=b)&0 0 (5)!(ab)c-1&bc2 15.4 有有3个整数个整数a、b、c,由键盘输入,输由键盘输入,输出其中最大的数。出其中最大的数。main()int a,b,c,temp,max;scanf(%d,%d,%d,&a,&b,&c);temp=(ab)?a:b;max=(ctemp)?c:temp;printf(max=%d,max);main()/*另一

24、方法另一方法*/int a,b,c;scanf(%d,%d,%d,&a,&b,&c);if(ab)if(bc)printf(max=%dn,c);else printf(max=%dn,b);else if(ac)printf(max=%dn,c);else printf(max=%dn,a);5.5 有一函数:有一函数:x (x1)y=2x-1 (1x10)3x-11(x10)写一程序,输入写一程序,输入x,输出输出y值。值。main()int x,y;scanf(%d,&x);if(x1)y=x;else if(x=0&score9999)place=5;else if(num999)pl

25、ace=4;else if(num99)place=3;else if(num9)place=2;else place=1;printf(place=%dn,place);ten_thousand=num/10000;thousand=(num-ten_thousand*10000)/1000;hundred=(num-ten_thousand*10000-thousand*1000)/100;ten=(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=num-ten_thousand*10000-thousand*1000-

26、hundred*100-ten*10;switch(place)case 5:printf(%d,%d,%d,%d,%dn,ten_thousand,thousand,hundred,ten,indiv);printf(%d,%d,%d,%d,%dn,indiv,ten,hundred,thousand,ten_thousand);break;case 4:printf(%d,%d,%d,%dn,thousand,hundred,ten,indiv);printf(%d,%d,%d,%dn,indiv,ten,hundred,thousand);break;case 3:printf(%d,%d,%dn,hundred,ten,indiv);printf(%d,%d,%dn,indiv,ten,hundred);break;case 2:printf(%d,%dn,ten,indiv);printf(%d,%dn,indiv,ten);break;case 1:printf(%dn,indiv);printf(%dn,indiv);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁