C语言是目前流行的通用程序设计语言之一,是许多计算机专业人员和计算机爱好者学习程序设计语言的必选。本书共12章,内容包括C语言程序设计预备知识,C语言程序设计基础,基本数据类型、运算符与表达式,基本输入、输出和顺序程序设计,选择结构程序设计,循环结构程序设计,数组,函数,指针,预处理命令,复杂数据类型,文件等。
本书注重教材的可读性和适用性,每章开头都给出了学习意义和学习目标;对关键知识点进行了详细的说明,并附有大量的图表使读者能正确、直观地理解问题;样例程序由浅入深,强化知识点、算法、编程方法与技巧,并给出了详细的解释;为了帮助初学者正确地掌握C语言的语法特点,每章还列举出了初学者在编程过程中易犯的错误。另外,本书还配套提供题型丰富的《C语言程序设计教程习题解答与实验指导》教材;为任课老师免费提供电子课件,其中包括全部例题和习题源程序文件(按前言提供的方式索取)。
本书的作者都是长期在高校从事计算机软件教学的一线教师,有丰富的教学经验和科研开发能力,书中文字流畅、通俗易懂、概念清楚、深入浅出、例题丰富,实用性强。
本书适用于计算机专业的本科生、研究生、大专生、专升本的学生使用,也可以作为大学各专业公共教材和全国计算机等级考试参考书。
目录
- 第1章 C语言程序设计预备知识
- 1.1 计算机系统组成及工作原理简介
- 1.2 进位计数制及其转换
- 1.2.1 十进制数的表示
- 1.2.2 二进制数、八进制数和十六进制数的表示
- 1.2.3 二进制数和十进制数的转换
- 1.2.4 二进制数、八进制数和十六进制数的转换
- 1.3 机器数的表示形式及其表示范围
- 1.3.1 真值与机器数
- 1.3.2 数的原码表示
- 1.3.3 数的反码表示
- 1.3.4 数的补码表示
- 1.3.5 补码的加、减运算
- 1.3.6 无符号整数
- 1.3.7 字符表示法
- 1.4 二进制数的位运算
- 1.5 本章小结
- 习题1
- 第2章 C语言程序设计基础
- 2.1 程序设计语言的发展及其特点
- 2.2 C语言的发展及其特点和应用
- 2.3 C语言程序的基本结构
- 2.4 编制C语言程序的基本步骤
- 习题2
- 第3章 基本数据类型、运算符与表达式
- 3.1 C语言的数据类型
- 3.2 常量、变量和标识符
- 3.3 简单数据类型与表示范围
- 3.3.1 整型数据
- 3.3.2 实型数据
- 3.3.3 字符型数据和字符串常量
- 3.3.4 简单数据类型的表示范围
- 3.3.5 数据的简单输出
- 3.4 C语言的运算符与表达式
- 3.4.1 赋值运算符、赋值表达式
- 3.4.2 强制类型转换符
- 3.4.3 算术运算符、算术表达式
- 3.4.4 自增自减运算符、负号运算符
- 3.4.5 算术运算中数据类型转换规则
- 3.4.6 位运算符、位运算表达式
- 3.4.7 逗号运算符、逗号表达式
- 3.4.8 sizeof运算符、复合赋值运算符
- 3.5 运算符的优先级和结合性
- 3.6 本章小结及常见错误列举
- 习题3
- 第4章 基本输入/输出和顺序程序设计
- 4.1 格式化输出printf
- 4.1.1 整数的输出
- 4.1.2 实数的输出
- 4.1.3 字符和字符串的输出
- 4.1.4 格式化输出小结
- 4.2 格式化输入scanf
- 4.3 字符数据的非格式化输入/输出
- 4.4 程序的控制结构
- 4.4.1 算法的基本概念
- 4.4.2 流程图与算法的结构化描述
- 4.5 顺序程序设计举例
- 4.6 本章小结及常见错误列举
- 习题4
- 第5章 选择结构程序设计
- 5.1 C语言程序中语句的分类
- 5.2 关系运算符、逻辑运算符、条件运算符
- 5.2.1 关系运算符和关系表达式
- 5.2.2 逻辑运算符和逻辑表达式
- 5.2.3 条件运算符和条件表达式
- 5.3 选择结构的程序设计
- 5.3.1 if语句
- 5.3.2 switch语句
- 5.4 选择结构程序设计举例
- 5.5 本章小结及常见错误列举
- 习题5
- 第6章 循环结构程序设计
- 6.1 循环结构的程序设计
- 6.1.1 while语句
- 6.1.2 do-while语句
- 6.1.3 for语句
- 6.1.4 循环嵌套
- 6.1.5 break与continue语句
- 6.1.6 goto语句
- 6.1.7 exit()函数
- 6.2 循环结构类型的选择及转换
- 6.3 循环结构程序设计举例
- 6.4 本章小结及常见错误列举
- 习题6
- 第7章 数组
- 7.1 一维数组
- 7.1.1 一维数组的定义和引用
- 7.1.2 一维数组的赋值
- 7.1.3 一维数组的应用举例
- 7.2 二维数组
- 7.2.1 二维数组的定义和引用
- 7.2.2 二维数组的赋值
- 7.2.3 二维数组的应用举例
- 7.3 字符串与数组
- 7.3.1 字符串的本质
- 7.3.2 字符及字符串操作的常用函数
- 7.3.3 字符串数组
- 7.4 数组综合应用举例
- 7.5 本章小结及常见错误列举
- 习题7
- 第8章 函数
- 8.1 函数概述
- 8.2 函数的定义与调用
- 8.2.1 无参数无返回值的函数
- 8.2.2 无参数有返回值的函数
- 8.2.3 带参数无返回值的函数
- 8.2.4 带参数有返回值的函数
- 8.3 函数参数的传递方式
- 8.4 变量的作用域和生存期
- 8.5 变量的存储类型
- 8.6 函数的嵌套和递归调用
- 8.7 函数的作用域
- 8.8 函数应用综合举例
- 8.9 本章小结及常见错误列举
- 习题8
- 第9章 指针
- 9.1 指针与指针变量的概念
- 9.2 指针变量的定义和引用
- 9.3 指针和地址运算
- 9.4 指针与数组
- 9.4.1 数组的指针和指向数组的指针变量
- 9.4.2 指向多维数组的指针——数组指针
- 9.4.3 元素为指针的数组——指针数组
- 9.5 指针与字符串
- 9.6 指针与动态内存分配
- 9.7 多级指针
- 9.8 指针作为函数的参数
- 9.9 指针作为函数的返回值——指针函数
- 9.10 指向函数的指针——函数指针
- 9.11 带参数的main函数
- 9.12 本章小结及常见错误列举
- 习题9
- 第10章 预处理命令
- 10.1 预处理命令简介
- 10.2 宏定义
- 10.2.1 不带参数的宏定义
- 10.2.2 带参数的宏定义
- 10.3 文件包含
- 10.4 条件编译
- 10.5 本章小结及常见错误列举
- 习题10
- 第11章 复杂数据类型
- 11.1 复杂数据类型概述
- 11.2 结构体
- 11.2.1 结构体类型的定义
- 11.2.2 结构体变量的定义和引用
- 11.2.3 结构体变量的赋值
- 11.2.4 简化结构体类型名
- 11.2.5 结构体数组
- 11.3 线性链表
- 11.4 联合体
- 11.4.1 联合体类型的定义
- 11.4.2 联合体变量的定义和引用
- 11.4.3 联合体变量的赋值
- 11.5 位域
- 11.6 枚举类型变量的定义和引用
- 11.7 复杂数据类型应用综合举例
- 11.8 本章小结及常见错误列举
- 习题11
- 第12章 文件
- 12.1 文件的基本概念
- 12.2 文件的类别
- 12.3 文件操作概述
- 12.4 文件指针
- 12.5 文件的打开、读写和关闭
- 12.5.1 文件的打开与关闭
- 12.5.2 文件的读写
- 12.5.3 文件读写函数选用原则
- 12.6 文件的定位读写
- 12.7 文件应用综合举例
- 12.8 本章小结及常见错误列举
- 习题12
- 附录1 常见问题解答
- 附录2 常用标准库函数
- 附录3 C语言中的关键字(保留字)
- 附录4 运算符的结合性
- 附录5 ASCII码表
- 参考文献