第4章分支结构
- 格式:ppt
- 大小:667.50 KB
- 文档页数:39


第四章 选择(分支)结构程序设计 C语言中实现选择结构的控制语句有两种:条件分支语句if和开关分支语句switch。
一.if语句的三种形式:
1、if(表达式)
语句;
即:条件为真,执行语句1
2、if(表达式) /* if 和 else是关键字,要小写 */
语句1;
else
语句2;
即:条件为真,执行语句1,否则执行语句2
3、 if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
„
else if(表达式n)
语句n;
注意以下几点:
①if 后面的条件可以是如下类型:
● 关系表达式,如x>y
● 逻辑表达式,如x>y&&y>z
● 算术表达式,如x+y
● 赋值表达式,如x=y
● 变量,如x
● 常量,如-5
②如果语句1或语句2是一条语句,则{}一对花括号可以省略 ③if„.else 是一条语句,else 不能单独出现,要注意else 与 if的搭配问题(既:else与其上面最近的且没使用的if搭配)
二.开关分支语句switch
1、形式
switch(表达式)
{ case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;
case 常量表达式3: 语句3;break;
„„
case 常量表达式n: 语句n;break;
default : 语句n+1;
}
2、执行过程
当表达式的值等于 “常量表达式1”时,执行语句1;
当表达式的值等于 “常量表达式2” 时,执行语句2;
„„
当表达式的值等于 “常量表达式n”时,执行语句n;
当表达式的值与“常量表达式1、常量表达式2„„常量表达式n”谁都不等时,就执行default后的语句.
注意以下几点:
1、表达式应该有括号,注意大括号一定要有并且注意配对。
2、表达式可以是整型常量或变量、字符常量或变量、关系表达式、逻辑表达式、整型的算术表达式,总之是整数,但是通常用整型或字符型。C语言计算表达式的值,然后找常量表达式的值匹配。
实验四 分支结构程序设计实验
一、实验目的
1.掌握分支结构程序设计的基本设计方法;
2.掌握条件转移指令和无条件转移指令的使用方法;
3.掌握指令对标志寄存器中各标志位的影响情况;
4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。
二、实验要求
1.学会使用DEBUG的T命令,跟踪检查指令对标志位的影响情况;
2.学会使用DEBUG中的P命令,对INT指令的跟踪方法;
3.学会利用设置断点调试程序的方法;
4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。
三、实验内容
1.编写程序,已知在DATA开始的内存单元中,连续存放着三个一位十六进制数,找出其中最大数及最小数,存放在指定的内存单元中。
2.编写程序,从键盘输入若干个任意字符,如果是小写字母a~z之间的字符,请将它们转换成相应的大写字母,若为其它字符,则保持不变,将转换后的新字符保存在指定的存储单元中。
四、解题思路
1.先对DATA内存单元连续存放三个一位十六进制数。先对DATA内存单元里的前两个数据比较,较大的数据再和第三个数据比较,从而得到最大数据存到MAX内存单元里。把两次比较得到的两个较小的数据进行比较,从而得到最小数据存到MIN内存单元里。两个无符号数据比较后,用JA/JNBE、JAE/JNB/JNC/、JB/JNAE/JC和JBE/JNA来判别两数的大小关系,这些条件转移指令是把进位标志CF和零标志位ZF结合起来判别的。
2.先开辟20个字节的内存单元DATA用来存储输进来字符串和修改后的字符串。对字符串的输入是以‘#’为结束字符的,当字符的个数少于20时,只要输入的字符串是以‘#’结尾,就代表字符串输入结束(其中结束字符‘#’也是字符串中的一个字符存储到内存单元里)。每次输入一个字符,就对其进行判别。若输入的字符在字符‘a’到‘z’之间,那么就对其进行转换成对应的大写字母(方法把小写字母的值减去32即可),然后再存到指定的内存单元中;否则,直接把输入的字符存到指定的内存单元中去。存储结束,要对输入的字符与字符‘#’比较,若不相等,就跳到下次输入,进行新的输入;否则,表示输入结束,并对内存单元里存储的字符进行输出。
各位评委老师好!我说课的题目是《分支结构》主要分为六个方面来说课。
一、说教材:
本节课教学内容是由《青岛出版社》出版的初中信息技术八年级下册,第1单元第4课内容。这部分内容主要讲了密码验证问题的分析与流程图描述、用E语言程序代码解决密码验证问题。本节课内容理论知识比较强,对实践操作要求也比较高,所以特别需要教师适当的精讲,给学生充足的时间进行练习。
二、说教学目标
知识与技能目标:
1、了解分支结构在算法中的使用;
2、学会设计程序保护自己电脑中的资料。
过程与方法目标:
采用“任务驱动”教学法,以指导学生完成一个个具体的学习任务而开展课堂教学,以尝试发现、综合对比、总结归纳、网络教室直观演示等形式贯穿整个教学过程。
情感、态度与价值观目标:
计算机安全和网络安全是学生必备的生活技能,同学们应掌握信息安全自我防范的基本技能。
三、说教学重、难点
1、重点:用E语言程序代码解决密码验证问题
2、难点:E语言程序设计中分支结构语问。
四、说学情
我校学生的来源主要是乡镇的孩子,他们接触计算机的机会少,计算机基础知识及操作能力较差。极少部分拥有计算机和家长文化程度较高的家庭,学生对计算机感兴趣,基础知识掌握好,操作能力强,学生之间存在一定差距。
五、说教法
对理论知识,通常的教法是教师讲学生听,然后再做练习达到巩固的目的。对这部分内容教师如果不考虑学生情况,一直讲下去,基础好学生觉得没意思不愿听,基础差的学生又觉得听不懂,怎样使每一位学生都能对这节课感兴趣,怎样调动他们积极参与课堂教学,是本节课教学设计的一个难点。我在教学中是这样安排的。
1、导入新课,提出本节的教学目标和任务。体现信息技术教学的任务驱动法。
2、接下来让学生带着问题看书,小组合作设计界面,编制程序。培养学生自学能力、合作能力和探究问题的能力。
3、教师让学生讨论、分析与思考,师生再共同归纳总结。这样各种情况的学生都会积极参与课堂的教学中,发挥各自的长处。
实验四 分支程序设计
一、实验实训目的及要求
1、了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
2、学会正确使用逻辑运算符和逻辑表达式;
3、熟练掌握if语句和switch语句。
二、实验实训内容
编写程序完成下列题目:
1、已知三个数a,b,c,找出最大值放于max中。
2、输入某学生的成绩,经处理后给出学生的等级,等级分类如下:
90分以上(包括90): A
80至90分(包括80):B
70至80分(包括70):C
60至70分(包括60):D
60分以下:E
3、有一函数:
y= x x<1
2x-1 1=
3x-11 x>=10
用scanf函数输入x的值(分别为x<1,1~10,>=10三种情况),求y值。
三、实验实训指导
1、分析:由已知可得在变量定义时定义四个变量a,b,c和max,a,b,c是任意输入的三个数,max是用来存放结果最大值的。第
一次比较a和b,把大数存入max中,因a,b都可能是大值,所以用if语句中if——else 形式。第二次比较max和c,把最大数存入max
中,用if语句的第一种形式if形式。Max即为a,b,c中的最大值。
#include "stdio.h"
main()
{
int a,b,c,max; /*定义四个整型变量*/
scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); if (a>=b) 2
实验指导书 2 max=a; /*a>=b*/
else
max=b; /*a
if (c>max)
max=c; /*c是最大值*/
printf("max=%d",max);