【课程编号】060005
c programming language
学分】5学时】72
【编写】刘琳岚审核】刘洪。
一)授课对象。
四年制本科计算机科学与技术、软件工程、网络工程、教育技术及相关专业。
二)课程的性质和地位。
c语言程序设计》是计算机科学与技术、软件工程、网络工程专业及相关专业的一门学科基础必修课。c语言是一种通用程序设计语言,具有语言简洁、类型丰富、结构完整、表达力强、适用于模块化结构等特点。c语言既具有高级语言的优点,又具有低级语言的许多特点。
以c语言为平台,介绍程序设计的思想和方法。通过学习,学生不但掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思想和方法,具备基本的分析问题能力和高级语言程序设计能力,为今后利用计算机求解实际问题打下基础。
先行课程:计算机科学导论或计算机文化基础。
后续相关课程:数据结构、面向对象程序设计、j**a语言程序设计。
三)课程教学的目标。
通过本课程的学习,学生应掌握了解c语言的用途、特点;掌握c语言各种数据类型的定义与使用方法;熟练掌握c语言的三种基本结构编制简单程序方法;掌握c语言函数的定义、调试及说明的方法;掌握c语言指针、结构与共同体变量的使用方法;掌握结构化程序设计的基本方法,并能运用所学的知识设计出风格良好的程序。
通过本课程的上机实验,学生应熟练掌握上机运行c语言程序的基本步骤;编写的程序**应结构清晰、正确易读,能上机调试并排除错误。
四)教学内容。
c语言概述。
c语言出现的历史背景 ⑵ c语言的特点 ⑶ 简单的c程序介绍 ⑷ c程序的上机步骤。
重点:c语言源程序的结构。
难点:c语言程序设计的风格。
程序的灵魂——算法。
算法的概念 ⑵ 简单算法举例 ⑶ 算法的特性 ⑷ 算法的表示 ⑸ 结构化程序设计方法
重点:算法的概念、传统流程图、n-s流程图、常用算法思想、结构化程序设计方法。
难点:n-s流程图、常用算法思想。
数据类型、运算符与表达式。
数据类型 ⑵ 常量与变量 ⑶ 整型数据 ⑷ 实型数据 ⑸ 字符型数据 ⑹ 变量赋初值。
各类数值型数据间的混合运算 ⑻ 算术运算符和算术表达式 ⑼ 赋值运算符和赋值表达式。
逗号运算符和逗号表达式。
重点:常用数据类型、常用运算符、一些简单问题如何转化成c语言表达式。
难点:各类数值型数据间的混合运算、一些简单问题如何转化成c语言表达式。
最简单的c程序设计。
c语句概述 ⑵ 程序的三种基本结构 ⑶ 赋值语句 ⑷ 数据输出 ⑸ 数据输入。
程序举例。
重点:c语句的概念及种类、赋值语句、数据的输入输出及输入输出中常用的控制格式。
难点:数据的输入输出及输入输出中常用的控制格式。
逻辑运算和判断选取控制。
关系运算符和关系表达式 ⑵ 逻辑运算符和逻辑表达式 ⑶ if 语句 ⑷ switch 语句。
程序举例。
重点:关系运算符、逻辑运算符、if 语句。
难点:switch 语句。
循环控制。
概述 ⑵ while 语句 ⑶ for 语句 ⑷ do-while 语句 ⑸ 循环的嵌套。
几种循环的比较 ⑺ break语句和continue语句 ⑻ 程序举例。
重点:三种循环(while循环、for 循环和do-while循环)、break和continue语句。
难点:for 循环。
数组。 一维数组的定义和引用 ⑵ 二维数组的定义和引用 ⑶ 字符数组。
重点:一维数组、二维数组的定义与引用、字符数组的定义与引用、常用字符串处理函数及字符处理函数、数组的应用。
难点:二维数组的应用。
函数。 函数定义的一般形式 ⑵ 函数参数和函数的值 ⑶ 函数的调用 ⑷ 函数的嵌套调用。
函数的递归调用 ⑹ 数组作为函数参数 ⑺ 局部变量和全局变量
动态存储变量和静态存储变量 ⑼ 内部函数和外部函数 ⑽ 如何运行一个多文件的程序。
重点:函数定义、函数调用、函数声明,函数的嵌套调用与递归调用,数组作为函数的参数,变量的存储类别与作用域
难点:函数的递归调用、变量的存储类别与作用域。
编译预处理。
⑴ 宏定义 ⑵ 文件包含”处理 ⑶ 条件编译。
重点:宏的定义及应用、文件包含的基本概念。
难点:宏的应用。
指针。 指针的概念 ⑵ 变量的指针和指向变量的指针变量 ⑶ 数组的指针和指向数组的指针变量。
字符串的指针和指向字符串的指针变量 ⑸ 函数的指针和指向函数的指针变量
返回指针值的函数 ⑺ 指针数组和指向指针的指针
有关指针的数据类型和指针运算的小结。
重点:指针与地址的基本概念、指针与变量的关系、指针与数组、指针的应用。
难点:函数的指针和指向函数的指针变量、指针数组和指向指针的指针、指针的应用。
结构体与共用体。
定义结构体类型变量的方法 ⑵ 结构体类型变量的引用 ⑶ 结构变量的初始化。
结构体数组 ⑸ 指向结构体类型数据的指针 ⑹ 用指针处理链表 ⑺ 共用体。
枚举类型 ⑼ 用typedef定义类型。
重点:结构体的基本概念、结构数组、用指针处理链表、typedef的基本概念。
难点:结构数组、用指针处理链表。
文件。 文件概述 ⑵ 文件类型指针 ⑶ 文件的打开与关闭 ⑷ 文件的读写。
重点:文件的基本概念及应用、文件的打开、关闭、常用读写方法。
难点:文件的应用。
五)教学实践环节安排。
c语言程序设计》是四年制本科计算机科学与技术、软件工程、网络工程专业及相关专业的一门实践性很强的学科基础课,必须十分重视实践环节。除了以下规定的上机实验以外,提倡学生自己课余抽时间多上机实践。通过上机实验,使学生加深对讲授内容的理解,了解和熟悉c语言程序开发的环境,学会上机调试程序,锻炼学生发现问题、分析问题和解决问题的应用能力,使学生初步具备程序设计和程序调试的能力,为后续课程的学习打下基础。
实验一:最简单的c程序设计,验证性(2学时)
实验目的:了解turbo c2.0的使用,学会在该系统上如何编辑、编译、运行一个c程序;初步了解c语言的特点;掌握赋值语句的使用方法;掌握c语言数据类型的使用,初步掌握各种数据类型的输入输出方法和各种格式转换符的使用。
实验二:逻辑结构程序设计,验证性(2学时)
实验目的:进一步了解turbo c2.0的使用;了解c语言表示逻辑量的方法;熟练掌握if语句和switch语句;结合程序掌握简单的算法;学习调试程序。
实验三:单重循环结构程序设计,验证性(2学时)
实验目的:掌握用while语句、do-while语句和for语句实现单重循环的方法;掌握单重循环和逻辑结构的综合应用;掌握在程序设计中用循环的方法实现一些常用算法(如迭代法、递推法);进一步学习调试程序。
实验四:多重循环结构程序设计,验证性(2学时)
实验目的:熟练掌握用while语句、do-while语句和for语句实现单重循环的方法;掌握双重循环和逻辑结构的综合应用;掌握在程序设计中用循环的方法实现一些常用算法(如穷举等);进一步学习调试程序。
实验五:数组及其应用(一),验证性(2学时)
实验目的:掌握一维数组的定义、赋值和输入输出的方法;掌握字符数组和字符串函数的使用;掌握与数组有关的算法(特别是排序算法)。
实验六:数组及其应用(二)――查找鞍点程序的设计,综合性、设计性(课内2学时,课外2学时,共4学时)
实验目的:掌握二维数组的定义、赋值和输入输出的方法;掌握与二维数组有关的算法(如矩阵的转置、矩阵的相乘、鞍点问题等,其中鞍点问题为必做)。
实验七:函数(一),验证性(2学时)
实验目的:掌握定义函数的方法;掌握函数实参与形参的对应关系以及“值传递”的方式;掌握函数的嵌套调用的方法。
实验八:函数(二),验证性(2学时)
实验目的:掌握函数的递归调用的方法;掌握全局变量、局部变量、动态变量和静态变量的概念和使用方法;学习对多文件程序的编译和运行。
实验九:指针,验证性(2学时)
实验目的:通过实验进一步掌握指针的概念,会定义和使用指针变量;能正确使用数组的指针和指向数组的指针变量;能正确使用字符串的指针和指向字符串的指针变量;了解二级指针的概念及其使用方法。
实验十:结构体与链表――动态链表的设计,综合性、设计性(2学时)
实验目的:掌握结构体类型变量的定义和使用;掌握结构体类型数组的概念和使用;掌握链表的基本概念和应用。
学生根据上述安排进行课程实验,以书面方式完成实验报告,由实验指导教师批改,实验完成情况计入课程总成绩(占30%)。
六)教学方式与习题要求。
建议部分使用大屏幕投影教室进行授课,引入启发式、讨论式、案例式教学方法,在部分专业采用双语教学。在课程讲授过程中,应结合实例,注重讲解程序设计的基本结构和程序设计思想,以提高综合编程能力。
本课程习题在保证教学需求的前提下贯彻少而精的原则。由于本课程实践性较强,应以上机实验作业为主,并要求递交实验报告,要求批改作业和实验报告,每次批改量不少于三分之一。第二章重点掌握算法的传统流程图表示法和n-s流程图表示法,第三章、第四章、第五章、第六章分别突出程序设计的基础知识、顺序结构程序设计、选择结构程序设计和循环结构程序设计,第七章重点突出一维数组和循环结构的综合应用、二维数组和多重循环的综合应用,第八章突出变量的作用域,第十章、第十一章以指针的典型应用——链表为主。
七)考核办法。
采用闭卷形式考核,卷面总分100分,占总成绩的60%,平时成绩(课堂表现作业、作业成绩占10%,、实验表现、实验成绩和实验报告成绩占30%)占总总成绩的40%。
谭浩强编著:《c程序设计(第三版)》,清华大学出版社,2024年,第3版。
谭浩强编著:《c程序设计题解与上机指导(第三版)》,清华大学出版社,2024年,第3版。
谭浩强主编:《程序设计(二级)样题汇编》,清华大学出版社,2024年,第2版。
《C语言程序设计》教学大纲
一 课程的目的与任务 本课程将以结构化程序设计思想指导学习者运用c语言进行程序设计,充分利用c语言的结构性好,书写格式自由简洁,数据类型丰富,表达式类型多样化,程序执行效率高,可移植性好等特点,使学习者养成严谨的程序设计风格和习惯,在程序设计基本技能方面得到良好的训练,为后继课程的学习及今后的实际应...
C语言程序设计教学大纲
课程中文名称 c语言程序设计课程英文名称 c program language 课程类别 计算机课程编号 课程归属单位 计科系考核方式 考试。制定时间 2012年2月25日。一 课程的性质 任务。c语言程序设计 是计算机基础课程,是实践性很强的技术基础课。课程的任务是使学生获得程序设计方面的基本理论...
《c语言程序设计》教学大纲
c语言程序设计 教学大纲。课程编码 1212080130课程性质 专业基础课 课时 36学分 3 开课学期 第2 学期先修课程 大学计算机基础 适用专业 电子商务 课程简介 c语言程序设计是电子商务专业的一门专业基础课。设置本课程的主要目的是培养学生的程序设计与实现及调试能力。通过本课程的学习,使学...