本课程是《C语言程序设计》,由谭浩强所著,清华大学出版社出版,旨在通过深入浅出的方式介绍计算机工作原理,培养逻辑思维能力,为软件开发和后续课程的学习奠定基础。课程大纲覆盖了C语言的多个核心概念,包括:
1. C语言概述:阐述了C语言作为系统软件和应用软件的双重角色,以及它在现代计算机领域中的重要地位。特别强调了C语言相对于汇编语言的优势,如更高的可读性和灵活性。
2. 类型算符表达式:讲解了变量的数据类型、算术运算符、关系运算符和逻辑运算符等,这些都是C语言中基本的数值和逻辑操作。
3. 顺序程序设计:介绍程序的基本流程控制,如何按照特定顺序执行指令。
4. 分支程序设计:涉及条件语句(如if-else)、switch语句,使程序能够根据不同的条件执行不同的代码路径。
5. 循环程序设计:涵盖了for、while和do-while循环,让学生理解如何通过循环结构实现重复执行。
6. 数组:讲解数组的定义、操作和常用数组数据结构,如一维数组、二维数组等。
7. 函数:介绍了函数的定义、调用和参数传递,以及局部变量和全局变量的概念。
8. 预处理命令:探讨如何使用宏定义、条件编译和文件包含等预处理器指令来提高代码的复用性和可维护性。
9. 指针:深入理解指针在内存管理和数据结构中的作用,如动态内存分配和指针算术。
10. 结构与共同体:讲解如何组织和管理复杂数据结构,如结构体和联合体。
11. 位运算:介绍位级操作,这对于理解和优化底层代码、提高性能至关重要。
12. 文件:涵盖文件的打开、关闭、读写操作,以及如何处理不同类型的文件(如文本文件和二进制文件)。
13. 历史背景:回顾了C语言的发展历程,从Algol60到CPL,再到BCPL和B语言,最后到C语言的诞生和普及,展示了语言演化的脉络。
作业和考试方面,课程强调实践操作,学生需在计算机上完成作业,实时检查,且不允许课后提交。考试构成中,平时成绩占总成绩的30%,期末考试占70%。此外,课程还设置了FTP服务器,用于上传和管理学生的作业。
通过学习这门课程,学生不仅能掌握C语言的基础知识,还能培养起编程的实用技巧和解决问题的能力。