摘 要 :通过安排一节紧凑有序的课堂教学,介绍了选择结构的特点,if语句的语法、流程和简单应用.基于高职学生的课余兴趣和学习能力一般的现状,借学生熟悉的引出课题,以一个最基本最经典的程序入门,在教学过程中,安排学生相互讨论,实现一题多解,引导学生找出错误,体会正误区别、加深理解,从而真正掌握if基本结构(非嵌套).
关 键 词 :高职学生;选择结构;if语句
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)35-7952-02
C语言是计算机应用专业中《C++程序设计》、《数据结构》及其它编程语言类课程的前导课程,也是信息产业部计算机专业和软件专业水平资格考试考试中要求的主要程序设计语言.[1]选择结构是C语言程序设计课中的重点知识,if语句又是选择结构中的重点知识.本人根据多年C语言课程的教学实践,针对if语句的特点,通过提问、启发、举例、观察、讨论的教学方法,层层剖析、层层深入,用简单浅显的语言讲解if语句,特别是打破常规,从if-else双分支开始教学,再讲解if单分支,善于在学生容易犯错的知识点上设问题,方法独特.
有关论文范文主题研究: | 关于语句的论文范文资料 | 大学生适用: | 学院学士论文、研究生毕业论文 |
---|---|---|---|
相关参考文献下载数量: | 66 | 写作解决问题: | 如何写 |
毕业论文开题报告: | 标准论文格式、论文题目 | 职称论文适用: | 论文发表、高级职称 |
所属大学生专业类别: | 如何写 | 论文题目推荐度: | 免费选题 |
经典例题:输入两整数x、y,输出较大值.
对于登录和经典例题,经归纳,都有这样的特点:1)有条件;2)根据给定的条件进行判断,从而执行不同操作.――亮出本课内容:选择结构.
选择程序结构也叫分支结构,它的作用是根据给定的条件进行判断,从而执行不同的操作. [2]对于if和switch两种选择结构,教师在学生初涉时,应该先讲哪一种呢?显然是if语句,因为if语句用在单一或两种情况的条件判断,switch则用在多种情况的条件判断.对于两个变量x,y,引导学生如果x>y,则输出x,否则,输出y.
1.1 if-else双分支
1.1.1 一般形式
语法格式:if(条件)语句1;else 语句2;
接着讲解 “条件”的常见形式及功能.
“条件”通常是关系表达式或逻辑表达式,若不是,则一切0值转换成false,非0值转换成true.
“语句1”或“语句2”可以是简单语句,也可以是复杂语句.
1.1.2 执行过程
先进行条件判断,如果条件成立,则执行语句1,否则,执行语句2.
if语句双分支流程图如图1所示.
回到上述经典例题,解答:if(x>y) printf(“%d”,x);else printf(“%d”,y);此解答是“依葫芦画瓢”,即只需把编程思想按C语言的语法规则描述出来,这一教学设计意在熟悉if-else双分支的语法和流程.
1.2 if单分支
1.2.1 一般形式
语法格式:if(条件)语句1;
1.2.2 执行过程
先进行条件判断,如果条件成立,则执行语句1,否则,就跳过选择结构.
流程图如图2所示.
再次回到经典例题,另解,填空:
if(x y)_____
printf(“%d”,x);
答案:第一条横线处< 第二条横线处{t=x;x=y;y=t;}
此解引入了中间变量,进行两数交换,不仅可以解决输出两数中较大数的问题,而且为解决“把两数或三个数从大到小输出”问题作铺垫.
解答上述填空后,教师要不失时机地补充设疑,加深对单分支与顺序结构的识别,补充练习如下所示.
练习1:去掉大括号为什么不可以?(学生只有把这个问题回答准确,才体现对于选择结构范围的识别过关了)
练习2:在程序中框出选择结构(学生容易犯的错误)
练习3:如果把printf(“%d”,x);放在上一行,框出选择结构.
安排上述三个小练习,意在带领学生掌握选择结构的范围,根据教学经验看,学生常在“选择结构与顺序结构的区分”上犯错.
第三次回到经典例题,程序填空:
if(x printf(“%d”,x); 答案:x等于y; 此解省去中间变量,这样的程序最简洁,而且也达到x是两者较大数的目的,为学习“求N个数的最大值”作铺垫.教师只要稍加点拨,学生经过讨论,也能从单分支对执行过程的影响这一角度,顺序解答出正确的程序.[3] 在解答了上述三种解法后,教师可以加深问题的难度,设计补充练习 最后,引导学生对以上三种解法进行对比. if语句允许嵌套,既当if语句中的语句1或语句2又含有一个if语句时,就形成了嵌套.[4]常见形式如下. 形式一:if(条件) if(条件)语句1;else 语句2; else 语句2; 形式二:if(条件) 语句1; else if(条件)语句1;else 语句2; 形式三:if(条件) if(条件)语句1; 形式四:if(条件) if(条件)语句1;else 语句2; 这部分的内容并非不重要,但由于时间关系,不适合作为本节课的重点,留作学生课后自学和预习. 编程1:求一个数的绝对值.(口答即可) 编程2:求三个数的最大值. 编程3:由键盘任意输入三个不相同的浮点数,按从大到小的顺序输出. 三个编程题由简入难,紧紧围绕if语句的单双支结构,检验并训练学生对课堂教学内容的理解和掌握. 针对高职学生学习基础薄弱的特点,教师应采用循序渐进、举一反三的方法,帮助学习真正掌握if语句,在教学过程上教师从学生熟悉的入手,用听、说、写、对比、调试等形式实现师生互动、人机互动.应该说,大多数同学能达到预定的教学目标,但是,对于学习态度存有问题以及基础过弱的高职学生,本人在今后的教学中还得多加督促,在教学设计上还得继续改进. 1.3 if语句的嵌套
1.4 课堂编程并上机调试
1.5 课后编程并调试――登录