C语言程序设计教学大纲72du

2024-09-29

C语言程序设计教学大纲72du(共10篇)

1.C语言程序设计教学大纲72du 篇一

《C语言程序设计》教学大纲

课程名称:《程序设计语言(C)》 英文名称:The C Programming Language 课程编码: 学

分: 参考学时:64 实验学时:64

适用专业:计算机专业

一、课程目标及要求

《C语言程序设计》是计算机专业的必修课,是我院计算机专业重点课《程序设计语言》的重要组成之一。学习《C语言程序设计》,应使学生达到以下要求:

1、掌握 C 程序的基本结构和 C 语言基本的数据结构,熟悉 C 程序的编辑、编译、调试和运行过程;

2、了解程序设计的一般方法、结构化程序设计思想,熟悉算法描述工具 N-S 流程图的使用及常用算法;

3、能够熟练地阅读用 C 语言编写的程序;

4、能运用结构化程序设计方法编写 C 程序;

5、能调试、运行程序。

二、课程学习要求

本课程是理论与实践相结合的一门课程。要求学生在学习理论知识的同时,积极上机实践,以达到对理论知识的熟练简明应用。

三、教学预修课程:

计算机文化基础

四、教学重点、难点:

本课程的重点是C的基本数据类型及运算、分支结构和循环结构、数组、函数、指针以及结构体的使用。

难点是函数的调用,指针及结构体的使用。

五、教学方法:

理论讲授与实践相结合。

六、教学内容与学时分配建议

(一)总课时数

总课时数为:64*2=128学时,其中,理论为:32+32=64学时;实验:32+32=64学时。

(二)教学内容及课时分配

1.C 语言的结构(2 学时)

(1)程序的构成,main 函数和其他函数。

(2)头文件、数据说明、函数的开始和结束标志。

(3)源程序的书写格式。

(4)C 语言的风格。

(5)程序的编辑、编译、连接步骤及 TURBO C 环境。

实验一

c程序的运行环境和运行一个c程序的方法(2学时)

2. C 数据类型及各种表达式(4 学时)

(1)C 的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法。

(2)C 运算符的种类、运算优先级和结合性。

(3)不同类型数据间的转换与运算。

(4)C 表达式类型(赋值表达、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。

实验二

数据类型、运算符和表达式(2学时)

3.算法与顺序程序设计(4 学时)(1)算法的概念、特性、算法的描述。

(2)常用算法。

(3)表达式语句、空语句、复合语句。

(4)数据的输入与输出,输入输出函数的调用。

实验三

顺序结构的程序设计(4学时)

4.选择结构程序设计(4 学时)(1)用 if 语句实现选择结构。

(2)用 switch 语句实现多分支选择结构。

(3)选择结构的嵌套。

实验四 选择结构的程序设计(6学时)

5.循环结构程序设计(6 学时)(1)for 循环结构。

(2)while 和 do while 循环结构。

(3)continue 语句和 break 语句。

(4)循环的嵌套。

实验五 循环结构的程序设计(6学时)

6.数组(6 学时)

(1)一维数组的定义、初始化和引用。

(2)二维数组的定义、初始化和引用。(3)字符串与字符数组。

实验六

数组(6学时)

7.函数(6 学时)

(1)库函数的正确调用。

(2)函数的定义方法。

(3)函数的类型和返回值。

(4)形式参数与实在参数,参数值的传递。

(5)函数的嵌套调用和递归调用。

(6)局部变量和全局变量。

(7)变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。

(8)内部函数与外部函数。

实验七

函数(6学时)

8.编译预处理(建议穿插在各章中讲)(4学时)(1)宏定义:不带参数的宏定义;带参数的宏定义。

(2)“ 文件包含”处理

实验八

编译预处理(4学时)

9.指针(10 学时)

(1)指针与指针变量的概念,指针与地址运算符。

(2)变量、数组、字符串的指针及指向变量、数组、字符串的指针变量。通过指针引用以上各类型数据。

(3)用指针作函数参数。

(4)返回指针的函数。

(5)指针数组,指向指针的指针,main 函数的命令行参数。

实验九

指针(10学时)

10.结构体与共用体(10 学时)

(1)结构体的定义、初始化、引用

(2)结构体数组及结构体数组成员的访问(3)结构体类型的指针(4)结构体型与函数(5)结构体处理链表(6)共用体(7)枚举类型

(8)用Typedef定义类型

实验十

结构体与共用体(10学时)

11.位运算(4 学时)

(1)位运算符的含义及使用。

(2)简单的位运算。

实验十一位运算(4学时)

12.文件操作(4 学时)只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。

(1)文件类型指针(FILE 类型指针)。

(2)文件的打开与关闭函数(fopen,fclose)。

(3)文件的读写函数(fputc,fgetc,fputs,fread,fwrite,fprintf,fscanf 函数),文件的定位(rewind,fseek 函数)。

实验十二文件(4学时)

七、教学参考书目:

1.常玉龙等 《Turbo C 2.0实用大全》 北京航空航天大学出版社 1994 2.谭浩强 《C语言程序设计》第二版 清华大学出版社 1999 3.王丽娟 徐军 戴宝华 荣政 《C程序设计》 西安电子科技大学出版社 2000 4.田淑清等 《C语言程序设计辅导与习题集》 中国铁道出版社 2000 5.谭浩强 薛淑斌 崔武子 《C程序设计(二级)教程》 清华大学出版社 2001 6.崔培伟 《C/C++语言程序设计》 石油大学出版社 2001 7.谭浩强 《C语言程序设计》 清华大学出版社 2002 8.陈朔鹰 陈英 《C语言程序设计习题集(第二版)》人民邮电出版社 2003 9.朱连章等 高级实用程序设计(Visual C++)石油大学出版社 2003 10.方** 宋世发 汤钦林 李太芳 《C语言程序设计》 地质出版社 2006

制 定: 计算机基础及技能教研室 执 笔 人: 冯建平审 定 人: 旭 日 制定时间: 2007年3月

2.C语言程序设计教学大纲72du 篇二

《C语言程序设计》作为计算机专业的基础课, 已经成为一门必修的语言课程, 在整个语言课程体系中占有非常重要的地位。在C语言教学过程中, 从客观上讲, 教师的教法和学生的学法的差异, 对教学效果都会产生很大的影响。针对教师的教法和学生学习语言类课程的学法, 结合近几年来的教学经验和教学体会, 把一些经验和方法总结出来, 希望能对C语言课程的教学和学习有所帮助。

1 分析教学中存在的问题

《C语言程序设计》是一个逻辑性很强的课程。有些问题是将数学知识转化用c语言来实现, 这就要求学生首先要能够理解和掌握数学知识, 才能将其转化用c语言来实现。在调试程序时, 提示的信息都是用英语给定, 那么也就要求学生掌握最基本的英语单词, 有些甚至是计算机专业英语, 能将英语句子翻译为汉语, 才能够对程序加以修改。学生在心里认为c语言难学, 没有积极学习的主动性, 导致上课时没兴趣, 不能专心听讲, 布置的作业无从下手, 在实践课中, 看到要编写的程序题目, 理不出头绪。

2 涉及新的知识要有导入

在教学的过程中, 要将新的知识点, 要有很自然的导入语, 引导学生思考问题和解决问题的方法。例如:scanf (“%d”, &a) ;只能从键盘接受一个整型数, 现在要输入40名学生的成绩, 如何通过一个s canf函数来实现, 难道是要定义40个变量, 那如果要接受100个数呢?更多的呢?为了解决诸如此类的问题我们采用数组来实现。这样也就引导学生思路跟着教师, 给他们提出问题, 在给出解决问题的办法。

3 举一反三

给定一个例子时, 将涉及到的所有内容都要讲到。各种形式, 可能出现的错误都要指定。例如:现在要求n!我们可以给定一下几种形式:

一个例子可以给出多种方法来实现, 在这只给出6中形式, 从这6种中, 就可以看到初值不同, 语句的书写顺序不同。通过一个例子, 让学生能理解各种形式, 遇到诸如此类问题时, 就可以迎刃而解。

4 与实践教学相结合

程序设计课程具有很强的实践性, 对于计算机语言课程的教授不应仅仅是传授知识, 应该以培训能力为主。C语言的内容繁多, 在有限的课时内不可能也不必要面面俱到, 所以必须突出重点, 突出实用性, 关键在于教会学生正确运用C语言编写程序。应始终坚持以应用为中心, 以算法为基础, 以培养学生的实践能力为核心, 突出技术实用性和再学习能力的培养。

摘要:《C语言程序设计》是高职高专院校计算机专业基础课程之一, 其教学效果直接影响学生在计算机方面的应用, 教学中出现的听得懂、编不出程序的现象, 探究问题存在的原因, 从教学的教学内容和方法方面进行了探讨, 提出只有教师的教学内容和教学方法进行合理的组合, 激发学生的学习兴趣才能达到良好的教学效果。

关键词:教学方法,案例教学,启发教学,教学效果

参考文献

[1]朱健, 庞倩超.C语言程序设计案例教程.全国高职高专教育精品规划教材:北京:交通大学出版社.

[2]郭芹.对高职高专计算机专业程序设计教学的思考.中国科技信息.2008 (1) .

[3]谭浩强.C语言程序设计教程.北京:高等教育出版社.

3.浅探《C语言程序设计》教学 篇三

关键词:C语言;项目化教学;教学方法

中图分类号:TP312.1-4 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

《C语言程序设计》作为计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教学方法和学生的理解接受能力的差异,对教学效果都会产生直接的影响。总结多年来的教学经验和教学体会,结合学生在学习程序设计类课程的思维规律和模式,把一些经验和方法总结出来,希望能对C语言教学有所帮助。

一、现行教学和学习中存在的问题

现行教学中理论课与实践课相对分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,而在实践课程中,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。《C语言程序设计》是一个逻辑性很强的课程。学生在面对具体的程序设计时遇到的问题与教材中的内容相距甚远,这使大多数同学感到无从下手。这其中的原因可以分成两类:一方面目前高校使用的大多数教材中,结构都基本相同。在每一章介绍完了概念之后,提供一些例题解释相关概念的使用方法,并在章节结束后针对本章中出现的内容提供一些练习题。考试也主要是测试学生对于教材内容的掌握程度,而与实际应用相距较大。这种考试实际上主要是测试学生对书本中的基本知识的掌握程度,而忽略了对学生解决实际问题的能力的培养。另一方面为了应付考试,学生更多注意的是教材中的典型例题与老师指定的重点内容,对于程序的系统概念没有真正理解,特别是没有程序整体设计的概念。这样做的结果就是学生在学习时一切围绕老师讲课的内容,特别是老师讲授的例题。学生在学习的过程中,没有注意如何综合运用相关内容来解决具体问题,导致学生在学完程序设计课程进入应用阶段时,面对具体的专业设计要求无从下手。

二、提高教学效果的方法和途径

(一)明确课程目标。本课程的目标主要是提高学生解决实际问题的能力,适应社会需求。对C语言程序设计课程的教学而言,强调实践性是在教学中特别重要的问题。老师的教学不应仅仅是传授知识,应该以培养学生的实际应用能力为主。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序,一些细节、具体规则和进一步的知识可以让学生在今后的应用中来不断学习和掌握。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。

(二)进行教学改革。1.教学内容改革。高职学校学生的培养就是要直接面对社会需求,招之即能用。因此,程序设计课程要以社会对编程能力的需求和技术发展为依据,调整教学大纲和教学内容,以适应技术岗位能力要求,设计课程体系。在课程设置与建设中,要充分体现教学内容在训练和提高学生实践能力方面的要求,强化学生的实际开发和应用能力。总结本人多年的教学经验,结合其他老师成功的教学方法,采用项目化教学方法可以达到很好的效果。这个项目应具有以下几个特点:(1)实用性。本项目就是一个具体的实际需求,是解决现实性中一个实际问题而设计,这样也能提高学生的兴趣和热情;(2)完整性。本项目的程序设计是系统的、完整的,要能全面运用整个课程学习的知识,案例的设计贯穿整个课程的学习,随着课程的学习不断完善。

2.改变教学思想和方法。培养学生对C语言的兴趣及正确的思维模式。《C语言程序设计》注重由设计算法到书写程序并进行调试的整个过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。在教学过程中,先介绍项目的整个程序设计框架,目的是使学生先对程序有个初步的印象,再结合教材,简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解,避免学生对学习语言望而生畏。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。计算机语言程序设计中算法是其灵魂,是教学重点,也是教学难点,而语言只是表示形式。没有正确的算法,计算机将解决不了任何问题。对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,重点讲解程序设计的思想和方法,辅以語言知识的介绍,将课程内容分为若干个主题,以项目程序设计为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习/上机实践”和“疑难解答”三个阶段组成,然后提出项目中的问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。整个课程教学围绕一个工程项目进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将C的知识点都溶化到项目的程序编写中。

3.改革课程考核方式。(1)平时上机训练时给学生留一些编程习题,每次根据学生编写情况进行测评并占据期末总成绩30%;(2)期末前,要求学生完成本课程项目的整体设计,考核学生综合解决问题的能力,占据期末总成绩30%;(3)期末进行理论考试,占期末总成绩的40%。

(三)展示学生作品,激发学生的学习欲望。计算机软件课程具有多样性、复杂性和求异性特点,我们要针对每个学生任务完成的情况,让同学们展示自己的学生成果,及时肯定学生的成绩,这样会有利于激发学生的学习热情,保持学生的学习兴趣,对学生的后续学习将产生强大的动力和自信心。

(四)培养学生的自学能力和创造性。学生学习计算机语言的最终目的是编写满足实际需求的程序,所以在教学中教授的不仅仅是具体语言的语法知识,更重要的是通过这门语言学习,培养学生遇到实际问题自己分析问题、解决问题的能力。我们可以通过给学生布置作业的形式让同学们自学,老师既要要求学生独立思考、自主学习,又要鼓励学生间进行协作学习。教师可以分配一些比较复杂的问题,由几个学生组成一个小组合作解决,这样同学们可以互相探讨学习方法,协作解决一些遇到的问题。通过解决问题,锻炼学生综合应用知识的能力、培养其创造性和合作精神。

参考文献:

4.C语言程序设计2教学大纲 篇四

【课程编号】 【学 分 数】4

【课程类别】专业必修课

【适用专业】 计算机科学与技术、计算机科学与技术(信息技术教育方向)、软件工程、软件工程(数字媒体方向)

【学 时 数】54(30理论+24实践)【编写人】何宇矗

【编写日期】2014.2.9

一、教学目标

C语言作为一种面向过程的语言,虽然近年来在面向对象编程语言的发展并流行的大趋势下,应用减少了很多,但是通过TOIBE(互联网资深程序员开发语言排行榜)的排名情况来看,C语言仍然牢牢占据前三名的位置,并且经常是第一名,可见C语言在生产实践中仍然占据着举足轻重的作用,许多实际在用的软件项目,尤其是嵌入式项目及与系统底层密切相关的项目仍然是由C语言来开发的。

通过《C语言程序设计1》的学习,学生已经理解了编程的基本概念,掌握了C语言的基本语法(这也是传统的C语言程序设计课程所设定的教学目标)。但是若要利用C语言来构造出具有一定规模的可用的应用程序,解决实际生活、生产中遇到的问题,还具有较大的困难。学生需要具备这方面的能力,不仅仅需要熟练掌握C语言的基本语法知识,还应当具有一定的算法设计能力、基本数据结构应用能力、自顶向下、逐步求精地分析问题与解决问题的能力(即面向过程的思想)、基本的软件工程项目组织能力、团队合作精神以及各种第三方程序库的使用能力,这些能力的培养,是让学生真正从理论走向实践,从书本走向生产所必须具备的。这正是《C语言程序设计2》课程的主要目标。

二、教学内容和学时分配

第一章 指针2 4+4学时

主要内容

1.指针数组及指向指针的指针 2.指针与多维数组 3.指向函数的指针 4.命令行参数 教学要求 1.掌握指针数组及指向指针的指针的使用 2.理解指针与多维数组的关系 3.理解指向函数的指针及其应用 4.熟悉命令行参数的使用

重点、难点:指针数组及指向指针的指针、指向函数的指针 其他教学环节:2学时实验课

第二章 C语言程序的组织结构

2+2学时

主要内容:

1.单个文件的程序结构

2.头文件的作用及多文件的程序结构 3.预处理及条件编译、宏替换 4.简单实例———计算器程序 教学要求:

1.理解C语言程序的结构,掌握头文件的使用,能构造具有多个文件的C程序 2.理解预处理概念,掌握条件编译命令、宏替换 重点、难点:头文件的使用及多文件的程序结构。其它教学环节:2学时实验课。

第三章 结构体、共用体和枚举类型4+2学时

主要内容

1.用typedef定义数据类型 2.结构体类型的意义

3.结构体变量的定义、初始化和数据成员的引用 4.结构体作为函数参数 5.共用体和枚举类型

教学要求

1.理解结构体数据类型的含义 2.掌握结构体类型的定义及使用 3.理解枚举和共用体数据类型

重点、难点:结构体数据类型的定义及使用 其他教学环节:2学时实验课 第四章 指针进阶——链表 2+2学时

主要内容: 1.链表的实现 2.链表的应用 教学要求: 1.掌握链表的实现

2.熟悉链表在程序中的实际应用。重点、难点:链表的构造 其它教学环节:4学时实验课。

第五章 文件操作 2+2学时

主要内容

1.二进制文件和文本文件 2.文件的打开和关闭 3.文件的创建、读写 4.文件的随机访问 教学要求 1.理解文件的概念

2.掌握文件的访问流程及常用读写函数

重点、难点:文件的概念及其读写 其他教学环节:2学时实验课

第六章 常用程序设计方法 4+4学时

主要内容: 1.模拟 2.递推 3.分治和递归 4.贪心算法 教学要求:

理解常用的算法设计思想,并能简答应用。重点、难点:递归的理解,分治与贪心的应用 其它教学环节:2学时实验课。

第七章 面向过程的程序设计方法 2学时

主要内容:

1.自顶向下、逐步求精的程序设计方法; 2.经典的软件工程方法——瀑布模型 教学要求:

1.理解自顶向下、逐步求精的程序设计方法 2.理解软件工程的概念及软件开发的基本流程 重点、难点:自顶向下、逐步求精的程序设计方法 其它教学环节: 无

第八章 综合实例1——图书管理系统 4+4学时

主要内容:

按照软件工程的基本流程,运用自顶向下、逐步求精的设计方法,构造出具有图书添加、存储、查询、借阅、删除等功能的图书馆管理系统,并将其实现。

教学要求:

在实现图书馆管理系统的过程中,体会面向过程的程序设计方法及软件开发的基本流程。

重点、难点:

1.面向过程的设计方法的具体应用 2.数据结构的应用

其它教学环节:2学时实验课。

第九章 综合实例2——五子棋游戏4+4课时

主要内容:

按照软件工程的基本流程,运用自顶向下、逐步求精的设计方法,构造出五子棋游戏,并将其实现。

教学要求:

在实现五子棋游戏的过程中,体会面向过程的程序设计方法及软件开发的基本流程。重点、难点:

1.面向过程的设计方法的具体应用 2.五子棋走棋算法的设计

其他教学环节:4学时实验课

第十章 操作系统接口及第三方程序库 2学时

主要内容

1.C语言标准库中的其他内容

2.操作系统提供的编程接口(POSIX系统调用)3.常见第三方程序库的介绍 4.面向对象程序设计的概念

教学要求

1.了解C语言标准库中的常见功能 2.理解操作系统编程接口的概念及基本使用 3.熟悉常见的第三方程序库 4.理解面向对象编程的概念 重点、难点:POSIX操作系统编程接口、面向对象编程的概念

其他教学环节:无

三、教材与学习资源

[1]郑州师范学院在线判题系统ZZNUOJ(acm.zznusoft.com)[2]《C语言程序设计》,苏小红等编著,高等教育出版社,年份:2011.[3]《C程序设计语言》,Brian W.Kernighan,Dennis M.Ritchie著,徐宝文、李志译,机械工业出版社,年份:2004.[4]《C语言实例解析精粹》曹衍龙、林瑞仲、徐慧编著,人民邮电出版社,年份:2005.四、课程体系及教学策略与方法

C语言程序设计是高等院校计算机专业及相关专业重要的专业基础课,其目的是培养学生的程序设计理念、掌握程序设计的基本方法,为后续课程(数据结构、面向对象程序设计、算法设计与分析、操作系统、编译原理和软件工程等)打下坚实的基础。

C语言程序设计是一门实践性很强的课程,对于把目标定位在提高实践应用能力的郑州师范学院计算机科学系来说,更应该从一开始就狠下功夫,尽可能早地让学生对程序设计产生浓厚的兴趣。

与《C语言程序设计1》课程的教学主要采用OJ平台来作为练习来源不同,本课程前六章仍然主要利用OJ平台来完成练习,后四章则采取小组合作、项目驱动的方式来组织教学实验,这样的方式更加注重学生程序设计思维的培养以及团队合作精神的培养。这样的方式除了能够提高学生的学习兴趣及动手能力之外,更能够培养其严密的逻辑思考能力、自主解决问题能力以及提高其团队合作意识。

五、考核方式

5.C语言程序设计教学大纲72du 篇五

课程编号:1021742 总学时:56学时

适用专业:非计算机理工科各专业 总实验学时:24 实验次数: 12 次 应开实验个数:13 已开实验个数:13 实验开出率:100%

实验一

熟悉C 程序的运行环境

一、学时:2

二、实验类型:演示、验证

三、实验目的和主要内容:

1.了解计算机系统对高级语言的基本操作方法

2.熟悉和了解Turbo C 系统软件的使用和操作

3.能进行简单的C语言程序录入、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.熟悉开机操作,使用单机或计算机上网。

2.进入 Turbo C 系统。

3.熟悉Turbo C 系统各菜单命令的使用和操作

4.模仿简单的源程序,编写自己的小程序,并能运行这些程序。

5.录入、调试、编译和运行C语言程序

实验二

数据类型、表达式及输入输出函数实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1. 熟悉和了解C语言的数据类型

2. 使用C语言的有关算术运算符,以及包含这些运算符的表达式

3.进行简单的C语言输入输出函数的使用,格式控制符的涵意,简单C程序的设计、调 试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.编写简单的有输入输出的C程序,并进行该程序的运行、调试、编译。

3.编写一个输入三条边,计算三角形面积的程序。

4.编写程序,计算a+b×c÷d-d3,其中:a,b为整型变量,c,d为实型变量。

5.编写一个有关数据计算程序,验证运算符及表达式的结果。

6.可从布置的作业中,再任选一编程题,进行上机。

实验三

顺序程序结构程序设计

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.进一步掌握C程序的编辑、编译、连接和运行的过程。2.熟悉顺序结构的程序设计方法。3.熟练使用C的各种表达式。

4.熟练掌握输入、输出函数的使用。

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.输入x,y,编写程序求z=x+|y|的值。实验步骤与要求:

(1)程序中用scanf函数输入x和y的值,请分析以下两个语句 scanf(“%f%f”,x,y);scanf(“%f%f”,&x,&y);

哪一个是正确的,分别运行之,分析程序运行结果。

(2)如果scanf函数改为scanf(“%f,%f”,&x,&y);应该怎样输入数据。2.编写输入三角形的三边长a、b、c,求三角形面积area的程序。实验步骤与要求:

(1)输入前要加提示语句。

(2)输出结果前要有必要的文字说明。(3)输入一组数据3,4,5,观察运算结果。

(4)输入另外一组数据3,4,8,观察运算结果,分析这个运算结果是否有效。

实验四

分支控制语句实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言系统分支语句的使用和操作

2.进行C语言分支控制语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行分支控制源程序的设计,并进行该程序的运行、调试、编译。

3.编辑一个分支控制程序,求:任意输入数(n>2)是否为素数。

4.编辑一个分支控制程序,求:任意输入3个数,求其最大数。

实验五

循环语句实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言循环语句的使用和操作

2.进行C语言循环语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行循环源程序的设计,并进行该程序的运行、调试、编译。

3.编辑一个循环程序,求:1到100的和及平方和。

4.编辑一个循环程序,求:任意输入10个数,求其最大数。

5.可从布置的作业中,再任选一编程题,进行上机。

实验六

数组实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言数组程序的设计方法

2.学会使用C语言数组进行程序设计

3.进行C语言数组语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行数组的定义和使用方法,即:一维和二维数组的应用。

3.进行数组语句源程序的设计,并进行该程序的运行、调试、编译。

4.编辑数组应用程序:

(1)任意输入20个数在一维数组a中,求20个数的平均值。

(2)定义2个二维数组A[2][3]、B[2][3],分别对这2个数组输入数据,求A+B和A-B的值。

(3)用字符数组存储任意输入10字符,求其最大字符。

(4)编辑一个有5个学生,考 3门功课。求出每一个学生的总分及平均分,统计平均成绩低于 60 分的学生人数。

5.可从布置的作业中,再任选一编程题,进行上机。

实验七

有关数组的程序设计

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.掌握有关数组和字符串的程序设计方法。

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤: 已知一组数据如下:6,3,42,23,35,71,98,67,56,38。编写程序,把它们按 从小到大的次序排列起来。求2行3列矩阵A 的转置矩阵。

实验八

函数实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言函数程序的设计方法。

2.学会使用C语言函数的定义及调用,并进行程序编制。

3.进行C语言函数语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行函数的定义及调用。

3.进行函数语句源程序的设计,并进行该程序的运行、调试、编译。

(1)任意输入一个数n,用两个子函数实现1+2+3„n以及n!,在主函数中输出该结果。

(2)在主函数中定义二维数组A[3][4]、B[4],用子函数对数组A[3][4]每一行求和,其值放在数组B[4]中,在主函数中输出该值。

(3)用字符数组存储任意输入的10字符,在子函数中把该字符数组的小写字母转换成大写字母。

4.可从布置的作业中,再任选一编程题,进行上机。

实验九

常用指针实验

(一)一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言指针一般设计方法

2.学会使用C语言指针进行程序设计

3.进行简单C语言指针语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行C语言指针语句的定义和使用方法。

3.进行C语言指针语句源程序的设计,并进行该程序的运行、调试、编译。

4.编辑一个找出字串 str1中 str2出现的位置,用指针编程实现。

5.可从布置的作业中,再任选一编程题,进行上机。

实验十

复杂指针实验

(二)一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.进一步熟悉和了解C语言指针语句设计方法

2.进行C语言中的指针与函数、指针数组、多级指针语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行C语言指针与函数、指针数组、多级指针语句的定义和使用方法。

3.进行C语言该指针语句源程序的设计,并进行该程序的运行、调试、编译。

4.编辑一个在主程序里输入十个不等长的字串,调用自编的函数把它们按升序排列,用指针编程实现。

5.可从布置的作业中,再任选一题编程题,进行上机。

实验十一

结构类型实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言结构、联合数据的定义及设计方法

2.学会使用C语言结构、联合数据类型进行程序设计

3.进行C语言结构、联合语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行C语言结构、联合数据类型的定义和使用。

3.进行C语言结构、联合数据类型源程序的设计,并进行该程序的运行、调试、编译。

4.编辑一个能处理学生综合信息的程序(包括:学号、姓名、班级、语文成绩、数学成绩、英语成绩等)。

实验十二

有关结构的程序设计

一、学时:2(课后完成或选作)

二、实验类型:验证、设计

三、实验目的和主要内容:

1.掌握结构体类型和结构体变量的定义。2.掌握结构类型变量的定义和使用;

3.掌握链表的概念,初步学会对链表进行操作;

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.有五个学生,每个学生的数据包括学号,姓名,三门课的成绩,从键盘输入五个学生的数据,要求打印出每个学生的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均分数)。实验步骤与要求:

用一个函数输入五个学生的数据;用一个函数求总平均分;用函数找出最高分学生数据,总平均分和最高分的学生的数据都在主函数中输出。

2.三个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到“3”者退出圈子,找出最后流在圈子中的人原来的序号。

3.建立一个链表,每个结点包括:学号,姓名,性别,年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。

实验十三

文件实验

一、学时:2

二、实验类型:验证、设计

三、实验目的和主要内容:

1.熟悉和了解C语言文件系统的组成及设计方法。

2.学会使用C语言文件系统进行程序设计

3.进行C语言文件语句的设计、调试、编译和运行

四、需用仪器、设备:

1.硬件环境

PC-486以上微机

32M以上的内存

VGA显卡

2.软件环境

西文DOS操作系统(可使用UCDOS汉字操作系统)或Windows操作系统

Turbo C(2.0版)

五、实验方法及步骤:

1.进入 Turbo C 系统。

2.进行C语言文件系统类型的定义和使用。

3.进行C语言文件系统类型源程序的设计,并进行该程序的运行、调试、编译。

4.编辑程序。

(1)用数组存储10个数据,并存储在“date.dat”文件中

6.《c语言课程设计》教学大纲 篇六

《C语言程序设计》课程设计教学大纲

课程名称:《C语言程序设计》课程设计 英文名称:The C Programming on Course 课程编号: 课程类型:必修 学时:2周

适用对象:软件工程 本科生 先修课程:C语言程序设计

一、课程设计的性质、目的和任务

本课程设计是《C语言程序设计》课程的实践环节,也是计算机科学与技术专业学生第一次较全面的程序设计能力训练。

在《C语言程序设计》课程的理论教学和基础实验基础上,通过开发规模较大的程序,使学生掌握应用计算机解决实际问题的基本方法;熟悉C语言程序开发的全过程,包括从分析问题开始,建立数据模型,划分功能模块,设计算法,编码,调试和测试程序,撰写文档等;提高综合应用C语言的能力,强化编程和调试能力。通过理论教学、基础实验、课程设计等理论和实践紧密结合的教学,为学生今后学习软件专业课程创建较扎实的理论和实践基础。

二、基本要求:

课程设计的进行方式是在教师指导下由学生独立完成的。每个学生都应该明确设计任务和要求,并根据项目规模大小,拟定设计计划。注意掌握进度,按时完成。设计分段进行,每一阶段的设计都要认真检查。

所使用编程语言只限于C语言。

设计过程中要独立思考、深入钻研,主动地、创造性地进行设计,反对照抄照搬或依赖教师。要求设计态度严肃认真,有错必改,反对敷衍塞责,容忍错误存在。为保证课程设计达到教学基本要求,在设计思想、设计方法和设计技能等方面的训练,包括以下内容:

1、根据设计题目要求的指标,通过查阅有关资料分析其工作原理并划分功能模块;

2、画出程序流程图,完成程序各部分的内容分析;

3、计算各模块的参数设计,和模块内部操作,和模块返出的结果;

4、验证模块功能的完整性;

5、对模块功能进行设计;

6、对模块功能进行调试;

7、组合功能模块并完成设计要求。

三、课程设计题目

课程设计时,每4-8人组成一个开发团队,选出项目负责人一名。每个团队从以下题目中选择一个作为课程设计的题目。 词法分析器  桌面计算器  汉字的显示

郑州大学信息工程学院

 文本编辑器  校友通讯录  线条图型体表演  高中物理力学实验

 表情展示(结合表情单词理解) 音乐展示(播放) 游戏设计  对话框模拟  菜单模拟  桌面钟表设计  桌面日历设计

 其他自选题目(注意:所选题目不宜太大,应于本学期第二周的周五前完成)

四、考核方式

课程设计分为四个阶段组成:分析和设计、编程和调试程序、撰写报告、答辩。

1)分析、设计数据结构:学生首先选定题目、收集资料,对系统进行功能模块分析、控制模块分析正确,系统设计要实用,然后确定模块,写出函数原形。

2)编程与调试程序:根据函数原形及其功能,填充相应的算法。编程简练,可用性强,功能全面。上机调试程序,解决编译等错误,直至运行成功。

3)提交课程设计总结报告:按格式写出完整、规范的报告并打印。其中模块图、流程图要清楚、规范,不能有错别字。

4)答辩:程序测试通过、课程设计总结报告完成后,项目负责人通知指导教师检查,并参加课程设计答辩。

课程设计成绩组成:课程设计报告(60%)+ 作品演示与答辩(40%)。

五、提交资料

《C语言程序设计》课程设计报告。

注:课程设计报告中,应注明小组分工及完成情况。

对于程序中未能实现的部分需要加以说明。对于程序中所参考的部分代码需要加以声明,并说明出处。

《高级语言程序设计报告》于本学期第二周的周五前提交。参考教材

[1] C程序设计.潭浩强 编著.清华大学出版社.[2] 程序设计与C语言.王瑞民 卢红星 主编.西北工业大学出版社.2009年

7.《C语言程序设计》高职教学初探 篇七

关键词:C语言,程序,算法,教学

1 教学对象分析

根据多年教学经历, 发现高职的学生存在如下几个特点:

1) 学习目的基本明确但不清晰、不具体;

2) 学习缺乏主动性、探究性、联系性;

3) 学习兴趣不高;

4) 学习方法欠缺;

5) 英语等基础普遍较差。

有压力才有动力, 为了让学生明确学习目标, 针对高职学生的如上特点, 我对学生提出如下几点要求:

1) 积极参加计算机二级等级考试 (C语言) ;

2) 鼓励C语言学得较好的学生参加程序员、软件分析师等各种相关考证;

3) 鼓励C语言学得较好的学生参加自考本科计算机专业。

2 注重培养学生的学习兴趣

大家都知道“兴趣是最好的老师”[1], 然而C语言这门课程本身有一定的难度, 再加上高职学生自身的特点, 要让学生对这门课程感兴趣就特别重要。

首先让学生明确这门课程的重要性。让学生明确C语言的基础地位显著, 实用前景广阔。让学生明确该课程是一门专业基础课程, 为后续的系列课程 (例如:如数据结构、JAVA等) 奠定良好的基础。另外从实用角度讲告诉学生C语言程序设计功能强大:目前大部分的操作系统、计算机控制系统、嵌入式系统及工业控制的软件都可以用C语言来完成。让学生感受到C语言程序设计的魅力。

其次是趣味性实例教学。为了极大的调动学生的学习兴趣, 让学生对C语言不再觉得枯燥无谓, 我为学生准备了一些趣味编程实例, 如:“抓肇事司机”、“破译密码”、“体重测量仪”等, 培养学生的学习兴趣, 让大家积极主动、自觉独立地获取知识, 打好学习程序设计语言的基础。

再次我们可以巧妙的运用CAI。C语言有些知识比较抽象, 可能仅仅通过讲解的方式学生还是难以理解, 借助CAI可以帮助学生对知识点的理解。比如在讲递归的时候, 我们可以准备一个汉诺塔的游戏, 让学生上台来玩这个游戏, 让学生在玩游戏的过程中体会到递归的神奇之处, 进而掌握递归的思想和算法, 从而让学生理解C语言之妙。再如我们还可以在教学过程中编写一些小的实用程序, 让学生知道C语言可以学以致用。比如我用Visual C++编写了一个小小的摇奖程序, 操作者可以设置参加摇奖的人数, 然后通过单击“开始”按钮, 就可以进行通过摇奖来挑选学生上台演示了, 结果发现, 学生们兴趣高涨, 而且他们积极都要求用这种“公正”的方法。小小的摇奖程序除了可以活跃课堂气氛, 更重要的是也可以鼓励学生自己编辑一些类似的小程序。

3 注重培养良好的代码风格

笔者认为培养学生的代码风格十分重要, 但是往往被很多老师忽略。代码风格就好比是程序员的书法, 但是又比书法好学得多。培养良好的代码风格对于以后参加工作, 培养团队合作精神都大有帮助。我们得从一开始就告诉学生培养良好的代码风格的重要性, 重视对学生代码风格的培养, 因为坏习惯一旦养成以后就很难以改变, 而且会对以后的学习和工作都会带来很大的不便和障碍。那么如何才能培养良好的代码风格?首先在教材的选择上就得把好关。我们得选择代码风格好的教材, 否则后患无穷。其次在教学过程中, 得确保教师自己的代码风格的良好性。再着我们在教学过程中还得不断地提醒和修改学生的不良代码风格, 直到都养成良好的代码风格为止。相信在我们不断的练习和坚持下, 每位学生都能养成较好的程序代码风格。

4 抓住重点, 循序渐进

C语言有很多的定义、概念、语法规则等。笔者在教学过程中, 发现学生们普遍感到C语言的概念和语法规则太多, 太细, 不大容易掌握, 而且比较容易混淆。但是C语言的教学重点不在于此, 而在于算法和程序设计方法。因此如何把这些语法规则等讲透, 让学生以尽快的速度掌握这些知识点, 并有效地抓住教学重点是我们应该值得思考的问题。我于是进行了一定的教学探索。在重点抓住讲解算法的过程中, 把语法规则融入到其中。我一般先提出一个具体的应用问题, 要求学生分析用C语言解决这个问题的算法, 并在其中渗透讲解一些相关的语法规则。不要求学生死记语法规则, 而是要求他们能把各个孤立的语句组织成一个有机的程序, 理解并灵活运用这些语法规则。在选择例题的时候也要注意由简到难, 循序渐进, 逐步呈现给学生。[2]让学生在编制程序过程中不断总结、巩固, 达到学会方法、记住语法规则, 提高设计技巧的目的。以讲解逻辑运算为例, 可以提出如何用逻辑表达式来表达闰年 (能被4整除, 但是不能被100整除, 或则可以被400整除的年份) 的问题, 使得学生在解决问题的过程中掌握逻辑表达式。再例如在讲解循环结构的时候, 我们可以通过解决同一问题来比较讲解while, do…while, 和for循环的3种结构的异同。

5 抓好上机实践

“纸上谈兵”学不出程序设计本领, 只有大量上机、编程、调试, 才能掌握C语言。为了突出实践教学, 培养学生的知识应用能力, 笔者对实验内容进行了改革。

一方面在实践内容上进行调整。首先保留基础性实验, 例如:三角形周长、面积计算, 求一元二次方程的根等基础编程实验, 使学生能够较顺利地通过实验, 从而让学生获得一定的成就感, 进一步得到提高学习热情。同时自编增加一些应用性强的、难度略大的实验。例如让学生解决一个数据加密的问题。

另一方面在方式上也进行一定的调整。对于一些相对有点难度的实际问题, 学生们可能一开始无从下手, 我们可以采取分组的方式, 选出一位学生担Team Leader, 模仿公司小团队的工作方式。以数据加密为例:某个公司采用公用电话传递数据信息, 数据是小于8位的整数, 为了确保安全, 在传递过程中需要加密, 加密规则如下:首先将数据倒序, 然后将每位数字都加上5, 再用和除以10的余数代替该数字, 最后将第一位和最后一位数字交换。为了解决这个问题, 我们可以先让学生们分组讨论, 对问题进行分析。然后给一定时间进行编写代码。当大部分同学都碰到相同问题时, 教师可以进行统一引导。从而最终把问题解决。这样一来, 一方面有利于培养学生对知识的应用能力与问题的分析能力, 更主要的也培养了他们团结协作能力。

6 有选择地运用多媒体教学

在C语言程序教学过程中, 运用多媒体技术辅助教学, 有利也有弊。其积极作用:1) 形象直观, 激发兴趣, 调动学生主观能动性;2) 信息量大, 节省时间, 优化教学过程等。不利之处:1) 可能会分散学生注意力;2) 限制学生的想象力, 不利于能力拓展;3) 影响师生之间的情感交流等。在C语言程序设计课程教学过程中, 我们应该考虑到课程的特点, 将传统教学与多媒体教学进行有机的结合, 即要有选择地运用多媒体教学。例如:在讲解一些概念较多, 学生又比较容易理解和接受的知识点的时候, 我们可以采用多媒体教学。[3]这样的多媒体教学, 能够收到将抽象问题形象化、枯燥问题生动化的效果。而在讲解一些算法和程序的编写过程的时候, 我们可以发挥传统教学的优势, 进行板书讲解。总之将传统的教学方法与多媒体教学相结合, 大大提高了学生的综合思维能力。

如何帮助学生在有限的教学时间内, 在最容易理解、最容易接受地方式下, 快速并扎实地掌握C语言, 并能灵活地运用, 是很值得我们探索和研究的问题。以上只是我个人几年来的一点教学探索, 希望能够起到抛砖引玉的作用。

参考文献

[1]《C语言程序设计》教学的几点体会[EB/OL]. (2007-11-15) .http://www.pcdog.com/a/06/12/f286831.html.

[2]C语言程序设计》教学的几点体会[EB/OL]. (2006-08-06) .http://www.xker.com/page/e2007/0104/4390.htmlhttp://www.xker.com/page/e2007/0104/4390.html.

8.C语言程序设计教学方法探讨 篇八

关键词:C语言程序设计 课程教学 实验教学

0 引言

C语言是当今最为流行的程序设计语言之一,C语言程序设计不但成为高等院校计算机相关专业学生的专业必修课,而且也已经被非计算机专业学生学习的课程[1]。课程开设的主要目的是使学生掌握一种基本的程序设计语言,通过对C语言的数据类型、结构化程序设计方法、数组及函数的使用、指针结构体以及文件等相关内容的学习,能够解决和处理与本专业有关的大量实际问题,培养学生熟练使用C语言进行编程分析和解决问题的能力。

C语言程序设计作为学生入学后系统地学习程序设计语言的第一门课程,由于其涉及的概念比较复杂、规则繁多、容易出错,因此在C语言程序设计教学过程中,初学者比较不容易适应程序设计的思路,会遇到很多语言学习上的困难[2]。为了提高学生学习程序设计的兴趣和信心,取得较好的教学效果,教师应该积极探索教学和上机实践方法,进一步提高教学质量。本文在作者近几年C语言程序设计的教学和自己程序设计语言学习过程中积累的教学和实践经验,对C语言程序设计课程中的几种教学方法进行初步的探讨。

2 C语言程序设计教学方式探讨

2.1 从第一个程序开始提起学生学习的兴趣 在所有程序设计语言的学习中,第一个接触的程序几乎都是Hello World程序,C语言程序设计也不例外。Hello World程序的C语言内容具体如下:

首先为了使得显示屏幕中出现的内容不会枯燥,我们可以在printf("Hello, world!");的下一行添加一句printf("%c",2)。由于ASCII码值为2对应的是一个笑脸,因此在最终的程序输出结果中会显示Hello, world!再加上个笑脸的内容,这样既增加了趣味性,又增加了学生学习C语言的兴趣。

通过这个例子吸引起学生之后,他们就会在自己的脑子里问为什么会这样。此时,就需要老师讲这几行语句的主要功能要跟学生讲一下,这些内容也是C语言程序语句的主体。讲授的内容可以这样安排:#include的作用是要包含城中所用到语句的头文件,因为我们用到了pringf输出语句,所以要将标准输入输出头文件stdio.h包含进来;main()是主函数名,函数体要用{ }包含进来,并且强调上面程序的编写方式({单独一行,}单独一行)会有利于同学们后续程序的编写,语句更加清晰;pringf语句是输出语句,将" "对应的内容输出在屏幕上,此时可以强调" "中可以添加中文,并且对于输出笑脸的语句,解释为是有格式的输出(这个会在以后的章节中具体讲到);最后一条语句是return语句,将0值返回。由于主函数被定义成整型(int),因此在函数的结尾需要返回一个整数。

2.2 实例教学培养学生思维能力 在C语言程序设计的学习开始阶段,首先要重视语法规则和基础知识的掌握,然后才是程序的阅读和编写。随后在学生学习的过程中,从学会看懂程序开始,到能够编写简单的程序,然后逐步的深入,这样也为下一步进行实例教学打好基础。

C语言初学者首先遇到的问题是毫无头绪,不知从何处下手。在C语言的教学中,如果一味地先讲语法格式,逐步讲解语法要点,最后给出例子,这样很容易造成程序设计学习的思维定势。我们希望通过实例教学,培养学生自己分析问题和解决问题的能力,最后达到能够使用程序设计语言来描述和解决这个问题的结果。这里以一个常见的数学问题为例,自然数求和1+2+3+…+50。首先让学生观察求和的公式,然后寻找规律。第一个规律是,在公式中,加数都是递增的并且步长值为1。第二个规律是,在从左到右求和过程中,我们总是将前面求完的和跟下一个加数相加。因此从分析的规律可知,这个过程一直重复下去直到加到最后一个加数50为止。分析完这个问题之后,就可以对循环结构语句进行介绍,并给出具体的使用方法,并以简单的例子对该知识进行巩固。随后,对自然数求和问题进行C语言程序设计。首先,C语言程序是由函数构成的。一个C语言程序至少包含一个main主函数。一个完整的函数由函数的首部与函数体两个部分组成。其次,帮助学生回顾C语言的数据类型,数据的基本表现形式,C语言中的运算符和表达式。这里,根据前面分析,定义两个整型int变量k和total,k表示加数,变量total用来存储前面加数的和,并对其赋初值为0。然后,考虑应该使用何种C语言基本结构,使用结构中的那些语句及其格式要求,这里使用的是循环结构中的for语句。在for循环语句中,首先需要对循环变量赋初值,k=1;然后给定循环停止条件k<=50,最后是循环变量最后,补全完善程序段,为了便于与用户进行交互,应在C语言程序中加入输入和输出语句,由于需要使用输入和输出语句,因此在使用时要先调用头文件stdio.h。将上述分析整个联系起来,可以完成上述问题的C语言的程序编写,具体为:

编完上述程序之后,教师还需提醒学生注意融汇贯通,例如如果是求1+2+3+…+n该怎么办,n为用户指定的,如果是求应该如何解决等等诸多类似的问题,教师都可以拿出来跟学生一起分析,并让他们在上级实验时加以练习,达到信手拈来的程度。因此课程上机实验环节在C语言程序设计教学环节中也是非常重要的,能够帮助学生有效地巩固基础知识和增加程序设计的经验。

2.3 实验教学进一步提高学生程序设计能力 C语言程序设计是一门实践性很强的课程,既要掌握基本语法知识,又要动手编程并上机调试运行[3,4]。实验教学是通过学生编写和调试程序发现和暴露编程过程中出现的问题,通过解决问题进一步获得更多的知识。在上机实验环节,需要对学生的以下能力进行培养:对编程题目的阅读能力,构思算法步骤,编写程序、运行程序并分析所得的结果,根据结果对程序进行调试,最终完成程序的设计。具体的实验教学可以从以下几个方面来设计,一方面为学生设计基础性的实验,例如:求一元二次方程的根、简单的排序算法等编程实验,使学生能够通过实验及时掌握和消化课堂的教学内容,进一步提高学生的学习热情。另一方面,增加一些难度性大和实用性强的实验,并对学生进行分组,通过组内讨论得出算法解决思路和算法流程,然后上机编程调试并撰写报告。通过组内成员对实验题目的讨论,可以使得不同水平的学生之间能够相互交流并借鉴各自掌握的程序设计知识以及解决问题的思路,最终起到共同学习共同进步的目的。实验内容可以是设计简单的管理系统对班级成员进行存储,并根据条件查询人员信息,或者是利用数组与指针,将多个人的姓名进行排序,规则为按照姓名拼音的字母顺序进行排序。通过这些上机实验,一方面培养了学生对知识的应用能力与问题的分析能力,有利于学生加深对所学知识的理解,让学生真正体会到C语言的灵活性,激发学生的求知欲;另一方面也培养了学生之间的协作能力,有助于提高他们工作后的分工协作能力。

2.4 其他教学方式 除了以上主要的教学形式,我们还会在这些教学内容中辅以趣味性的内容提高学生的学习兴趣。为了活跃课堂气氛,我曾在课堂上通过设计一个随机学号产生器,通过产生随机学号对对应学号的学生进行提问,这样既增加学生的学习兴趣,又能提高学生上课的注意力。此外,将上机实验的好坏作为学生成绩考核的一部分,让学生在平时保持紧张状态,提高他们的学习主动性,认真完成每一阶段的学习。

3 结论

C语言程序设计的主要目的就是培养学生的程序设计能力,本文根据作者实际教学过程中学生存在的问题,从课堂教学和实验教学等几个方面进行了探讨。希望这些教学方式有助于改善C语言程序设计教学中的诸多问题,加强师生间的互动交流,提高学生学习的兴趣和主动性。当然,同样的教学内容面对不同的学生,不一定产生同样的效果,在使用这些教学方法的同时,还要适时地根据学生的课堂以及上机实验反应加以调整,最终完成教与学的有机统一。作者将继续努力探索,使《C语言程序设计》课程教学日趋完善。希望本文能对大学本科生程序设计语言的教学有一定的借鉴作用。

参考文献:

[1]严桂兰.C语言程序设计与应用教程[M].福建:厦门大学出版社,2001.

[2]刘桂玲.C语言程序设计教学改革与实践[J].软件导刊,2012,11(3):194-195.

[3]谭浩强.C语言程序设计.北京:清华大学出版社,2000.

[4]谭浩强.C程序设计题解与上机指导[M].北京:清华大学出版社,1992.

9.C语言程序设计教学大纲72du 篇九

课程设计报告格式见《C语言程序设计课程设计报告》模板,供参考。

《C语言课程设计》教学大纲

课程英文名称:Designing Project for C Langue Programming 课程编号:0800090

一、课程设计的目的与要求

1、教学目的

《C语言课程设计》是学生学习完《C语言程序设计》课程后,进行的一次全面的综合训练。通过课程设计,更好地掌握使用C语言进行程序设计的方法,加深对C语言特点和使用C语言进行程序设计开发过程的理解,提高如何综合运用所学知识解决实际问题的能力。

学时:16 学分:1.0

2、教学要求

为了使学生从课程设计中取得实际效果,对课程设计题目分成二类:一类为基本设计题目,主要是程序设计的常用算法的综合训练,要求学生独立完成;另一类为综合设计题目,具有较高的难度和工作量,以2—5人组成的项目小组、团队合作的方式完成。学生可根据自己的实际情况选择基本设计题目或综合设计题目完成课程设计,鼓励学生选择综合设计题目、培养团队合作的能力。

基本要求:要求学生做好预习,掌握设计过程中涉及到的算法,按设计流程编程,上机调试通过,验证结果并进行分析、完成课程设计报告,最后对所完成的工作进行答辩。

二、课程设计实施过程

整个课程设计分为以下几个阶段进行:开题,系统设计,系统编码实现,系统测试,系统评价与验收。

(1)开题

课程设计题目分成二类:基本设计题目和综合设计题目。题目可来自教师指定的参考题目,也可自由选题,特别是鼓励有创新性的题目或是在已知题目的基础上进行创新。

学生可根据自己的实际情况选择基本设计题目或综合设计题目完成课程设计。(2)系统设计

系统设计的任务是对所确定的题目从问题需求、数据结构、程序结构、难点及关键技术等方面进行分析,形成的系统设计方案,并进行详细的分工。在确定解决方案框架过程中,考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的功能以及函数之间的调用关系。每个明确的功能模块程序一般不超过60行,否则要进一步划分。

(3)系统编码实现 小组成员根据初步的系统设计方案,对系统编程实现。(4)系统测试

在各程序模块编码完成并集成后,就可以开始对整个系统进行测试。(5)书写课程设计报告

课程设计报告应至少包含以下内容: ① 问题描述:题目要解决的问题是什么。

② 设计说明:模块设计和主要算法思想(用流程图表示)等。

③ 调试报告:调试过程中遇到的主要问题及解决方法;对设计和编码的回顾讨论和分析;改进设想;经验和体会等。

(6)系统评价与验收

通过答辩的形式对程序的功能进行评价与验收。

三、课程设计指导方式

由指导教师召开课程设计动员会,进行分组,指定课程设计的题目和内容,讲解部分题目要求。学生在规定的时间内,经过小组的协同工作和指导教师的辅导,完成题目。最后由指导教师进行验收及成绩评定。

四、课程设计考核方法及成绩评定

1、通过程序实现、设计报告和学习态度等综合考评,按照优秀、良好、中等、及格和不及格五个等级评定成绩。

2、评分标准

(1)从以下五个方面评出课程设计完成后的综合分: ① 设计报告占30% ② 系统完成情况及编程工作量占30% ③ 编程难度和程序亮点占10% ④ 回答教师所提出的问题占20% ⑤ 课程设计过程中的工作态度(考勤)占10%(2)以项目小组、团队合作方式完成的综合设计题目,对每一组按以上标准给出综合分,并将该分作为这组中最优秀同学的得分,其他同学的分数根据其在组中所承担的任务和表现进行相应的调整(不超过综合分)。选择基本设计题目完成课程设计的同学,其综合分最高不超过中等。

(3)根据课程设计的选题新颖性、独立分析解决问题的能力和创新精神等,予以适当加分。

五、课程设计题目

以下给出两种类型参考性的课程设计题目,指导教师在实际教学中可参考其难度和要求给出指导性的若干设计题目供学生选用。

(一)基本设计题目

1、迭代(递推)算法与递归算法的比较

从Fibonacci数列和Hanoi(汉诺)塔问题入手,通过设计程序比较迭代(递推)算法与递归算法。要求:

以迭代(递推)算法和递归算法写出解决相应问题的函数,再编写一程序调用两种算法的处理函数,比较算法的可行性、程序执行的效率(如函数调用次数、系统运行时间等)。

2、各种排序算法比较

编写一程序,其中包含各种较为常见和典型的排序算法,通过设计程序比较各种排序算法的特点。要求:

(1)能随机生成若干数字,并通过设计的排序算法进行排序。

(2)排序完毕后应该有相应的排序后信息,如排序时间,交换次数等信息。(3)显示出最后的结论。

3、万年历系统

模仿现实生活中的挂历。

要求:

当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。当系统日期变到下一月时,系统自动翻页到下一月。

(二)综合设计题目

1、学生信息管理系统

学生信息包括:学号、姓名、年龄、性别、出生年月、地址、电话、E-mail等。试设计一学生信息管理系统,使之能提供以下功能:

(1)系统以(文本)菜单方式工作

(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能

(4)查询和排序功能:按学号查询、按姓名查询等(5)学生信息的删除与修改

2、图书信息管理系统

图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:

(1)系统以菜单方式工作

(2)图书信息录入功能(图书信息用文件保存)(3)图书信息浏览功能

(4)查询和排序功能:按书名查询、按作者名查询等(5)图书信息的删除与修改

3、单项选择题标准化考试系统 功能要求:

(1)用文件保存试题库(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中

(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案

(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩

六、主要教材及参考书

[1] 王新 孙雷.C语言课程设计.清华大学出版社.2009.[2] 曹哲.C语言实验与课程设计.机械工业出版社.2010.[3] 谭浩强.C程序设计题解与上机指导(第三版).清华大学出版社.2005.执笔人:高潮

10.C语言程序教学新探 篇十

href=“#”>

摘 要:C语言程序是本专科院校一门重要的计算机基础课程。在教师的教学过程中普遍感觉难教,学生在学习过程中感觉枯燥难学。该文根据笔者多年的C语言程序教学经验,提出了一些C语言程序教学上的新思路。

关键词:C语言;算法;上机实验

0 引言

程序设计对于各个计算机类高校而言,都是非常重要的一类课程,尤其是理工类院校的必修课。而要进行程序设计,必须掌握一门计算机语言来做为编程工具。目前,很多计算机类高校都把C语言作为程序设计的入门课程来教学。我们知道可供选择的计算机语言是非常多的,如C++,C#,java等等,之所以选择C语言是由于C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,它既有高级语言的优点,又有低级语言的许多特点。可以说,学好C语言对打好程序设 计基础起到至关重要的作用。

由于很多高校在学生进入大学学习的第一学期就开设C语言课程,大多数学生在高中时因为高考的压力而没有接触过计算机,对计算机的基本操作并不了解。这就导致了学生在学习C语言的过程中,感觉C语言语法枯燥,难以掌握;对基本概念能够理解,但是当实际应用到程序编写的时候又感觉无从下手;学生没有养成良好的程序编写习惯,使写出来的程序漏洞百出……等等这些问题都跟教师的教学方法、学生的学习方法有很大的关系。针对学习C语言中的种种问题,根据笔者多年的C语言教学经验,下面提出C语言教学中的一些新思路供大家共同探讨。掌握基本要求,打好学习基础

在学生阶段,C语言的学习主要是学习程序设计的方法,训练程序设计的思维,为以后进一步的学习和应用打下良好的基础。但在实际教学当中,很多学生改变不了高中时期的学习方法,对课本上的概念和程序死记硬背,总以为把书背熟了就能够学好C语言,而没有把精力放在最基础、最常用的内容上,以至于基础薄弱,在程序的编写时经常会出现一些不应有的错误。笔者在教学中发现学生经常会出现以下一些问题。

(1)编写程序时不区分标示符的大小写。例如,int myname和int MyName就是完全不同的两个变量。在C语言里面,对标示符大小写敏感,但是很多同学就是会忽略这最基本的要求,造成程序出错。

(2)对“=”和“==”混淆使用。“=”是C语言里的赋值符号,把右边的值赋给左边的变量;而“==”是关系运算符,它的作用是判断“==”两边的值是否相等,返回的结果是一个逻辑值,即“真”或“假”。例如:a=1,是把1这个数据放在变量a里面,而a==1,表示a变量的值是否跟1相等,如果相等返回“真”,如果不相等就返回“假”。

(3)颠倒printf()函数值的输出顺序。直接看个例子:

输出的正确值应该分别为10,11,10,10。

很多学生出现错误是因为不理解printf()函数执行的顺序,printf()函数在执行时是从右到左,而输出时是从左到右。

从以上3个学生容易出错的例子我们可以看出,正是由于学生对基础知识掌握的不理想,导致这些极其简单错误的出现。在我们的教学当中,教师也必须把最基础的知识跟学生讲透,让学生改变学习观念,对学生加以引导,懂得学习C语言并不是一朝一夕就能够一下子变成编程高手,而应该脚踏实地,实事求是地打好基础。重视算法的学习

算法是程序的灵魂,没有好的算法,就编写不出好的计算机程序。在C语言教学中,教师在很多时候都不注重算法的教学,导致学生上课时候能听得懂,看得懂课本上的程序例题,但是当布置作业让学生自己去完成程序编写的时候,学生又感觉无从下手。这些都是由于学生只注重去背课本上的程序例题,而不注重程序的算法思想照成的。教师在教学中要注意对学生算法逻辑思维的培养,在讲解程序时,应该首先分析程序中所需要用到的算法,要把重点放在例题的解题思路上,一步一步地引导学生,让学生知道程序为什么要这样编写。在授课阶段初期,我们也可以给学生举一些简单的、有生活气息的例题来引发学生对算法的兴趣。例如,我们可以举这样的一些例子。

(1)家里有个微波炉可以同时烧烤2份牛排,每份牛排有两面,每面需要烧烤2分钟才可以食用,问用微波炉烧烤3份可以食用的牛排需要多少时间?这个问题用算法来解答的话,我们可以有2种方案。第1种,先把第1份牛排和第2份牛排放进去烧烤2分钟,然后再把这2份牛排翻一面过来再烧烤2分钟,接下来把第3份牛排放进去,烧烤两面共花去4分钟,由此可知整个过程一共要用掉8分钟。第2种,同样的把第1份牛排和第2份牛排放进去烧烤2分钟,然后把第2份牛排先取出来,把第1份牛排翻一面过来跟第3份牛排一起放进去烧烤2分钟,最后把第3份牛排翻一面过来跟第2份牛排的另一面一起烧烤2分钟,这样3份牛排就都烤好了,这种方法,我们只需要6分钟。很显然,用这样一个简单的例子,可以让学生知道算法的重要性,好的算法可以节省程序大量的执行时间。

(2)有甲乙两人,甲现在26岁,乙现在8岁,求多少年之后甲的年龄是乙年龄的两倍?对于这个问题,我们可以引导学生使用循环体来解答。我们知道年龄是逐年增长的,假设甲为变量m,乙为变量n,则循环体就是m++、n++的一个过程,当甲和乙的年龄相差两倍时,循环结束。所以我们设定循环体的执行条件应该是m!=2*n。最后当循环体结束时输出m和n的值。通过这样的一个分析过程,相信学生很快就能够写出这个问题的程序。

由此可见,通过一些例子的算法讲解,一方面能够让学生理解解题的过程,一方面还可以锻炼学生的算法思维,让学生感受到算法的重要性。上好实验课

上机实验也是C语言教学中的一个重要环节,学生仅仅听课是学不好C语言的。学生不仅要能够掌握基础的概念,还要自己动手编写程序,最后要亲自上机调试程序的运行并对程序进行修改。所以,如何上好C语言课程的实验课,也是教师要思考的一个问题。在笔者平时的教学中遇到这样的一些问题,如很多学生在上实验课时,没有把精力放在学习上,而是在玩游戏看小说;还有些学生上实验课前没有很好的预习,浪费了大量时间在知识的复习上;在实验过程中,学生一遇到问题就会向老师提问,以至于老师疲于解答甚至由于问的人数过多而无法一一进行解答。这些问题都影响到实验课的效果,甚至会影响到部分学生的学习积极性。如何改变这种状况,笔者采用以下几种方法。

(1)在上实验课之前就把实验题目布置给学生,学生在上课之前就需要提交给教师一份预习报告,这份报告里面应该包含学生对实验题目的解题思路及初步的解题程序。然后让学生带着这份报告上机调试程序。这样就可以避免学生在上实验课时无所事事的情况。

(2)对于有条件的学校可以配置多名实验指导教师。学生在实验中经常会遇到一些问题需要教师帮助解决,当问的人比较多的时候,教师就没有办法一一解答,而部分学生由于得不到解答而会停止程序的调试转做其他事情,如果一直得不到帮助的话,就会影响他们的积极性,所以配置一到多名指导教师是很有必要的。如果没有足够教师的话,我们可以让班级里面学习比较好的同学,组成一个学习兴趣小组。让这些学生在实验课时对一些有问题的同学进行帮助,这样既能够增进学生之间的友谊,又能够完成教师布置的实验任务。

(3)改变实验的考核方式。很多教师一般都是在下课的时候让学生提交作业,这样可能会让一些学生钻空子,拷贝别人的作业提交。所以建议在课堂上当场对学生的作业进行评分,遇到有雷同的作业,要求学生重做。在期末的时候,也必须要强调平时的成绩,不能把期末成绩作为衡量学生成绩的唯一指标。

通过以上的一些措施,可以有效地促进学生对C语言的学习效果,对巩固C语言的课堂教学起到了巨大的作用。结语

以上笔者就平时的一些教学经验跟各位同仁一起探讨,主要目的还是希望能够改变当前C语言程序教学中的一些不足之处,对以后的教学能够起到一定促进作用。应用本文中的一些措施,对我校C语言程序的教学有明显的帮助,但各个学校的软硬件水平都不尽相同,希望各位同仁能够从中得到一定的启发,共同把C语言程序这门课上好,让学生学好。

参考文献:

上一篇:安全设施设备管理和检修维修制度下一篇:标准活动板房设计说明