C语言大学教程(中文第六版) pdf

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言教程(原书第4版) 《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansi c语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。《c语言教程(原书第4版)》的一个鲜明特色就是结合大量示例描述c语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。   《c语言教程(原书第4版)》系统、完整,可作为c语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。 前言 第0章 从零开始 0.1 为什么要用c 0.2 ansi c标准 0.3 从c到c++ 0.4 从c和c++到java 第1章 c语言概述 1.1 编程和预备知识 1.2 程序输出 1.3 变量、表达式和赋值 1.4 使用#define和#include 1.5 使用printf()和scanf() 1.6 控制流 1.7 函数 1.8 数组、字符串和指针 1.8.1 数组 1.8.2 字符串 1.8.3 指针 1.9 文件 1.10 与操作系统有关的内容 1.10.1 编写和运行c程序 1.10.2 中断程序 1.10.3 输入文件尾标志 1.10.4 输入和输出的重定向 1.11 总结 1.12 练习 第2章 词法元素、操作符和c系统 2.1 字符和词法元素 2.2 语法规则 2.3 注释 2.4 关键字 2.5 标识符 2.6 常量 2.7 字符串常量 2.8 操作符和标点符号 2.9 操作符的优先级和结合性 2.10 增值操作符和减值操作符 2.11 赋值操作符 2.12 例子:计算2的乘方 2.13 c系统 2.13.1 预处理器 2.13.2 标准函数库 2.14 总结 2.15 练习 第3章 基本数据类型 3.1 声明、表达式和赋值 3.2 基本数据类型 3.3 字符和char数据类型 3.4 int数据类型 3.5 整数类型short、long和unsigned 3.6 浮点类型 3.7 typedef的用法 3.8 sizeof操作符 3.9 使用getchar()和putchar() 3.10 数学函数 3.10.1 使用abs()和fabs() 3.10.2 unix和数学函数库 3.11 隐式类型转换和强制类型转换 3.11.1 整型提升 3.11.2 寻常算术转换 3.11.3 强制类型转换 3.12 十六进制和八进制常量 3.13 总结 3.14 练习 第4章 控制流 4.1 关系操作符、相等操作符和逻辑操作符 4.2 关系操作符和表达式 4.3 相等操作符和表达式 4.4 逻辑操作符和表达式 4.5 复合语句 4.6 表达式和空语句 4.7 if和if-else语句 4.8 while语句 4.9 for语句 4.10 例子:布尔变量 4.11 逗号操作符 4.12 do语句 4.13 例子:斐波那契数 4.14 goto语句 4.15 break和continue语句 4.16 switch语句 4.17 条件操作符 4.18 总结 4.19 练习 第5章 函数 5.1 函数定义 5.2 return语句 5.3 函数原型 5.4 例子:创建乘方表 5.5 从编译器的角度观察函数原型 5.6 函数定义顺序的另一种风格 5.7 函数调用和传值调用 5.8 开发大型程序 5.9 使用断言 5.10 作用域规则 5.10.1 平行和嵌套代码块 5.10.2 以调试为目的使用代码块 5.11 存储类型 5.11.1 auto存储类型 5.11.2 extern存储类型 5.11.3 register存储类型 5.11.4 static存储类型 5.12 静态外部变量 5.13 默认初始化 5.14 递归 5.15 例子:汉诺塔 5.16 总结 5.17 练习 第6章 数组、指针和字符串 6.1 一维数组 6.1.1 初始化 6.1.2 下标 6.2 指针 6.3 传引用调用 6.4 数组和指针之间的关系 6.5 指针运算和元素的大小 6.6 数组作为函数的实参 6.7 例子:冒泡排序 6.8 用calloc()和malloc()进行动态内存分配 6.9 例子:归并和归并排序 6.10 字符串 6.11 标准函数库中的字符串处理函数 6.12 多维数组 6.12.1 二维数组 6.12.2 存储映射函数 6.12.3 形式参数声明 6.12.4 三维数组 6.12.5 初始化 6.12.6 使用typedef 6.13 指针数组 6.14 main()函数的参数 6.15 不规则数组 6.16 函数作为参数 6.17 例子:使用二分法寻找函数的根 6.18 函数指针数组 6.19 类型限定符const和volatile 6.20 总结 6.21 练习 第7章 位操作符和枚举类型 7.1 位操作符和表达式 7.1.1 按位求反 7.1.2 补码 7.1.3 位逻辑操作符 7.1.4 左移位和右移位操作符 7.2 掩码 7.3 软件工具:打印int值的二进制形式 7.4 包装和解包 7.5 枚举类型 7.6 例子:“石头、剪刀、布”游戏 7.7 总结 7.8 练习 第8章 预处理器 8.1 #include的使用 8.2 使用#define 8.3 带参数的宏 8.4 stddef.h中的类型定义和宏 8.5 例子:用qsort()进行排序 8.6 例子:带参数的宏 8.7 stdio.h和ctype.h中的宏 8.8 条件编译 8.9 预定义的宏 8.10 “#”和“##”操作符 8.11 assert()宏 8.12 使用#error和#pragma 8.13 行号 8.14 对应的函数 8.15 例子:快速排序 8.16 总结 8.17 练习 第9章 结构和联合 9.1 结构 9.2 访问结构成员 9.3 操作符的优先级和结合性的总结 9.4 在函数中使用结构 9.5 结构的初始化 9.6 例子:玩扑克牌 9.7 联合 9.8 位字段 9.9 例子:访问位和字节 9.10 adt堆栈 9.11 总结 9.12 练习 第10章 结构和列表处理 10.1 自引用的结构 10.2 线性链表 10.3 链表操作 10.4 一些链表处理函数 10.4.1 插入 10.4.2 删除 10.5 堆栈 10.6 例子:波兰记法和堆栈求值 10.7 队列 10.8 二叉树 10.8.1 二叉树的遍历 10.8.2 创建树 10.9 普通的树 10.9.1 遍历 10.9.2 calloc()的用法以及树的创建 10.10 总结 10.11 练习 第11章 输入/输出和操作系统 11.1 输出函数printf() 11.2 输入函数scanf() 11.3 fprintf()、fscanf()、sprintf() 和sscanf()函数 11.4 fopen()和fclose()函数 11.5 例子:对文件进行空间加倍 11.6 使用临时文件和优雅函数 11.7 随机访问文件 11.8 文件描述符输入/输出 11.9 文件访问权限 11.10 在c程序内部执行命令 11.11 在c程序内部使用管道 11.12 环境变量 11.13 c编译器 11.14 使用性能评估程序 11.15 函数库 11.16 对c代码进行计时 11.17 使用make 11.18 使用touch 11.19 其他有用的工具 11.20 总结 11.21 练习 第12章 高级应用 12.1 用fork()创建并发进程 12.2 进程的叠加:exec...()函数族系 12.3 使用pipe()实现进程间的通信 12.4 信号 12.5 例子:哲学家用餐问题 12.6 矩阵的动态分配 12.6.1 为什么二维数组无法满足要求 12.6.2 用指针数组创建矩阵 12.6.3 调整下标范围 12.6.4 一次分配所有内存 12.7 返回状态 12.8 总结 12.9 练习 第13章 从c到c++ 13.1 输出 13.2 输入 13.3 函数 13.4 类和抽象数据类型 13.5 重载 13.6 构造函数和析构函数 13.7 面向对象编程和继承 13.8 多态 13.9 模板 13.10 c++的异常 13.11 面向对象编程的优点 13.12 总结 13.13 练习 第14章 从c到java 14.1 输出 14.2 变量和类型 14.3 类和抽象数据类型 14.4 重载 14.5 类的创建和销毁 14.6 面向对象编程和继承 14.7 多态和重写方法 14.8 applet 14.9 java的异常 14.10 java和oop的优势 14.11 总结 14.12 练习 附录a 标准函数库 附录b c的语法 附录c ansi c与传统c的比较 附录d ascii字符码 附录e 操作符的优先级和结合性
第一章 C程序设计筑基..........................................................................................................1 1.1 二进制基础.................................................................................................................1 1.1.1 为什么采用二进制.........................................................................................1 1.1.2 二进制、十六进制和八进制...........................................................................2 1.1.3 原码、反码与补码...........................................................................................4 1.1.4 模216原则.......................................................................................................7 1.1.5 浮点小数的二进制表示.................................................................................8 1.2 程序员眼中的计算机.................................................................................................9 1.2.1 数据在计算机中的存储形式.........................................................................9 1.2.2 计算机的运行方式与特点...........................................................................11 1.3 程序设计的方法......................................................................................................13 1.3.1 程序设计的两大要素...........................................................................13 1.3.2 算法的描述.......................................................................................15 1.3.3 流程的跟踪执行...........................................................................18 1.4 C程序初步......................................................................................................19 1.4.1 计算机语言分类...........................................................................19 1.4.2 C语言简史及特点.................................................................................20 1.4.3 C程序示例及组成...........................................................................21 1.5 C程序解题分析.................................................................................................25 1.5.1 详解判断素数程序.......................................................................................25 1.5.2 综合示例......................................................................................................32 1.5.3 C程序书写风格...........................................................................................34 1.6 编程学习方法总结...................................................................................................36 第二章 上机指导与解题分析..............................................................................................39 2.1 上机编程环境...........................................................................................................39 2.2 Turbo C集成开发环境............................................................................….............40 2.2.1 Turbo C集成开发环境介绍.........................................................................40 2.2.2 文本编辑..................................................................….............................42 2.2.3 编译和连接..........................................….....................................…............44 2.2.4 程序运行与调试..................................….....................................…............46 2.2.5 Turbo C环境设置..............................….....................................…............50 2.3 常见的变量类型、运算符及输入出格式.....…........................................…............50 2.4 程序举例.............................................…...................………..........….....…............52 2.5 Turbo C上机实验...............................….....…..……............…....….......…............59 第三章 基本数据类型、运算符与输入输出函数...….....…..…….…....…......…............67 3.1 基本数据类型...….....…..……………….....…....…..…....….......….......………....67 3.2 常量……………………..……………….............…...…..…....…….......………....67 3.2.1 整型常量…….…….……………........…....…..….........….......………....67 3.2.2 实型常量…..………………………….............…..….....….......………....68 3.2.3 字符常量…..…………………………….............…....….....…....…...…....68 3.2.4 字符串常量…..………………………….............…....….....…....…...…....69 3.2.5 符号常量…..…………………………….............…....….....…....…...…....69 3.3 变量…..…………………………………...........…………....….....….......……...70 3.3.1 C标识符……………………...........…………..........….......…….……...70 3.3.2 整型变量………………….....…......…………..........….......…………...70 3.3.3 实型变量….....……………………......…………..........….......………...71 3.3.4 字符型变量………………………………………......….....…………….71 3.3.5 变量的初始化………………...…......…………..........….......…………...72 3.4 C语言的运算符和表达式……………...........…………....…......….......……....72 3.4.1 算术运算符和算术表达式..………………….…....….....….......……...73 3.4.2 赋值运算符和赋值表达式………..……..……….…....….....…...……....74 3.4.3 关系运算符和关系表达式………….........…….…....….....….....……….74 3.4.4 逻辑运算符和逻辑表达式………....…...……….…....….....…...……....75 3.4.5 条件运算符和条件表达式………...........……….…....….....…...……....76 3.4.6 逗号运算符和逗号表达式………...........……….…....….....…...……....78 3.4.7 指针运算符………....………...……........……….…....….....…...……....78 3.4.8 sizeof运算符…………..………….........……….…....….....…...……....79 3.4.9 不同类型数据之间的转换………...........……….…....….....…...……....79 3.4.10 C运算符优先级和结合性………….......……….…....….....…...……....80 3.5 输入输出函数……………………………........…………....…......….......……....80 3.5.1 格式化输入输出函数..……………………….…....….....….......……...81 3.5.2 字符输入输出函数………..……………..……….…....….....…...……....84 第四章 语句与程序控制结构……………………………..........……….….........……....89 4.1 语句总述…………………………………….......…….…......….....….....….....…89 4.1.1 说明语句、表达式语句和空语句……………..........…….........………....89 4.1.2 控制语句………………………….........………....….....….....………....89 4.1.3 复合语句……….….……………….......……………....….....….......…....89 4.2 顺序结构…………………………………………......………......….......………..90 4.3 选择结构………….…………………………...........………....….....….......…....91 4.3.1 if语句…………….………….…..........…….…….....….......………..91 4.3.2 switch语句…………...........……………….……....….....….......………..95 4.4 循环结构…………………………………….......…….…......….....….....….....…100 4.4.1 while语句……………………………………..........…...........………....100 4.4.2 do-while语句…………………….........………....….....….....………....102 4.4.3 for语句……….….………………........……………....….....….......…....103 4.4.4 break语句……….….……………........……………....….....….......…....105 4.4.5 continue语句……….….…......……....……………....….....….......…....107 4.4.6 goto语句…………………….…..........……………....….....….......…....108 4.4.7 多重循环………………….….…..........……………....….....….......…....109 4.5 程序举例……….….………………..........…………………....…..............….......111 第五章 数组和字符串…..………………......……………...…………....…........……....117 5.1 一维数组…..………..…………....…........…………………...…........………....117 5.1.1 一维数组的定义和引用..………..…...........…………....…......………..117 5.1.2 一维数组初始化…..…………..…..…...........…………....…....………..118 5.1.3 程序举例…..………..…..…..…..……........…………....…......………....120 5.2 二维数组…………….........…..…..………………………………....…......…....127 5.2.1 二维数组的定义和引用…………..…...………………....…....………....127 5.2.2 二维数组初始化……………..…..………………………....…......…....128 5.2.3 程序举例…………………..………………………………………..…….129 5.3 字符串处理…………..…..…..…..…..….........……………………...…......…....133 5.3.1 字符数组与字符串………..…..…..…..……......………….…....…..…....133 5.3.2 字符串的输入和输出…………….......…..…...……………......…..…....133 5.3.3 字符串处理函数….………….....…………………………....…....……...136 5.3.4 程序举例…….........……..…..………………………....…...…...……...138 第六章 函数..…..……....…......……………………………...………….………………...144 6.1 模块化程序设计思想…….........…………………..…………....…......………..144 6.2 模块设计举例.........……………………………………………..…….......……...144 6.3 函数概念….........……………………………………….……....…......………..145 6.3.1 函数定义….........……………………………..…..……....…......……...145 6.3.2 函数说明和函数调用……………………….…….……....….....………..146 6.3.3 形参与实参...………………………………..…….……....….....……...149 6.3.4 函数返回值.......……………………………..…..……....…......………..150 6.3.5 传值与传址...………………………………..…….……....….....……...151 6.3.6 数组作为函数的参数的例子……………………….……....….....……...152 6.4 函数的嵌套........……………………………....…......…………………………...153 6.5 函数的递归………..…..………….…………...….......………………………...155 6.6 变量作用域和存储类别………..…..………………….…………………………160 6.6.1 局部变量和全局变量…….……….....…………………….……………..160 6.6.2 变量存储类别…..…..……....…......……………………….……………..161 6.7 使用库函数………..…..…………………………...……………………………162 6.8 程序举例………..…..……………………………………………...……………165 第七章 指针..…..……....…......……………………...………….………………...170 7.1 指针概念..…..……....…......………………………………….……………...170 7.2 指针变量的定义和使用..………….....…......………….……….………....172 7.3 指针与一维数组……......…......………………….……………………..….....175 7.3.1 一维数组的内存安排…......…………......….….…...…………..………..175 7.3.2 指向数组的指针运算...…………...…………….……….…………..…...176 7.3.3 下标法与指针法表示的等价性…….....…...…………………….………...178 7.3.4 程序举例……………….……………….………..…..……….……….....179 7.4 指针与函数……......…......…………….…………………………………..….....181 7.4.1 指针作为函数参数…......…………......….….……...…………..………..181 7.4.2 指针做为函数返回类型...…………...………….……….…………..…...184 7.4.3 动态内存分配与释放函数…….....…...…………......………….………...185 7.4.4 函数指针……………….……………….………..…..……….……….....187 7.5 指针数组、多级指针与指向一维数组的指针………….……………………..….....189 7.5.1 指针数组与多级指针…......…………......….….…...…………..………..189 7.5.2 二维数组与指向一维数组的指针...………….……….…………..…...191 7.5.3 二维数据的构造举例…….....…...……………......………….………...193 7.6 指针与字符串……......…......…………….…………………………………..….....194 7.6.1 字符串的内存安排…......…………......….….……...…………..………..194 7.6.2 字符串处理程序举例...…………...………….………….…………..…...196 7.6.3 多字符串的表示与处理…….....…...……………......………….………...198 7.6.4 程序举例……………….……………….………..…..……….……….....202 7.6.5 命令行参数…………….……………….………..…..……….……….....207 第八章 结构体、联合与枚举..……………......……………...…………....…........……....211 8.1 概述…..………………………....……........…………………...…........………....211 8.2 结构体类型定义………….........…..………………………………....…......…....211 8.3 结构体变量………….........………………………………………....…......…....212 8.3.1 结构体变量的定义…………………...………………....…....………....212 8.3.2 结构体变量的引用…………..…….………………………....…......…....214 8.3.3 结构体变量初始化………..……………………………………..……….215 8.4 结构体数组…………..…..…..…..…..……......……………………...…......…....216 8.4.1 结构体数组的定义………..…..……..……......………….…....…..…....216 8.4.2 结构体数组初始化与引用…………….......…..……………......…..…....217 8.4.3 结构体数组的输入和输出.………….....…………………....…....……...217 8.5 指向结构体类型数据的指针……..…..……....……………………...…......…....218 8.5.1 定义和初始化………..…..…..…..……………..………….…....…..…....219 8.5.2 用结构体指针引用结构体成员…………….......…………......…..…....219 8.5.3 指向结构体数组的指针.………….....…………………....……………...219 8.6 结构体与函数…………..…..…..…..…..…......……………………...…......…....221 8.6.1 向函数传递结构信息………..…..…..…..……………….…....…..…....221 8.6.2 结构体指针作为函数返回值…………….......…..…………......…..…....223 8.7 单链表……..……………………………........……………………...…......…....225 8.7.1 概述………..…..…..…..……………………......………….…....…..…....225 8.7.2 结点定义…………….......…………………………………......…..…....226 8.7.3 建立链表.………….....……………………………………....…....……...226 8.7.4 输出链表.………….....……………………………………....…....……...233 8.7.5 插入结点.………….....……………………………………....…....……...234 8.7.6 删除结点.………….....……………………………………....…....……...236 8.7.7 程序举例.………….....……………………………………....…....……...238 8.7.8 其他链表结构………….....…………………....………………….……...242 8.8 联合与枚举……..…..………………………....……………………...…......…....244 8.8.1 联合类型………..…..…..…………………......………….…....…..…....244 8.8.2 枚举类型…………….......…………………………………......…..…....246 8.8.3 复杂类型举例………….....………………………………....…....……...248 8.9 用typedef定义类型……..…..…........……………………………...…......…....250 第九章 文件…..…………………………......……………...…………....…........……....252 9.1 文件概述…..………..……………..…........…………………...…........………....252 9.2 文件打开和关闭..……….………………………......…………....…......………..252 9.3 文本文件的输入与输出….........…..………………………………....…......…....255 9.3.1 读写一个字符的函数…………..……………………....…....………....255 9.3.2 字符串读写函数…………..…..…………………………....…......…....256 9.3.3 格式化读写函数……………..…………....……………………...……...258 9.4 二进制文件的输入与输出…..…..…...….........……………………...…......…....261 9.5 其他文件库函数…..…..…...…................………........……………...…......…....264 9.5.1 文件的定位函数……….....…..…..…..……......………….…....…..…....264 9.5.2 出错监测函数…………….......…..…...………………………......……...265 第十章 预处理和位运算..…………………....……………...…………....…........……....267 10.1 预处理…..……………………..……........…………………...…........………....267 10.1.1 概述………..…..…..………………………......………….…....…..…....267 10.1.2 宏定义……..…..…..…..…………………......………….…....…..…....267 10.1.3 文件包含…..…..…..…..…………………......………….…....…..…....270 10.1.4 条件编译…..…..………..…………………......………….…....…..…....271 10.2 位运算………….........…..………………………………………....…......…....272 附录Ⅰ 常用ASCII码对照表…………………………………………………………….278 附录Ⅱ C语言的关键字表…......…………………...…………….…….….………….....279 附录Ⅲ C语言的运算符表.......…………………………...…………….……..……..…..280 附录Ⅳ C常用的库函数…......…....…………..……………………...….….…..…….....281 参考资料…......…....…………..…..…..…..…..…..…………………...….….…..…….....284
### 回答1: C语言大学教程第八版pdf是一本比较经典的C语言教材,主要内容包括C语言基础语法、指针、数组、结构体、函数、文件操作等方面的内容。该教材适合初学者和有一定编程基础的人进行学习和练习。 该教材采用了通俗易懂、图文并茂的讲解方式,对于初学者来说很友好。通过逐步深入的学习和实践,可以从实际中获取知识和经验,加深对C语言的理解和掌握。 此外,该教材还提供了一些比较实用的例子和练习题,帮助读者更全面地掌握C语言的应用,并培养编程思维和能力。同时,该教材也对一些可能出现的问题进行了详细的解答和说明,可以帮助读者更快地解决疑惑和困难。 总的来说,C语言大学教程第八版pdf是一本比较全面、详细以及实用的C语言教材,尤其适合初学者进行学习和练习。 ### 回答2: C语言大学教程第八版是一本详细的教材,适合初学者及有一定编程基础的人士学习。该教程主要涉及C语言的基础知识,例如数据类型、运算符、流程控制语句、函数、指针等,同时还介绍了一些高级特性,例如结构体、联合体以及文件操作等内容。这本教程通过实例演示、代码实践等方式,非常生动形象,有利于学生理解和掌握相关知识。 除此之外,该教程的作者在书中详细讲解了C语言的设计思路、运行机制和编程规范等,这些内容对学习者来说也非常有益,可以更好地帮助他们掌握C语言的风格和精神。此外,该教材还提供了丰富的习题和实验,可以帮助学生巩固所学知识,提高编程水平。 总之,C语言大学教程第八版是一本非常优秀的教材,对于希望学习编程的人来说是非常值得阅读的。通过学习该教材,学生可以全面掌握C语言的基础知识和高级特性,为之后学习其他编程语言打下坚实的基础。 ### 回答3: c语言大学教程第八版pdf是一本非常经典的c语言教材。该书在学习c语言方面有非常丰富的知识内容,从c语言的基础知识开始,配合大量简单易懂的示例,深入浅出地逐步讲解了c语言的各个方面,包括c语言的数据类型、变量、表达式、流程控制、数组、函数、指针等。同时,该书还涵盖了c语言的重要特性,如结构体、联合体及位域、高级指针、动态内存分配、文件操作等等。 此外,该书还提供了一些实战操作经验,为读者提供了从实战应用到深入了解c语言的完整过程。同时,该书也包含了许多练习题和答案,可以帮助读者更好地巩固知识,提高编程水平。 总的来说,c语言大学教程第八版pdf是一本经典而实用的c语言教材。它不仅可以作为学习c语言的入门教材,也可以为想要进一步掌握c语言的读者提供丰富的知识和实践经验。同时,它也是广大程序员必备的参考书之一,是不可多得的优秀的学习资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值