具有选择结构的C程序设计.ppt

上传人:牧羊曲112 文档编号:5238501 上传时间:2023-06-17 格式:PPT 页数:31 大小:273KB
返回 下载 相关 举报
具有选择结构的C程序设计.ppt_第1页
第1页 / 共31页
具有选择结构的C程序设计.ppt_第2页
第2页 / 共31页
具有选择结构的C程序设计.ppt_第3页
第3页 / 共31页
具有选择结构的C程序设计.ppt_第4页
第4页 / 共31页
具有选择结构的C程序设计.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《具有选择结构的C程序设计.ppt》由会员分享,可在线阅读,更多相关《具有选择结构的C程序设计.ppt(31页珍藏版)》请在三一办公上搜索。

1、,第四章 具有选择结构的 C 程序设计,第三章 简单的 C 程序设计,4.1 if 语句,if 语句是用来判断所给定的条件是否满足,根据判定的结果(真或假)来决定执行给出的两种操作之一。,语句格式1:,if(表达式)语句;,语句功能:,根据表达式的结果来决定是否执行格式中的语句。,if 语句的三种格式,1、表达式可以是任意表达式,2、语句只为一条语句,若超过一条,则采用复合语句,3、当表达式的值为 非0 时代表“真”;0 时代表“假”,语句格式2:,if(表达式)语句1;else 语句2;,语句功能:,如果表达式的值为真(即非0)则执行语句1,否则执行语句2。,#include“stdio.h

2、”main()int a,b;scanf(“%d%dn”,向计算机输入 a,b 两个整数,然后判断 ab,若 ab 则输出 a 的值。,举例,#include“stdio.h”main()int a,b;scanf(“%d%dn”,关系表达式,输出函数调用语句,语句格式3:,if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;.else 语句n;,语句功能:,(else if 结构)用于实现多分支情况的处理。即在多个分支中仅执行表达式为非0值的那个if下的语句;若所有表达式都 是 0 值,则执行最后一个else 下的语句。最后一个 else 及其 下面的

3、语句也可以不存在。,#include“stdio.h”main()int g;scanf(“%d n”,练习,#include“stdio.h”main()int x;float y;scanf(“%dn”,A)i=0,j=0,a=6 B)i=1,j=1,a=7 C)i=1,j=0,a=7 D)i=0,j=1,a=0,练习,写出下列程序的运行结果,A)a=10 b=50 c=10 B)a=10 b=30 c=10 C)a=50 b=30 c=10 D)a=50 b=30 c=50,A)*B)%C)%c D)有语法错误,不能正确执行,A)i=2,j=1,k=3 B)i=1,j=1,k=2 C)i

4、=4,j=2,k=4 D)i=1,j=1,k=3,语句格式4:,语句说明:,if 语句任意嵌套形式(即嵌套的位置是任意,不固定的。),注意:在多个 if-else 嵌套中,else-if 配对关系 不能弄错。一个 else 应与它最近的一个且没 有其它 else 配对的 if 组成配对关系。,main()int x;float y;scanf(“%dn”,练习,#include“stdio.h”main()int year,z;scanf(“%d”,if(z)printf(“%d”,year);else printf(“a leap yearn”,year);,main()int x,a,b,

5、ok1,ok2;x=100;a=10;b=20;ok1=5;ok2=0;if(ab)if(b!=15)if(!ok1)x=1;printf(“x=%dn”,x);else if(ok2)x=10;x=-1;printf(“x=%dn”,x);,作业,A)0.000000 B)0.250000 C)0.500000 D)1.000000,2.0,C)0.500000,作业,A)34 B)4 C)35 D)3,B)4,在书店买书,以100本为限。如果买 1 本不打折扣;买2本打折10%;买3本折扣为 15%买3本以上折扣为 20%。设书本数为 x,单价为 20.00元。请设计能实现该算法的C程序。

6、,作业,27,4.2 switch 语句,前面我们学习了if 语句,它的基本功能是实现两个分支选择,但在解决实际问题时,往往需要用到多分支的选择。虽然if 语句的规则嵌套可以实现多分支的选择,但不够直观简洁,特别是在分支较多的情况下,if 语句的嵌套层次也会更深,从而增加了理解的难度,也不便于修改和扩充。为此,C 语言还提供了一个用于实现多分支选择的 switch 语句,以来解决多分支选择问题。,语句格式:,switch(表达式)case 常量表达式1:语句组1;break;case 常量表达式2:语句组2;break;case 常量表达式n:语句组n;break;default:语句组n+1

7、;,语句格式:,语句说明:,首先 计算表达式的值,然后依次与每一个 case 中常量表达式的值进行比较,一旦发现了某个匹配的值,就执行该 case 后面的语句组直到执行了break 语句为止。若没有匹配的值则执行 default 后面的语句组。,请编写程序,根据输入的学生成绩,应给出相应的等级。即:90-100 A 80-89 B 70-79 C 60-69 D 0-60 E,main()int g;scanf(“%dn”,switch(表达式)case 常量表达式1:语句组1;break;case 常量表达式2:语句组2;break;case 常量表达式n:语句组n;break;defaul

8、t:语句组n+1;,1、表达式:可以是整型、字符型或枚举型等表达 式,其表达式的结果值一定为整数。2、常量表达式:可以是整数、字符等常量。3、语句组:可以由一条语句或复合语句构成 4、要求 switch 后面的表达式值的类型必须面 case 的常量表达式的类型要相同。,请您选择进制转换菜单 1、10进制转换为16进制 2、16进制转换为10进制 3、10进制转换为 8进制 4、8进制转换为10进制请输入您的选择:再输入转换数据:,举例,请编写一个数制转换程序,要求能进行如下的数制转换 10 进制转换为16 进制;16 进制转换为10 进制;10 进制转换为 8 进制;8 进制转换为10 进制;

9、,main()int num,data;printf(“n 1:10-16n”);printf(“2:16-10 n”);printf(“n 3:10-8 n”);printf(“2:8-10 n”);printf(“n 请输入您的选择 n”);scanf(“%d n”,请您选择进制转换菜单 1、10进制转换为16进制 2、16进制转换为10进制 3、10进制转换为 8进制 4、8进制转换为10进制请输入您的选择:再输入转换数据:,main()float x,y;char op;scanf(“%f,%c,%f”,请编制一个能完成两个数的四则运算程序(输入数值保留两位小数。,第四章 具有选择结构

10、的 C 程序设计,练习,main()int year,z;scanf(“%d”,第四章 具有选择结构的 C 程序设计,请编写一程序,要求输入 x 的值,输出y的值,分别利用:1、不嵌套的 if 语句2、嵌套的 if 语句 3、if else 语句 4、switch 语句,输入一个整数x,然后判断该 数是否为偶数,若是请打印输出,否则不打印。请编写程序。,作业,1,请将以下语句改写成 switch 语句 if(a30)m=1;else if(a40)m=2;else if(a50)m=3;else if(a60)m=4;else m=5;,2,main()int u=010,v=0 x10,w=

11、10;printf(“%d,%d,%dn”,u,v,w);A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10,3,main()char c1=b,c2=e;printf(“%d,%cn”,c2-c1,c2-a+A);A)2,M B)3,E C)2,E D)输出结果不确定,5,main()int k=11;printf(“k=%d,k=%o,c=%xn”,k,k,k);A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0 xb D)k=11,k=13,k=b,4,main()(一)int a;float b,c;scanf(“%2d%3f%4f”,若运行时从键盘输入9876543210,则上面程序输出结果是 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765 C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0,4,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号