搜档网
当前位置:搜档网 › 八年级信息技术教案第四章择路而行 选择结构程序设计范文整理

八年级信息技术教案第四章择路而行 选择结构程序设计范文整理

八年级信息技术教案第四章择路而行  选择结构程序设计范文整理
八年级信息技术教案第四章择路而行  选择结构程序设计范文整理

八年级信息技术教案第四章择路而行---选择结构程序设计

第四章择路而行---选择结构程序设计

节路口诀择----条件语句

一、教学目标

掌握选择结构程序中常用的Qbasic语句。

掌握选择结构程序设计方法。

能利用选择结构程序设计解决简单的实际问题。

二、教学重点:

.选择结构的语句及功能

.选择结构中程序设计方法。

三、教学方法:讲授法,对比法,分组讨论法。

四、教学时间:2课时

五、教学教程:

引入新课:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。

讲述新

l单行条件选择语句IF

单行结构条件语句IF…THEN…ELSE

格式:IFTHEN[ELSE]

功能:最简单的条件选择语句,用来进行条件判断,使语句有条件的执行。

说明:

)当为真时,则执行。

)ELSE语句可以省略。

)当为假时,而且语句中有ELSE语句则执行。

)IF、THEN、ELSE必须在同一行上。

示例A、输入x的值,计算y的值。

RE程序名为:eg1.bas

INPUT“请输入x的值:”,x

IFx>=0THENy=1+XELSEy=1-2*X

PRINTy=;

END

例:求一元二次方程Ax2+Bx+c=0的实数根。

分析:写写出程序的流程图,参考流程图来写程序。

程序清单如下:

INPUTA,B,c

D=B*B-4*A*c

的值。y=2x-5的值并计算表达式x时,输入IFD=5

INPUTx

IFx>=5THENy=2*x-5

PRINT

END

输入a、b、c三个数,要求将绝对值最大者打印出来。 INPUTa,b,c

IFABS>ABSANDABS>ABSTHENPRINT“绝对值最大的为”;a IFABS>ABSANDABS>ABSTHENPRINT“绝对值最大的为”;b IFABS>ABSANDABS>ABSTHENPRINT“绝对值最大的为”;c END

l块结构条件语句IF…THEN…ELSE…ENDIF

格式:IFTHEN

[]

[ELSEIFTHEN

[]]

[ELSEIFTHEN

[]]

……

[ELSE

[]]

ENDIF

说明

THEN必须放在IF或ELSEIF语句的尾部。

举例

)程序名为:eg2.bas

义啐屔请输入x的值:,x

IFX>=0THEN

y=1+x

ELSE

y=1-2*x

ENDIF

PRINTy=;

END

)编写程序,任意输入一个整数,判定该整数的奇偶性。

讲解其中的一种方法,让学生想第二种方法。

Input“Enteranuber:”;n

IFnoD2=0THENPRINTn:“iseven”ELSEPRINTn:“isodd” END

或者用块IF语句:

INPUT“Enteranuber:”;n

IFnoD2=0THEN

PRINTn;“iseven”

ELSE

PRINTn;“isodd”

ENDIF

END

*4、练习

任给定一年,判断该年是否闰年

INPUT“请输入年份”;year

IFyearoD4=0ANDyearoD1000oRyearoD4000THEN PRINTyear;“是闰年”

ELSE

PRINTyear;“是平年”

ENDIF

六、小结

七、作业:课后练习1-4题。

教学后记:第二节指点迷津----SELEcTcASE语句

一、学习目标

了解SELEcTcASE的特点。

二、教学重点

掌握SELEcTcASE的使用方法。

三、教学难点

SELEcTcASE的应用。

四、教学方法

.演示法。

.实践法。

五、教学手段与教学媒体

多媒体网络教室。

六、课时安排

课时。

用嵌套的IF语句可实现多分支选择

基本格式

selectcase

case

case

case

caseelse

endselect

每一个cASE句中指定一个值条件,当cASE变量的值符在

执行完该语句组后,执行该子句下面的语名组,合条件时,跳过其它cASE子句,从ENDSELEcT转出。

c=int

在cASE子句中使用To

cASE To

在cASE子句中使用IS

cASEIS

在cASE子句中使用多个条件

允许在一个cASE子句中指定多个条件,各条件

之间用逗号分开。

条件=单值、值范围、单条

SELEcTcASE语句的一般格式

selectcase

case,,…

case,,…

case,,…

caseelse

顺序结构选择结构和循环结构的程序设计典型例题分析与解答

顺序结构、选择结构和循环结构的程序设计典型例题分析与解答 1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构 【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。【答案】多分支 2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。 【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。 【答案】直到型 3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。 【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。【答案】#include"stdio.h"或#include<stdio.h> 4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( ) ①'A'/②A/③x=A/ ④x=A,y=12/ 12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键 【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符, 在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。【答案】④ 5 设有下列程序段,则执行该程序段后的输出是( ) int i=012; float f=1.234E-2; printf("i=%-5df=%5.3f",i,f); ... ①i=__012f=1.234 ②i=10___f=0.012 ③10___O.012 ④___100.012 注:答案中的_代表一个空格。 【分析】输出语句的格式控制符串中的“i=”、“f=”都是非格式控制符,在输出时必须原样,原位置输出,所以只有备选答案①和②才符合这个要求;格式控制符“%-5d”的格式控制是数据左对齐、宽度为5的整型数据,备选答案①中的数据是右对齐的;此外,该答案中的实数“1.234E-2”应该代表“0.01234”,而不是“1.234”。只有备选答案②符合题意。【答案】② 6 在Turbo C的主屏幕中,将当前编辑的源程序以原名存盘,可以选用___________菜单项,也可以直热键________。 【分析】如果选用“File/Save”菜单项,或者使用热键(f12),当前编辑的源程序将以原来的文件名存盘;如果选用“File /Write to”,当前编辑的源程序将以新的文件名存盘。 【答案】File/Save F2 7 下列各种选择结构的问题中,最适合用if-else语句来解决的是( ) ①控制单个操作做或不做的问题 ②控制两个操作中选取一个操作执行的问题 ③控制三个操作中选取一个操作执行的问题 ④控制10个操作中选取一个操作执行的问题 【分析】if-else语句是专门解决“双分支结构”的,而“双分支结构”的问题就是用单个条件控制从两个操作中选取一个操作来执行的问题。 【答案】② 8 下列程序是输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:'a'将转换成’B’、…、‘y’将转换成’Z’,其中的’Z’将转换成’A’。请填写程序中所缺少的语句。 main() {char ch ; scanf(”%c”,&ch〕; ch=ch- 32+1; ___________________; printf("%c\n",ch); } 【分析】分析程序库中的“ch=ch- 32+ 1;”语句,可知是将字符型变量 ch中的小写字母转换成对应的大写字母(- 32)的后一个字母(+ l)。如果ch中的字母是' a'、' b'、··,'y',转换结果都不会出错,但是,如果 ch中的字母是'Z',则-32后是大写字母'Z',再+l后将不是大写字母了。为了使其转换成'A',需要用一个单分支结构来实现:如果ch的值等于'Z'+ l,则硬性将 ch的值改成'A'。完成这个任务的语句是一条单分支语句,正是所缺少的语句。 【答案】 if (ch=='Z'+l) h='A'; 9不能正确计算下列分段函数的程序段是_________ |-1 x<0 y=|0 x=0 x>0 ① switch(x< 0)② if(x> 0) {case1:y=-1;break; y=1; case 0:switch(x==0)else {casel:y=0;break;if(x==0) case 0: y= l;y=0 } else } &ny=-l ③ y= l;④ y= l; if(x==0)if(x<0) y=0; y =-l; else else y=- l; if(x== 0) y=0; 【分析】先来分析备选答案①:表达式“x<0”的值只有两种可能性,成立值为1、不成立值为on如果“x<0”的值为 1(即 x< 0),则执行“easel:”后的语句“y=-l”后,退出 switch语句,符合分段函数要求。如果“x<0”的值为0(即x>=0),则执行“case 0:”后的switch语句。该switch语句的表达式是“x==0”,结果也有两种:成立为1、不成立为0.如果“x==0”的值为1(即x=0),则执行“case l:”后的语句“y=0”后,退出 switch语句,符合分段函数要求。如果“x==0”的值为0(即x>0),则执行“case 0:”后的语句“y=1”,也符合分段函数要求。再分析备选答案②:这是标准的用嵌套双分支结构来实现三分支的分段函数,结果显然是能求解分段函数的。分析备选答案③:双分支语句的条件是“x==0”,条件成立时,y值为0,符合分段函数的要求,条件不成立时(包含x>0和x<0两种情况),结果y值为-l,显然不符合分段函数的要求,所以本题要选该答案。至于备选答案④,是能正确计算分段函数的,首先置y为1;接着用双分支结构处理“x<0”和“x>=0”的两种情况:前者使得y值为一l;后者再执行一个单分支结构,如果“x==0”则使y值为0,否则不改变y值,保持y的原值1,符合分段函数的要求。 【答案】③ 10 三种循环语句都能解决循环次数已经确定的次数型循环,其中__________循环语句最适合。 【分析】当“for(表达式 1;表达式 2;表达式 3)语句;”中的表达式1为:整型变量 k=l;表达式 2为:整型变量 k<= n;表达式 3为:整型变量 k++;则这个 for循环就是次数为n次的标准次数型循环结构。 【答案】for 11执行下列程序段后的输出是() x=l; while(x<=3) x++,y=x+++x; printf("%d,%d",x,y); ① 6,10 ②5,8 ③4,6 ④3,4 【分析】我们可以使用逐步记录运行结果的方法来获得输出结果,记录如下: x=1; 进入循环,条件满足执行循环体:计算x+十得x为2,计算y=x+++x,得y为4、x为3; 继续循环,条件满足执行循环体:计算x+十得x为4,计算y=x+++x,得y为8、x为5; 继续循环,条件不满足退出循环; 输出x和y的值为5,8。 【答案】② 12 执行下列程序段,其中的do-while循环一共执行_次。 static int x; do x+=x*x; while (x); 【分析】对静态型变量,不赋初值也有值,对整型变量,其值为 0。执行循环语句 do-while 的循环体,x+=x* x是x=x+(x*

c语言第五章 选择结构程序设计(习题册答案)

第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x2&&x<3。 8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。 9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。 10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。 11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。 12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。 13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。 14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。 !(x>y)+(y!=z)||(x+y)&&(y-z) 15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。 !(x=a)&&(y=b)&&0 16、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。 二、选择题 1、逻辑运算符两侧运算对象的数据类型(D)。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 2、以下关于运算符优先顺序的描述中正确的是(C)。 A)关系运算符<算术运算符<赋值运算符<逻辑与运算符 B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑与运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 3、下列运算符中优先级最高的是(B)。 A)< B)+ C)&& D)!= 4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D)。 A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 5、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表 达式是(C)。 A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)

信息技术教案:选择结构程序设计

信息技术教案:选择结构程序设计 各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢 [1]教学目的: 、让学生了解选择结构程序 2、掌握逻辑量的概念 3、掌握关系表达式和逻辑表达式 4、了解IF语句 [2]教学重点:选择结构程序和关系表达及逻辑表达式 [3]教学难点:选择结构程序的掌握 [4]教学方法:引入法 [5]教学工具: [6]教学内容: 当结构为真时是-1,结果是假时为0 IFX>0THENPRINTX 关系:即运算量的关系。六种。>= 关系表达式:即用关系运算符把运算量联接起来的式子。 例:A>B,X>=y,mN等。例:X=Z

如:A>B为真时,则NoTA等于假 程序: A=3 B=4 PRINTA,B,NoTA>B,NoTABTHEN PRINTA IFNoTA>BTHENPRINTB END 2)AND相当于数学里的交集,即两个运算量取交集 如:A={1,2,3,4,5,6,7} B={1,2,66,54,34,5,3} A交B={1,2,3,5} 即AANDB=-1如AANDB没有值则为0 例:IFAANDBTHENPRINTA 3)oR相当于数学里的并集集 A={1,2,3,4,5,6,7} B={1,2,66,54,34,5,3} AUB={1,2,3,4,5,6,7,66,54,34} 逻辑运算符的运算规则为真值表:

真值表为(略) 逻辑表达式:用逻辑运算符联接起来的式子。 例1:AANDBoRcoRNoTA A>BNoTA等。 4、IF语句的格式: IF逻辑表达式THEN语句1ELSE语句2 学生写出程序运行的值: 小结: 略 教效果 教后感选择结构程序设 各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢

第四节选择结构程序设计

第四节选择结构程序设计 4.1选择程序设计举例 在编写程序中,往往要求根据某个指定的条件是否满足来决定执行的内 容?例如,购物在1000元以下的打九五折,1000元及以上的打九折? C++ 提供if语句来实现这种条件选择?如 if amount<1000 tax=0.95; //amount 代表购物总额,tax 代表折扣 else tax=0.9; 〃若amount<1000,条件满足,tax=0.95,否则tax=0.9 pay二amount*tax; //pay 为实付款 流程可以用图4.1表示? lax=0.95 lax=0,9 pay= amount* lax J~ 图4.1 4.2选择结构和if语句 if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假) 决定执行给出的两种操作之一? 4.2.1 if语句的3种形式 1. if (表达式)语句

例如: if(x>y) coutvvxvve ndl; 这种if语句的执行过程见图4.2(a)? 2. if (表达式)语句1 else语句2 例如: if (x>y) cout?x; else coutvvy; 见图 4.2(b)? 语句 rr (a) (b) 图4.2 3. if(表达式1)语句1 else if (表达式2)语句2 elseif(表达式3)语句3 else if (表达式m)语句m else语句n流程图见图4.3? 例如: if (n umber>500) cost=0.15; else if(number>300) cost=0.10;

else if( number>100) cost=0.075; else if( nu mber>50) cost=0.05; 说明: (1)从图4.2和图4.3可以看到:3种形式的if语句都是由一个入口进来,经过对表达式”的判断,分别执行相应的语句,最后归到一个共同的出口?这种形式的程序结构称为选择结构?在C++中if语句是实现选择结构主要的语句? (2)3种形式的if语句中在if后面都有一个用括号括起来的表达式,它 是程序编写者要求程序判断的条件” 一般是逻辑表达式或关系表达式? (3)第2?第3种形式的if语句中,在每个else前面有一分号,整个语句结束处有一分号? ⑷ 在if和else后面可以只含一个内嵌的操作语句(如上例),也可以有 多个操作语句,此时用花括号“{} 将”几个语句括起来成为一个复合语

选择结构程序设计题

选择结构程序设计 一、实验目的 1.熟练掌握关系表达式和逻辑表达式的使用。 2.熟练掌握嵌套的if语句和switch语句实现多分支结构程序设计。 3.掌握选择结构程序设计的方法。 4.继续熟悉跟踪调试程序的方法和过程。 二、实验内容及步骤 1.分析程序并上机运行验证结果。 #include void main() { int a,b,t; printf("请输入a,b的值:"); scanf("%d,%d",&a,&b); if(a>3,2 3,2>>3,2 } 思考: 从输入数据和运行结果分析程序的功能。 将“{t=a;a=b;b=t;}”改为“t=a,a=b,b=t;”,程序的功能改变了吗?为什么?一样的 将“if(a void main() { int a,b; printf("请输入a,b的值:"); scanf("%d,%d",&a,&b); if (b) printf("a/b=%d \n",a/b); //在确保b非零的情况下执行a/b运算 else printf("ERROR:Cannot divide by zero!\n"); } 提示: 程序的功能是实现两个整数相除。程序设计时应避免被零除的错误,所以“if(b)printf("a/b=%d \n",a/b);”就是在确保b非零的情况下执行a/b运算。 if(b)也可以写作if(b!=0)。 3.阅读、分析程序,记录结果,并上机运行验证结果。 #include void main() {

《VB选择结构程序设计》教学设计

《VB选择结构程序设计》教学设计 山东省临清市第二中学吴焕英 【案例背景】 高中信息技术新课程的实施,其课程目标定位于全面提升学生的信息素养,其课程的设置从知识与技能、过程与方法、情感态度与价值观三个方面实施这个课程目标。然而,众多的老师实施新课程后发现:教学内容的范围比以前更广泛了、课时远远不够、教学软硬件资源缺乏等诸多问题。因此,如何更有效地开展新课程教学,成为老师们迫切需要解决的问题。本教学案例从学生的实际情况出发,根据现有的数学、英语基础,结合简单的生活实例,引导学生进行探索式学习,问题从简单的英语口语入手,过渡到课题的研究学习。原本枯燥无味的VB程序设计,在简单、形象的生活实例下,激发了学生的思考与探索思维。这样的教学案例,值得我们反思研究、总结与完善。 【教材分析】 算法与程序设计是普通高中信息技术课程中选修模块之一,本模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。 “选择结构”是教育科学出版社出版的高级中学课程标准实验教科书、算法与程序设计第二章第三节的内容,共分三课时,本课为第二课时。主要内容是用选择结构编写简单的程序解决具体问题。用选择结构编写简单的程序解决具体问题是在学生已经掌握了程序设计数据的表示与处理的基础上,理解了顺序结构的前提后提出的。 通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想,而且也为多分支选择结构的学习打下基础。 【学生分析】 高一的学生在数学课中已经有了算法和程序设计的基础,学生对事物的分析、综合能力及独立思考能力、分析解决问题的能力都有了一定的水平,在教师的有效引导下,有能力进行自我探究,如果用一种学生比较感兴趣的,能够贴近学生日常生活的例子来分析选择结构的话,那么学生会比较感兴趣。 【教学目标分析】 通过教师引导学生去探究、发现技术背后所蕴含的技术价值和技术思想,使其获得知识与技能的同时,理解和掌握过程与方法,这样才能够学会认知,学会做事,乃至学会生活,提高终生学习的能力、分析解决问题的能力,满足其终身发展的需要,成为适应信息社会的公民。 因此本节课的目标有以下几项:

实验4选择结构程序设计

实验4 选择结构程序设计 一、实验目的 1.掌握C语言中逻辑量的表示和使用方法。 2.掌握if语句及switch语句的使用。 3.熟悉各种表达式作为if语句及switch语句的条件。 4.了解Turbo C程序的基本调试方法。 二、实验内容 1.验证性实验 (1)分析程序的运行结果。 ①运行下列程序,输入1-7之间的任意数字,观察程序的运行结果。 #include void main() { int week; printf("Input(1-7):"); scanf("%d",&week); switch(week) { case 1:printf("Mon.\n"); break; case 2:printf("Tue.\n"); break; case 3:printf("Wed.\n"); break; case 4:printf("Tur.\n"); break; case 5:printf("Fri.\n"); break; case 6:printf("Sat.\n"); break; case 7:printf("Sun.\n"); break; default:printf("The input is wrong!\n"); } } ②运行5次下列程序,输入的数据分别是1,2,3,4,5,请观察每次的运行结果,并根据结果分析原因。 #include void main() { int n,a=0,b=0,c=0,d=0,k=0; scanf("%d",&n); switch(n) { case 1:b++;break; case 2:c++; case 3:d++;break; case 4:k++; default:a++; } printf("%d,%d,%d,%d",a,b,c,d,n); } (2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。

选择结构程序设计

第四章择路而行---选择结构程序设计 第一节路口诀择----条件语句 一、教学目标 1、掌握选择结构程序中常用的Qbasic语句。 2、掌握选择结构程序设计方法。 3、能利用选择结构程序设计解决简单的实际问题。 二、教学重点: 1.选择结构的语句及功能 2.选择结构中程序设计方法。 三、教学方法:讲授法,对比法,分组讨论法。 四、教学时间:2课时 五、教学教程: (一)引入新课:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。 (二)讲述新课 l 单行条件选择语句IF 1、单行结构条件语句IF…THEN…ELSE 格式:IF <条件> THEN <语句1> [ELSE <语句2>] 功能:最简单的条件选择语句,用来进行条件判断,使语句有条件的执行。 说明: 1)当<条件>为真(非零数)时,则执行<语句1>。 2)ELSE语句可以省略。 3)当<条件>为假(零)时,而且语句中有ELSE语句则执行<语句2>。 4)IF、THEN、ELSE必须在同一行上。 2、示例A、输入x的值,计算y的值。 REM 程序名为:eg1.bas INPUT “请输入x的值:”,x IF x>=0 THEN Y=1+X ELSE Y=1-2*X PRINT "Y=";Y END 例:求一元二次方程Ax2+Bx+C=0(A<>0)的实数根。 分析:写写出程序的流程图,参考流程图来写程序。 程序清单如下: INPUT A,B,C D=B*B-4*A*C IF D<0 THEN then X1=(-B+SQR(D))/(2*A) X2=(-B-SQR(D))/(2*A) PRINT “X1=”;X1, “X2=”;X2 ELSE PRINT “此方程无实根” END

第八讲:顺序结构程序设计举例

第八讲:顺序结构程序设计举例 所谓的顺序结构就是从头到尾一步步按部就班的执行下去,不会中途出现放弃或者跳转的情况。利用这样的思想实现的程序我们称之为顺序结构程序。在前面学习了许多知识点之后我们就可以开始最基本的顺序结构程序的设计了。 8.1 顺序结构 所谓的顺序结构可以用一个成语形容叫“按部就班”。任何事情都遵循着先做什么,再做什么的思想进行。这样的结构是我们日常生活中最常见的结构。在顺序结构中当一件事情开始后就再也不会停下,直到最后一步完成,整件事情做完为止,中途不会有放弃或者选择性放弃的过程。 8.2 经典算法—数据交换 很多语言的程序设计大多数都是从数据交换这个最经典的算法开始的,所谓的数据交换是将两个同等性质的物质进行对换,例如有两个整数a和b,a = 1,b = 2,在交换之后,使得a = 2,b = 1。 交换的算法是由于变量的性质所决定的,由于变量在同一时刻只能够存储一个数据,因此我们不能直接使用 a = b,b = a的方式对数据进行交换。此时我们就需要想出一些方法,帮助程序实现最正确的交换。 对于任何的数据我们都可以采用“第三变量法”进行交换。所谓的“第三变量法”即借助第三个变量实现对数据的交换,例如对a和b的数据交换,就有: 接下来我们将通过如下示意图对“第三变量法”进行简单的介绍: b

在程序未执行交换前,a = 1,b = 2。在执行交换算法的过程中,首先执行“t = a;”一句,将a中的值1转移到t中暂存,接下来执行“a = b;”一句,将b之中的值2存放到变量a中,a中原先的1被覆盖;最后执行“b = t;”一句,将t中所暂存的原先a的值1存放到变量b中,b中原有的2被覆盖。此时 a = 2,b = 1,t = 1。 当然,读者也可以使用先暂存b的方式对a和b之中的数据进行交换。下面给出该案例的完整代码: [例] 使用“第三变量法”交换a和b之中的数据。 当然对于一些数值型的数据(所谓的数值型数据是指单纯的数字或者ASCII 码),我们也可以直接采用“算数交换法”进行交换。所谓的算数交换法是指利用数值型数据可进行算术运算的特性进行交换。以上例a与b的值交换为例,则有: 假设a = 1,b = 2。首先执行“a = a + b;”,此时a = a + b = 1 +2 = 3,而b = 2;

实验四 答案 选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日 【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf("a=%d,b=%d\n",a,b); } 具体要求:

c语言第4章 选择结构程序设计习题答案

第4章选择结构程序设计 习题(P111) 4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1 (4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2 解:该题在求解过程中注意: 一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低; 二、逻辑表达式的求值规则。(P94) 所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1 4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。 分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。 参考程序如下: main() { int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/ printf("\ninput the value of a,b,c:"); /*提示输入*/ scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/ if(a>b) max=a; else max=b; if(max

实验四-答案--选择结构程序设计讲课讲稿

实验四-答案--选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。 ②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++;

选择结构程序设计练习题

选择结构程序设计练习题 1.逻辑运算符两侧运算对象的数据类型( ) A.只能是0和1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!= 3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( ) A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

4.表示图中坐标轴上阴影部分的正确表达式是( ) A.(x<=a)&&(x>=b)&&(x<=c) B.(x<=a)||(b<=x<=c) C.(x<=a)||(x>=b)&&(x<=c) D.(x<=a)&&(b<=x<=c 5.判断char型量ch是否为大写字母的正确表达式是() A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’) C.(ch>=‘A’)&&(ch<=‘Z’) D.(‘A’<=ch)AND(‘Z’>=ch) 6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 () A.‘x’&&‘y’ B.x<=y C.x||y+z&&!y D.!(x

7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是() A.0 B.语法错误 C.1 D.“假” 8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是() A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2 9.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为() A.1 B.2 C.3 D.4 10.下列运算符中优先级最低的是( )优先级最高的是( ) A.? B.&& C.+ D.!=

程序的选择结构教学设计

程序的选择结构 教案编写教师:付虹杨 实际授课教师: ___________________ 实际授课日期:

Then End if Else The n Then Else Else End if 教学过程教师活动学生活动设计意图格式2:又叫块If I f 条件Then Else 2> End I 语句组1> 语句组说明: 新课讲授 (1)条件可以是算术表达式、关系表达式或逻辑表达式等。表达式都会 得到两种可能:非真即假,True或False。 (2)格式2中的if与end if 必须成对出现,缺一不可。 (3)在书写时,格式1中的<语句组>可以有多条语句,如 果有多条语句则必须写在一行,而且语句之间用冒号“:” 分隔开。格式2中的<语句组>中的多条语句,则需分行书写。 (4)将If、Else和End If 语句左对齐,而<语句组1>和<语 句组2>向右缩进若干空格,以使程序结构更加清楚,便 于阅读和查错。 4、条件语句的执行过程 当条件成立时,执行Then后面的语句组1, 否则执行语句组2 选择结构的流程图如下所示: 5、下面我们共同运用选择结构来解决问题:例1、选择题 将鼠标价钱大竞猜的程序补充完整。 Dim a As Si ngle a=I nputBox(“请输入您猜的价钱”) ____ a=20_Print"猜对了"__Print “猜错了” 学生边看课 件,边听教师 讲解选择结构 的基本格式。 注意事项,及 程序的执行过 程。 学生运用选择 结构将鼠标价 钱大竞猜程序 补充完整。 进一步理解 选择结构的 用法、格式、 功能。 让学生熟练 掌握双分支 选择结构的 两种基本格 式及相互转 换。

C语言选择结构程序设计编程题.doc

实验2 选择结构程序设计 一.实验目的: 1.掌握选择控制语句的使用方法; 2.了解C程序语句的执行过程。 二.实验内容: 1.编写程序:输入一个整数,判断该数的奇偶性。(输出相应的标志even-偶数odd-奇数,请记住这两个单词)。 2.从键盘输入的正整数,判断是否能被5和7同时整除,若是,则输出Yes;否则输出No。 3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字母,则把它变为大写字母;若是其它字符则不变。 4.编写程序,对于给定的一个百分比制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为’E’(用if…else…与switch 语句两种方法实现)。 5. 企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提成10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元到40万元之间时,高于20万元的部分,可提5%;40万元到60万元之间时,高于40万元的部分,可提成3%;60万元到100万元之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求发放奖金总数。 6. 输入某年某月某日,判断这一天是这一年的第几天。 7. 输入一个字符,请判断是字母、数字还是特殊字符。 8. 身高预测: 男性成人身高=(父亲身高+母亲身高)*0.54cm 女性成人身高=(父亲身高*0.923+母亲身高)/2cm 如果喜爱体育锻炼,那么身高可增加2%;如果有良好的饮食习惯,可增加身高1.5%。键盘输入性别、父母身高、是否爱好体育锻炼、是否有良好的饮食习惯,利用给定身高预测方法对你的身高进行预测。 9. 要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式。 操作数1 运算符op 操作数2 计算表达式的值。指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 在此基础上,增加如下要求: (1)如果要求程序能进行浮点数运算,程序应该如何修改?如何比较实型变量和常数0是否相等? (2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改? (3)如果要求连续多次算术运算,每次运算结束后,程序都给出提示: Do you want to continue(Y/N y/n)? 如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么程序如何进行修改?

第4章选择结构程序设计

第4章选择结构程序设计 通过本章实验作业应达目标 1.练习并熟练掌握if、switch语句使用,实现二路与多路选择结构; 本章必须上交作业 程序4_2.c、4_3.c、4_4.c、4_5.c上传至http://121.251.227.27:8080/c 实验一大小写转换 【实验目的】 熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。 【实验内容】 下面程序希望完成大小写字母转换功能。若输入一个大写字母,则转化为小写输出;若输入小写字母则转化为大写输出;对其他字母则原样不变输出。程序以4_1.c命名,运行程序,分别输入一次大写、一次小写字母、一次‘#’进行验证。如果程序有错,请改正。 #include void main() {char ch; ch=getchar(); if('a'<=ch<='z') ch-=32; if('A'<=ch<='Z') ch+=32; putchar(ch);putchar('\n'); } 实验二算术运算 【实验目的】 学习if~else、switch语句的使用。 【实验内容】 键盘输入一个算术的运算式子,输出运算结果。这里我们规定可以接收五个算术运算的符号:+、-、*、/、^(乘方)。输入这五个符号以外的运算符号则提醒出错。程序以4_2.c命名并上交。 下图是输入输出的示意图: 输入一个加法的算术式: 输入一个除法的算术式: 输入一个乘方的算术式:

求3的平方根: 【实验提示】 本程序需要从键盘接收一个表达式,根据表达式中的运算符号实现相应的运算并将结果保存下来并输出。 C语言本身是没有乘方运算符的,可以调用数学函数pow(x,y)求x的y次方。注意一定要包含。【思考】 输入的表达式实质是按多个不同类型的数据来获取数据的。程序中需要定义多个变量来接收表达式中包含的数据与运算符,并设计相应的输入/输出函数实现。 实验三金额计算 【实验目的】 学习分析与解决实际问题的能力,综合嵌套使用if~else或switch语句。 【实验内容】 某服装店经营套服。以50套为限,若购买数量不少于50套,每套80元;不足50套时每套90元;只买上衣每件60元;只买裤子每条45元。编写程序实现:读入所买上衣c和裤子t的数量,计算应付款总量。程序以4_3.c命名并上交。 实验四成绩转换 【实验目的】 使用if~else、switch语句的嵌套完成程序。 【实验内容】 【实验提示】 本程序需要从键盘接收两个字符,先判断第一个字符,再判断第二个字符以确定其对应的百分制数。例如:输入4+,第一个字符等于'4',则应再判断第二个字符,如果是'+'则输出80,如果是回车符则输出75,如果是'-'则输出70。 【思考】 对于5+、4-这类输入的数据,程序中应采用什么数据类型与数据结构接收保存? 实验五判断天数 【实验目的】 熟练使用switch语句,并设计精巧程序。 【实验内容】

相关主题