C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章

上传人:E**** 文档编号:89423527 上传时间:2019-05-25 格式:PPT 页数:39 大小:211.50KB
返回 下载 相关 举报
C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章_第1页
第1页 / 共39页
C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章_第2页
第2页 / 共39页
C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章_第3页
第3页 / 共39页
C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章_第4页
第4页 / 共39页
C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章》由会员分享,可在线阅读,更多相关《C语言程序设计技能教程 教学课件 ppt 作者 戴佩荣 等 第4章(39页珍藏版)》请在金锄头文库上搜索。

1、C语言技能教程,第4章 让程序作自己的选择 选择结构,C语言技能教程,第 四 章,4.1 技能1:运用条件运算符设计简单的程序 4.2 技能2:关系表达式与逻辑表达式的运用 4.3 技能3:用if 语句编制选择结构的程序 4.4技能4 :用switch 语句设计多选一的程序,C语言技能教程,4.1 技能1,【知识点】 1. 条件运算符(?:),是c语言唯一的需要三个操作数的运算符,它可以组成一个条件表达式,其一般形式为: 表达式1?表达式2:表达式3 2. 条件运算符的执行顺序。首先判断表达式1值,如果数值不是0,则计算表达式2的值, 并将此作为条件表达式的值;如果数值是0,则计算表达式3的值

2、,并将此作为条件表达 式的值。 3. 条件运算符的优先级优先于赋值运算符,低于关系运算符。结合性为右结合。,C语言技能教程,例4.2 求三个数中最大值的程序。,main( ) float x,y,z,max; scanf(“%f%f%f “, ,4.1 技能1,【典型例题】,C语言技能教程,4.2 技能2,1. 关系运算符用于比较表达式,提出类似“a大于10吗?”或“x等于y吗?”这样的问题。关系表达式的一般形式: 表达式 关系运算符 表达式 2. 关系表达式的值,根据所描述的关系成立与否取值为1或0。而不是象有些语言的真与假。即关系成立,值为1;不成立,值为0。见表4-1。 3. 优先级与结

3、合性 运算顺序由高到低为:算术运算符关系运算符,=关系运算符=和!= 关系运算符的结合性:从左至右。,【知识点】,4.2.1 关系表达式,C语言技能教程,表4-1 关系运算符和关系表达式,C语言技能教程,4.2 技能2,【典型例题】,4.2.2关系表达式,例4.4 从键盘输入某个学生五门课程的成绩,分别存放在整型变量 s1,s2,s3,s4,s5中,分别统计出成绩在90分以上(含90)的课程数,成绩在80-90分之间(含80)的课程数。,C语言技能教程,4.2 技能2,4.2.2关系表达式 例4.4 程序如下:,main( ) int s1,s2,s3,s4,s5,c90=0,c80=0; s

4、canf(“%d%d%d%d%d“, /*相减后为80-90之间的课程数*/ ,C语言技能教程,4.2 技能2,4.2.2 逻辑表达式 【知识点】,1. 语言有三种逻辑运算符。见表4-2。用逻辑运算符将关系表达式或逻辑量连接起来的式子称为逻辑表达式。 2. 一般意义,逻辑表达式成立其值为“真” ,不成立其值为“假”。在C语言中用数值1代表“真”,用数值0代表“假”。 3.逻辑运算的运算含义见真值表4-33. 逻辑运算的优先级顺序: !(非)&(与)| (或) !(非)运算为单目运算符,结合性为右结合。& (与)、 | (或)为双目运算符,结合性是左结合。,。,C语言技能教程,4.2 技能2,4

5、.2.2 逻辑表达式 【知识点】,。,表4-2 逻辑运算符,C语言技能教程,4.2 技能2,4.2.2 逻辑表达式 【知识点】,表4-3 C逻辑运算的真值表,C语言技能教程,4.2 技能2,4.2.2 逻辑表达式 【知识点】,4.C语言逻辑运算总结:( a,b 代表一个关系表达式或逻辑量) &运算:当 a,b 都为非0时,a&b的值为1,其它情况均为0。 | 运算: 当a,b都为0时,a | b的值为0,其它情况均为1。 !运算:a为非0,!a的值为0;a为0,!a的值为1。,C语言技能教程,4.2 技能2,4.2.2 逻辑表达式 【典型例题】,例4.5 用一个表达式判断字符型变量ch是否是一

6、个大写英文字母。 分析:A=A和ch=A& ch=Z 思考:用一个表达式判断字符型变量ch是否是一个英文字母,C语言技能教程,4.2 技能2,4.2.2 逻辑表达式 【典型例题】,例4.6 若有变量 int a=3,b=2,c=1,则表达式a-bc | b=c的值是( ),C语言技能教程,4.2 技能2,4.2.2 逻辑表达式 【典型例题】,例4.6 分析: 表达式中共有四个运算符,优先级由高到低的顺序是: -(3级)(6级) = (7级) | (11级),因此求解过程为:计算a-b计算a-bc计算b=c计算整体表达式的值 ,结果为0。,C语言技能教程,4.2 技能2,4.2.2 逻辑表达式,

7、【点拨】 1. 关系表达式与逻辑表达式的值只有两个,即1或0。 2. C语言用1表示“真”,用0表示“假”。 3.C语言判断一个量的真假标准是非0值即为真,0值为假。 4.逻辑表达式表示多个条件的组合。 5.&(与)从含义上,相当于汉语语言中的“并且”、“而且”,即要求两个条件都满足时,用&(与)连接两个条件。(也适于多个条件同时满足的情况) 6.|(或)从含义上,相当于汉语语言中的“或者”,即要求两个以上的条件有一个满足即可时,用|(或)连接两个条件。(也适于多个条件满足其一即可的情况),C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【知识点】,1. if语句有三种基本形式

8、。,2. 第一种形式: if (表达式) 语句 执行过程:先计算表达式的值,如果结果为非0值, 则执行其中的“语句”, 如果求值是0,则不执行 “语句”。无论哪一种情况,下一步都要执行if语句 之后的代码。流程图见图4-1(1)。 实例: if (xy) printf(“%d“,x); printf(“ok“);,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【知识点】,3第二种形式: if (表达式) 语句1 else 语句2,实例: if (xy) printf(“%d“,x); else printf(“%d“,y); printf(“ok“);,C语言技能教程,4.3

9、 技能3,4.3.1 if语句的三种形式,【知识点】,4第三种形式: if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 else if(表达式n) 语句n else 语句n+1,实例:根据成绩写出评语。 if (x=90) printf(“优秀“); else if (x=80) printf(“良好“); else if (x=60) printf(“通过“); else printf(“努力“);,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【知识点】,5分号是C语句的必要成份,谈到语句就一定包含了一个分号在末尾。因此上述

10、if 语句中的第二、第三种形式中,在每个else 前面有一个分号。这三种形式每一个都是一条c语句,因此整个语句结束处有一个分号。这三种形式中的“语句”又都可以是复合语句。 6. 其中( )内的表达式一般为逻辑表达式和关系表达式。但可以是任意类型。如: if (A) printf(“%c“,A); A的值非0,printf( )函数得到执行。,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【典型例题】,例4.7 输入一个数x,要求不使用abs( )函数,输出其绝对值,main() float x; printf(“请输入一个数“); scanf(“%f“, ,C语言技能教程,4

11、.3 技能3,4.3.1 if语句的三种形式,【典型例题】,例4.8 输入两个整数,将大数存在x中,小数存在y中。,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【典型例题】,例4.8 输入两个整数,将大数存在x中,小数存在y中。,main( ) int x,y,temp; printf(“n请输入两个数:“); scanf(“%d%d“, ,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【典型例题】,例4.9 输入三个数,输出其中最大的数。,main( ) float x,y,z,max; printf(“请输入三个数:“); scanf(“%f %f %

12、f“, ,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【典型例题】,例4.10 某超市给与顾客的折扣率如下: 购物金额购物金额=200元 9折 1000元购物金额=500元 8折 购物金额=1000元 7折 输入购物金额,输出打折率和购物实际付款金额。,重点理解:500元购物金额=200元,9折时,在语句表达上,用if (x=200) t=0.9;,C语言技能教程,4.3 技能3,4.3.1 if语句的三种形式,【典型例题】,例4.10 程序如下:,main() float s,t; printf(“请输入购物金额:“); scanf(“%f “, ,C语言技能教程,4.3

13、 技能3,4.3.2 if语句的嵌套,它的一般形式如下: if ( ) if ( ) 语句1 else 语句2 else if ( ) 语句3 else 语句4,【知识点】 1. else 总是与它上面最近的尚未与else 配对的if 配对。 如果if 与else 的数目不一样,为了实现程序设计的意图,可以使用加花括号来明确配对关系。,C语言技能教程,4.3 技能3,4.3.2 if语句的嵌套,【典型例题】,例4.11 写出程序的运行结果。,main( ) int x=40,y=50,z=20,max; max=x; if(zy) if (zx) max=z; else if (yx) max

14、=y; printf(“max=%d“,max); ,C语言技能教程,4.3 技能3,4.3.2 if语句的嵌套,【点拨】 1if语句中的“表达式”必须用“(”和“)”括起来。 2else子句是if语句的一部分,必须与if配对使用,不能单独使用。 3在三种形式的if语句中,if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式。只要表达式的值为非0,即为“真”。其后的语句总是要执行的。 4if 语句的第一、第二种形式实现的是两者选一的情形,若有三种以上情况则需要用第三种形式的if语句。,C语言技能教程,4.4 技能4,【知识点】 1. 语句格式: switch(

15、表达式) case常量表达式1: 语句组1 case常量表达式2: 语句组2 case常量表达式n: 语句组n default : 语句组n+1,C语言技能教程,4.4 技能4,【知识点】,2. 执行过程:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。,C语言技能教程,4.4 技能4,【知识点】,3. switch后圆括号内“表达式”的类型,可以是任意的能求得一个整数值,如int 类型或char类

16、型值的表达式。 4. 每一个case的常量表达式的值必须互不相同。 5. 各个case 和default的顺序可以任意,不影响执行结果。 6. 多个case 可以共用一组语句。 如:case A : case B : case C:printf(“成绩合格“);break; /*也可以将这三行写在一行上*/,C语言技能教程,4.4 技能4,【典型例题】,例4.12 设计 一个简单 的计算器, 能进行 加减乘 除运算。,main() float x,y,result; char oper; printf(“请输入两个数和一个运算符号“); scanf(“%f%c%f“, ,C语言技能教程,4.4 技能4,【点拨】 1在case后,如果有一个以上执行语句,可

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号