(一)课程性质
本课程是计算机科学与技术专业的一门必修专业基础课,是《数据结构》、《面向对象的程序设计(JAVA)》、《操作系统》等后续课程的基础,在整个教学体系中占有非常重要的地位,对于培养学生的程序设计能力与计算思维具有至关重要的作用。
(二)教学目的
通过本课程的学习,学会用C语言编写程序,能够读懂较复杂C语言程序,掌握相对复杂的C语言程序设计的技能,培养学生进行程序跟踪调试与改错的能力,更好地理解设计程序的思路。
通过本课程的学习,使学生理解计算机处理问题的思维方法,并养成良好的编程习惯,培养工程化的软件开发思维,增强解决问题的编程实践能力,为将来从事软件开发、特别是接近硬件的底层软件开发,以及后继课程的学习和解决工程问题、科学技术问题奠定基础。
(三)教学内容
教学内容主要包括:C语言的基本概念、语法和基本用法;基本编程工具的使用;基本算法;结构化程序设计的基本方法;在Windows等操作系统环境下进行编写、编译、调试、运行C语言程序的方法。
张国治 工学博士、讲师
研究方向为: 计算机网络体系结构、云计算与边缘计算、移动计算、车载网络等
近年来教授课程为:网络管理、云计算、C语言程序设计等
知识模块顺序和对应的内容、学时如下:
知识模块 | 主要教学内容 | 理论 | 实践 |
1. 概述 | C语言发展历史;C语言的特点;简单C程序介绍;运行C程序的步骤与方法;C语言编程集成环境 | 2 | 2 |
2. C数据类型 | C语言的数据类型;常量与变量;简单的屏幕输出;变量的赋值和赋值运算符; | 2 | 1 |
3. 运算符和表达式 | 各种运算符和表达式;宏常量与const常量 | 3 | 1 |
4. 键盘输入和屏幕输出 | 字符常量;字符的输入/输出;数据的格式化屏幕输出和键盘输入 | 1 | 2 |
5. 选择控制结构 | 算法的概念与描述;条件运算符;条件控制语句、switch语句 | 4 | 2 |
6. 循环控制结构 | 循环控制语句;嵌套循环;流程的转移控制 | 4 | 4 |
7. 函数 | 函数的定义、调用;函数原型;递归函数;变量的作用域和存储类型 | 4 | 2 |
8. 数组 | 一维数组、二维数组、字符数组的定义和引用;向函数传递数组 | 4 | 4 |
9. 指针 | 变量的内存地址;指针变量;间接寻址;按值调用和按地址调用;指针变量作函数参数;函数指针 | 6 | 4 |
10. 字符串 | 字符串常量与字符指针;字符串的存储、访问、输入和输出;向函数传递字符串;字符串与字符串处理函数 | 4 | 4 |
11. 指针和数组 | 指针和一维、二维数组间的关系;指针数组与应用;动态内存分配 | 6 | 4 |
12. 结构体和共用体 | 结构体与共用体变量的定义、初始化和成员的引用;向函数传递结构体;枚举数据类型 | 6 | 2 |
13. 文件操作 | 文件的打开和关闭;按字符、按格式、按数据块读写文件;文件的随机读写;标准输入/输出重定向 | 4 | 4 |
14. 编译预处理与项目的多文件组织 | 预处理指令;条件编译;项目的多个源文件组织方法与编译;简单的Makefile的编写 | 4 |
总共90学时,其中理论教学54学时,上机实验教学36学时。
教材:
C语言程序设计(第4版),苏小红等编著,高等教育出版社
参考书目:
lEric S. Roberts 著, 翁惠玉等译, C 语言的科学与艺术, 机械工业出版社
lK. N. King著, 吕秀锋 黄倩译, C 语言程序设计现代方法, 人民邮电出版社