c程序设计教学大纲

2024-05-12

c程序设计教学大纲(精选8篇)

c程序设计教学大纲 第1篇

《C程序设计》教学大纲

一、课程的性质和任务

本课程为计算数学专业本科生的必修课。通过对C程序设计的基本知识、基本概念、基本技能的学习和训练,使学生掌握C语言的语法规则、开发环境以及程序设计的基本方法和技能。培养学生利用C语言进行程序设计的基本能力,并为后续专业课的学习以及在可视化环境下进行面向对象的编程打下扎实的基础。

二、课程教学与基本要求

重点介绍C语言的基本知识(如基本数据类型、表达式、数组、函数、宏定义、指针、结构和文件)和程序设计的基本方法(即:结构化程序设计方法以及顺序、选择、循环、模块等结构的程序设计方法),还介绍指针、文件等在程序设计中的应用。

三、适应专业

计算数学、基础数学、经济管理专业本科学生。

四、预修课程

计算机基础知识。

五、学时

总学时:98学时 讲授学时:68学时 实验学时:32学时

学分:4 第一、二章 C简介、算法 8学时

第三章 数据类型、运算符、表达式 6学时

第四章 顺序结构程序设计 4学时

第五章 选择结构程序设计 4学时

第六章 循环结构程序设计 6学时

第七章 数组 8学时

第八章 函数 6学时

第九章 编译预处理 3学时

第十章 指针 12学时

第十一章 结构体与共用体 5学时

第十二章 位运算 2学时

第十三章 文件 4学时

六、讲授内容

1.C语言的特点、简单的C程序介绍、C语言的编译环境

2.算法的概念、特性,三种基本结构、用传统流程图和N-S流程图表示算法。3.C的数据类型(整型、实型、字符型等),运算符和表达式。4.数据的输入和输出(printf()和scanf()函数等)、顺序结构程序设计。

5.选择结构程序设计:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句和switch语句。

6.循环结构程序设计:用goto语句和if语句构成循环、用while语句、do-while语句、for语句构成循环以及break语句和continue语句。

7.数组的定义和使用(包括一维数组、二维数组和字符数组)。

8.函数的定义和调用,函数的嵌套调用、递归调用;局部变量与全局变量、变量的动态存储和静态存储;内部函数与外部函数。

9.预处理命令:宏定义、文件包含、条件编译。

10.指针变量的定义和使用;数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量;指针型函数和指针数组。

11.结构体与共用体变量的定义和使用,结构体数组和指向结构体数据的指针,枚举类型。12.位运算符和位运算,位段。13.文件的打开、关闭与读写。

七、实验内容和学时分配(34学时)1.熟悉C语言的编译环境(2学时)

2.C的数据类型(整型、实型、字符型等),运算符和表达式。(2学时)3.数据的输入和输出(printf()和scanf()函数等)、顺序结构程序设计(3学时)。

4.选择结构程序设计:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句和switch语句。(3学时)

5.循环结构程序设计:用goto语句和if语句构成循环、用while语句、do-while语句、for语句构成循环以及break语句和continue语句。(3学时)6.数组的定义和使用(包括一维数组、二维数组和字符数组)。(3学时)

7.函数的定义和调用,函数的嵌套调用、递归调用;局部变量与全局变量、变量的动态存储和静态存储;内部函数与外部函数。(3学时)8.预处理命令:宏定义、文件包含、条件编译。(2学时)

9.指针变量的定义和使用;数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量;指针型函数和指针数组。(7学时)10.结构体与共用体变量的定义和使用,结构体数组和指向结构体数据的指针,枚举类型。(2学时)11.位运算符和位运算,位段。(2学时)12.文件的打开、关闭与读写。(2学时)

八、教材与参考书

教材:谭浩强, 《C程序设计》(第二版),清华大学出版社,1999年 参考书:谭浩强, 《C程序设计题解与上机指导》,清华大学出版社,2000年

c程序设计教学大纲 第2篇

课程编号: 课程类别: 通识课

教学时数总计:64学时 授课时数:32 实验时数:32 学分: 课程英文译名:C program design

一、课程的任务和目的:

通过学习本课程,使学生了解C语言的语法规则、数据类型、数据运算、语句、函数、程序结构,掌握应用C语言进行程序设计的基本技能,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。通过两个综合实验的练习,为以后结合专业知识,解决专业问题奠定基础。

二、课程内容与基本要求

(一)教学基本要求:

通过对本课程的学习,要求达到以下目标:

1.了解C语言的数据类型(基本类型、构造类型、指针类型等)和各类运算符,能正确使用表达式实现各种数据的简单加工;

2.掌握C语言的运行环境及运行一个C语言程序的过程,掌握阅读程序和调试程序的方法;

3.掌握语句的概念、数据的输入输出方法;

4.熟练掌握C程序的三种基本结构(顺序、选择、循环),能使用相关语句完成这三种基本结构的程序设计任务;

5.熟练掌握数组的概念和应用、字符串的应用;

6.掌握指针变量的定义与引用,正确应用指针与变量、指针与数组、指针与字符串之间的相互关系进行程序设计;

7.熟练掌握C语言的用户函数定义、调用、参数传递等方法;

8.了解结构体类型的概念和定义方法以及结构体变量的定义和引用,了解指向结构体变量的指针变量的概念和应用,了解共用体的概念和应用; 9.了解文件的基本概念以及对文件的基本操作方法。

(二)教学内容

1. C语言概述(2学时)

(1)C 语言的特点(2)简单的C程序介绍(3)C 程序的上机步骤 2.数据类型、运算符与表达式(3学时)(1)C的数据类型(2)常量与变量(3)整型数据(4)实型数据(5)字符型数据(6)变量赋初值(7)各类数值型数据间的混合运算(8)算术运算符和算术表达式(9)赋值运算符和赋值表达式(10)逗号运算符和逗号表达式

3.最简单的C程序设计----顺序程序设计(3学时)(1)C语句概述

(2)赋值语句

(3)数据输入输出的概念及在C语言中的实现(4)字符数据的输入输出(5)格式输入与输出(6)顺序结构程序设计举例 4.选择结构程序设计(3学时)

(1)关系运算符和关系表达式(2)逻辑运算符和逻辑表达式(3)if语句

(4)switch语句、break语句(5)程序举例 5.循环控制(4学时)

(1)概述

(2)goto语句以及用goto语句构成循环(3)while语句(4)do-while语句(5)for语句(6)循环的嵌套(7)几种循环的比较

(8)break语句和continue语句(9)程序举例 6.数组(4学时)

(1)一维数组的定义和引用(2)二维数组的定义和引用(3)字符数组 7.函数(4学时)

(1)概述(2)函数定义的一般形式(3)函数参数和函数的值(4)函数的调用(5)函数的嵌套调用(6)函数的递归调用(7)数组作为函数参数(8)局部变量和全局变量(9)变量的存储类别 8.预处理命令(1学时)

(1)宏定义(2)文件包含 9.指针(4学时)

(1)地址和指针的概念

(2)变量的指针和指向变量的指针变量(3)数组的指针何指向数组的指针变量(4)字符串的指针和指向字符串的指针变量(5)函数的指针和指向函数的指针变量(6)返回指针值的函数(7)指针数组和指向指针的指针 10.结构体(2学时)

(1)概述

(2)定义结构体类型变量的方法(3)结构体变量的引用(4)结构体变量的初始化 11.文件(2学时)

(1)C文件概述(2)文件类型指针(3)文件的打开与关闭(4)文件的读写

三、实践环节及基本要求(见《C程序设计》实验教学大纲)

四、与各课程的联系

先修课程:计算机应用基础

五、对学生能力培养的要求

通过《C程序设计》课程的学习,要求同学们掌握C程序设计编写、调试的基本方法和技巧。经过两个综合实验的练习,为以后结合专业知识解决专业问题打下基础。

六、学时分配

详见课程内容。

七、教材与参考书

教材:《C程序设计》第二版

谭浩强主编

清华大学出版社 参考书:《C语言程序设计》

黄维通主编

清华大学出版社

八、说明

c程序设计教学大纲 第3篇

1. 上好第一堂课

兴趣是最好的老师, 要想使学生能够学好编程, 培养学生的兴趣是关键。当学生对所学的课程知识产生兴趣和爱好时, 就会从内心发出向往和求知的强烈欲望, 产生积极、主动的学习动机, 这样学习过程也就不再是一种负担, 而是一种愉快的体验, 学习效果也会事半功倍。

首先, 可以给学生演示几个小程序, 如通讯录、学生成绩管理系统、俄罗斯方块游戏等。这些程序有一定的趣味性, 又贴近学生的生活, 因而能激发学生的兴趣。然后把这些程序通过界面和代码两个方面解析一下, 使学生对程序的基本构成有个感性的认识, 学生会恍然大悟, 想要把自己的想法实现, 必须编写相应的代码, 学生的积极性和求知欲也会被调动起来。

其次给大家介绍几个简单的程序实例, 并上机演示, 使学生直观了解程序设计的方法和步骤, 并将学生在第一次上机时的常用错误列举出来。通过分析简单的例子启发引导学生总结出程序的基本结构:类型声明、输入原始数据、处理原始数据和输出结果。然后让学生模仿实例编写程序, 这样学生在遇到具体的编程问题时, 就会遵循这种结构编写相应的程序。学生在第一次上机练习时就会正确编写简单的程序, 看到运行的结果。这种方法使学生在一种轻松的状态下, 积极主动地感受、参与到程序设计的整个过程中来。当学生看到自己编写的程序在计算机上调试通过时, 会有一种成就感、快乐感, 对学习会更有信心、更有兴趣。在练习中掌握知识, 大大减少了畏难情绪。

2. 采用实例教学

传统教学模式的教学方式是用大量的时间讲定义、语法、概念、语句, 对学生的要求是注重接受、理解、记忆, 讲课方式是老师讲、学生听。学生掌握的知识比较抽象、机械、静止、片面和孤立, 他们不知道如何灵活地综合运用这些知识去解决实际问题。

采用实例教学法, 首先引出实际问题, 针对问题进行分析;其次在程序中讲解新语句的使用方法, 总结新语句的使用方法和注意事项;接着介绍问题的解决办法, 最后编程实现。通过与学生的不断互动, 活跃、引导他们的思维, 启发学生发现问题、分析问题、解决问题, 将自身角色转变为学生主动学习的帮助者、促进者, 培养学生独立思考能力。这个过程的重点是介绍程序设计方法和思路, 在分析程序和程序设计中让学生逐步熟悉基本的语法和语句。对于在程序中出现的新的语句, 仅对此实例进行讲解, 不做详细深入讲解, 进而来突出程序设计为主线、算法是教学重点。在学生掌握实例的算法以后, 针对新出现的语句给出若干问题作为课后作业, 采用问题驱动法来引导学生对该语句进行更深入学习。这样一方面, 可以在有限的学时内更好的讲授教学重点难点;另一方面, 可以引导学生在课余时间充分发挥自己的思维, 突出其在学习中的主体作用, 培养其自学能力。

比如在讲循环结构程序设计时, 引入问题求自然数1到10之和。先让学生思考如何解决这个问题, 对学生的回答作一个简单的点评;然后引导学生如果给一个计算器来计算应该怎么做, 先使计算器清零, 然后加1, 加2……一直加到10, 在这个过程中会重复做加法运算, 引入循环的概念, 并给出循环语句的用法和注意事项;接着通过分析算法, 总结出解这个问题需要注意的几个要点, 然后和学生一起编写出相应的程序, 并按算法思想将程序解释清楚;接着让学生模仿写出求1+1/2+1/3+……1/100的程序, 最后课后练习编程用格里高利公式求π的近似值。

3. 注重实践训练

程序设计基础是一门实践性和操作性都比较强的课程, 该课程的学习有其自身的特点, 听不会, 也看不会, 只能练会。学习者必须通过大量的编程练习, 在实践中掌握语言知识, 培养程序设计的基本能力, 并逐步理解和掌握程序设计的思想和方法。为了突出实践教学, 培养学生的知识应用能力, 将实验内容分为三个层次:第一, 保留基础性上机内容, 题型多样, 难度较低, 使学生能够较顺利地通过实验, 及时理解和消化课堂教学内容;第二是综合性的题目, 包括各章的综合, 以程序设计题为主;第三增加一些结合现实生活难度略大的题目, 并组织学生讨论, 通过讨论得出算法流程, 然后上机编程调试。

由于课时有限, 上机之前要求学生将程序源代码写在作业本上, 这样可以充分利用上机时间, 提高效率。此外, 上机时应引导学生学会调试程序和使用帮助系统, 让学生尽可能地自己找出问题, 并加以解决, 这对于提高学生分析问题的能力是非常有好处的。为了了解学生对所学知识的掌握情况, 阶段性的安排学生登陆到我校的程序设计在线评判系统, 完成指定程序的设计, 并实时进行在线评判。

4. 做好课外辅导答疑

由于本课程的学习对象是大学一年级非计算机专业的学生, 他们对计算机语言、计算机编程还很陌生, 而且学习能力和理解能力差别很大, 对一些知识点很难理解, 更谈不上掌握, 这就需要教师在授课以后做好辅导和答疑工作, 耐心细致的讲解学生遇到的问题。对比较抽象, 不容易被学生接受和理解的内容, 可用生活中的实例, 形象比喻的方法加以解释和说明。但总有部分学生具有一定的惰性心理, 遇到问题不愿意主动去寻求解决的方法, 在答疑时间也不去询问老师, 结果积攒的问题越来越多, 这直接的影响了进一步学习的效果, 同时也容易失去进一步学习的兴趣。因此, 一定要采取适当的措施, 使学生做到"有问必问", 而我们教师也要做到"有问必答", 以期形成一个良性循环。

教学实践表明, 通过程序设计思想的培养、学生自学能力的锻炼、实例教学等各种教学方法的综合运用以及学生实践训练的强化, 课堂教学与实验教学效果都比过去有了明显改善。

参考文献

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

c程序设计教学大纲 第4篇

关键词:C++;程序设计;教学方法;教学改革

0引言

C++语言运用范围非常广,在软件设计、网络通讯、游戏娱乐等等领域都能涉及到,也是当前世界上使用最广的编程语言。但是行业的发展受到多方面局限,人才的缺失是行业发展最大的阻碍,许多高校都意识到这个问题,相继的开始《C++语言程序设计》课程,主要就是让计算机专业的人才能够多涉及这方面课程,提高学生的自主学习与独立思考能力,增加就业的几率。传统教学方式,存在教学目标不清晰以及教学方式古板的问题,很多学生对这门学科的重要程度认知不足,教学方式与内容的乏味让学生对此课程并无多大兴趣。本文是根据多年来的经验总结以及市场调查,从教学目标与内容多方面进行研究,以此追求有效的教学改革。

1教学中存在的普遍问题

1.1学生学习目标不明确

教学的主要目的是为了培养学生的兴趣以及软件编程能力,提高学生的独立思考、分析与解决问题的能力,提高就业的几率。以往的课程都是由不同教师来传授,每一个教师都只关注自己本科教学,并没有从全局效果分析,学生对自己的学习目标不明确,导致学习兴趣降低。没有目标的学生犹如行驶中迷失了方向的帆船,不知所措。当学生对自己的学习有了清晰的规划,就会不断朝着目标的方向努力前进。

C++涉及的概念都是较为复杂的,在学习过程中灵活多变,出错可能性非常大,可以说想要学好此课程是相对较难,所以很多学生都产生退却念头;同时C++不仅是纯对象语言,当中还涉及到程序设计语言,面对对象并不是单一的。这种特性导致了C++语言与C语言能够兼容存在。两种语言之间有时不需修改就能够使用,所以在刚开始学习时,学生觉得相对简单。[1]。然而,这两种语言也必然存在不能共通之处,学生要真正掌握两种不同的语言,就必须对其进行对比,找到其相同之处和不同点。

1.2教学重点偏向语法,课后延伸匮乏

在语言教学中侧重与语法[2]。在传统的教学当中,不管是老师教授还是教材讲解,都是先把概念推从出去,再理解规则,最后用案例讲解。概念知识相对来说不仅枯燥,要想记住也是较难的,在教学过程中,要引起学生兴趣非常难。虽然传统教学中有案例分析,但是案例分析都是各自孤立的,只是针对某一部分的知识,学生无法从中感受到实际运用价值。枯燥无味的文字不仅不能引起学生的学习兴趣,反而会让他们觉得反感。被动地接受理论知识只会让学生很快就忘记了教学内容,只有生动的教学方式才能激发起学生的兴趣。

教材课程中有课时限制,所以教学过程基本上都是从语法、规则、案例等等形式来落实。每一堂课讲解的时间都有限,再加上教师的课前准备不足,那么这堂课的实际效用就非常低。如果在课后没有进行延伸与巩固,那么学生要掌握更深层次的知识是不可能的。在这种情况下,学生掌握的知识只是皮毛,甚至可以说有些接收能力比较差的学习是掌握不了课堂知识。如果没有进行课后巩固,基本上这堂课的知识就是一闪而过了。对于老师传授的知识,学生不可能过目不忘,因此,只有不断对知识进行巩固和复习,才能让学生牢牢记住知识。

1.3教学方式无结合企业实际需要

学生在C++语言的学习中,通常都是局限在一部分知识中,并没有顾全大局的理念。传统的教学都是采用循序渐进的形式,每一节课都给学生灌输新概念、新规则,学生没办法从所有学习的知识中进行融合使用。[3]。就算是在教学中加入了大量的实验课程,也只是围绕某一个章节某一个知识进行实验安排。这种实践课程也只是一时兴趣,学生在学习一段时间后就会产生厌倦,学到的知识进而就无法使用到企业公中。单调的教学模式显然已经让学生失去了兴趣,这对于提升学生的思考能力和动手能力毫无帮助。每一个学生在毕业后都会步入社会,因此,了解社会环境和企业对于人才的要求对于学生来说尤为重要。如果教师一味地向学生传授课本知识,即便学生能够牢牢记住这些理论知识,也不知道如何将其应用到实际操作中。因此,在教学过程中,教师应该注重理论与实际的相互结合,把学生培养成为综合型的人才。

2教学改革策略

针对上述对C++语言教学存在问题的概述,本文从以下几个方面进行策略研究,在实际使用中也取得了不错的反馈。

2.1明确学习与教学目的

学习的动机是学生能够持续进行的基础,完成整个学习与巩固过程都需要学习动机来维持。现在大学生在学习过程中会考虑到今后就业方向,如果在课堂当中能够开展与今后就业相关的内容,那么学生会非常重视这次学习,效果自然就非常明显。对于不同的教学内容,学生往往会表现出不一样的兴趣程度,因此,老师首先要了解学生在学习过程中最为关注的问题,并且针对这些问题设计和安排教学内容。学生对于感兴趣的教学内容往往会表现出更强的积极性和主动学习性,学习效果也会有所提高。结束校园学习后的学生都会走向社会,他们对于未来的就业环境和企业的人才需求表现出更强的兴趣,因此,老师在教学过程中可以适当插入这部分的内容。

2.2教学内容要结合整体与具体两个方面

教材的编排几乎都是从概念、规则、举例这样的形式,但是知识的分散导致每一个章节的内容都联系不上,学生感受不到整体的编程效果。所以,在教学当中,应该注重整体到具体的方式,让学生能够先了解整个C++编程过程,然后再在每一个程序中融入教学内容,把教学具体到每一个知识点中,巩固学生的知识能力,学生在学习完所有知识后就已经完成整个设计。这种教学思路对程序类型的课程学习有极大作用。教学首先必须具备清晰的规划,才不会显得杂乱无章。教师应当确定一个大致的教学方向,然后再对教学内容展开详细的安排,在规划教学内容时,必须充分考虑不同学生对于教学任务的完成程度,从而对教学内容的难度进行适当的调整,尽可能地让更多的学生掌握教学内容。

2.3教学方法注重同中求异、异中求同

教学当中注重同中求异,异种求同的话,能够让学生抓住事物的本质,对事物的理解加深,有利于思维拓展。为了能够让学生的学习更加深入,可以用对比学习的方式,这样的教学效果会更加好。比如说,把c++语言与C语言进行对比教学,这样学生不仅能够学习到新内容,还能够巩固旧知识,得到双收益效果。其实两种语言在设计思路上有较大差异,一种是面对程序语言,把数据与数据捆绑起来,另一种是面对整个过程的语言设计,用分块的模式教学。教学内容的不同并不是意味着教学方法也截然不同,把相似的内容集中起来教学,有利于学生更好地把握知识,采用不同的方法对相同的内容进行教学,有助于老师找到教学中的平衡点,发现更合适的教学方法。

2.4校园学习与企业联合,为就业作准备

很多计算机相关专业的学生为了能够快速就业,在校园里就会选择去外面机构培训。当然培训并不意味就是能提高就业率,主要还是看学生的态度以及掌握情况。如果在高校的C++语言学习中,可以用校园与企业合作的方式来教学,在教学当中可以加入机构培训的方式;在每一次学完知识后就加入实践活动,对于今后的就业帮助极大。同时,提高学生的学习能力以及适应能力方面也有很大帮助。学校更加注重的是理论知识的传授,而企业更加注重的是实际的操作,企业提出人才要求,学校能够更加有针对性地为学生制定学习任务,从而让学生更好地掌握相关的专业技能,让自己离开校园后尽快适应到社会的工作中。

3结语

本文提出了《C++语言程序设计》课程的教学改革思路,通过教学方法、模式的改变,来激发学生的学习兴趣与能力培养,用校企联合的方式来为今后就业奠定基础,累积学生经验的同时还能提前模拟就业。有教学实验证明,这些教学改革方式是能够在一定程度上提高教学效果,并且对编程类型的课程来说都有极大的借鉴作用。传统的教学方式显然已经不能满足人们日益增长的需求,社会环境是不断进步的,竞争是越来越激烈的,为了使学生具备更强的社会竞争力,学校必须转变教学方法,一方面要让学生掌握基础的理论知识,另一方面需要注重学生的操作能力培养。总体来说,就是要理论知识与实践操作相互结合,培养全能型的学生,对他们的知识掌握以及今后的就业都有极大帮助。

参考文献:

[1]杨庚.面向对象程序设计与C++语言[M].北京:人民邮电出版社,2012.

[2]杨杰,陈雪兆.《C++程序设计》教学中存在的问题及改进建议[J].湖南科技学院学报,2013,11(26):190191.

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

第一部分 大纲说明

一、课程的目的与任务

本课程将以结构化程序设计思想指导学习者运用C语言进行程序设计,充分利用C语言的结构性好,书写格式自由简洁,数据类型丰富,表达式类型多样化,程序执行效率高,可移植性好等特点,使学习者养成严谨的程序设计风格和习惯,在程序设计基本技能方面得到良好的训练,为后继课程的学习及今后的实际应用打下良好的基础。

二、课程的基本要求

1.教学基本要求和学习方法建议

(1)弄清概念、注重实践

学习时一定要模仿例题亲自编制一些实用程序,加强对概念的正确认识。同时要注意上机实践,把不清楚的问题通过上机一一解决。从而不断增加学习兴趣,提高编程能力。

(2)由浅入深、循序渐进

先学习简单的、容易掌握的部分,以后再逐步掌握C语言的精华——指针及各种灵活的表达式。

(3)着重语言的使用

由于C语言本身比较复杂,应把学习重点放在语言的使用上,即如何正确使用C语言编写程序,而不把重点放在算法的设计上。

(4)尽量不涉及太多的硬件知识

C语言既能编写应用软件,也能编写系统软件,而编写系统软件势必需要一定的硬件知识。在学习本课程时应尽可能地不涉及太多的硬件知识,以便于理解和掌握。

(5)忽略非主要细节

不死抠非主要细节,集中精力放在最基本、最常用部分的学习上,待建立一定的基础以后再深入到一些非主要细节的讨论。

2.教学的重点、难点

重点为熟练掌握C语言的数据类型(基本类型、构造类型、指针类型等)和各类运算符,能正确使用表达式实现各种数据的加工。熟练掌握程序设计的三种基本结构(顺序、选择、循环)的特点,能使用相关语句完成这三种基本程序的设计任务。掌握C语言的常用的库函数的使用,以及用户函数的定义、调用、参数传递等方法。培养学生的程序设计能力,初步认识软件开发的基本思想。难点为掌握阅读和分析程序的方法和技巧,掌握设计和调试程序的方法和技巧。

3.教学计划中前后课程的联系

C语言比较复杂、较难掌握,学习者应该先学习计算机基础知识。

C语言是数据结构、软件工程、程序设计方法、编译原理等课程的基础与工具。

4.考试考核方式

实践和期末笔试考核,比例为 4:6。5.学时

17周,周3学时

6.教材编选的原则

根据学生实际情况和社会发展的需要,选择了《C语言程序设计与实训》。该教材编写的原则是:结构清晰,内容安排合理,难度循序渐进,描述准确清楚,各章节配备一定实训题目和一定数量的习题和思考题,重点培养学生用C语言解决实际问题的能力,适合高职高专学生学习的特点。

7.参考书目

1.谭浩强 《C程序设计》 清华大学出版社 2002

2.薛钢等 《C语言实用教程》 吉林科学技术出版社 1997 3.徐金吾等 《Turbo C使用大全》 北京科海培训中心 1990

4.王士元 《C高级实用程序设计》清华大学出版社 1995

5.国家教育考试中心 《全国计算机等级考试考试大纲》 高等教育出版社 1995 6.牛连强等 《C语言程序设计笔试习题点津》 大连理工大学出版社 1999 7.王洪 《Turbo C 2.0使用指南》陕西电子编辑部(内部参考)1989 8.谭浩强 《C程序设计上机指导书》 清华大学出版社 1999

9.马靖善、秦玉平等 《C语言程序设计》 清华大学出版社 2005

第二部分 讲授大纲

第1章 C 语言概述

学习目的和要求:

了解C语言出现的历史背景,了解C语言的特点,熟悉C环境,熟练掌握C程序的上机步骤,了解C程序的组成。教学重点:

C 程序的上机步骤。教学难点:

C程序的组成。

课时分配:

本章讲授2学时,上机实践 1学时。

讲授内容纲要:

1.C语言发展及特点。

2.Turbo C上机操作环境。

3.简单的C程序介绍。

4.C程序的上机执行过程。思考题:

1.C程序组成。2.C程序执行过程。

第2章 C语言基础

学习目的和要求:

熟练掌握几种基本数据类型的存储方式,表示方法;熟练掌握指针的定义和使用;掌握不同类型间数据转换的原则与方法;熟练掌握有关运算符与表达式的运用。

教学重点:

整型、实型、字符型、指针型数据的定义和使用。运算符和表达式的运用。

教学难点:

指针型数据的定义和使用、不同类型间数据转换的原则与方法。课时分配:

本章讲授2学时,上机实践 1学时 讲授内容纲要:

1.常量和变量。

2.各种运算符和表达式。

3.指针类型。思考题:

1.数据类型有哪些。2.各种运算符的使用。

第3章 顺序结构

学习目的和要求:

清楚顺序结构设计的思路,掌握基本的输入、输出函数的使用。教学重点:

结构化程序设计思想、各种输入、输出函数 教学难点:

scanf()函数和printf()函数的格式控制字符串。课时分配:

本章讲授 2学时,上机实践 1学时

讲授内容纲要:

1.三种基本结构。

2.赋值语句。

3.输入、输出函数。思考题:

1.三种基本结构的特点。2.输入、输出函数的应用。

第4章 选择结构

学习目的和要求:

了解if、switch-case和goto三种语句的一般形式及其应用,掌握选择结构的特点。教学重点:

if、switch-case语句的应用。教学难点:

if语句嵌套。课时分配:

本章讲授2学时,上机实践 1 学时

讲授内容纲要:

1.if语句的应用。

2.switch-case语句的应用。

3.goto语句的应用。

1.if语句使用的注意事项。

2.switch-case语句中break的作用。

第5章 循环结构

学习目的和要求:

了解三种循环语句的区别,掌握穷举法和迭代法的思想及其应用,提高解决问题的能力。教学重点:

三种循环语句的特点及应用。思考题: 教学难点:

穷举法和迭代法的思想及其应用。课时分配:

本章讲授 4学时,上机实践 2学时

讲授内容纲要: 1.while、do-while和for三种循环语句的一般形式及其应用。2.break语句和continue语句的一般形式及其应用。

3.穷举法和迭代法的思想及其应用。思考题:

1.while、do-while和for三种循环语句的区别。2.break语句和continue语句的应用的特点。

第6章 数组

学习目的和要求:

掌握数组的定义、引用技巧和初始化方法;掌握字符串的输入、输出方法;会用字符串处理函数解决字符串问题。教学重点:

数组的应用、字符串数组的应用。教学难点:

字符串数组的应用。课时分配:

本章讲授4学时,上机实践 2学时

讲授内容纲要:

1.数组的定义、引用和初始化方法。

2.字符串的输入、输出及处理函数。

3.数组的应用。思考题:

1.字符串与字符数组的区别。2.数组的初始化的特点。

第7章 函数

学习目的和要求:

掌握函数的定义和调用;掌握函数调用时的参数传递方式;理解变量的存储属性和作用范围;掌握内部函数和外部函数的定义和使用。

教学重点:

函数的参数传递,函数的调用,数组名和指针作为函数参数。变量的存储属性。

教学难点:

函数的嵌套调用与递归调用;变量的存储类别。

课时分配:

本章讲授4学时,上机实践2学时

讲授内容纲要:

1.函数的定义与调用。

2.参数传递。

3.函数的嵌套和递归调用。4.宏定义与文件包含。5.主函数与命令行参数。6.运行一个多文件的程序。

思考题:

1.主函数的参数传递。

2.各种方式函数参数传递方式及有关规定与使用技巧。

3.函数中变量定义位置及其作用域之间关系。4.如何运行一个多文件的程序。

第8章 结构体、共用体和枚举类型

学习目的和要求:

熟练掌握结构体类型的概念、定义以及结构体变量的定义和引用。熟练掌握结构体数组和结构体指针变量的定义和使用。掌握链表的概念和应用。掌握共用体类型的概念、定义以及共用体变量的定义和变量成员的引用。掌握枚举类型的概念、定义以及枚举变量的定义和引用。

教学重点:

结构体变量、结构体数组与结构体指针的定义和引用。教学难点:

结构体数组与结构体指针。

课时分配:

本章讲授4学时,上机实践2学时

讲授内容纲要:

1.结构体类型的概念、定义以及结构体变量的定义和引用。

2.结构体数组和结构体指针变量的定义和使用。

3.链表的概念和应用。

4.共用体类型的概念、定义以及共用体变量的定义和变量成员的引用。5.枚举类型的概念、定义以及枚举变量的定义和引用。思考题:

1.结构体、共用体两种类型的区别。

2.链式存储适合的操作对象。

3.函数参数传递中用结构体和结构体指针之间的优劣比较。

第9章 位运算

学习目的和要求:

掌握六种位运算的运算符、运算规则和功能,并能利用这六种位运算符来解决一些实际问题。

教学重点:

位运算的应用。教学难点:

位段的定义与引用。

课时分配:

本章讲授2学时,上机实践1学时

讲授内容纲要: 1.六种位运算的运算符、运算规则和功能。

2.位段的定义与引用。

思考题:

1.如何测试数字的位数是0还是1?

2.如何实现循环移位?

第10章 文件系统

学习目的和要求:

掌握文件和文件指针的概念,掌握文件的打开、关闭和读写等基本操作。

教学重点:

文件的打开、关闭、读写。

教学难点:

文件的读写。

课时分配:

本章讲授 4 学时,上机实践 1 学时

讲授内容纲要:

1.文件系统相关基本概念及类型设置。

2.文件打开、关闭函数的使用。3.文件读写函数的使用。4.文件定位与随机读写。

5.文件的出错检测和处理。思考题:

1.文件打开和关闭的含义。

2.哪些文件操作函数会改变文件的内部指针位置。

第11章 综合实训

学习目的和要求:

了解程序开发的过程,掌握菜单的设计,更加熟练地应用函数,熟练地使用文件,提高学生的程序设计的能力。

教学重点:

程序开发的步骤、菜单的设计。

教学难点:

菜单的设计。

课时分配:

本章讲授 2学时,上机实践2学时

讲授内容纲要:

1.程序开发的步骤。

2.菜单的设计。

3.所有知识的综合应用:设计学生成绩管理系统。思考题:

1.程序开发的步骤。

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

[课程名称: ] C语言程序设计

[教学时总数:] 36+36 周学时: 讲授:2 上机实践:2(共18周)[课程教材: ] 教科书:C语言程序设计(第二版)(谭浩强 著)(清华大学出版社)参考书:C程序设计教程(谭浩强、薛淑斌、崔武子编著)(清华大学出版社)、C语言习题集与上机指导 [课程的目的与要求] 本课程是为计算机程序设计基础课,其目的是使学生掌握高级语言的编程方法,能用C语言独立编制出解决与本学科相关的科学计算问题的程序。要求学生了解C语言的成分及程序结构,掌握模块化程序设计的编程的技巧,熟悉编程、调试、运行各个环节的方法。[教学内容与学时安排:] 一)C语言程序设计初步(1×2学时)1.程序设计语言介绍。2.用库函数组装C程序。3.设计一些简单的C函数。

二)数据描述与基本操作(2×2学时)1.数据类型与基本操作 2.常量与变量 3.运算符与表达式 4.不同类型数据间的转换 5.数据的输入和输出

三)C语言的流程设计(2×2学时)1.算法的描述与结构化程序设计 2.用C语句描述算法

3.选择型程序设计:if…else、switch 4.循环型程序设计:while、do…while、for 四)模块化程序设计(2×2学时)1. 函数

2. 变量的存储属性 3. 编译预处理 五)数组(3×2学时)1.一维数组

2.二维数组和多维数组 3.字符数组和字符串 六)指针(5学时)1.指针概述 2.指针与数组 3.指针与函数

七)结构体和共用体(5学时)1. 结构体类型概述

2. 结构体类型变量的定义和引用 3. 结构体数组

4. 结构体变量作为函数参数以及返回结构体类型值的函数 5. 共用体的概念和简单例子 6. 用TYPEDEF定义类型 八)位运算(1×2学时)1. 位运算概念

c程序设计教学大纲 第7篇

(电子信息技术本科专业使用)

一、课程的地位、教学目的和基本要求:

C语言程序设计是一门高效实用的过程化程序设计语言,既适合于编写应用程序,也适合于编写系统程序。本课程作为计算机高级语言程序设计方面的入门语言,在专业课中占重要地位,旨在培养学生的编程思想,为日后学习其他高级语言打下良好的基础。因此,要求学生在掌握C语言程序设计的基本概念和语法规则的同时,掌握程序设计的基本思想和基本方法,培养学生的程序设计能力和利用C语言解决实际问题的能力。

二、主要教学环节

1、理论教学 学时数:60学时 占全部学时数:75%

2、实验 学时数:20学时 占全部学时数:25%

3、实习学时数:1周

三、课程内容

1、理论部分

第一章 C语言概述 2学时(1)教学目的、要求

本章要求学生掌握源程序的编辑、编译、连接和执行。了解C语言的发展过程以及支持环境。(2)重点、难点

本章的重点和难点是源程序的编辑、编译、连接和执行的过程。第一节 C语言出现的历史背景 第二节 C语言的特点 第三节 简单的C程序介绍 第四节 C程序的上机步骤

第二章 程序的灵魂——算法 2学时(1)教学目的、要求

本章要求学生了解算法的基本概念、特征,掌握算法的表示方法和结构化程序设计的方法。(2)重点、难点

本章的重点是结构化程序设计方法。难点是算法的表示方法和结构化程序设计的方法。

第一节 算法的概念 第二节 简单算法举例 第三节 算法的特性 第四节 怎样表示一个算法 第五节 结构化程序设计的方法

第三章 数据类型、运算符与表达式 6学时(1)教学目的、要求

本章要求学生掌握C语言的数据类型,变量的声明和赋值,以及各种类型的运算符、表达式及其运算。(2)重点、难点

本章的重点是C语言的数据类型,变量的声明和赋值,以及各种类型的运算符、表达式及其运算。难点是C语言的数据类型和表达式的运算。

第一节 C的数据类型 第二节 常量与变量 第三节 整型数据 第四节 实型数据 第五节 字符型数据 第六节 变量赋初值

第七节 各类数值型数据间的混合运算 第八节 算术运算符和算术表达式 第九节 赋值运算符和赋值表达式 第十节 逗号运算符和逗号表达式

第四章 最简单的C程序设计——顺序程序设计 4学时(1)教学目的、要求

本章要求学生掌握C语言中常用的数据输入输出函数,了解数据输入输出概念。

(2)本章的重点和难点是输入输出函数。

第一节 C语句概述

第二节 程序的三种基本结构 第三节

赋值语句

第四节 数据输入输出的概念及在C语言中的实现 第五节 字符数据的输入输出 第六节 格式输入与输出 第七节 顺序结构程序设计举例

第五章 选择结构程序设计 4学时(1)教学目的、要求

本章要求学生掌握选择结构的思想,if和switch语句的基本格式与应用。(2)重点、难点

本章的重点和难点是if和switch语句的格式和用法。第一节 关系运算符和关系表达式 第二节 逻辑运算符和逻辑表达式 第三节 if语句 第四节 switch语句 第五节 程序举例

第六章 循环控制 4学时(1)教学目的、要求

本章要求学生掌握循环程序设计思想及四种循环语句。(2)重点、难点

本章的重点和难点是四种循环语句的用法。第一节 概述 第二节 goto语句以及用goto语句构成循环 第三节 while语句 第四节 do-while语句 第五节 for语句 第六节 循环的嵌套 第七节 几种循环的比较

第八节 break 语句和continue语句 第九节 程序举例

第七章 数组 6学时(1)教学目的、要求

本章要求学生掌握一维数组、二维数组和字符数组的定义及应用。(2)重点、难点

本章的重点和难点是数组的定义和应用。第一节 一维数组的定义和引用 第二节 二维数组的定义和引用 第三节 字符数组

第八章 函数 8学时(1)教学目的、要求

本章要求学生掌握函数的思想及嵌套和递归两种调用方法,变量的各种存储类型及使用。(2)重点、难点

本章的重点是函数的定义及嵌套和递归两种调用方法,变量的各种存储类型及使用。难点是函数的嵌套和递归调用。

第一节 概述

第二节 函数定义的一般形式 第三节 函数参数和函数的值 第四节 函数的调用 第五节 函数的嵌套调用 第六节 函数的递归调用 第七节 数组作为函数参数 第八节 局部变量和全局变量 第九节 变量的存储类别 第十节 内部函数和外部函数 第十一节如何运行一个多文件的程序

第九章 预处理命令 2(1)教学目的、要求

本章要求学生掌握宏定义及文件包含。(2)重点、难点

本章的重点和难点是宏定义。第一节 宏定义

第二节 “文件包含”处理 第三节 条件编译

第十章 指针 8(1)教学目的、要求

本章要求学生掌握指针的定义方法及各种指针的使用。(2)重点、难点

本章的重点和难点是指针的定义和使用。第一节 地址和指针的概念

第二节 变量的指针和指向变量的指针变量 第三节 数组的指针和指向数组的指针变量 第四节 字符串的指针和指向字符串的指针变量 第五节 函数的指针和指向函数的指针变量 第六节 返回指针值的函数

第七节 指针数组和指向指针的指针

学时学时

第八节 有关指针的数据类型和指针运算的小结

第十一章 结构体与共用体 6学时(1)教学目的、要求

本章要求学生掌握结构体概念及定义,结构体变量和结构体数组的使用,指向结构体变量和数组的指针,以及共用体数据类型。了解动态存储分配和使用typedef定义类型。(2)重点、难点

本章的重点和难点是结构体概念及定义,结构体变量和结构体数组的使用,指向结构体变量和数组的指针。

第一节 概述

第二节 定义结构体类型变量的方法 第三节 结构体变量的引用 第四节 结构体变量的初始化 第五节 结构体数组

第六节 指向结构体类型数据的指针 第七节 用指针处理链表 第八节 共用体 第九节 枚举类型

第十节 用typedef定义类型

第十二章 位运算 4学时(1)教学目的、要求

本章要求学生掌握位运算符及位运算。(2)重点、难点

本章的重点和难点是位运算。第一节 位运算符及位运算 第二节 位运算举例 第三节 位段

第十三章 文件 4学时(1)教学目的、要求

本章要求学生掌握C语言中文件的使用,了解文件的定位和出错检测。(2)重点、难点

本章的重点和难点是文件的使用。

第一节 C文件概述 第二节 文件类型指针 第三节 文件的打开与关闭 第四节 文件的读写 第五节 文件的定位 第六节 出错的检测 第七节 文件输入输出小结

四、主要教科书和参考书

1.《C程序设计教程》 钱 能2.《C语言程序设计》 潭浩强

清华大学出版社清华大学出版社责任撰写人:陈桂芬2005-12-21

c程序设计教学大纲 第8篇

1“程序设计基础”课程教学内容要点

“程序设计基础”课程教学大纲中明确规定了教学内容,这些内容涵盖的知识单元有:程序设计语言概论,程序设计基本结构,算法与问题求解,事件驱动程序设计,算法策略,基本算法,面向对象程序设计。

一般情况下,一个问题的求解过程可能涉及多个知识点,一个知识点可能会出现多个语法要素,如在求解两个整数的最大公约数问题上,会用到如变量定义、输入输出、数据交换、循环控制结构等知识点,而就单纯循环控制结构中就会出现很多语法要素,如用到的关键词可能有while,for等,运算符有=,%等。

问题空间,知识点和语法要素的对应关系可以用图1表示。

因此对语法内容的选取首先需要确定问题空间,即先确定学习者所能解决的问题范围。对于程序设计初学者来说,用前文所述的十三类常用算法就足够了。

2 C/C++语法特点

从语法的角度看,源程序实际上是一个字符序列。这些字符序列按顺序分别组成了一系列“单词”。这些“单词”包括语言事先约定好的保留字(ReservedWords,如用于描述分支控制的if、else,用于描述数据类型的int等)、常量(Constant)、运算符(Operator)、分隔符以及程序员自己定义的变量名、函数名等。

“单词”的组合形成了语言有意义的语法单位,如变量定义、表达式(Expression)、语句、函数定义等。一些简单语法单位的组合又形成了更复杂的语法单位,最后一系列语法单位组合成程序。下面就以C/C++语言为例,简要说明其最主要的语法要素。

3 C/C++语言的主要“单词”

标识符C/C++语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线。在C/C++语言中,标识符中的字母大小写是有区别的。最主要的标识符是:保留字和用户自定义标识符。保留字也称关键字,它们是C/C++语言规定的、赋予它们以特定含义、有专门用途的标识符。这些保留字也主要与数据类型和语句有关。如int(整数类型)、float(浮点数类型)、char(字符类型)、typedef(类型定义)、以及与语句相关的if、else、while、for、break等。

自定义标识符:包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。一般来说,为了便于程序阅读,经常取有意义的英文单词作为用户自定义标识符。常量常量是有数据类型的,如,整型常量123、实型常量12.34、字符常量’a’、字符串常量“helloworld!”等。

运算符:代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、>(大于)、>=(大于等于)、==(等于)、=(赋值--assignment)等。绝大多数运算为双目运算(涉及两个运算对象),也有单目(涉及一个运算数)和三目(三个运算数)运算,如C/C++语言中的条件运算“?:”就是一个三目运算。

分隔符:也叫做界符。如:;、[、]、(、)、#等。

4 C/C++语言的主要语法单位

表达式运算符与运算对象(可以是常量、函数、变量等)的有意义组合就形成了表达式。如,2+3*4、i+2

变量定义:变量也都有数据类型,所以在定义变量时要说明相应变量的类型。变量的类型不同,它在内存中所占的空间大小也会有所不同。变量定义的最基本形式是:“类型名变量名;”。如,“inti;”就定义了一个整型变量i。

语句:语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现。C/C++语言中的语句有多种形式:

最简单的语句:表达式加“;”。在C/C++语言中赋值也被认为是一种运算,如“i=j+2”(把j加2的结果给变量i)就是一个包含“+”和“=”两种运算的表达式,“+”优先级较高。在上述表达式后加“;”就成了一个执行赋值过程的语句。

分支语句:实现分支控制过程,即根据不同的条件执行不同的语句(或语句模块)。具体有两种形式,即双路分支的if-else语句与多路分支的switch语句。循环语句:C/C++语言实现循环控制的过程具体有三种形式,即while语句、for语句、do-while语句等。

复合语句(Compoundstatement):通过一对大括号“{}”,将若干语句顺序组合在一起就形成了一个程序段。如,前面while语句中的“{sum=…}”。

函数定义与调用:函数是完成特定任务的独立模块,是C/C++语言唯一的一种子程序形式。

以上简单描述了C/C++语言最主要的语法要素,它还有非常丰富的库函数以支持和实现非常庞大的功能。由以上内容可见,语法单位是单词之间通过各种组合方式构成的,如,变量和运算符组合的表达式,关键字中如for,while等构成的语句等。所以,本研究只从“单词”的角度研究基本语法要素构成的语法子集,暂时不考虑语法结构的问题。

5 实验设计

实验主要由以下几个步骤组成:

1)数据采集(数据采样):原始数据主要来源于目前国内用于“程序设计基础”课程的教材,包括国内的许多专家学者所编著的教材和国外原文教材的翻译版本教材。处理数据主要是其中的样例程序和课后习题的实现程序。由于这些教材形式主要包括课件及相关的电子文本,所以首先要解决的问题就是从自然语言文本中抽取样例程序,并生成TXT文本。

2)数据处理:数据处理阶段要解决的问题就是对已经筛选出的符合条件的程序进行分词、标注。分词工作会去除掉程序中多余无用的部分(如注释,多余空格等),标注的信息包括该词的类型(关键字、运算符、界符、标识符、常量),该词所属的程序文件编号,该程序所属的问题范畴。

对采集到的每个源程序文件进行分词标注之后均产生一个单词表,取名为“源文件名_单词表”,其结构如表1所示。

3)数据统计:对数据处理阶段得到的单词表进行统计。以单词出现的频数和在所有文件中出现的比例为统计依据。也就是说,最终得到的是所有程序文件中出现的C/C++语言的单词频数统计表(不包括重复出现的情况)。通过对该表的分析得出最后的结论。

6 数据采集

将目前国内大多数院校所选用的作为计算机及相关专业的“程序设

计基础”课程的教材作为主要分析对象。由于数据量较大,只能选取其中的一些由权威出版社及程序设计方面的专家学者所著的一部分。为了尽量降低采样主观性,体现实验数据的普遍性,主要使用了以下两种方法:一是在搜集到的现有教材中随机采样选三本;二是根据教材的发行量及在各大院校的使用情况选三本。

数据采集的渠道主要有网上搜索,与出版社联系。经过近半年的时间,收集到了大量用于普通高校本科计算机专业教学用C或者C++语言的程序设计教材,但是,这些教材绝大多数是PDG格式,或PDF格式,按照实验设计要求,数据处理阶段的数据源必须是TXT文本文件。这就对教材中例题的提取造成了很大的困难。现将例题转换过程中所用到的相关软件及技术简单总结如下。

1)PDG格式文件转TXT文件:Pdg2Pic软件的格式转化器将PDG文件以三种语言(英语、简体中文、繁体中文)生成TXT文件,生成的TXT文件中,已不再保留教材中文字的原有格式。经过对比实验,将该软件的转换语言选择为英语的时候,生成的TXT文件中的例题错误之处会更少。最后,将生成的TXT文档与源文件进行人工比对,发现例题中的错误,将其改正,并将例题之外的部分删除,就可以得到只含有例题的TXT文件了。

2)PDF文件转换为TXT文件:PDF文件的生成原文件可以是文档文件,也可以是图像文件。有于其原文件的不同,在将PDF文件转换TXT文件的过程中,决定了在转换过程中将采用不同的软件。

参考文献

[1]李炜.计算机高级语言程序设计课程的教学改革与实践[J].安徽师范大学学报:自然科学版,2003(2):24-26,29.

[2]杨起帆.C语言程序设计教程[M].浙江:浙江大学出版社,2006.

上一篇:爷爷——柿树作文下一篇:七一建党节99周年党员干部心得体会