第2章 基本语句.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章 基本语句.ppt》由用户(hwpkd79526)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 基本语句 基本 语句
- 资源描述:
-
1、1第第2 2章章选择结构及其应用选择结构及其应用C语言程序设计2第第2章章 选择结构及其应用选择结构及其应用 关系运算符和关系表达式关系运算符和关系表达式 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 if语句语句 switch语句语句3概述概述 选择结构是程序的基本结构。所谓选择结构,就是根据不同选择结构是程序的基本结构。所谓选择结构,就是根据不同的条件,选择不同的程序块(分程序)进行处理。的条件,选择不同的程序块(分程序)进行处理。例:例:4if-else ifelse 嵌套嵌套if if-else if-elseif(表达式)(表达式)语句语句;if(表达式)(表达式)语句语句;else
2、 语句语句;if(表达式)(表达式)语句语句;if(表达式)(表达式)语句语句;else 语句语句;else 语句语句;if(表达式)(表达式)语句语句;else if(表达式)(表达式)语句语句;else if(表达式)(表达式)语句语句;else 语句语句;switchswitch(表达式)(表达式)case常量常量1:语句:语句1;case常量常量2:语句:语句2;case常量常量n:语句:语句n;default:语句语句n+1;5 关系运算符关系运算符关系运算符是对两个操作量进行大小比较的运算符,其操作关系运算符是对两个操作量进行大小比较的运算符,其操作结果是结果是“真真”或或“假假”
3、。用。用“1”表示真;表示真;“0”表示假。表示假。=(大于或等于大于或等于)(大于大于)5)2 结果为:结果为:1例:判断下列关系表达式的值:例:判断下列关系表达式的值:6=(3+3);(x=3)5+(y=6)10=(4+(x=6)值为值为1值为值为1值为值为17逻辑真与逻辑假逻辑真与逻辑假逻辑运算是用来判断一件事情是逻辑运算是用来判断一件事情是“成立成立”还是还是“不成立不成立”,判,判断的结果只有两种,分别用数断的结果只有两种,分别用数“1”和和“0”来表示。其中来表示。其中“1”表表示该逻辑运算的结果是示该逻辑运算的结果是“成立成立”的,的,“0”表示该逻辑运算的结表示该逻辑运算的结果
4、是果是“不成立不成立”的。的。C语言的数据类型里没有逻辑数据类型,但对参与逻辑运算的所语言的数据类型里没有逻辑数据类型,但对参与逻辑运算的所有的数值,都将转换为有的数值,都将转换为“逻辑真逻辑真”或或“逻辑假逻辑假”后才参与逻辑运后才参与逻辑运算。算。如果参与逻辑判断的数值为如果参与逻辑判断的数值为“0”,则把它作为,则把它作为“逻辑假逻辑假”处理。处理。如果参与逻辑判断的数值不为如果参与逻辑判断的数值不为“0”,则把它作为,则把它作为“逻辑真逻辑真”处处理。理。不是将数值不是将数值1作为逻辑真,而是将非作为逻辑真,而是将非0的数值都作为逻辑真。的数值都作为逻辑真。上述的逻辑判断方法可以归纳为
5、:上述的逻辑判断方法可以归纳为:判假不判真,非假即真。判假不判真,非假即真。8逻辑运算符逻辑运算符 !(逻辑非逻辑非)单目运算符单目运算符&(逻辑与逻辑与)双目运算符双目运算符|(逻辑或逻辑或)双目运算符双目运算符逻辑运算把一切逻辑运算把一切“非非 0”的数作为真,把的数作为真,把“0”数作为假。数作为假。逻辑运算是逻辑运算是“非非 0”和和“0”两类数据或真和假两种状态的运算。两类数据或真和假两种状态的运算。C语言中有三个逻辑运算符:逻辑与、逻辑或、逻辑非。语言中有三个逻辑运算符:逻辑与、逻辑或、逻辑非。9&与与 逻辑与逻辑与AB结果结果0假假 非非 0 真真 0假假非非0真真 0假假 0假
6、假0假假 0假假 0假假非非0真真 非非 0 真真 非非 0 真真有假则假,全真才真。有假则假,全真才真。S1,S2是两个开关,是两个开关,L是一个灯是一个灯泡,在这个电路图中开关泡,在这个电路图中开关S1和和S2只有两种状态:闭合只有两种状态:闭合(用用1表表示示)和断开和断开(用用0表示表示);灯泡也只;灯泡也只有两种状态:亮有两种状态:亮(用用1表示表示)和不和不亮亮(用用0表示表示)。灯泡是否亮和两。灯泡是否亮和两个开关的闭合、断开之间就形个开关的闭合、断开之间就形成了一种逻辑运算成了一种逻辑运算。例如:例如:5&3 4&0 10|或或 逻辑或逻辑或有真则真,全假则假。有真则真,全假则
7、假。例如:例如:5|3 4|0 11!非非 逻辑非逻辑非非非0(真真)0(假假)0(假假)非非0(真真)例如:例如:!2 !0 12 逻辑表达式逻辑表达式是用逻辑运算符把操作对象连接起来而构成的式子。是用逻辑运算符把操作对象连接起来而构成的式子。逻辑表达式运算结果值为逻辑表达式运算结果值为1或或0。注意区分逻辑量与逻辑值注意区分逻辑量与逻辑值例:例:4&7的逻辑值为的逻辑值为1。逻辑量逻辑量凡是参加逻辑运算的变量、常量都是逻辑量,凡是参加逻辑运算的变量、常量都是逻辑量,以以0代表代表“假假”,以非,以非0代表代表“真真”。逻辑值逻辑值逻辑量、逻辑表达式的运算结果的值就是逻辑逻辑量、逻辑表达式的
8、运算结果的值就是逻辑值。逻辑值只能是值。逻辑值只能是“0”和和“1”这二个数。这二个数。“1”表示逻辑真表示逻辑真(成立);(成立);“0”表示逻辑假(不成立)。表示逻辑假(不成立)。逻辑量与逻辑值间的关系:一切非逻辑量与逻辑值间的关系:一切非“0”的逻辑量其逻辑值都为真。的逻辑量其逻辑值都为真。注意注意2xy)printf(“the bigger one is%d”,x);15Please input a:99 CROK!#include“stdio.h”main()int a;printf(“n Please input a:”);scanf(“%d”,&a);if(a%3=0)print
9、f(“OK!”);运行程序运行程序例例:若输入一个整数是若输入一个整数是3的倍数的倍数,则显示则显示“OK!”。否则什么也不显示。否则什么也不显示。注意:判断是否相等注意:判断是否相等用用“=”,而不能用赋,而不能用赋值运算符值运算符“=”16例例2.3:求两个数:求两个数a和和b中较大的数。中较大的数。#include stdio.hvoid main()int a,b,x;/*定义定义3个变量个变量*/printf(please input two integers:);/*屏幕输出提示语屏幕输出提示语*/scanf(%d%d,&a,&b);/*输入两个整数输入两个整数*/x=a;/*假设
10、假设a是较大的数先赋给是较大的数先赋给x*/if(a 100)printf(“bigger than 100.n”);else printf(“less than or equal to 100.n”);Please input a number:89 CRless than or equal 100.运行程序运行程序例:例:输入一个整数,判断其值是否大于输入一个整数,判断其值是否大于100。21#include“stdio.h”main()int a,b;printf(“n Please input a and b:”);scanf(“%d,%d”,&a,&b);if(a b)printf(
11、“max=%d”,a);else printf(“max=%d”,b);Please input a and b:100,99CRmax=100运行程序运行程序例例:输入两个整数,将较大的数输出。输入两个整数,将较大的数输出。222.3.3 多分支多分支ifelse ifelse形式形式程序形式程序形式:if(表达式(表达式1)语句语句1;else if(表达式(表达式2)语句语句2;else if(表达式(表达式3)语句语句3;else 语句语句4;表达表达式式语句语句4语句语句3表达式表达式2程序流程程序流程表达式表达式1真真语句语句1假假语句语句2表达式表达式3假假假假真真真真if-el
12、se if-else多分支结构可以判断多种情况。多分支结构可以判断多种情况。23A=90,A.(90-100)。B=80,B.(80-89)。C=70,C.(70-79)。D=60,D.(60-69)。E=0,E.(0-59)。main()float score;printf(“n Enter a score:”);scanf(“%f”,&score);if(score=90)printf(“A n”);else if(score=80)printf(“B n”);else if(score=70)printf(“C n”);else if(score=60)printf(“D n”);els
13、e if(score=0)printf(“E n”);else printf(“Error Data!”);例例:学生成绩分学生成绩分A、B、C、D、E 五等。五等。任给一个成绩,判断它属于哪一等,用任给一个成绩,判断它属于哪一等,用 if-else if 分支语句编程。分支语句编程。该程序该程序score大于大于100,输出,输出A。score小于小于0,输出,输出Erroe Data!。score值应在值应在0-100之间。之间。24例:计算并输出例:计算并输出y的值的值 3x-1 x0 6x2+9x-5 0=x10y=10=x=25 109 x#include“math.h”#inclu
14、de“stdio.h”main()float x,y;scanf(“%f”,&x);if(x0)y=3*x-1;else if(x10)y=6*x*x+9*x-5;else if(xy);(2)if(xy)a=10 else a=100;(3)if(x=y)a=10;printf(“%d”,a);else a=100;(4)if(5)a=10;(2)(3)(2)if(xy)a=10;else a=100;(3)if(x=y)a=10;printf(“%d”,a);else a=100;262.3.4 嵌套的嵌套的if语句语句if(e1)if(e2)S3;else S4;else if(e3)S
15、5;else S6;入入口口入入口口 出出口口 出出口口 出出口口 出出口口 出出口口 出出口口分支嵌套应注意:分支嵌套应注意:if 和和 else 的配对关系。的配对关系。程序的走向,即程序的入口和出口、执行部分和非执行程序的走向,即程序的入口和出口、执行部分和非执行(跳出跳出)部分。部分。if (e1)S1;else S2;在程序设计中,经常用到条件分支嵌套。条件分支嵌套就是在程序设计中,经常用到条件分支嵌套。条件分支嵌套就是在一个分支中包含(嵌套)另一个分支在一个分支中包含(嵌套)另一个分支。s4假真e2e3s3s5s6假假真真e1每个分支都要有每个分支都要有被执行的可能性被执行的可能性
16、27main()int x,y,z,min;printf(“n Please input x,y,z:”);scanf(“%d%d%d”,&x,&y,&z);if(x y)if(xz)min=x;else min=z;else if(yz)min=y;else min=z;printf(“n min=%d”,min);Please input x,y,z:100 5 29CRmin=5运行程序运行程序例例:任意输入三个整数,求其中最小的数。任意输入三个整数,求其中最小的数。if 与与 else 配对关系:一个配对关系:一个 else 总是与其上面距它最总是与其上面距它最近的,并且没有其它近的,
17、并且没有其它 else 与其配对的与其配对的 if 相配对。最好相配对。最好将程序中配对的将程序中配对的if-else的位置对齐,这样可以提高程序的位置对齐,这样可以提高程序的可读性;的可读性;程序的走向,即程序的入口和出口、执行部分和非程序的走向,即程序的入口和出口、执行部分和非执行执行(跳出跳出)部分。部分。每个每个if-else 有一个入口,两个出口。有一个入口,两个出口。if 与与 else 配对关系与程序的走向:配对关系与程序的走向:if(e1)if(e2)s1;else if (e3)s2;else s3;入口入口真真e 3e 1e 2S1S2S3真真真真假假假假假假 出出口口 出
18、出口口 出出口口 出出口口if(e1)if(e2)s1;else if (e3)s2;else s3;入口入口 出出口口 出出口口 出出口口 出出口口假假e 3e 1e 2S1S2S3真真真真真真假假假假if 与与 else 配对关系:配对关系:对于选择结构的对于选择结构的程序来说,每次程序来说,每次运行程序时,只运行程序时,只能从一个入口进,能从一个入口进,一个出口出,即一个出口出,即只能有一个分支只能有一个分支被执行。被执行。30例:假定所有变量均已正确定义,下列程序段执行例:假定所有变量均已正确定义,下列程序段执行后,后,x的值是:的值是:a=b=c=0;x=35;if(!a)x-;el
19、se if(b);if(c)x=3;else x=4;A)34 B)4 C)35 D)3答案:答案:Bif(!a)x-;else if(b);if(c)x=3;else x=4;x=34x=4313.3.5 开关分支开关分支 在计算机程序设计中,实际问题常常需要用在计算机程序设计中,实际问题常常需要用到多分支的选择。到多分支的选择。if-else 语句只能有两个分支可供选择,不能满语句只能有两个分支可供选择,不能满足多分支的需要;足多分支的需要;if-else if 嵌套形式可以满足多分支的要求;嵌套形式可以满足多分支的要求;也可选用也可选用switch语句,语句,switch是多分支选择语是
展开阅读全文