一、课程说明。
课程编号:5901010104
学分:5总学时:80
课程开设院(系): 电子信息工程学院。
适用专业:计算机多**技术、计算机通信、计算机网络技术、计算机信息管理、计算机应用技术、软件技术、应用电子技术、电子信息工程技术。
前期课程:无。
二、课程性质和任务
课程性质:本课程是电子信息工程学院院级必修平台课。
课程任务:c语言是一种有效而又通用的计算机结构化程序设计语言。它既具有高级语言的优点,又具有低级语言的许多特点,因而既适用于编写应用软件又适用于编写系统软件。
对于软件开发者来说是一个强有力的工具,故而开设《c语言程序设计》课对于计算机类专业的学生来说是非常有现实意义和实用价值的。期望通过本课程的学习,学生能获得较好的c程序设计方法的训练,具有较强的实际编程能力,积累一定的上机调试程序的经验,为学习本专业的后续课程打下良好的基础。
三、课程教学目标。
一)知识目标。
1.了解c语言的用途、特点以及上机运行c语言程序的基本步骤;
2.掌握c语言各种数据类型的定义与使用方法;
3.熟练掌握c语言的三种基本结构编制简单程序方法;
4.掌握c语言函数的定义、调试及说明的方法;
5.掌握c语言指针、结构与共同体变量的使用方法,能正确运用它们。
二)能力目标。
1. 掌握结构化程序设计的方法,具有良好的程序设计风格。
2. 掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
3. 在 visual c++ 6.0 集成环境下,能够编写简单的c程序,并具有基本的纠错和调试程序的能力。
四、教学方法。
1. 理论课采用课堂教学,使用多**辅助教学手段。
2. 该课程实践性较强,需要学生多作练习。
3. 主持教师需要有比较熟练的编程经验,对c开发环境比较熟悉。
五、考核方法。
笔试(120分钟)、满分100分。
六、理论教学内容和要求。
第一章程序设计基本概念。
教学要求:识记:算法的概念;领会:
c程序设计过程:编辑、编译、链接、运行等以及产生的程序类型、结构化程序设计中的三大结构:顺序结构、选择结构、循环结构、算法用自然语言描述、流程图的画法、n-s流程图的画法、用伪**表示算法、用计算机语言表示算法、结构化程序设计的概念和一般方法。
教学内容:第一节程序和程序设计。
第二节算法。
第三节结构化程序设计和模块化结构。
教学重点:掌握c程序设计过程,包括编辑、编译、链接、运行等;理解结构化程序设计中的三大结构:顺序结构、选择结构、循环结构。
第二章 c程序设计的初步知识。
教学要求:领会:c语句程序的特点、构成、c程序是由函数组成的(main函数和其他函数)、头文件、数据说明、函数的开始和结束标志、c语言的风格、c的数据类型(基本类型、构造类型、指针类型、空类型)及其定义方法、c运算符的种类、运算优先级和结合性、不同类型数据间的转换与运算、c表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则;
教学内容:第一节从c语言程序的构成和格式。
第二节常量、变量和标识符。
第三节整型数据。
第四节实型数据。
第五节算术表达式。
第六节赋值表达式。
第七节自加、自减运算符和逗号运算符。
教学重点:熟练掌握c语言程序的构成和格式;理解常量、变量和标识符的概念及使用方法;掌握算术运算符、赋值运算符、自加、自减运算符和逗号运算符以及相对应的表达式的运算。
第三章顺序结构。
教学要求:识记:空语句,复合语句的概念;领会:赋值语句构成、数据的输入与输出,输入输出函数的调用形式及各种格式控制;应用:应用最简单的赋值语句和输入输出语句编写简单程序。
教学内容:第一节赋值语句。
第二节数据输出。
第三节数据输入。
第四节复合语句和空语句。
第五节程序举例。
教学重点:熟练掌握printf函数和scanf函数的调用形式和格式说明;了解赋值语句、复合语句和空语句的使用。
第四章选择结构。
教学要求:识记:关系运算符和关系表达式,逻辑运算符和逻辑表达式的运算规则及优先级;领会:
if 语句的三种形式,掌握if语句的基本结构以及if 语句的嵌套,并能以条件运算符给出的语句转化成if 语句的形式、switch语句的一般形式,并能把复杂的分支选择性结构化成break 语句来解决问题、 语句标号和goto语句;应用:if选择结构和switch选择结构。
教学内容:第一节关系运算和逻辑运算。
第二节 if语句和用if语句构成的选择结构。
第三节条件表达式构成的选择结构。
第四节 switch语句以及用switch语句和break语句构成的选择结构。
第五节语句标号和goto语句。
教学重点:掌握关系运算符和关系表达式,第五章循环结构。
教学要求:识记:循环的基本概念、循环的构成;领会:
while和do-while循环结构、for循环结构、break 语句和continue 语句的应用及其区别、几种常见的嵌套形式;应用:while和do-while循环结构、for循环结构的应用;综合应用:用前面所学知识解决一些传统典型问题。
教学内容:第一节 while 语句和用while语句构成的循环结构。
第二节 do-while 语句和用do-while语句构成的循环结构。
第三节 for 语句和用for语句构成的循环结构。
第四节循环结构的嵌套。
第五节 break 语句和continue 语句在循环体中的作用。
第六节程序举例。
教学重点:熟练掌握用while语句、do-while 语句、for 语句构成的循环结构。
第六章字符型数据。
教学要求:识记:字符型常量、变量的概念;领会:字符型常量、变量的运算、字符的输入和输出格式。
教学内容:第一节字符型常量。
第二节字符变量。
第三节字符的输入和输出。
程序举例。教学重点:掌握字符型常量、变量的概念与运算;熟练掌握字符的输入和输出。
第七章函数。
教学要求:领会:库函数的正确调用形式、函数的定义方法、函数的类型和返回值、函数的调用、形式参数与实在参数之间参数值的传递、函数的正确调用形式、被调用函数的声明和函数原型;应用:
把具有特定功能的程序段编写成函数进行调用。
教学内容:第一节库函数。
第二节函数定义和返回值。
第三节函数的调用。
第四节函数的说明。
第五节调用函数和被调函数的数据传递。
第六节程序举例。
教学重点:掌握库函数的正确调用、函数的定义方法、函数的类型和返回值;熟练掌握函数的调用、形式参数与实在参数之间参数值的传递,函数的正确调用。
第八章地址和指针。
教学要求:识记:指针与指针变量的概念,指针与地址运算符的关系;领会:
指针变量的定义和应用,指针变量作为参数时函数之间地址值的传递、通过指针引用变量以及指向变量指针变量、对指针变量的操作。
教学内容:第一节变量的指针和指针。
第二节指针变量的定义和指针变量的基类型。
第三节给指针变量赋值。
第四节对指针变量的操作。
第五节函数之间地址值的传递。
教学重点:理解指针与指针变量的概念,指针与地址运算符的关系;掌握通过指针引用变量以及指向变量指针变量的方法、对指针变量的操作、函数之间地址值的传递。
第九章数组。
教学要求:领会:一维数组和二维数组的定义、初始化和引用、通过指针引用数组名的关系、指向数组的指针的概念、二维数组的定义和引用、二维数组和指针的关系、二维数组名和指针数组作为实参以及使用指针访问数组元素的方法,指向数组的指针作为参数时的应用;应用:
排序、查找、杨辉三角等典型问题可借助数组实现。
教学内容:第一节一维数组的定义和一维数组元素的引用。
第二节一维数组和指针。
第三节函数之间对一维数组和数组元素的引用。
第四节一维数组应用举例。
第五节二维数组的定义和二维数组元素的引用。
第六节二维数组和指针。
第七节二维数组名和指针数组作为实参。
第八节二维数组程序举例。
教学重点:熟练掌握一维数组和二维数组的定义、初始化和引用以及通过指针引用数组的方法;掌握二维数组和指针的关系、 二维数组名和指针数组作为实参时参数值的传递。
第一十章字符串。
教学要求:识记:字符串与字符数组的概念及关系;领会:
字符数组的定义格式,初始化、引用方法、指向字符串的指针的定义和应用、通过指针引用字符串的方法、字符串的输入输出函数、字符串数组、用于字符串处理的函数。
教学内容:第一节用一个一维字符数组来存储字符串。
第二节使指针指向一个字符串。
第三节字符串的输入输出。
第四节字符串数组。
第五节用于字符串处理的函数。
第六节程序举例。
教学重点:掌握字符串与字符数组的联系与区别;掌握通过指针引用字符串、字符串的输入输出方法;了解字符串数组的使用以及用于字符串处理的函数。
第十一章对函数的进一步讨论。
教学要求:领会:main函数的命令行参数、通过指针引用函数和指向函数的指针变量时函数的形参与实参的对应关系、函数递归调用的几种形式。
教学内容:第一节传给main的参数。
第二节通过实参向函数传递函数名或指向函数的指针变量。
第三节函数的递归调用。
教学重点:掌握main函数的命令行参数的传递、通过指针引用函数和指向函数的指针变量的使用以及函数的递归调用。
第十二章 c语言中用户标识符的作用域和存储类。
教学要求:识记:局部变量和全局变量的概念;领会:
局部变量与全局变量、动态存储变量与静态存储变量的不同,以及它们的使用方法、变量的存储类别(自动,静态,寄存器,外部),各种变量的作用域和生存期、外部函数和静态函数的使用。
教学内容:第一节局部变量、全局变量和存储分类。
第二节局部变量及其作用域和生存期。
第三节全局变量及其作用域和生存期。
第四节函数的存储分类。
教学重点:理解局部变量和全局变量的概念;掌握变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期;掌握外部函数和静态函数的定义方法。
第十三章编译预处理和动态存储分配。
教学要求:识记:宏定义的格式,宏和函数的区别;领会:
不带参数的宏和带参数的宏定义方法以及宏替换过程、动态存储分配(malloc、free、calloc函数)的调用形式;应用:“文件包含”预处理的应用。
教学内容:第一节编译预处理。
第二节动态存储分配。
教学重点:掌握宏定义方法,包括:不带参数和带参数的宏定义;掌握最常用的动态存储分配(malloc、free、calloc函数)
第十四章结构体、共用体和用户定义类型。
教学要求:领会:用typedef说明一种新类型名、结构体和共用体类型数据的定义、初始化和引用方法、结构体数组的定义和数组元素的引用、通过指针引用结构体的指针、枚举类型的定义,及枚举类型的输入输出;应用:
用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
教学内容:第一节用typedef说明一种新类型名。
第二节结构体类型。
第三节共用体。
教学重点:掌握用typedef说明一种新类型名的方法以及结构体和共用体类型数据的定义方法和引用方法;理解用指针和结构体构成链表的方法,单向链表的建立、输出、删除与插入;了解通过指针引用结构体变量的方法。
《C语言程序设计》教学大纲
一 课程的目的与任务 本课程将以结构化程序设计思想指导学习者运用c语言进行程序设计,充分利用c语言的结构性好,书写格式自由简洁,数据类型丰富,表达式类型多样化,程序执行效率高,可移植性好等特点,使学习者养成严谨的程序设计风格和习惯,在程序设计基本技能方面得到良好的训练,为后继课程的学习及今后的实际应...
C语言程序设计教学大纲
课程中文名称 c语言程序设计课程英文名称 c program language 课程类别 计算机课程编号 课程归属单位 计科系考核方式 考试。制定时间 2012年2月25日。一 课程的性质 任务。c语言程序设计 是计算机基础课程,是实践性很强的技术基础课。课程的任务是使学生获得程序设计方面的基本理论...
《c语言程序设计》教学大纲
c语言程序设计 教学大纲。课程编码 1212080130课程性质 专业基础课 课时 36学分 3 开课学期 第2 学期先修课程 大学计算机基础 适用专业 电子商务 课程简介 c语言程序设计是电子商务专业的一门专业基础课。设置本课程的主要目的是培养学生的程序设计与实现及调试能力。通过本课程的学习,使学...