第四课 简单的分支结构程序设计

合集下载

湖南省C语言(上)教案:第四章分支结构程序设计(高教版).doc

湖南省C语言(上)教案:第四章分支结构程序设计(高教版).doc

第四章分支结构程序设计分支程序设计章节练习题四、选择题1.若x=0,y=3,z=3,以下表达式值为0的是A. !xB.x<y? 1:0C. x%2&&y==zD. y=x||z/32.以下运算符中优先级最低的运算符为 ,优先级最高的为。

A. &&B. !C. !=D. ||E. ?:F. ==3.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的结果为。

A. 4B. 3C. 2D. 14.若w,x,z均为int型变量,则执行以下语句后的输出为。

w=3;z=7;x=10;printf("%d\n",x>10?x+100:x-10);printf("%d\n",w++||z++);printf("%d\n",!w>z);printf("%d\n",w&&z);A. 0B. 1C. 0D. 01 1 1 11 1 0 01 1 1 05.分析以下程序, 下列说法正确的是。

main(){ int x=5,a=0,b=3;if(x=a+b) printf("* * * *\n");else printf("# # # #\n");}A. 有语法错,不能通过编译B. 通过编译,但不能连接C. 输出* * * *D. 输出# # # #6.分析以下程序, 下列说法正确的是。

main(){ int x=0,a=0,b=0;if(x=a+b) printf("* * * *\n");else printf("# # # #\n");}A. 有语法错,不能通过编译B. 通过编译,但不能连接C. 输出* * * *D. 输出# # # #7.分析以下程序, 下列说法正确的是。

《分支结构的程序设计》教学设计

《分支结构的程序设计》教学设计

《分支结构的程序设计》教学设计一、概述《分支结构的程序设计》是信息技术佛山版九年级第二单元第4课的内容,它主要包括:程序的结构,IF语句的基本格式(常用的一种)。

它的重点与难点:1、用户登录程序 2、 IF语句的格式 3、IF 语句的拓展形式。

二、教学目标分析(1)知识与技能1.了解程序3种基本的结构(顺利结构、分支结构和循环结构),2.掌握IF语句的基本格式:IF 条件 THEN 语句组1 ELSE 语句组2ENDIF3.掌握用户登录程序的编写,能够应用IF语句来设计及编写书中的用户登录程序;(2)过程与方法通过任务驱动,屏幕演示、实例练习、小组、协作学习等方法,使学生设计界面,编写代码,让学生在课堂中掌握用户登录程序的编写,使学生初步形成结合实际进行思考的方法。

(3)情感态度与价值观通过本课的学习,让学生建立一种团队精神。

培养学生保护知识产权,让学生懂得保护软件版权,引导学生践行社会主义价值观。

三、学习者特征分析九年级学生,已了解VB的程序界面,能够用VB设计图2-15的界面,以及各控件的使用,同时,他们的思维也比以前有了进一步的提高,会析问题,询求解决问题的方法,但由于我校的学生生整体素质一般,所以一节课的内容不能太多。

四、教学策略选择运用主导策略,在教师指导下,学生小组协作进行学习。

五、教学环境及资源1.多媒体网络教室2.教学资源:(1、课件 2、学习资源)六、教学过程1.导入:我们上QQ,或上网购物时,要输入用户名和密码才能进入,那么这个程序,我们也可以用VB设计一个类似的登录窗口。

设计意图:激发学生的学习兴趣。

教师:运行一个已经写好的用户登录程序。

设计意图:把神秘的编程化做我们平时的生活,使编程这个问题,简单化,同时告诉学生;谁学了VB语言,都可以编写的。

2.编登录程序之前,教师让学生说出程序的答案然后讲解、分析程序的结构(1)顺序结构:程序一般是从上到下一句一句地顺序执行,即如:X=4Y=7Y=X+Y运行后,Y的值是多少?(2)循环结构:比如,从1+2+3+4+5+……+10重复执行以下命令I=1S=0S=S+II=I+1 如果 I不等于10,则返回第3条语句否则显示 S 的值。

分支结构的程序实现(if-elif)教学设计

分支结构的程序实现(if-elif)教学设计

分支结构的程序实现(if-elif)教学设计试一试:在上节课学习if语句的时候,我们曾经举个生活中if语句伪代码的实例,比如下面这个例子:if 今晚不下雨:去体育馆打篮球else:去健身房健身在这个例子中,只有“下雨”和“不下雨”这两种情况,但是现实世界的问题并非如此简单,请看下面的流程图:在上面的流程图中,情况变的复杂了,下不下雨和朋友有没有空组合成了4中不同情况,这样的问题,用if语句来编写伪代码该如何实现呢?请尝试。

参考答案:新课教学●知识讲解—if-elif语句教师展示if-elif语句的一般格式:if <条件1>:<语句块1>elif <条件2>:<语句块2>……elif <条件n>:<语句块n>else:<语句块n+1>一个if语句可以包含多个elif子句,最后一个else语句是可选的。

elif子句仅当其if语句中的条件为假时才执行。

如果if语句和elif子句中的条件都不为真时,末尾的else子句的语句块就会被执行。

因此,带有elif子句的if语句有一个很重要的特性:只要某个条件为真,计算机就会执行其所对应的语句块,然后退出该语句。

上面同学们写的试一试的程序实现②的代码稍作修改,就是if-elif语句的分支结构的程序实现:if 今晚下雨 and 朋友有空:和朋友一起看电影elif 今晚下雨 and 朋友没空:独自一个人健身房健身elif 今晚不下雨 and 朋友有空:和朋友一起打篮球elif 今晚不下雨 and 朋友有空:独自一个人户外长跑如上所示代码,当执行到条件成立的语句块时,if-elif语句就会退出,从而避免了效率问题,而且在这个程序实现中也可以发现,else分支是可以省略的。

当然该代码最后一种情况是上面三种情况都不成立时候的情况,所以代码也可以改写为如下形式:if 今晚下雨 and 朋友有空:和朋友一起看电影elif 今晚下雨 and 朋友没空:独自一个人健身房健身elif 今晚不下雨 and 朋友有空:和朋友一起打篮球else:独自一个人户外长跑●学生活动—if-elif语句实战:学生考试等第判断编写程序,输入分数([1, 100]之间的整数),如果分数在[85, 100]之间等第为优秀,[70, 84]等第为良让学生理解if-elif语句的语法格式以及它的使用。

C语言程序设计-第四章简单计算器小程序-分支程序设计

C语言程序设计-第四章简单计算器小程序-分支程序设计

P1 逻辑运算符 P2

逻辑运算符 P2
课堂练习: 求下面逻辑表达式的值: 2>1 && 4 && 7<3+!0
值为0
等价于((2>1)&&4)&&(7<(3+(!
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算的重要规则
a&&b:当a为0时,不管b为何值,结果为0
课堂练习:有下面定义的语句和逻辑表达式: int a=0,b=10,c=0,d=0 a && b && (c=a+10,d=100) 逻辑表达式执行后,a,b,c,d的值各为多少?
任务实现效果演示 例题源代码:switchcalculator.c
相关知识 1. switch语句 2. break语句
1 switch多分支选择结构
❖ 尽管用if…else if结构可以实现多分支,注但意当:分常支量较表多达时式,必程须序是结整构型较、复字杂符。型或枚举类型,不能是 实型表达式,每个case关键字后的常量表达式应互不相同
值为0 等价于i==(k>j),值为1
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算符与逻辑表达式
&&(逻辑与)、||(逻辑或)、!(逻辑非)(单目)
逻辑表达式的一般形式:
优先级: 1.由低到高: ||→ && → !; 2.多种运算符一起: = →|| →&& →关系运算符 →算术运算符→ !。
【】 简单计算器小程序:由用户输入运算数和四则运算符(+、-、*、/),输出计算结果。
【】

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

分支结构程序设计

分支结构程序设计

举例
【例】输入一个数,判断它是奇数还是偶 数,如果是奇数则进一步判断它是 否为5的倍数。
定义变量x 输入x的值 x是奇数? T 输出“奇数” x是5的倍数 T F 是5的倍数 F
输出“偶数”
程序:
main( ) { int x; scanf ("%d",&x); if (x%2 != 0) 判断该数是否为奇数 { printf("%d is an 奇数 \n",x) ; if (x%5==0) 判断该奇数是否为5的倍数 printf("%d is the times of 5 \n",x) ; } else printf("%d is an 偶数 \n",x) ; }
程序:
#include "stdio.h" main( ) { char ch; ch=getchar( ); if (ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch ); } 可使用条件表达式代替
程序运行情况如下: putchar(ch>='A' && ch<='Z' ? ch+32:ch); G putchar (' \n') g
4 if语句的嵌套

不要求掌握
如果if的内嵌语句中又使用了一个if语句, 则构成if语句的嵌套。
【例】比较两个整数的关系。 应该正确判断: #include <stdio.h> • if的内嵌语句 main( ) • if和else的配对 { int x, y; printf ("Enter integer X and Y:"); scanf ("%d%d", &x, &y); if ( x != y ) if ( x > y ) printf ("X>Y\n"); 提倡缩格书写 else printf ("X<Y\n"); 有利于阅读程序 else printf ("X=Y\n"); }

C语言程序设计基础分支结构程序设计PPT课件

C语言程序设计基础分支结构程序设计PPT课件

if 语句 if 语句
例:计算符号函数
输入变量x, 计算符号函数:
1 当 x>0
y = 0 当 x=0
-1 当 x<0
非0
非0
if (x>=0)
x>0
if(x>0) y = 1;
else y = 0;
else y = -1;
y=1
x >= 0
0
y=0
0 y = -1
例4-9
非0
0
x <2
非0
0
x <1
非0
0
exp1
int n;
(n>0) ? 2.9 : 1
n = 10
2.9
n = -10
1.0
x+2 x>0 y=
x2 x<=0
if ( x>0 ) y=x+2;
else y=x*x;
y = (x>0) ? x+2 : x*x;
4.3 switch语句
switch(表达式) {
case 常量表达式1:语句段1 case 常量表达式2:语句段2
非0
0
表达式
if (exp)
statement_1
语句1
ch=getchar(); if(ch>='a'&&ch<='z')
ch=ch-'a'+'A'; putchar(ch);
ch=getchar(); if(ch>='a'&&ch<='z'){

第四章 分支结构的C程序设计39页PPT文档

第四章 分支结构的C程序设计39页PPT文档

4.1.3 逻辑表达式
7
熟练掌握关系运算符和逻辑运算符,可以用逻辑表达式表 示一个复杂的条件。例如:判断某年y是否是闰年。y满足二者 之一为闰年:
(1)y能被4整除,但不能被100整除; (2)y能被400整除。 两个条件为或(||)的关系,条件(1)内的两个条件为与 (&&)的关系。判断整除用求余运算%,余数为0,则能整除。 表达式写成: (y % 4= =0 && y % 100 ! = 0 )|| y % 400 = = 0
4.2.1 if语句的简单形式
9
if语句的简单格式 if (表达式) 语句
可为算术、关系、逻辑、赋值 等表达式
内嵌语句,可为:
赋值语句 函数调用语句 控制语句 复合语句 空语句
功能:
– 计算表达式的值,如果是一个非0值(即 逻辑真),就执行内嵌语句,否则(即逻 辑假)跳过内嵌语句,顺序执行后续语句。
逻辑表达式的值也是一个逻辑值(非“真”即“假”)。
逻辑表达式求解,在值已能确定的情况下不一定求到最后。 如:
(1)表达式a && b && c: 当a=0时,表达式的值为0,不必计算判断b、c; 当a=1,b=0时,表达式的值为0,不必计算判断c; 只有a=1,b=1时,才判断c; (2)表达式a || b || c: 当a=1(非0)时,表达式的值为1,不必计算判断b、c; 当a=0时,才判断b,如b=1,则表达式的值为1,不必计算 判断c; 只有a=0,b=0时,才判断c;
C 程序设计
第四章 分支结构的C程序设计
山西大同大学 物电学院
本章主要内容
2
4.1 分支结构中的表达式 4.2 if语句
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四课简单的分支结构程序设计
在现实生活中,我们每天都要进行根据实际情况进行选择。

例如,原打算明天去公园,但如果明天天气不好,将留在家里看电视。

所以人也会根据条件进行行为的选择。

计算机也会根据不同情况作出各种逻辑判断,进行一定的选择。

在这课与下一课中,我们将会发现,我们是通过选择结构语句来实现程序的逻辑判断功能。

一、PASCAL中的布尔(逻辑)类型
在前面,我们学习了整型(integer)与实型(real)。

其中integer型数据取值范围为-32768到32767之间所有整数。

而real型数据取值范围为其绝对值在10-38到1038之间的所有实数。

它们都是数值型的(即值都为数)。

布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。

1、布尔常量
在Pascal语言中"真"用ture表示,"假"用False表示。

所以布尔类型只有TRUE 与FALSE两个常量。

2、布尔变量(BOOLEAN)
如果我们将某些变量说明成布尔型,那么这些变量就是布尔变量,它们只能用于存放布尔值(ture或false)。

例如,VAR A,B:BOOLEAN;
3、布尔类型是顺序类型
由于这种类型只有两个常量,Pascal语言中规定ture的序号为1,false的序号为0。

若某种类型的常量是有限的,那么这种类型的常量通常都有一个序号,我们称这种类型为顺序类型。

如前面我们学过的整型(integer),以及后面要学到的字符型(char)都是顺序类型。

4、布尔类型的输入与输出
a)输出
VAR A,B:BOOLEAN;
BEGIN
A:=TRUE;B:=FALSE;
WRITELN(A,B);
END.
TRUEFALSE
b)布尔类型变量不能直接用读语句输入
布尔类型变量不能通过读语句给它们提供值。

事实上,我们可以通过间接方式对布尔变量进行值的输入。

例如,以下程序是错误的:
var a,b,c:Boolean;
begin
readln(a,b,c); {错误语句}
writeln(a,b,c);
end.
二、关系表达式与布尔表达式
1、什么是关系表达式
用小括号、>、<、>=、<=、=、<>将两个算术表达式连接起来的式子就称为关系表达式(比较式)。

如:3+7>8,x+y<10,2*7<=13等都是关系表达式。

2、关系表达式的值
很显然,这几个关系表达式中第一个是正确的,第三个是错误的,而第二个表达式可能是对的,也可能是错的。

所以我们很容易发现,这些表达式的值是"对"的或"不对"的(或者说,是"真"的或"假"的),即关系表达式的值为布尔值。

表示该比较式两端式子的大小关系是否成立。

如3+2>6是错的,故它的值为FALSE。

同样,45>=32是对的,故该表达式的值为true。

关系表达式用于表示一个命题。

如:"m为偶数"可表示为:m mod 2=0。

"n为正数"可表示为:n>0。

3.布尔运算及布尔表达式
为了表示更复杂的命题,Pascal还引入三种逻辑运算符:not、and、or。

它们分别相当于数学上的"非"、"且"和"或"的意义。

这三个运算符的运算对象为布尔量,其中not为单目运算,只有一个运算对象,and 与or为双目运算,有两个运算对象。

它们的运算真值表如下:
于是,对于一个关系表达式,或多个关系表达式用布尔运算符连接起来的式子就称为布尔表达式。

布尔表达式的值也为布尔值。

如果一个表达式里出现两个或两个以上的运算符, 则必须规定它们的运算次序。

pascal规定:
①表达式中相同优先级的运算符,按从左到右顺序计算;
②表达式中不同优先级的运算符,按从高到低顺序计算;
③括号优先级最高,从内到外逐层降低;
对于一个复杂的表达式可能同时包含算术运算、关系运算和逻辑运算以及函数运算。

运算的优先顺序为:括号à函数ànotà*、/、div、mod、andà+、-、or、xorà关系运算。

对于复杂的命题,我们可以用布尔表达式来表示。

例如,命题:"m,n都是偶数或都是奇数"可表示为"(m mod 2=0)and(n mod 2=0) or (m mod 2=1)and(n mod 2=1)"。

三、简单的IF语句
1、格式
Ⅰ、IF <布尔表达式>THEN 语句;
Ⅱ、IF <布尔表达式>THEN 语句1 ELSE 语句2;
(注意Ⅱ型IF语句中语句1后无";"号)
2、功能
Ⅰ、执行IF语句时,先计算<布尔表达式>的值,若为TRUE则执行语句,否则不执行任何操作。

Ⅱ、执行IF语句时,先计算<布尔表达式>的值,若为TRUE则执行语句1,否则执行语句2;
3、示例
1)例4.2输入一个整数a,判断是否为偶数。

(是输出"yes"否则输出"no")。

Program ex4_2;
Var a:integer;
Begin
Write('a=');readln(a);
If (a mod 2 =0)then writeln('yes')
Else writeln('no');
Readln;
End.
2)华榕超市里卖电池,每个电池8角钱,若数量超过10个,则可打75折。

Program ex4_3;
Var Num:integer;Price,Total:real;
Begin
Write('Num=');readln(Num);
Price=0.8;
If Num>10 then Price:=Price*0.75;
Total:=Num*Price;
Writeln('Total=',Total:0:2);
Readln;
End.
3)编写一与电脑猜"红"或"黑"的游戏。

分析:用1代表红,0代表黑。

先由计算机先出答案,然后再由人猜,猜对输出"YOU WIN"否则输出"YOU LOST"。

为了模拟猜"红"或"黑"的随意性,程序中需要用到随机函数random(n)。

函数是什么呢,例如大家都知道|-2|=2,|58|=58,那么|x|=?。

如果我们用y表示|x|,那么 .这里y=|x|就是一个函数,也就是说函数是一个关于一个或多个自变量(未知量,如上例中的x)的运算结果。

在pascal语言中,系统提供了许多内部函数,其中包括|x|函数,当然它用abs(x)表示。

我们如果要求x2-y的绝对值,可以调用内部函数abs(x*x-y)即可求得。

Random(n)
也是一个内部函数,调用它能得到0~n-1之间的整数(但它不确定的,或说是随机的)。

同时由于函数是一个运算结果,所以函数的调用只能出现在表达式中。

Program ex4_3;
Uses crt;
Var Computer,People:integer;
Begin
Randomize;
Computer:=random(2);
Write('You guess(0-Red 1-Black):');readln(People);
If People=Computer then writeln('YOU WIN')
Else writeln('YOU LOST');
Readln;
End.
作业:.某车站行李托运收费标准是:10公斤或10公斤以下,收费2.5元,超过10公斤的行李,按每超过1公斤增加1.5元进行收费。

试编一程序,输入行李的重量,算出托运费。

相关文档
最新文档