公务员期刊网 精选范文 c语言程序设计实例范文

c语言程序设计实例精选(九篇)

c语言程序设计实例

第1篇:c语言程序设计实例范文

关键词: 《C语言程序设计》 程序案例 计算思维 流程图

1.引言

《C语言程序设计》课程的实践性是很强的,理论联系实际是这门课的特点,怎样利用所学理论知识解决实际问题是学习这门课的重点,也是难点。多年的教学实践表明,在教学过程中使用计算思维的方法解决问题,对培养学生的综合应用能力是有益的,通过使用流程图描述算法,学生将更好地理解和掌握结构化程序设计方法。

2.教学中充分调动学生学习的积极性

学生只有对C语言程序有浓厚的兴趣,才会积极和创造性地学习。可从以下几个方面探讨:

(1)强调学生学习C语言的重要性。突出教学重点,使学生明确学习任务。在首次课堂教学中,教师一定要向学生讲解清楚C语言课程的教学目标(为什么学习编程或程序设计)。对于C语言程序设计课程的教学目标,可有如下三方面的讲解,学习基本的编程知识、培养求解问题的能力和具备一定的创新素质。知识的传授和学习应融入问题求解中;问题求解能力是创新的基础。

(2)结合《C语言全国计算机等级考试》的试题库进行教学,学生学习起来更有动力。试题库包括笔试试题库和上机试题库。试题库按章节分类,题目类型以程序设计为主。笔试题型有单项选择、程序分析、程序填空、程序改错和程序设计,上机题型有程序改错、程序填空和程序设计。

(3)利用Visual c++6.0工具进行C语言程序教学,培养学生的学习兴趣。VC是一种基于Windows操作系统的可视化集成开发环境,是广泛使用的一种开发工具。VC程序的两种模式是WINAPI方式和MFC方式。应用这两种模式能够有效提高教学质量,激发学生的学习兴趣。

3.教学内容的设置

上课内容安排不尽合理,对于实践教学环节重视不够,难以提高学生的积极性。教师应理论联系实际,注重编程实现的示范性,让学生清楚地看到教师编写代码和程序调试的过程和运行结果。上课安排内容应包括两部分:一部分为学习基本知识,对基础知识的理解和掌握。另一部分是理论联系实际,对实际案例问题的分析引导学生,并且案例留有思考空间,使学生举一反三,培养学生创造性思考的能力。比如在第一次课告诉学生C语言的十四种语句,既让学生对C语言有全面的认识,又消除学生对C语言的畏难情绪。C语言的语句概括起来只有十四种,即定义变量语句、赋值语句、返回语句、函数声明语句、函数调用语句、分支(选择)语句(共三种分支语句)、循环语句(共三种循环语句)、break语句、Conitnue语句和复合语句。所有的C程序,都是由其中的某些语句组成的。在具体介绍这些语句的时候,一定要完整清楚地列出各种语句的语法格式。以后讲C程序的时候,会提问学生这个程序中包含哪些C语句,学生比较容易看明白C程序的语句组成,帮助学生很快读懂程序,有利于改正学生编写程序时的常见语法错误。

4.实验指导书建设

学习C语言的很多学生都认为概念易懂,程序难写,其实主要是缺乏足够的实践和练习。依据主教材结构和实际需要,上机课结合课本《C语言程序设计上机指导》进行相关和有趣的案例的程序运行。学生分析算法、画出流程图到写出程序,并亲自运行出结果,会给学生很大的成就感。要将计算思维的方法应用到程序设计,设计各种算法以实现功能,并拓宽思路,掌握C语言的概念和编程方法。

5.案例设计与计算思维相结合

学习C语言,目的不是仅仅懂得一门程序设计语言,更重要的是让学生的编程思维得到锻炼和提高。C语言学习分成以下三个循序渐进的部分:第一部分是入门,主要介绍C语言程序的基本结构、数据的表达方式、基本表达式语句、C语言程序的运行方式等。这部分可以设计由简单表达式语句组成的按顺序执行的程序。第二部分是程序的基本结构,主要介绍程序设计的简单算法表示方法,分支结构和循环结构。这部分能用计算思维的方法,设计简单的算法,根据算法编写程序,掌握思考问题和解决问题的方法。第三部分是程序设计方法和手段的提高,主要介绍程序的模块化实现方法和更多的程序设计方法。这部分能采用计算思维的方式掌握模块化的程序设计方法,对问题进行分解,灵活地使用指针、结构、文件、位运算等方法编写程序。

6.案例设计实例

编写程序计算学生年龄的递归函数:已知第一位学生年龄最小为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。分析得到的递归公式如下:

age=10(n=1)age(n-1)+2(n>1)

在递归公式中,使用数字1为回归的条件,使用IFELSE语句决定是递推还是回归。

根据问题得出流程图和程序为:

只有写出递归算法的数学公式,才能编写出递归函数,从而很容易根据递归问题描述写出递归公式,进而写出递归程序。

7.结语

“基于问题求解的C语言”教学模式,随着我国计算机技术的应用和发展,为了适应社会的需求,培养学生解决问题的能力,增强学生自主能动性和动手操作能力,让学生成为社会的技能型人才,都是有益的。实践证明,借助流程图表达算法,能让学生更好地理解结构化程序设计的思想,更好地掌握C程序设计的核心方法。

参考文献:

[1]李丽娟.C语言程序设计教程实验指导与习题解答[M].北京:人民邮电出版社,2013.

[2]谭浩强.C程序设计[M].北京:清华大学出版社,1999.

[3]魏书堤,赵辉煌,邓红卫.基于计算思维的C语言教学案例设计[J].当代教育理论与实践,2014(3).

[4]但志平,汪东,王安慧,任小燕.地方高校C语言教学改革的探讨与分析[J].教育教学论坛,2014.5.

第2篇:c语言程序设计实例范文

1.1计算机软件C语言的编程技巧

计算机软件C语言的编程中,最主要的依据是指针应用,C语言指针能够根据软件程序的编写需求,构建可行的函数,而程序员在设计函数编程的过程中,即可通过函数参数的具体分配,设置C语言的指令控制。程序员利用C语言编写软件程序时,不仅要准确地控制指令,更重要的是编制C语言的算法。C语言的算法内,体现出诸多应用技巧,利用流程表示的方法规划操作位置,以此来提高C语言的流程算法。程序员编程软件C语言时,需要注意语言设置,首先确定C语言在软件编写中的对象,如程序运算,保障C语言在编程实验中的对象;然后分类计算机软件编程所需的文件,完善文件之间的关联性,设定C语言编程文件的相关步骤;最后全面检查软件C语言编程中涉及的数据,方便编程中的数据查找。

1.2计算机软件C语言的程序应用

计算机软件C语言编程实验中的程序应用,分为函数、算法和运算三个部分。分析如:

(1)C语言在软件编程中的函数,软件编程的函数,负责不同的软件功能,程序员通过C语言定义编程中的函数,由于C语言可以实现编译,因此软件编程所需要的函数,可以在系统内直接调用,程序员操作“#include指令”,关联所有的应用文件,如程序员使用C语言中的sqrt函数,还需引入头文件#include“string.h”;

(2)算法是计算机软件编程的核心,C语言在基础算法的作用下,实现程序表达,程序员需要掌握程序算法,才能保障C语言在计算机软件中合理性,程序员还要在算法的过程中,添加流程图,利用流程符号协助算法运行,提高C语言编程的效率;

(3)运算是C语言编程实验的特色,其对象是二进制,按照计算机软件的C语言编程,设计程序运算,软件的C语言编程中包括诸多基础文件,此类文件是软件编程的重要部分,程序员将编写程序存储到相关的语言内,有利于运算过程中的语言查询。

2计算机软件C语言编程的案例

计算机软件C语言的程序设计比较复杂,以混合软件编程为例,分析C语言的编程。首先程序员应该根据计算机软件的运行目的,将运行语句编写到C语言中,形成源代码,程序员需要连接C语言中的汇编语句,如:Main(){asm{Movah,2Movbh,5Int10h}}整个编程实验案例中,C语言的语句汇编存在格式要求,而且格式较为固定,因此,程序员应遵循一定要求,如:检查语句中是否具备asm,如果缺少asm需重新设定在语句前;确定汇编语句能够正常嵌入C语言内;注意C语言的分隔符,分隔符必须正确。然后设置编译代码,此项模块需要具备单独编程,待C语言编程完成后,利用链接的方式联合代码和编程。混合软件编程中的C语言,函数部分能够被汇编使用,多个编程共同组成一项语言任务,而且C语言倾向于独立编程,基本是以函数的状态实现软件的编程实验。编译代码的应用,提高C语言在计算机软件中的编程能力,保障C语言编程的准确度,强化计算机软件的实践性。最后程序员在混合软件C语言编程实验中,需注重已经出现的编程问题,尤其是参数、存储等问题,排除C语言编程的因素干扰。例如C语言编程实验中出现的参数问题,实际汇编中无法实现正常的参数传递,导致参数堆栈传输时出现问题,不能正常汇编到C语言的程序内,因此还需在汇编中增加两类指令,如:sp、pushbppopbp。混合软件C语言中添加汇编方式,可以提升计算机软件程序的运行速度,完善软件编程。

3结语

第3篇:c语言程序设计实例范文

关键词:C语言;程序设计;建材建设;教学方法;

C语言程序设计是程序设计类课程的基础,是计算机专业和相关专业的核心课程,是“数据结构”、“软件工程”等后续专业课的基础课程。由于扩招和社会实际需要,很多高校都加大了对“C语言程序设计”课程教学的投入,包括教材的编写,课件的开发,实验室建设等。渤海大学是省属二本院校,鉴于生源状况和社会需求,从2003年开始,我们着手“C语言程序设计”课程的教材建设和教学方法研究。依据多年教学经验,综合考虑了课程内容的多学科、教学对象的多层次、表现形式的多样化、解决问题的多角度等不同层面的要求,综合运用了各种媒体并发挥其各自优势,形成媒体间的互动,强调各种媒体的立体化教学模式,注重激发学生的学习兴趣,构建了C语言程序设计立体化教材体系,提出了多元化的教学方法。五年的教学实践表明,C语言程序设计立体化教材体系的构建和多元化教学方法的实施,满足了多样化、个性化和实用化的教与学的需求,激发了学生的学习兴趣,提高了学生分析问题和解决问题的能力,为课程改革中的基础教育提供了一体化的解决方案。

1教材建设与教学方法研究的必要性

传统的C语言程序设计教材是一种根据培养目标和实际需要,按照教育规律编写的供教学人员使用的知识信息符号载体,教材内容围绕语言自身的语法,很少涉及应用,造成理论与实际脱节,忽略了给予学生自主学习与探究的机会,忽略了与学生的沟通与交流,忽视了对学生综合素质和创新能力的培养。另外,教材的体系结构、内容深度和例题习题配置上,使大多数学生感到不适应。其主要原因是实例少,例题和习题的配置过于数学化,理解起来有一定难度。教学过程虽使用多媒体课件作为教学手段进行讲授,但很多课件都是教材内容的复制,讲授的内容还是围绕语言自身的语法,不能调动学生学习的主动性和积极性。因此,依据“C语言程序设计”课程特点、生源状况和实际需要,编写有利于学生素质教育和创新能力的培养,注重激发学生的学习兴趣的教材,采用灵活有效、可充分发挥学生的主动性和能动性的教学方法是非常必要的。

2教材建设与教学方法研究的指导思想

根据“C语言程序设计”课程在课程体系中的地位、作用和任务确定教材内容;正确处理新理论、新技术与旧内容的关系,坚持先进性与实用性相结合、少而精的教材建设原则;以知识结构为主线,以程序设计为中心,融入科学的教学方法,理论与实际相结合。

3立体化教材建设

立体化教材是指以形成教学能力为目标,以传统纸质教材为基础,以学科课程为中心,以多媒介、多形态、多用途及多层次的教学资源和多种教学服务为内容的结构性配套教学出版物的集合。立体化教材主要包括:主教材、教学参考书、电子教案、试题库、多媒体课件及网络课程等。

3.1主教材建设

在立体化教材建设中,主教材建设通常是重点建设内容。2003年,依据课程特点和生源实际出版了《C语言程序设计教程》,对常规的C语言教材体系结构[1-2]进行了适当调整,将指针部分分散到相应的章节中分别进行讲授,增加了C语言图形绘制和C程序与DOS、BIOS接口两部分内容。强调学练结合、注重实践,与汇编语言课程形成紧密联系,便于学生掌握低级语言与高级语言的接口。依据同行专家、主讲教师和学生的意见,在此基础上进行了相应的修改,2005年,编写了《C语言程序设计》,并由清华大学出版社作为普通高校本科计算机专业特色教材出版。该教材整合了C语言程序设计课程和数据结构课程的重叠内容,结合经典案例,以设计为主线,以提高学生的理论水平、实践技能和创新能力为中心,在知识结构、内容安排、文字表述和习题配置等方面都根据生源做了反复认真地推敲,达到了教材难度与学生接受能力的最佳平衡[3-4]。增强了学生的自信心,激发了学生的学习兴趣。已被多所高校选作教材。

3.2实验指导书建设

依据主教材结构和实际需要,出版了《C语言程序设计习题解答和上机指导》。根据教学内容结合实际应用设计了16组具有代表性实验题目。要求学生每周完成一个与当前教学内容有关的实验题目,写出实验报告并演示程序。设计了10个综合性的实验题目,目的是要求学生对所学的知识进行综合利用,检查分析问题和解决问题的能力。该书的特点是体现教材的重点的难点,注重基础知识、基本技能和实际应用,强调对学生分析问题和解决问题能力的培养。

3.3电子教案建设

依据主教材内容,编写了与纸质教材配套的电子教案。电子反映了教师的教学思路、对知识点的把握及明确的教学方法,体现教材内容的精华, 也是学生复习的重要指南。

3.4多媒体课件建设

依据主教材内容,设计开发了“C语言程序设计教学演示系统”,其特点是采用了虚拟现实技术,功能强大、内容丰富完善、互动性好,能显著改善教学效果,对于学生逻辑思维方法的培养和训练具有显著的促进作用。2005年由大连理工大学电子音像出版社出版,已被省内外多所高校使用。

3.5网络资源建设

开发了“C语言程序设计”课程网络辅助教学平台,包括课程学习、电子教案、辅导答疑、网上考试、在线讨论、素材检索、重点难点、实验实训、习题与答案等大量功能模块及丰富的教学资源。学生可利用此网络资源进行自主学习和自主评价。C语言程序设计网络资源内容丰富完善,信息量大,特色鲜明,能满足现代教育技术中的交互性、个性化、及时反馈、学习者控制、协作学习等原则,能有效激发学生的学习兴趣,符合网络课程先进性、科学性、系统性、多样性的基本要求,为师生创设了一种全新的教学环境,使学生的学习完全突破了传统的时空限制而变得轻松、灵活,为课程的教学研究和教学改革提供了一个实施性强、操控性好的教学平台。

3.6试题库建设

为了做到既客观又公平,据教学大纲和实验大纲,建立了试题量大、覆盖面全、难易程度符合生源素质的笔试试题库和上机试题库。试题库按章节进行分类,试题类型以程序设计和分析为主,笔试题型包括单项选择、程序分析、程序填空、程序改错和程序设计,上机题型包括为程序改错、程序填空和程序设计。设计开发了笔试考试系统和上机考试系统,2005年由大连理工大学电子音像出版社出版,已被多所高校使用。试题的抽取和评卷都由计算机完成,使之科学化、现代化。保证了组卷、评卷的科学性和客观性。

4多元化教学方法

多元化教学方法是指以设计为主线,以提高学生的实践技能和创新能力为中心,依据教学内容灵活地使用任务驱动式、案例式、类比式、讨论式、引导式和启发式等教学方法,特别是多种教学方法的有机组合,并借助网络和多媒体课件等教学手段使这些方法得以有效实施[5-9]。

理论与实际相结合。例如,在讲授C语言概述时,通过几个典型案例介绍C语言的特点和功能。使学生感到学有所值、学有所用,增强了学生学好C语言的欲望。在多年的教学实践中,我们已经积累了大量具有代表性的案例,确保案例教学法的有效实施,有效地激发了学生的学习兴趣。

讲解与多媒体演示相结合。依据生源理解能力和接受能力,在教学过程中,借助动态的多媒体课件进行讲解。例如,将排序过程和函数递归调用过程形象地用课件展示,将抽象的问题具体化、复杂问题简单化。为教学过程注入了新的活力和生机。

教师讲授与学生讨论相结合。根据教学内容的重点和难点,设计讨论题目,组织学生进行讨论。例如,在讲授函数的参数时,要求学生讨论普通变量和指针变量作为函数的参数的区别。通过学生讨论,印象会更加深刻,理解会更加透彻。

教室课堂与网上课堂相结合。将电子教案、多媒体演示系统和项目案例都放在校园网上,供学生复习和自学。

面对面答疑和网上答疑相结合。规定时间和地点组织学生进行答疑,开发了网络答疑系统,开设了专题BBS,对观点不一致的问题定期进行面对面讨论并讲解。有效地调动了学生的学习积极性,促进了学生的积极思考,激发了学生的潜能。

5结语

经过5年的不懈努力,我们在主教材建设、实验指导书建设、电子教案建设、多媒体课件建设、试题库建设、网络课程建设和教学方法等方面都取得了较好的成果。2006年,“C语言程序设计”课程被评为辽宁省精品课程。2004年,“C语言程序设计教学法研究”获渤海大学优秀教学成果二等奖。2005年,《C语言程序设计》被评为渤海大学精品教材。2008年,“C语言程序设计课程教材建设与教学方法研究”获渤海大学优秀教学成果一等奖,2009年,获辽宁省优秀教学成果二等奖。

具有专业特色和适合人才培养的立体化教材体系优化了课程体系,整合了教学内容,反映了当前程序设计的主流技术和发展趋势。强调学练结合、注重实践、可操作性强。教师易教、学生易学。多元化的教学方法保证了整个教学活动以程序设计为主线,提高了学生的理论水平、实践技能和创新能力为中心。立体化教学平台保证了学生进行自主式学习、发现式学习、探究式学习、协作式学习等, 激发了学生的学习兴趣,增强了学生分析问题和解决问题的能力。培养了学生掌握在信息化社会中的自主学习能力。我校学生的程序设计水平有了显著提高,程序员考试合格率连续5年均超过了50%。在毕业实习中和毕业以后,大多数学生都能迅速胜任应用软件的设计与开发,学生就业率提高了21%。为其他课程的教材建设和教学方法研究起到了示范作用。

参考文献:

[1] 谭浩强. C程序设计[M]. 北京:清华大学出版社,1999.

[2] 何钦铭. C语言程序设计[M]. 北京:高等教育出版社,2008.

[3] 马靖善,秦玉平. C语言程序设计[M]. 北京:清华大学出版社,2005.

[4] 蔡开裕,朱培栋,徐明. 国家精品课程“计算机网络”教材建设研究与实践[J]. 计算机教育,2008(8):69-70.

[5] 林小茶.“C语言程序设计”教学方法思考[J]. 计算机教育,2009(12):24-25.

[6] 王振岩,张玲. 探究式教学方法在C语言教学中应用的一些体会[J]. 计算机教育,2008(6):63-64.

[7] 范红,吴怡之. “C语言程序设计”趣味实例教学方法的探讨[J]. 计算机教育,2009(10):58-59.

[8] 王冰. C语言程序设计课程教学方法的探讨[J]. 计算机教育,2009(2):142-144.

[9] 严悍,衷宜,赵学龙. 编程语言教学实践中QDeV 方法探讨[J]. 计算机教育,2008(5):56-58.

Teaching Material Construction and Teaching Method Research on C Language Programming Course

QIN Yu-ping, MA Jing-shan

(College of Information Science and Technology, Bohai University, Jinzhou 121000,China)

第4篇:c语言程序设计实例范文

关键词 C语言 程序设计 教学实践 改革 教学方法

中图分类号:G420 文献标识码:A

1 C语言程序设计在当今教学中的现状

当前高校在计算机程序设计C语言教学方面存在如下的问题:(1)非计算机专业的学生普遍感觉难学,特别是数学底子较为差的学生没有学习兴趣,不愿学习;(2)教师普遍反映难教,课堂上认真学习的人较少,计算机二级考试当年通过率很低;(3)随着可视化编程工具的增多,部分学校的C语言程序设计教学课时都已经大幅度地减少理论内容,教师在授课时若要完成相应的教学计划,就不能保证教学进度和质量,因而教师对知识的延伸讲解很少;(4)C语言程序设计集抽象性、逻辑性、实践性于一身,在教学过程中解决好这三项就能提高学生的学习兴趣,减轻学习压力。

2 如何开展C程序语言教学

2.1 在教学中培养学生分析与解决问题的能力

在案例的选择上,我们通常采用生活中的具有趣味性、实用性的诸如学生成绩管理系统、图书管理系统等相关模块进行教学。用例通俗易懂,既能吸引学生,又易形成互动,活跃课堂,提高课堂效率的案例始终贯穿整个教学过程,注重从直观到抽象,从特殊到一般渐进地学习,从而减轻了学习负担,提高了学习热情。通过对案例实现过程的分析,引导、启发学生逐步理解与掌握分析解决问题的方法与步骤,使整个学习过程下来,既能轻松掌握语法知识,又能在分析与解决问题上有所收获。最终通过各案例相关模块实现融会贯通,加深对程序设计的结构化、模块化设计思想体会,真正达到学习C语言程序设计的目的。

2.2 培养学生的整体思维,建立学生的编程意识

笔者在几年的教学实践中总结出,很多学生学这门课始终都没有较强的编程意识,通常到课程结束,怎么编写程序,他们都无从下手,没有自信。如果根据一般课程讲解,按照课程内容中的数据类型、程序控制语句、指针、数组、函数及机构体等这样一个顺序对内容进行讲课,通篇讲解完毕后,学生感觉到内容不能形成一个整体,而只是一堆零散的知识点,因此我们要改变传统的讲课模式,要让学生建立编程意识,从一个完整的程序出发,在程序中讲解语法和语句的作用,培养学生对个别知识点的掌握和整体程序结合起来,从整体出发讲解再涉及个体。

2.3 过程教学中巧妙讲解课本知识点在实例的应用

在C语言课本中都会有很多对应知识点的例子,在教学中如何讲解课本中的实例和实例中相应知识点的作用、关系至关重要,有效的讲解和演示实例对学生巩固知识点非常重要,如果就书论书的照本宣读,学生的逻辑思维得不到很好的建立和锻炼。因此,在一节的知识点讲解完后,应对实例,我们要很好的应用C语言上机练习的平台,目前应用比较广泛的是turbo c3.0或者Microsoft Visual C++ 6.0,利用多媒体平台,在理论教学中对实例进行现场过程演示和编程,演示过程中激发学生的编程思维,同时加深学生对知识点的掌握。

2.4 注重理论课与实践课相互融合

C程序语言是一门理论与实践相结合的课,只有理论教学,不能解决实际问题,必须上机实践。高校本科教学中一般理论课和实践课课时比例为3:2,在讲理论课后相应的给学生布置实践学习任务很重要,学生在实践练习和思考中得到编程的快乐,同时在运行结果正确的时候会有一种成就感,能更好的对知识点理解和应用,在教学中要先讲课后实践,而且实践课要紧随其后,如果间隔时间太长学生早已把课上听到的内容忘记,所以要及时上机实践。在上机练习中必要的指导和演示也很重要,在学生实践练习时穿插对本节理论知识点的总结和指导,做到在过程教学中完成教学结果的考察。多实践是学习掌握C语言的必经之路,理论-实践-理论。最后强调一点课程考核采用机试与笔试相结合的方法,只有这样才能对学生C语言的掌握程度作全面的反馈。

3 C语言教学的改革

在C语言课程教学过程中,笔者认为一方面要能够把握好授课内容,同时也要对传统教学方法进行改革,增加学生的实践能力,以此提高教学质量。以下是笔者在几年的C语言课程教学中采用一些新的方法。

3.1 强调知识总结的教学方法

以崔永君编写的《C语言程序设计》西安电子科技大学出版社为例,内容中有大量的定义、概念、语法和语句,它们像数学的知识点一样使用灵活、记忆难度大,特别是使用起来容易出错,很难吃透。如果能够引导学生在学习过程中时时进行归纳总结,提高学生的学习效率。在C语言学习中发现,有一些定义、概念、语法、函数等有许多相似的地方,例如:puts( )与gets()函数、printf和scanf函数等、基本数据类型的学习等,法规则是一样的,对它们进行归纳总结之后,学生只要记住其中一个函数或知识点,另一个自然就会使用了。

3.2 应用实例练习的实践教学法

强化实践,这门课主张程序设计是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的。引导学生在解题编程的实践中探索其中带规律性的认识。将感性认识升华到理性高度。

教学重点要放在实例演示讲解和过程在解题的思路上,通过大量的实际案例和书本提供的实例让学生学会怎样设计一个基本的算法,利用语句和规则构造一个简单程序。笔者在教学过程中的初始阶段,让学生理清程序的需求,进而编写程序设计流程图,接着根据流程图编写简单的程序,举一反三,通过程序引导学生逐步深入实际应用能力的培养。在实验题目设置上,根据课时安排以及要掌握的基本知识,根据各个层次的学生需要,设置相应不同难度实践课题。在本课程结束后,安排一次综合的社会应用的虚拟项目实例的制作,培养学生综合应用能力和团队协作能力。

第5篇:c语言程序设计实例范文

关键词:C语言程序;调试技术;探究与分析

近些年来,笔者在研究C语言程序设计过程中,发现许多人对于自身编辑的C语言程序运行中出现的错误的处理方法存在许多问题,无法有效判断程序错误的原因以及其对应的调试方法,文章主要从两方面分析C语言程序设计调试技术。

一、运行错误的判断与调试

一般情况下,C语言程序运行错误被分为两种:逻辑错误与程序设计错误,前者是指编译时没有错误提示,可以运行,但实际的运行结果与程序预期结果之间有偏差;后者是指程序设计中存在的问题,在编译与连接程序时也没有被发现,程序设计错误的主要表现为:计算机突然死机、自行热启动或输出信息混乱等[1]。

文章主要介绍两种常见的运行错误调试方法:

①程序算法设计不合理

有一种逻辑错误主要是由于C语言程序设计时的算法不合理而引起的,例如对边界及特殊情况未作预先处理,例如下述循环:

While(count)

x

count=count-1;

y

该循环的设计构思是进行count次循环,但是在该循环中,while旁边的判断条件恒为真,程序就会进入“死循环”,这显然是由于算法设计错误而导致的,但是编译器对于该类错误的敏感度较低,只有程序运行出现异常的时候才可能被发现[3]。再举一个例子:根据海伦公式计算三角面积的时候,首先需要对给出的三条边长是否符合“三角形任何两边的和大于第三边”的定理,若不符合这一定理则运算结果毫无意义;而程序员在设计一般实系数一元二次方程的程序时,必须设定处理复数情况的程序,避免出现运行错误[4]。若采用手算的方法是不需要先考虑到这方面,可以在出现问题后再根据实际情况提出解决措施。但是C语言程序是为计算机设计的,计算机不具备人脑自行应变的能力,因此,在程序设计的过程中必须事先将可能发生的一切问题都考虑到,特别是客户委托程序员设计的或是作为商品出售的软件更要注意这一问题。

②程序输入时的打字错误

还有一种常见的逻辑错误是在C语言程序输入过程中,由于程序员不小心打错字导致的,例如将判断条件中的“>=”输为“>”,将相等判断“==”输为“=”等。存在此类错误的程序在运行过程中出现的错误表现具有多样化,且很难将该错误出现的原因与打字错误联系起来[5]。

数据输入中存在的字符错误或字符的格式错误等都会影响程序的运行结果,尤其是在数据量大,且数据输入采用人工输入的工作中,极其容易发生这种错误。笔者以多年工作经验建议当数据输入量较大时,采用文件记录的方式,再通过读写文件来进行数据输入,这样就能够通过编辑数据文件来检测数据中存在的错误,并且在重新计算或调试过程中就不需要反复输入[6]。这种方法非常适用于科学或工程计算应用程序中的数据计算。

还有一种方式就是采用自行编写的、比较完善的数据校验输入模块来取代C语言中的scanf()函数来输入数据。这种方法多用于数据处理、事务管理等复杂的应用程序开发,常常需要将数据输入与用户界面等模块相结合,对编程技能有较高的要求。

二、C语言程序设计基本调试方法

文章主要针对C语言程序设计基本调试方法的四种方法进行介绍。

1.标准数据校验

在程序编译、连接完毕之后,下一阶段就是运行调试。运行调试阶段首先需要使用若干组已知结果的标准数据对程序进行检验。在此过程中标准数据的选取对检验结果具有重要影响,因此,标准数据的选择需要选取具有代表性且比较简洁的数据,主要是为了简化对检验结果正确性分析的不足[7]。此外,对重要的临界数据也需要进行检验。

2.程序跟踪

对于复杂的大型程序而言,上述检验一次性通过是不可能完成的。一般情况下,程序存在各种各样的问题(程序存在问题是一个普遍现象,一个错误也没有的程序在实际中较少),因此,需要对程序进行严谨的跟踪调试。

程序跟踪是调试工作中的一种方法。程序跟踪的方法是通过让程序一句一句的执行,通过观察程序执行过程中的数据以及程序的流程变化来分析其中存在的错误。例如在Turbo C中,可以采用两种程序跟踪的方法,一种是通过利用集成环境中分步执行、断点设置以及变量内容显示等功能观察程序的合理性;还有一种方法是传统方法,其主要通过在程序中直接设置断点、打印重要变量来观察程序有无错误存在。

3.边界检查

在数据检查过程中,要重视边界可能存在的特殊情况,例如以下循环:

While(count

x

y

需要检查设计数据count等于0、负数、999及1000等情况。若程序中存在if-else或switch等语言组成的分支时,也需要设计相应的判断数据,且对分支中的路径进行检测。

4.简化循环次数

在调试程序的过程中,可以通过简化程序来实现提升调试速度的目的,例如减少循环次数、减小数组规模、屏蔽部分次要程序段等方法。但是在简化程序的过程中,要注意不能太过简化,否则无法代表程序真实的运行状况。举个例子来说,对于一个求解N元一次方程组的程序来说,仅通过将N设置为2的检测是远远不够的,不能确定该程序是否在数值较大的方程组中也能得出正确的数据。若在N=5或6的情况下程序计算正确,则可以确保程序出错的可能性较小。

结束语

计算机技术的不断发展促使现代人们工作、学习以及生活方式发生巨大改变,且随着计算机软件功能的不断强大,使得计算机软件广泛应用于各个领域中。但是在C语言程序应用过程中,程序错误的出现威胁着程序软件的正常运行。因此,提高程序安全性成为程序员有待解决的问题。文章主要针对C语言程序设计调试技术展开分析,首先介绍了C语言运行错误的判断与调试,分析了2种常见逻辑错误判断与调试方法,然后针对4种C语言程序设计基本调试方法进行阐述,旨在提高C语言程序设计调试技术水平。

参考文献

[1]张秀美,赵旭霞.程序调试技术在C语言函数教学中的应用[J].教育教学论坛,2014,22(11):85-86.

[2]崔光佐,程旭,佟冬等.面向处理器的系统级模拟、仿真及调试技术 ――基于软硬件协同设计的新方法[J].计算机研究与发展,2011,38(3):361-367.

[3]李从宇,王宝光.嵌入式DSP系统C语言硬件编程技术[J].测控技术,2013,26(4):68-70.

[4]姚放吾,金鑫.基于Monitor的C语言源代码调试器的设计与实现[J].计算机技术与发展,2014,21(6):55-58.

[5]吴兴华.基于C语言软件开发的效率、移植及调试[J].数字技术与应用,2013,14(12):172-172.

第6篇:c语言程序设计实例范文

关 键 词:C语言;计算机;软件编程;实验研究

一、C语言的概述

在1967年BCPL语言被英国MartinRichards 推出,到1970 年B 语言以BCPL 语言为基础被美国Ken Thompson推出[1]。但是B 语言过于简单,而且功能有限,经过研究者的多次试验研究,在1972—1973 年,C 语言在B 语言的基础上经过完善,被美国贝尔实验室D.M推出[2]。在各种计算机编程语言中,C语言属于一门高级语言,它是一切计算机语言的基础,拥有高级语言和低级语言的特点,灵活方便,简洁紧凑;而且它的语法限制不严格,程序员在设计时程序书写自由。不仅能够编写系统软件,同时还可以编写应用软件,能够适应于多种操作系统,应用广泛,可移植性强。总之,C语言对于信息技术的发展具有十分重要的作用和价值。

二、基于C语言的计算机软件编程实验研究

(一) C语言的编程技巧

1.灵活运用指针

在C语言编程的时候,指针是一种特殊类型的变量,它能够帮助程序员有效的表达和解决程序设计过程中遇到的复杂问题,熟练掌握指针是必要的。指针具有三要素:指针名以及指针类型和值[3]。在编程时,指针和一般变量名相同,但是在类型以及值上具有区别,另外,指针不仅能够被用于表示数组,还可以被作为函数的参数返回值。

2.C 语言的特有函数

在C语言编程的时候,有时需要用到一些特有函数。函数都具有一定的功能,同时函数名也反映了该函数的功能。在进行函数定义时,程序员需要把函数的名字、返回值类型以及参数名等各项都进行定义。另外,因为库函数是由C 编译系统提供的,这些函数均是系统首先定义好的,在程序调用的时候,程序员只需利用“#include 指令”把与之相关的头文件包含到所用文件中即可[4]。例如,在程序运行的过程中,如果用到了sqrt函数,则为了保证程序运行下去,头文件必须含有#include“string .h”。

3.算法技巧

在程序设计的过程中,算法是程序的灵魂,因此,掌握一定的算法技巧是必不可少的。通常情况下,算法不仅可以用自然语言表示,有的时候也利用流程图表示。需要注意的是,利用流程图表示算法时,程序设计员必须熟练掌握常用的流程图符号[5]。且“数学乃是计算机之母”,牢固的数学知识同样能够提升编程效率。

4.位运算以及文件知识

相比其他计算机高级语言的运算方法,位运算作为C 语言的重要特色,具有独特性和唯一性。位运算是以二进制位为对象,然后结合相关程序要求进行各种运算。文件包含有数据文件以及程序文件,是计算机不可缺少的,程序设计员在进行编程时,需要把所写的程序存储的文件之中,这样可以便于程序员查找数据,提升查找效率。

(二) C语言和汇编语言混合的程序设计案例分析

在本次的实验之中,在进行程序嵌入时,有其固定的格式,需要在嵌入的各行代码之前加“asm”关键字,也可以直接在asm代码块中放入汇编语句。但是程序设计者在进行嵌入时,一定要注意满足以下条件:汇编语言指令代码中关键字asm必不可少,且要放在指令代码之前;嵌入汇编语言指令代码能够和正常C语言程序混合,但是C语言的分隔符“;”必不可少;嵌入汇编语言时C语言的注释分界符必不可少,分别是“/*”和“*/” [6]。

(2)首先编写C语言程序以及汇编程序,然后独立编译目标代码模块,最终进行链接。

首先,在进行混合编程时,C语言程序能够调用汇编语言的各种子程序以及其定义的变量,同时,C语言编写的函数以及定义的变量等也可以被汇编语言调用。而且混合编程的过程中,一个任务往往是由若干个功能模块组成,且不同的功能模块均是利用合适的语言进行独立编程,且以函数的形式存在。因此,程序设计者要根据每一模块的特点选择相应的语言和语言编程系统进行独立编程,并形成目标文件,继而连接目标文件,形成完整的可执行文件。

在混合编程的过程中,设计者需要注意五个问题:参数传递问题;寄存器的使用问题;存储模式;变量以及函数的调用问题;子程序的返回值问题。

其中,关于参数传递问题,在进行C语言程序调用汇编程序时,必须遵从参数传递原则,利用堆栈把参数传递给汇编程序。例如,在C语言程序中含有函数:voidaa(char*p,int i),这个函数是利用汇编语言进行编写的,如果编译是在小内存模式下实施的,系统在进行调用时,则写成aa(&q , n);运行时程序首先把n压入堆栈,然后再把&q压入堆栈,当参数传递过来并被汇编语言的子程序取得时,BP寄存器便被用作基地址寄存器,实现对栈中所存数据进行存取操作。通常情况下,由于调用的子程序和C语言程序往往使用同一个堆栈,所以在程序执行时,汇编语言子程序需要执行两条指令:push bp pop bp、sp[7]。

2.混合的软件编程实例分析

三、小结

综上所述,随着信息技术的不断发展,人们对于计算机软件编程的功能要求也将越来越高,而利用C语言能够实现计算机软件的多种功能,因此研究者应当强化对于C语言的计算机软件编程实验研究,开发功能更加强大的软件。

参考文献

[1] 侯宏霞.提高“汇编语言”课程实验教学质量的几点思考[J].内蒙古农业大学学报(社会科学版),2011(01):25-26.

[2] 刘海峰.以培养实践能力为导向的“C语言”教学方法探讨[J].科技经济市场,2008(12):33-34.

[3] 阿娜古丽·阿布拉.C语言与汇编语言相互调用实现混合编程[J].电脑编程技巧与维护,2009(10):71-74.

[4] 刘丹,刘德山.C语言程序设计课程综合性和设计性实验研究[J].计算机教育,2012(09):31-32.

[5] 王应军,曲培新,赵晨萍.ARM汇编语言与C语言混合编程的实现方法[J].科技信息,2010(03):69-71.

第7篇:c语言程序设计实例范文

[关键词] C++程序设计 编程语言 教学

C++程序设计语言是许多大学计算机等相关专业的核心课程。学好C++语言,对于相关专业的教学实践具有重要意义。C++程序设计语言的一个重要特点是综合性。作为C语言的扩展,它兼有高级程序设计语言的抽象性与低级程序设计语言的高度实现性。C++课程与上至软件开发方法,下至计算机组成与系统结构的许多课程存在紧密的相关性。学好C++不仅需要学习C++的语法、语义,也需要对上述课程中的许多问题有一定程度的认识。

正是因为C++语言综合性强的特点,才使得这门语言比其它许多语言更加难学。简单地向学生灌输各种语法,往往难以取得好的教学效果。必须使学生知其然,且知其所以然。为此,就需要向学生讲述一些C++中相关的其它课程方面的知识。这往往很难做到,一方面,为保证学生能掌握一门编程语言,以为后继课程奠定基础,C++课程必须尽早开设,在此之前,不可能预先开设后期的各种课程;另一方面,这些后续课程并不比C++容易,前期开设未必能取得好的教学效果。

如何在C++语言教学的同时,兼授与之相关的其它课程的内容,使学生真正把握C++的来龙去脉,更深入地理解各种语言现象,是C++教学的主要挑战之一。针对此问题,本文结合作者在教学过程中的一些经验,提出了一种整合化的教学新思路。主要的思想是在讲授C++的过程中,通过抽象、简化的方式,简明扼要地兼授其它课程中的相关内容,以方便学生对于C++的理解。

本文后继部分首先分析了C++程序设计语言与其它课程的关系,然后以此为依据提出了我们的教学新思路,并总结了全文。

一、C++课程与相关课程的关系

作为一种能够同时支持高层应用开发与底层系统开发的编程语言,C++中直接或间接的体现了计算机软硬件领域的许多概念。本章初步分析了与C++相关的课程,讨论了其中哪些内容与C++课程是紧密相关的,后续章节将基于此分析,探讨整合化教学的新思路。

与C++紧密相关的首先是硬件相关课程,包括计算机组成原理与系统结构等。组成原理中的存储器结构、数据表示、输入输出实现等对理解C++中包括变量、各种数据类型及其比较转换、输入输出流在内的许多问题有重要意义。系统结构方面,了解冯•诺依曼结构等内容,可以帮助学生更好地理解程序的运行,理解计算机计算的特点。

除了硬件类的课程外,操作系统、编译原理等系统软件相关课程也与C++教学紧密相关。理解操作系统中的进程管理、内存管理、文件管理,可以帮助学生更好地了解程序执行的过程,理解C++语言中的内存分配、文件操作等。而编译原理的相关知识贯穿于C++课程始终。C++中有许多规则看似难以消化,但如果使学生了解编译过程,就能更好地帮助他们理解C++语言中的许多设计选择,使那些看似毫无线索的语法规定,变得理所当然。

再一类与C++相关的课程是偏数学类课程,如离散数学、数据结构、算法分析与设计等。离散数学中的布尔逻辑等是理解C++中许多运算的基础,而集合、图等概念,对于理解C++教学中的许多程序实例,以及学生编程实践都具有重要意义。数据结构中的链表等也往往出现在数组、指针等内容的学习中,不了解基本的数据结构概念,将使这些问题的学习变得困难。算法分析与设计也是一个重要的相关课程。在C++语言的学习中也开始涉及一些基本的算法,如排序、查找等,给学生讲解一些经典的算法设计思想,将能使学生更容易理解相关例子,也便于培养解决问题能力。

与C++相关的重要课程还有程序设计语言原理。对于许多高校,这甚至是研究生阶段才开设的高级课程,但在讲授C++课程时,从更高的抽象层面,简要介绍程序设计语言原理中类型、面向对象、异常等重要概念,可以更好地帮助学生理解C++中的相关语法设施,使之明白C++为什么会这样,不这样将会如何等。

另有一类与C++相关的课程常常被忽略,这类课程包括软件开发方法、面向对象分析与设计等。C++课程一般开设在大学一年级,该阶段的许多学生对编程一无所知。常有些学生,对于给定的编程问题感到无法入手。如果在教C++同时向学生阐述一些软件分析设计方面的技术,就能使学生更快地解决问题。

上述课程与C++课程大多存在循环依赖的问题,理解这些课程需要具有一定的编程基础,学习C++又需要了解一些上述课程的内容。几乎不可能将这些课程开设在C++课程之前,这使得如何在C++学习中处理上述课程相关的内容,成为一大难题。

二、整合化教学

分析C++程序设计语言教学中存在的问题,我们提出了一种整合化教学的新思路,即不是单独讲授C++程序设计语言本身,而是与此同时简明扼要地兼授其它课程的相关内容。

1.在理论教学中强调整合

C++教学的整合,首先体现在理论教学方面。在这方面,我们强调抽象、简化与C++相关的内容进行讲授。对于硬件、系统等方面的课程,它们主要在概念上与C++相关,细节方面相关性相对较弱。因此,授课时主要采用的方式是将相关软硬件结构模型化,在模型层面上讲解计算机的工作方式。以内存、CPU为核心,屏蔽重要程度低的设备,重点探讨程序如何启动、运转、结束,变量在哪、如何操作,函数如何调用等;而不是深入细节,探讨存储器有多少级结构,CPU指令是什么形态等问题。刚开始学习计算机的学生,习惯从数学的角度来思考程序中的函数、赋值等概念,容易将它们与数学里的相关概念混淆。通过展示计算机的体系结构、程序流转的基本原理,可以促进学生尽早入门。当然,在抽象、简化的同时,我们尽可能地保证抽象出来的结构能够兼容后继课程,不至于使学生产生矛盾。

对于偏数学类课程,如数据结构、算法分析与设计等,C++中涉及的相关内容并不多,但这些内容往往非常关键。因此,我们选择对直接相关的内容作较为深入的探讨。比如对于链表,虽然它是数据结构课程的核心内容,但C++课程中频繁涉及此概念,因此,我们将对其作比较深入的展开,学生在理解链表的特点后,在编写与之相关的程序时,明显比之前更得心应手。算法分析与设计虽然不直接与C++课程相关,但C++教材中大量的实例都体现了各种各样的算法思想,特别地,暴力法(brute-force)、分治法、动态规划法常常出现。对此,学生往往能看懂例子,但自己编写程序时,却存在较多困难,通过向学生灌输上述算法的基本思想,对不同例子进行总结归类,学生对上述例子的消化将更加透彻。

编译原理与高级程序设计语言原理课程与C++非常相关,但难度较高,直接讲授,学生一般难以接受。对于这部分内容,我们结合了两种教学方式,一种是体验式教学,主要通过原理阐述,案例分析与感受来理解相关内容。对于函数调用、栈内存等编译原理中非常相关的内容,我们将为相关问题建立一个比较抽象的描述模型,然后据此进行较为深入的讲解。通过这种抽象但仍保持一定深度的讲解,可以给学生以更深刻的印象,避免他们犯错。

软件开发方法、面向对象分析与设计等方面的内容,主要体现在C++教学的案例与实践环节中。这里,我们主要的思路是从软件开发方法中抽象出一些基本的方法、原理,将其在案例分析中阐述给学生,使其尽可能地明白一个程序的编制由来。在理解教材中的案例时,做到先自己设计,再阅读材料,而不是直接读书,不做深入思考,不分析由来。软件开发方法中许多方法主要针对大型工程,看似与C++教学无关。但对于刚涉猎计算机领域的学生,每个小例子,都是大项目。深入地分析设计开发方法,有利于培养学生分析、解决问题的能力。

抽象、简化进行讲授的同时,我们还强调启发教学。要求学生不停留于书本内容,不停留与抽象模型,积极提出问题,利用课余时间丰富对相关模型的理解。

2.在实践教学中强调整合

除了在理论教学中整合,我们还强调同样要在实践过程中进行整合。以往C++上机实践过程中,要求学生编写的都是一些简单的控制台程序,基于与系统无关的一些函数库来实现相关功能。这些案例可以提高学生对书本知识的巩固,但是难以充分调动学生的兴趣,特别是在当今计算机如此普及的形势下。

为提高学生兴趣,我们在实践过程中,适当结合了少量超出C++教学范畴外的内容,向学生提供一些操作系统的编程接口,图形界面库等,教学生编制一些具有美观界面,甚至可以实现多媒体功能的小程序。这些小程序往往并不复杂,教师不讲解,也不强求学生掌握。只提供给学生模仿,并启发一些可以改进的点,学生通过模仿学习,即使不能充分了解背后的知识,也可以极大的提高学习热情。

三、小结

本文针对C++程序设计语言课程的一些特点,提出一种整合化的教学新思路,大部分内容来源于已有的教学实践。新思路在教学过程中取得了较好的效果,特别是对C++相关的许多问题的探讨,能启发学生积极思考,这对于培养创新型人才是有益的。

参考文献:

[1]皮德常.C++程序设计教程[M].北京:机械工业出版社,2009.

[2]B.Stroustrup(裘宗燕译).C++语言的设计和演化[M].北京:机械工业出版社,2001.

第8篇:c语言程序设计实例范文

关键词:C语言;教材建设;项目驱动

C语言程序设计课程是计算机专业本科生的一门很重要的专业基础课,对后续数据结构、操作系统、面向对象程序设计等专业课程的学习,起到至关重要的铺垫作用。课程旨在培养学生熟练掌握C语言语法规则,具备扎实的软件开发基本技能,养成良好的编程风格,为进一步学习后续课程和将来从事应用软件开发工作奠定良好的基础。因此,学好C语言程序设计课程是计算机专业本科生能否顺利完成大学阶段学习的关键一步。教材是教与学的载体,拥有一本集科学性、完整性、趣味性于一体的C语言程序设计教材是学生学好这门课程的先决条件。

一、C语言程序设计教材建设现状

目前,市面上能够买到的C语言程序设计教材大多注重介绍语法规则,绝大部分篇幅都在反复陈述各种正确的或错误的C语句用法,枯燥无味,更像是工程人员手边使用的工具书,而非引领毫无编程基础的大一学生走入编程知识殿堂的读物。这些教材中缺少与现实生活联系紧密的项目实例,为数不多的例题也都是1到100累加、10个整数排序这样无法吸引学生兴趣的题目,因此造成学生在学习过程中把过多的精力放在记忆各种灵活多样的C语言语法规则上,而真正使用C语言解决实际问题的能力没有得到很好的培养。

然而,C语言程序设计课程的培养目标恰恰是要求学生在掌握C语言语法规则的基础上,具备用工程化思想分析实际问题的能力,掌握使用C语言解决实际问题的方法。因此,针对C语言程序设计课程特点、应用型本科院校生源水平以及C语言程序设计课程教材现状,编写注重引导学生兴趣,有利于学生专业素质和创新能力培养的教材势在必行。

二、C语言程序设计教材建设指导思想

结合C语言程序设计课程在课程体系中的地位、作用、任务确定教材基本内容;结合应用型本科院校计算机专业大一新生的实际情况确定教材难易程度;结合经典项目实例在教学中的作用,注重教材建设的整体性和趣味性;注重学生程序设计思路和技能的培养,避免多而杂的语法规则介绍,坚持少而精的教材建设原则;配合实验课教材和网上题库建设,注重培养学生实践动手能力。

三、C语言程序设计教材建设具体措施

1.理论课教材建设

(1)语言通俗易懂,重点突出,适合初学者。鉴于C语言程序设计是计算机专业本科生学习的第一门程序设计类课程,教材在语言组织上特别注意避免过于专业的术语,做到通俗易懂。在讲解过程中步骤详尽,版式新颖,重点突出,避免学生因一味追求细节而忽略C语言的精髓,舍本逐末。

(2)提纲挈领,注重知识点的实际应用。C语言中,每个单独的章节都讲授了一个全新的知识点,比如选择、循环、函数等。刚刚接触一个新知识时,学生经常找不到切入点,不知如何完成这一章的学习,重点难点也把握不住,导致眉毛胡子一把抓,好像都知道一些,却又都不精通,学得快,忘得也快。针对这种状况,教材各章节后部均设有小结,言简意赅地给出如何使用该章节知识点解决实际问题及使用时的注意事项,起到了事半功倍的效果。

(3)启发式设问引导教学,明确章节学习目标。C语言难学的原因有多种,学生面对多种不同的数据类型、语句功能结构、繁多的语法规则等,往往无所适从。从启发式教学的角度出发,在每章的开始部分都以设问形式提出问题,使学生在学习该章内容前先想到一些问题,提出问题,再给出该章节的学习要点,引领学生带着问题学。这样不仅在课程教学过程中简单明了地给出了章节学习目标,有利于教学活动的顺利开展,更为重要的是,激发了学生的学习热情,锻炼了他们主动思考、善于提问、敢于质疑的学习习惯,培养了专业的软件工程师工作风格,为将来实际的程序设计相关工作奠定良好的基础。

(4)采用实例趋动教学的方法,讲解C语言基本概念和实用程序设计技术。为了帮助学生对C语言各章节知识点有更加深刻的理解,提高程序设计的能力,各章节中配备精心选择的经典实例程序,所选的例题覆盖了C语言程序设计中最常用的方法、实用技术。并且,选取一个经典实例“学生成绩管理系统开发”,从第一章抛出问题,至以后各章节都结合该章节所学知识点逐步地分析、解决问题,由浅入深,最后完整地给出问题求解方法,引领学生循序渐进地掌握一个较大软件的实用程序设计技术。教师授课过程中,可以适时引入一些软件工程思想,从需求分析、系统设计、编码、测试等各环节加以讨论,让学生从大学一年级就对自己将来从事的职业有一个具体的认识,为其他后续课程做一个很好的铺垫。

(5)构造学习框架,强化程序设计思维。以往的C语言教学过程中,经常出现学生对于编程题有个大概的想法,但不会具体编写程序的现象。其根源在于C语言教学与实际问题的脱离,教学不注重培养解题思路与解题方法,而过多偏重语法规则介绍。因此,为使学生熟练掌握编程技术,在编程题目的讲解上提出了一个学习框架,各章节中实例的讲解均按照“变量分析——设计思路——程序源码——运行结果——说明”的思路。对于一个实际问题,首先分析解决问题需要设置哪些变量及变量设置技巧;其次分析解决问题的具体思路及步骤,给出程序流程图;然后,给出程序源码及运行结果,重点讲解编码规范;最后,针对程序设计和实现过程中容易出现的错误及需要注意的问题给出必要的解释说明,并配有大量图解来帮助学生更直观地了解内存变化情况,降低了阅读难度。

2.实验课教材建设

结合C语言程序设计理论课教材和学生实际水平,进行了C语言程序设计实验课教材建设。实验课教材的章节设置与理论课相同,每一章按实验目的、实验内容、实验习题的形式组织。实验目的给出该实验环节中学生必须了解、理解和熟练掌握的编程技能分别有哪些,学生可以根据实验目的并结合自身情况,有选择地进行实验题目练习及课后复习。实验内容按照验证性、设计性和综合性层次分别设计题目,每道题目给出题目描述、测试数据、题目分析、参考代码和参考运行结果。其中,题目分析从变量分析和设计思路两个角度讨论,题意明确,分析透彻,让学生能够充分体验程序设计整个过程中的思考方法。实验习题部分进行知识扩充,不给出标准答案,进一步锻炼学生的程序设计能力和创新思维能力。C语言程序设计实验课教材建设紧紧围绕理论课教材的重点难点,注重学生基本技能和实际应用的训练,强调对学生分析解决实际问题能力的培养。

四、结语

课题组教师结合多年实际教学经验,针对应用型本科院校计算机专业大一学生的实际情况,积极开展C语言程序设计课程教材建设工作,得到了学校领导的充分肯定。在大连理工大学出版社的大力支持下,课题组成员编写了《C语言程序设计》教材及配套的《C语言程序设计习题答案与上机指导》,现已公开出版发行。经教学实践检验证明,教材符合应用型本科院校学生认知规律,取得了较好的教学效果。

[参考文献]

[1]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005.

[2]吴文虎.程序设计基础(第二版)[M].北京:清华大学出版社,2004.

[3]武桂力.C语言程序设计项目化教程[M].青岛:中国海洋大学出版社,2011.

[4]黄璐,于红,王建彬.C程序设计课程教学探讨[J].吉林省教育学院学报,2012(04).

第9篇:c语言程序设计实例范文

摘要:本文根据高职学生特点,从实际教学经验出发,分析了高职院校C 语言程序设计教学现状,并简单讲述了C 语言主要知识点,并提出适合高职学生学习的方法。

关键词 :C 程序高职院校

《C 语言程序设计》是高职院校计算机及电子信息相关专业的重要专业基础课。该课程主要培养学生模块化程序设计的逻辑思维能力,使学生掌握程序设计的一般方法和技巧,并锻炼学生的思维能力和创新意识。

1 C 语言程序设计教学现状

C 语言是理想的结构化语言,描述能力强。C 语言的教学要求教师具备良好的教学能力和清晰的程序设计思想,也要求学生有一定的逻辑设计能力。一般高职院校的C 语言设置在一年级开设,学生刚刚进入大学,还没有从高中生的身份完全转变过来。虽然在高中阶段学习了计算机应用基础课程,但是他们完全没有程序设计的概念,经过一段时间的学习,觉得这门课很难学、学不会。经过两个学期的C 语言教学,从实际教学经历来看,主要的制约因素有以下四个:第一、学生刚进入大学,刚接触编程语言,对计算机原理理解不深,对编程更是不了解,不具备语言编写能力。第二、高职学生文化基础比较差,尤其是数学基础差,导致学生逻辑思维能力差,而C 语言的学习对这方面能力又有较高的要求,所以对于稍微复杂一点的程序学生就觉得难以理解。第三、英语基础差,很多高职学生对英语望而生畏,而计算机语言基本都是用英语来实现的,C语言亦是。很多学生看到程序中的英语单词就头疼,从心理上就觉得自己学不会C 语言,也就放弃了。第四、很多学生,在上课的时候能听懂了,但是上机的时候头脑一片空白,不知从哪里入手编写程序。部分能够写出程序的,也是按照教材或老师所讲的例子进行编写,一旦题目要求有变化,便不会做了。

2 C 语言教学规范

有一简单C 程序如下:

int main()

{

int a,b,m;

int max(int x,int y);

printf(" 请输入两个数值:\n");

scanf("%d,%d",&a,&b);

m=max(a,b);

printf(" 两个数中较大的为%d\n",m);

return 0;

}

int max(int x,int y)

{

int z;

if(x>y)

z=x;

else

z=y;

return z;

}

该程序的功能是通过键盘输入两个数值,经过程序的运行,将其中较大的数值进行输出。该程序简单,易于理解,但是包含C 语言中很多必须掌握的知识点。简单介绍如下:

2.1 C 语言程序的结构通过上面简单例子可以看出,一个C 语言程序的结构有以下特点:①一个程序由一个或多个源程序文件组成。②函数是C 程序的主要组成部分。程序的全部工作几乎都是由各个函数分别完成的,函数是C 程序的基本单位。在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。③一个函数包含两个部分。函数首部和函数体两个部分构成。基本形式如下:函数类型和函数名(参数类型、参数名称……)。函数体包含声明部分和执行部分。声明部分,定义本函数中所用到的变量。执行部分,指定函数中所进行的操作。④程序总是从main 函数开始执行的。⑤C 程序中对计算机的操作是由函数总的语句完成的。C 程序的书写格式比较自由,一条语句可以分写在多行,也可以将多条语句写在一行。但一般习惯每行只写一条语句。⑥所有的C 语句的最后必须要有一个分号。⑦C 语言本身不提供输入输出语句。输入和输出操作是由库函数scanf 和printf 等函数来完成的。

2.2 掌握C 语言的基本结构大部分的语言都是由顺序结构、选择结构和循环结构三种基本结构构成的,而C语言也不例外。

2.2.1 顺序结构。在顺序结构中,各语句是按自上而下的顺序执行的,执行完上一个语句就自动执行下一个语句,是无条件的,不必做任何判断,是最简单的程序结构。

2.2.2 选择结构。在现实生活中需要进行判断和选择的情况很多。比如,从A 城市出发上高速公路,到一个岔口,有两个方向,一个去B 城市方向,一个去C 城市方向。

驾车者到此需要自己根据自己的目的地进行判断,选择其中一个路径。在日常生活或工作中,类似这样需要判断的情况很多。比如:如果考试不及格,要补考;70 岁以上的老人,乘公交免票等等。

程序中,选择结构是一种重要的程序结构。本文前面的例子中就用到了选择结构,如果x>y,较大值为x,否则为y。该函数中,采用了if 语句中,双分支选择结构。在C语言中有两种选择语句:①if 语句;②switch 语句。

①if 语句形式有三种形式

·if(表达式)语句

·if(表达式)语句1

else 语句2

·if(表达式) 语句1

else if(表达式2)语句2

else if(表达式3) 语句3

else if(表达式m) 语句m

else 语句m+1

②switch 语句一般形式

switch(表达式)

{

case:常量表达式1:语句1

case:常量表达式2:语句2

: : :

case:常量表达式n:语句n

default:语句n+1

}

2.2.3 循环结构。在日常生活中或是在程序所处理的问题中常常遇到需要重复处理的问题。比如:要向计算机输入全班50 个学生的成绩等。在C 语言中,需要多次重复执行一个或多个任务的问题可以用循环来处理。循环结构有while、do…while 和for 语句来实现。

while 语句:

while(表达式)语句

do…while 语句:

do 语句while(表达式);

for 语句:

for(表达式1;表达式2;表达式3)语句

3 怎样学习C 程序设计

根据C 语言程序设计课程特点,结合今年来的从教经验,综合高职学生特点,C 语言程序设计教学应注意以下几个方面:

①要着眼于培养能力。C 语言程序设计是一门操作性很强的课程,在教学过程中应该注意培养学生分析问题、构造算法、编程和调试程序的能力。②要把重点放在解题的思路上。初学者不要在语法细节上死记硬背。一开始学习只要能看懂程序,能够编写简单的程序,然后逐步深入。

语法细节可以在后续的学习及长期的时间中掌握。③掌握基本要求,注意打好基础。在学校学习程序设计,主要学习程序设计的方法,进行程序设计的基本训练,为进一步学习打下良好的基础。④重视上机实践环节。该类课程学的好与坏,不是看你“知不知道”,而是“会不会做”。对程序而言,光靠听课和看书是学不好的,除了学习本课程要掌握的概念,还要动手编写程序,上机调试程序。⑤要学会举一反三。学习程序设计,关键是学习程序设计的思路和方法。

学会一种计算机编程语言,在学习另外一种编程语言时应该不会太困难。各种计算机编程语言,其基本规律是一样的,在学习时一定要学活用活,举一反三,掌握规律,在后期学习时就:

[1]曹莎莎.C 语言教学研究与思考[J].价值工程,2012(01).

[2]雍全明.C 语言教学改革探索与实践[J].新余高专学报,2005(02).