C语言程序设计(张国治)

课程简介

(一)课程性质

    本课程是计算机科学与技术专业的一门必修专业基础课,是《数据结构》、《面向对象的程序设计(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 语言程序设计现代方法, 人民邮电出版社