_陷阱式_教学法在c语言程序设计课程教学中的应用

_陷阱式_教学法在c语言程序设计课程教学中的应用

ID:34434784

大小:155.31 KB

页数:3页

时间:2019-03-06

_陷阱式_教学法在c语言程序设计课程教学中的应用_第1页
_陷阱式_教学法在c语言程序设计课程教学中的应用_第2页
_陷阱式_教学法在c语言程序设计课程教学中的应用_第3页
资源描述:

《_陷阱式_教学法在c语言程序设计课程教学中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5卷第4期滨州职业学院学报2008年11月Vol.5,No.4JournalofBinzhouVocationalCollegeNov.,2008“陷阱式”教学法在C语言程序3设计课程教学中的应用赵英红(滨州职业学院,山东滨州256603)摘要:在C语言教学过程中,通过设置一些“陷阱”,来说明C语言相应的语法规则。关键词:C语言;陷阱;语法规则;逻辑错误中图分类号:TP312文献标识码:AC语言中的一些语法规则和我们日常的一些1表达式3>2>1的值思维习惯是有区别的,平时我们认为正确的表达,上面这个表达式的值是假,这是由于在C语在C语言中有可能是错误的。在C语言的教学过言中关系运算符“>

2、”是左结合的,上述表达式首程中,我们可以巧妙地利用这些规则设置一些“陷先要计算3>2的值,它的值是成立的,C语言中表阱”,用这些陷阱来考验学生,多数的学生会掉到达式成立,其值为1(不成立时值为0);再计算1>你设的“陷阱”中,从而引起他们极大的兴趣,教师1的值,它不成立,因此上面表达式的值为假(0)。再通过解释这些“陷阱”,把相应的语法规则教授在C语言中关系表达式其实只能比较两个量给学生,会收到很好的教学效果。的大小,三个以上量进行比较,如果使用关系表达比如表达式3>2>1,这个表达式你认为成立式,C语言并不给出语法错误,但是存在逻辑错吗?答案与日常的逻辑思维是不一样的,C语言误,其运算结

3、果有时是有悖常理的,因此三个量比中,上面这个表达式的值是假。再比如我们计算较大小时,一定要选择逻辑表达式来实现。“3>2[1]表达式1/2的值,你认为是多少呢,答案是0,而不>1”这个表达式应表示为“3>2&&2>1”。是0.5。C语言中类似的这类问题很多,这些规则2表达式1/2的值学生学习时特别要注意,尤其是C语言的语法限上面这个表达式的值是0,而不是0.5。这是制并不很严格,有些逻辑错误,C语言的编译系统由于C语言中数据进行混合运算时,如果进行运并不给出语法错误,这就要求程序员本身要特别算的数据同为整型,数据并不进行类型转换,得到的小心。本文就C语言中经常发生的逻辑错误加的结果也为整型

4、,小数部分自动舍掉,所以1/2结以分析,这些错误也是C语言各类考试中经常遇果为0。要得到正确的结果,应该写成1./2、1/2.到的。由于这些错误并不是C语言的语法错误,或者1./2.。因为运算结果只要有一个为实数,另因此在上机调式的过程中,更会蒙蔽了考生,本文外一个也要转化为实数,结果就为实数0.5。又比的归纳分析会给C语言的学习者带来帮助。如在C语言中表达式“3/43a3(b+c)”,无论a、3收稿日期:2008-04-28作者简介:赵英红(1965—),女,辽宁锦州人,滨州职业学院计算机系副教授;研究方向为计算机技术及应用。©1994-2010ChinaAcademicJournalE

5、lectronicPublishingHouse.Allrightsreserved.http://www.cnki.net第4期赵英红“陷阱式”教学法在C语言程序设计课程教学中的应用13b、c的值是多少结果均为0,其原因和上面一样,这是由于程序设计语言中“if~else”是双分支初学者要注意表达式的写法。结构,当if后面的表达式成立时,将执行if下面的3(m=a>b&&n=a>b)中m、n的值一样吗语句,执行结束后会退出整个if语句,不会再去执如果我们已知m=n=1,a=1,b=2,那么上行else下面的语句。上面的程序段因为if后的表述表达式计算结果m=0,n=1(n值不为0),m和达

6、式“a==4”是成立的,所以结果为c=5,整个ifn被赋的表达式虽然是一样的,但m、n的值结果语句执行结束,else后面的语句将不被执行,因此不一样。这是由于C语言计算与“&&”运算时,要d不等于5。先计算左面的表达式,上式为m=a>b,由于表达6增1(gg)减1(OO)要注意的问题式为假(m=0),整个“与”运算的结果即为假,右如果已知i=3,表达式j=(ggi)+(ggi)+(g面的表达式n=a>b将不再计算,因此n保持了gi)的值并不是15,而是18。这是由于C语言使原值1,m、n的值不同。注意C语言或运算也存用前增1(gg)运算符时,所有的表达式要全部增在类似的问题,或运算左面表示

7、式为真(1)时,整完,这时i值为6,再进行加法运算,结果为6+6+个表达式的结果即为1,将不再进行右面表达式的6=18。如果是计算表达式“j=(igg)+(igg)+(ig[2]计算。g)”,则要先进行加法运算3+3+3结果为j=9,4关于表达式求值顺序的问题然后再进行3次后增1运算,i值最后为6。如果如果我们已知i=1,语句printf(“%d,%d”,是表达式“j=(igg)+(ggi)+(igg)”,则要先进行i,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。