课程名称:C语言程序设计
英文名称:C Language and Programming
【课程编号】GEN04187 | 【所属模块】公共必修课
|
【学分数】3 | 【适用专业】非计算机专业
|
【学时数】32+32 | 【开设学期】春季 |
【已开设次数】10+ | 【建议选课人数】60 |
【授课教师姓名】公共课教研组 | 【授课教师职称】讲师/副教授/教授 |
【授课教师联系方式】 | |
【开课单位】教育学部 | |
【先修课要求】计算机基础 |
一、课程简介
《C语言程序设计》是面向非计算机专业理科本科生开设的一门计算机基础课,它是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。从计算思维能力培养的视角出发,从C语言的基本结构、语法规则、函数和数据结构类型等方面组织教学。同时, 这门课程也是“全国非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。
二、课程目标
课程旨在使学生掌握C语言的主要内容和程序设计的基本原理与方法,培养学生的综合编程能力,提高学生用计算机解决或辅助解决实际问题的素养,为后续相关课程的学习以及将来的工作和科研打下良好的基础。
三、教学内容和学时分配
(一)第一章 计算机语言与程序设计概述 3学时(课堂讲授 1学时+课程实验2学时)
1. 主要内容
1.计算机语言 2. C语言简介 3.计算机程序 4. C语言程序
5.算法及表示方法 6.程序设计方法
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):
C语言实验环境熟悉。
(二)第二章 数据类型、运算符和表达式 7学时(课堂讲授5学时+课程实验2学时)
1. 主要内容
1.数据类型 2.标识符 3.常量和变量 4.运算符 5.表达式
6.整数类型 7.实数类型 8.字符类型 9.指针类型 10.结构类型
11.文件类型 12.空类型 13.类型定义
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
(三)第三章 基本语句与顺序结构程序设计 4学时(课堂讲授2学时+课程实验2学时)
1. 主要内容
1.C语言的语句 2.赋值语句 3.标准输入输出语句 4.文件操作语句
5.顺序结构程序设计举例
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求:
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):
基本语句的使用和顺序结构编程。
(四)第四章 选择结构程序设计 4学时(课堂讲授2学时+课程实验2学时)
1. 主要内容
1.if语句 2.switch语句 3. 结构程序设计举例
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求:
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):
if语句、switch语句的使用和选择结构编程。
(五)第五章 循环结构程序设计 7学时(课堂讲授3学时+课程实验4学时)
1. 主要内容
1.while语句 2. do-while 语句 3.for语句 4.break语句和continue语句
5.循环语句与文件 6.顺序结构程序设计举例
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求:
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动):
循环语句综合使用和循环结构程序设计。
(六)第六章 函数 13学时(课堂讲授5学时+课程实验8学时)
1. 主要内容
函数的定义
函数的调用: 2.1调用方式 2.1调用机理 2.3声明被调函数与函数原型 2.4嵌套调用 递归函数与递归调用
变量的作用域:3.1局部变量 3.2全局变量
变量的存储类别:4.1 auto类别 4.2 extern 类别 4.3 register类别 4.4 static类别
函数与指针: 5.1指针变量作函数的参数 5.2指向函数的指针 5.3用函数指针调用函数 5.4用函数的指针作函数参数 5.5指针值函数
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)
函数的定义及简单调用;嵌套调用与递归调用;
变量的作用域与存储类别;函数与指针。
(七)第七章 数组 12学时(课堂讲授6学时+课程实验6学时)
1. 主要内容
一维数组:1.1定义与初始化 1.2数组元素的引用(下标引用、指针引用)
1.3数组的指针作函数参数 1.4数组的排序 1.5结构体数组
1.6批量数据的存取与文件操作
二维数组与多维数组: 2.1定义与初始化 2.2数组元素的引用(下标引用、指针引用) 2.3数组的指针作函数参数 2.4多维数组
字符数组与字符串:3.1字符数组与字符串 3.2字符串处理函数 3.3指针与字符串 3.4字符串指针作函数参数
指针数组与指向指针的指针:4.1指针数组 4.2指向指针的指针 4.3指针数组与命令行参数
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)
一维数组;二维数组与多维数组;字符数组与字符串,指针数组与指向指针的指针。
(八)第八章 动态数据结构 7学时(课堂讲授3学时+课程实验4学时)
1. 主要内容
内存申请函数
链表:2.1链表的结构 2.2链表的构建 2.3链表的操作 2.4几种特殊链表 2.5批量数据的存取与文件操作二叉树:3.1二叉树的定义 3.2二叉树的建立及操作
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)
链表的建立和操作;链表的应用。
(九)第九章 综合编程 7学时(课堂讲授3学时+课程实验4学时)
1. 主要内容
综合编程的一般步骤
包含多文件的程序的组织:2.1工程文件 2.2 include命令 2.3内部函数和外部函数 2.4外部变量与静态外部变量
综合编程实例
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)
链表的建立和操作;链表的应用。
(十)第十章 杂类 7学时(课堂讲2学时+课程实验5学时)
1. 主要内容
编译预处理:1.1宏定义(不带参数的宏,带参数的宏) 1.2文件包含 1.3条件编译
位运算:2.1位运算 2.2位段
枚举类型 4.联合体 5. goto语句
2. 教学要求
:了解 :理解 :掌握
3. 重点、难点
:重点 :难点
4. 课前学习要求
阅读导学材料,预习课程内容。
5. 其它教学环节(如实验、习题课、讨论课、其它实践活动)
链表的建立和操作;链表的应用。
四、教材与学习资源
(3) B.W.Kernighan, D.M.Ritchie,C程序设计语言,机械工业出版社,2001
(4)钱启平, C语言程序设计基础,铁道出版社,2000
(5)田淑清,二级考试教程——C语言程序设计,教育部考试中心
3. 网络课程:
五、考核方式
平时作业:实验考核;作业考核; 小测验;
期末考试:机考,以考察实际变成能力为主。
【编写日期】:2014.11.24