《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章

上传人:E**** 文档编号:89431823 上传时间:2019-05-25 格式:PPT 页数:42 大小:231KB
返回 下载 相关 举报
《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章_第1页
第1页 / 共42页
《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章_第2页
第2页 / 共42页
《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章_第3页
第3页 / 共42页
《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章_第4页
第4页 / 共42页
《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章》由会员分享,可在线阅读,更多相关《《二级C语言程序设计及同步训练》-涂玉芬-电子教案 第四章(42页珍藏版)》请在金锄头文库上搜索。

1、第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.1 关系表达式,1关系运算符,关系运算符是比较两个操作数大小的符号。 两个操作数一般为数值型数据。,Turbo C的关系运算符及其优先级、结合律如表所示:,第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.1 关系表达式,1关系运算符,2关系表达式,由关系运算符将两个表达式连接起来的有意义的式子称为关系表达式。 例如:x=60 a+bb= =c b+4c-6 关系表达式的值是一个逻辑值,即“真”或“假”。C语言中,用1表示“真”,用0表示“假”。,第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.

2、2 逻辑表达式,1逻辑运算符,逻辑运算符是确定两个操作数逻辑关系的符号。 两个操作数一般为逻辑型数据。 Turbo C的逻辑运算符及其优先级、结合律如表所示:,第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.2 逻辑表达式,1逻辑运算符,各逻辑运算符的运算规则如表所示:,第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.2 逻辑表达式,1逻辑运算符,2逻辑表达式,由逻辑运算符将两个表达式连接起来的有意义的式子称为逻辑表达式。 例如:!a+b&c a|b= =c a0|b5 a+&b- 逻辑表达式的值也是一个逻辑值。如果逻辑运算的对象是一个数值型数据,则该数值型

3、数据应被看作逻辑值,C语言中,非零值看作“真”,零值看作“假”。,第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.2 逻辑表达式,1逻辑运算符,2逻辑表达式,注意:由逻辑运算符 a+&b-; 结果为:a =0 b=5,第4章 选择结构程序设计,4.1 关系表达式和逻辑表达式,4.1.2 逻辑表达式,1逻辑运算符,2逻辑表达式,注意:由逻辑运算符&和|构成的逻辑表达式,在特殊情况下会产生“短路”现象。,(2)同样,由逻辑运算符|构成的逻辑表达式,在已经确定一个运算对象的值为1时,其逻辑表达式的值即为1,此时不再处理另一个运算对象。 例如:执行:a=0; b=5; a+|b-;

4、结果为:a =1 b=5,第4章 选择结构程序设计,4.2 if语句,4.2.1 简单if语句,简单if语句的一般形式为: if(表达式) 语句1; else 语句2; 功能:如果表达式的值为真,则执行语句1,执行完语句1后从语句2后开始继续向下执行;如果表达式的值为假,则跳过语句1而执行语句2。,第4章 选择结构程序设计,4.2 if语句,4.2.1 简单if语句,注意:,(1)表达式是判断的条件,一般是关系表达式或逻辑表达式,也可以是其他表达式。 (2)条件执行语句中“else 语句2;”部分是选择项,可以缺省,此时条件语句变成: if(表达式) 语句1; 其功能是:若表达式的值为真,则执

5、行语句1,否则跳过语句1继续执行。,用流程图表示:,第4章 选择结构程序设计,4.2 if语句,4.2.1 简单if语句,注意:,(3)如果语句1或语句2有多于一条语句要执行时,必须使用“和”把这些语句包括在其中,构成一个复合语句,此时条件语句形式为: if(表达式) 语句组1; else 语句组2; ,例4.1 输出两个数中的较大者。,程序1: main() int a,b,max; scanf(“%d%d“, ,程序2: main() int a,b,max; scanf(“%d%d“, ,第4章 选择结构程序设计,4.2 if语句,4.2.2 嵌套if语句,在if 语句中又包含一个或多个

6、if语句,称为嵌套if语句。 一般形式如下: if(表达式1) if(表达式2 ) 语句1 else 语句2 else if(表达式3) 语句3 else 语句4,第4章 选择结构程序设计,4.2 if语句,4.2.2 嵌套if语句,说明: (1)if与else的配对关系从最内层开始,else总是与离它最近的未曾配对的if配对。 (2)if与else的个数最好相同,从内层到外层一一对应,以避免出错。 (3)如果if与else的个数不相同,可以用花括号来确定配对关系。,例如: if (表达式1 ) if(表达式2 ) 语句1 else 语句2 这时花括号限定了内嵌if 语句的范围,因此else与

7、第一个if配对。,例4.2 对任意x,根据以下函数关系求对应y的值。,-1 (x0),程序: main( ) int x,y; scanf(“%d“, 输入:-3 结果:x=-3,y=-1 输入:4 结果:x=4,y=1,第4章 选择结构程序设计,4.3 条件表达式,条件运算符“?”和“:”两个符号组成。 由条件运算符构成的条件表达式的一般形式是: ?:; 条件运算符的含义是:先求表达式1的值,如果为真,则求表达式2 的值并把它作为整个表达式的值;如果表达式1 的值为假,则求表达式3 的值并把它作为整个表达式的值。,第4章 选择结构程序设计,4.3 条件表达式,例4.3 用条件表达式改写例4.

8、1(输出两个数中的较大者)。 程序: main() int a,b,max; scanf(“%d%d“, ,第4章 选择结构程序设计,4.4 复合语句与空语句,4.4.1 复合语句,复合语句是由左右花括号括起来的多条语句,一个复合语句在语法上等同于一个语句。 复合语句的一般形式如下: 说明部分; 语句部分 在程序中,凡是单个语句能够出现的地方,都可以出现复合语句。一个复合语句又可以出现在其他复合语句内部。,第4章 选择结构程序设计,4.4.2 空语句,空语句是只有一个分号的语句,其一般形式为: ; 空语句在语法上占据一个语句的位置,但不做任何操作。,4.4 复合语句与空语句,第4章 选择结构程

9、序设计,4.5 开关语句,开关语句的一般形式如下: switch(表达式) case 常量表达式1:语句1; case 常量表达式2:语句2; case 常量表达式n:语句n; default:语句n+1; ,开关语句的功能是:首先计算switch后面圆括号内表达式的值,若此值等于某个case后面的常量表达式的值,则转向该case后面的语句去执行;若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行,如果没有default部分,则将不执行switch语句中的任何语句,而直接转到switch语句后面的语句去执行。,第4章 选择结构程序设计,4.5 开关语句,说

10、明: (1)switch后面圆括号内的表达式的值和case后面的常量表达式的值都必须是整型或字符型,不允许是浮点型。 (2)同一个switch语句中的所有case后面的常量表达式的值都必须互不相同。 (3)switch语句中的case和default的出现次序是任意的,也就是说default也可以位于case的前面,且case的次序也不要求按常量表达式的大小顺序排列。 (4)每个case或default后的语句可以是多条语句,但不需要使用“和”括起来。,第4章 选择结构程序设计,4.5 开关语句,说明:,(5)由于switch语句中的“case 常量表达式”部分只起标号的作用,而不进行条件判断

11、,所以在执行完某个case后的语句后,将自动转到该语句后面的语句去执行,直到遇到switch语句的右花括号或break语句为止,而不再进行条件判断。如果在执行完一个case分支后,要跳出switch语句转到下一条语句执行,可在一个case结束后、下一个case开始前插入一个break语句。程序一且执行到braek语句,将立即跳出switch语句。,switch(n) case 1: x=1; case 2: x=2; 当n=1时, 将连续执行下面两个语句: x=1; x=2;,例如:,switch(n) case 1:x=1; braek; case 2:x=2; braek; 当n=1时,

12、将只执行一个语句: x=1;,第4章 选择结构程序设计,4.5 开关语句,说明:,(6)多个case可以共用一组执行语句。例如: switch(n) case 1: case 2: case 3: x=3; ,第4章 选择结构程序设计,4.5 开关语句,注意:,(1)switch的表达式后不能有“;”。 (2)case和default与其后面的常量表达式间至少有一个空格。 (3)switch语句可以嵌套,break语句只跳出它所在的switch语句。 (4)default语句可以省略。,例4.4 给变量a,b,c输入整数,根据a的值确定对b、c的运算: 当a =1时:计算b+c的值。当a=2时

13、:计算b-c的值。 当a=3时:计算b*c的值。当a=4时:计算b/c的值。 其他值时:不做任何操作。,main() int a,b,c; scanf(“%d%d%d“, ,程序:,第4章 选择结构程序设计,4.6 应用举例,例4.5 输入三个数,按由小到大的顺序输出。,分析: 已知:输入的三个数(分别用a,b,c来存放)。 求:由小到大的顺序输出的三个数。 处理:(1)a,b中的小者存入a,大者存入b。 (2)a,c中的小者存入a,大者存入c。 (3)b,c中的小者存入b,大者存入c。,流程图:,第4章 选择结构程序设计,4.6 应用举例,例4.5 输入三个数,按由小到大的顺序输出。,程序:

14、 #include “stdio.h“ main() int a,b,c,t; printf(“a,b,c=?“); scanf(“%d,%d,%d“, ,第4章 选择结构程序设计,4.6 应用举例,例4.6 输入一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字,分析: 已知:一个不多于4位的正整数(用x来存放)。 求:该正整数是几位数,该正整数的各位数字(分别用a、b、c、d来存放千位、百位、十位、个位上的数字,由a、b、c、d的值确定该正整数是几位数)。 处理:用算术运算/和%取出组成x的各位上的数字,再从高位到低位判断各位上的数字是否不为零,据此确定该正整数是几位数。,程序:,

15、#include main() int x,a,b,c,d; scanf(“%d“, ,第4章 选择结构程序设计,4.6 应用举例,例4.7 输入一个数字,输出对应的星期几的英文单词。,分析: 已知:一个数字(17,用n来存放)。 求:对应的星期几的英文单词(直接输出)。 处理:由于一个星期有7天,对输入的数字进行判断,有8种情况(包括出错),用开关语句进行处理。,其他,=6,=5,=4,=3,=2,=1,=0,流程图:,程序:,#include main() int n; scanf(“%d“, ,第4章 选择结构程序设计,4.7 本章考点,关系运算符和关系表达式。 逻辑运算符和逻辑表达式。

16、 条件运算符和条件表达式。 简单if语句的格式与功能。 嵌套if语句的格式与功能。 switch语句的格式与功能。,第4章 选择结构程序设计,4.8 典型试题详解,1以下程序运行后的输出结果是_。 main() int p=30; printf(“%dn“,(p/30?p/10:p%3); 正确答案:3(知识点:条件运算符和条件表达式) 试题分析:表达式p/3的值为10,大于0,所以条件表达式(p/30?p/10:p%3)的值取p/10的值3。,第4章 选择结构程序设计,4.8 典型试题详解,2有以下程序: main() int i=1,j=1,k=2; if(j+|k+)语句,其结果为2,2,2。,第4章 选择结构程序设计,4.8 典型试题详解,3以下程序输出的结果是_

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

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

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