展开全部

主编推荐语

一本全面介绍C语言的技术性书籍,帮你深入了解C语言的基础知识和高级特性,以及它在实际项目中的应用。

内容简介

全书共15章,首先通过清晰易懂的语言,深入浅出地解释了C语言的语法和编程原理,其次重点介绍了C语言的指针操作、内存管理、文件处理和模块化编程等关键概念。此外,本书还提供了丰富的实例,帮助读者加深对C语言的理解,并通过实践锻炼读者解决实际问题的能力。

本书适合作为高等院校计算机科学及相关专业的教材和教学参考书,也可作为职业开发人员的自学用书和参考手册。

目录

  • 版权信息
  • 作者简介
  • 内容简介
  • 前言
  • 第1章 初识C语言
  • 1.1 C语言的发明及发展
  • 1.2 C语言现状
  • 1.3 C语言开发环境的搭建
  • 1.3.1 下载Visual Studio
  • 1.3.2 安装Visual Studio
  • 1.3.3 激活Visual Studio
  • 第2章 C语言基础知识
  • 2.1 第一个C语言程序
  • 2.1.1 创建项目和源文件
  • 2.1.2 编写并运行程序
  • 2.1.3 新手常见错误
  • 2.2 函数
  • 2.2.1 主函数
  • 2.2.2 函数的概念
  • 2.2.3 自定义函数
  • 2.2.4 调用函数
  • 2.3 变量和常量
  • 2.4 printf函数和include命令
  • 2.4.1 printf函数
  • 2.4.2 include命令
  • 第3章 数据类型
  • 3.1 整型数据类型
  • 3.1.1 各种整型数据类型
  • 3.1.2 sizeof测量大小
  • 3.1.3 三位二进制的数值范围
  • 3.1.4 数值的补码表示法
  • 3.1.5 整型的数值范围
  • 3.1.6 无符号整型
  • 3.2 浮点数据类型
  • 3.2.1 float
  • 3.2.2 double
  • 3.2.3 浮点类型占用的空间大小
  • 3.3 变量
  • 3.3.1 变量命名规则
  • 3.3.2 初始化和赋值
  • 3.4 常量
  • 3.4.1 字面常量
  • 3.4.2 符号常量
  • 3.5 字符
  • 3.5.1 字符常量
  • 3.5.2 ASCII码
  • 3.5.3 字符变量
  • 3.5.4 字符串常量
  • 3.5.5 转义字符
  • 第4章 格式化输入和输出
  • 4.1 printf函数
  • 4.1.1 类型提升
  • 4.1.2 转换规范
  • 4.1.3 转换操作
  • 4.1.4 长度指示符
  • 4.1.5 精度
  • 4.1.6 最小字段宽度
  • 4.1.7 标志
  • 4.2 scanf函数
  • 4.2.1 Visual Studio安全报错
  • 4.2.2 scanf函数的使用公式
  • 4.2.3 scanf函数的匹配规则
  • 4.2.4 输入字符
  • 4.2.5 输入字符串
  • 第5章 运算符和表达式
  • 5.1 表达式
  • 5.2 运算符
  • 5.3 类型转换
  • 5.3.1 同类型运算
  • 5.3.2 不同类型运算
  • 5.3.3 自动类型转换
  • 5.3.4 整型运算丢失精度
  • 5.3.5 强制类型转换
  • 5.3.6 赋值造成的类型转换
  • 5.4 关系运算符
  • 5.4.1 大于(>)和小于(<)
  • 5.4.2 大于或等于(>=)和小于或等于(<=)
  • 5.4.3 等于(==)和不等于(!=)
  • 5.5 逻辑运算符
  • 5.5.1 逻辑或(||)和逻辑与(&&)
  • 5.5.2 逻辑非(!)
  • 5.5.3 运算符优先级
  • 第6章 控制流
  • 6.1 分支结构
  • 6.1.1 分支流程
  • 6.1.2 else关键字
  • 6.1.3 复合语句
  • 6.1.4 嵌套if语句
  • 6.1.5 else if语句
  • 6.1.6 条件运算符
  • 6.2 循环结构
  • 6.2.1 while循环
  • 6.2.2 for循环
  • 6.2.3 do-while循环
  • 6.2.4 循环嵌套
  • 6.3 break和continue
  • 6.3.1 break跳出循环
  • 6.3.2 continue开始新一轮循环
  • 6.3.3 使用break和continue
  • 6.3.4 循环嵌套中使用break和continue
  • 6.4 多重选择
  • 6.4.1 switch语句
  • 6.4.2 在switch中使用break
  • 6.4.3 连续转换程序
  • 6.4.4 break和continue的作用范围
  • 第7章 数组
  • 7.1 初识数组
  • 7.2 数组初始化
  • 7.3 访问数组元素
  • 7.3.1 遍历数组的循环
  • 7.3.2 小心数组越界
  • 7.3.3 不初始化数组会怎样
  • 7.4 数组占用空间大小
  • 7.5 数组赋值
  • 7.5.1 逐个元素赋值
  • 7.5.2 内存复制
  • 7.6 多维数组
  • 7.6.1 使用数组作为数组的元素
  • 7.6.2 二维数组
  • 7.6.3 实现更高维度的数组
  • 7.7 字符串与字符数组
  • 7.7.1 字符数组存储字符串
  • 7.7.2 字符串结尾标记'\0'
  • 7.7.3 字符数组的大小及长度
  • 7.7.4 修改字符数组
  • 7.7.5 从键盘输入字符串到字符数组中
  • 7.7.6 其他的输入和输出函数
  • 7.8 输入和输出缓存
  • 7.8.1 输出缓存区
  • 7.8.2 输入缓存区
  • 7.8.3 非标准的输入函数
  • 第8章 函数
  • 8.1 函数的定义
  • 8.2 函数的调用
  • 8.3 使用函数的意义
  • 8.3.1 计算三角形面积
  • 8.3.2 复用代码
  • 8.4 函数返回值
  • 8.5 函数声明
  • 8.6 形参与实参
  • 8.6.1 自动类型转换
  • 8.6.2 形参与实参相互独立
  • 8.6.3 不同函数的变量相互独立
  • 8.6.4 数组作为函数参数
  • 8.7 函数递归
  • 8.7.1 函数递归调用的示例
  • 8.7.2 正确的递归实现
  • 8.7.3 递推和回归
  • 8.7.4 用递归计算阶乘
  • 8.7.5 递归计算斐波那契数列
  • 8.8 调试代码
  • 8.8.1 调试模式与发布模式
  • 8.8.2 调试功能在Visual Studio中的运用
  • 第9章 指针
  • 9.1 指针基础
  • 9.1.1 内存和内存地址
  • 9.1.2 指针类型
  • 9.1.3 使用指针
  • 9.1.4 指针类型的大小
  • 9.1.5 指针类型转换
  • 9.1.6 指针基础例题
  • 9.2 指针运算
  • 9.2.1 指针与整型进行加减
  • 9.2.2 指针运算的应用
  • 9.2.3 同类型指针间的减法运算
  • 9.2.4 其他类型的指针运算
  • 9.2.5 指针运算例题
  • 9.3 指针和数组
  • 9.3.1 通过首元素获取数组首地址
  • 9.3.2 通过数组名获取数组首地址
  • 9.3.3 指针和数组的关系
  • 9.3.4 指针与数组例题
  • 9.4 指针作为函数参数传递
  • 9.4.1 将指针作为函数参数进行传递
  • 9.4.2 通用指针void *
  • 9.4.3 将数组作为函数参数进行传递
  • 9.4.4 将指针作为函数参数传递的例题
  • 9.5 多级指针
  • 9.5.1 指针的指针
  • 9.5.2 多级指针的应用
  • 9.5.3 多级指针例题
  • 9.6 指针数组
  • 9.6.1 定义、初始化和访问指针数组
  • 9.6.2 更复杂的例子
  • 9.6.3 指针数组例题
  • 9.7 函数返回指针
  • 9.7.1 从函数中返回多个变量
  • 9.7.2 函数返回指针例题
  • 9.8 指针和多维数组
  • 9.8.1 数组名的转换规则
  • 9.8.2 多维数组名和指针
  • 9.8.3 移动数组指针
  • 9.8.4 为数组指针取值
  • 9.8.5 指针访问与下标访问等价
  • 9.8.6 对数组名取地址
  • 9.8.7 数组指针的运用
  • 9.8.8 指针和多维数组例题
  • 9.9 指针和三维数组
  • 9.9.1 指针访问三维数组元素
  • 9.9.2 指针和三维数组例题
  • 9.10 声明器
  • 9.10.1 声明与使用形式统一
  • 9.10.2 函数声明器
  • 9.10.3 声明器中的优先级
  • 9.11 函数指针和数组
  • 9.11.1 函数指针
  • 9.11.2 使用函数指针
  • 9.11.3 函数指针数组
  • 9.11.4 函数指针的运用
  • 9.11.5 函数指针和数组例题
  • 第10章 字符串
  • 10.1 字符串和字符指针
  • 10.1.1 字符数组和指针
  • 10.1.2 使用指针处理字符串
  • 10.2 const关键字
  • 10.2.1 使用const修饰数组元素
  • 10.2.2 使用const修饰指针所指向的数据
  • 10.2.3 使用const修饰指针本身
  • 10.2.4 使用const修饰基本变量
  • 10.3 字符串处理函数
  • 10.3.1 strlen函数:获取字符串长度
  • 10.3.2 strcat函数:拼接字符串
  • 10.3.3 strcpy函数:复制字符串
  • 10.3.4 strcmp函数:比较字符串
  • 10.4 实现字符串处理函数
  • 10.4.1 mstrlen函数
  • 10.4.2 mstrcat函数
  • 10.4.3 mstrcpy函数
  • 10.4.4 mstrcmp函数
  • 第11章 复合数据
  • 11.1 结构化数据
  • 11.1.1 使用数组存储数据
  • 11.1.2 交互式程序
  • 11.1.3 数据聚合
  • 11.2 结构体
  • 11.2.1 结构体别名
  • 11.2.2 初始化结构体
  • 11.2.3 结构体数组
  • 11.2.4 嵌套结构
  • 11.2.5 指向结构体的指针
  • 11.2.6 结构体在函数中传递
  • 11.2.7 结构体例题
  • 11.3 联合体
  • 11.3.1 联合体的性质
  • 11.3.2 联合体的应用
  • 11.4 枚举
  • 第12章 作用域和预处理器
  • 12.1 标识符作用域
  • 12.1.1 块作用域
  • 12.1.2 函数作用域
  • 12.1.3 文件作用域
  • 12.2 预处理指令
  • 12.2.1 预处理指令的概念
  • 12.2.2 #define 预处理指令的用法
  • 12.2.3 带参数的#define
  • 12.2.4 宏函数的运算符
  • 12.2.5 取消宏定义
  • 12.3 typedef关键字
  • 12.3.1 typedef关键字的概念
  • 12.3.2 typedef和struct的关系
  • 12.3.3 typedef与#define的区别
  • 12.3.4 提高整型可移植性
  • 12.4 条件编译
  • 12.4.1 #if指令
  • 12.4.2 #else指令
  • 12.4.3 #elif指令
  • 12.4.4 #ifdef指令和#ifndef指令
  • 第13章 多文件代码和存储类别
  • 13.1 多文件代码
  • 13.1.1 预处理指令#include
  • 13.1.2 多文件代码
  • 13.2 更复杂的多文件代码
  • 13.2.1 多文件代码实现
  • 13.2.2 头文件守卫
  • 13.3 存储类别
  • 13.3.1 自动变量
  • 13.3.2 静态变量
  • 第14章 文件操作
  • 14.1 创建和写入文件
  • 14.1.1 fopen函数
  • 14.1.2 fprintf函数
  • 14.1.3 fclose函数
  • 14.1.4 文本模式与二进制模式
  • 14.2 读取文件
  • 14.2.1 fscanf函数
  • 14.2.2 fgetc函数
  • 14.2.3 判断文件状态
  • 14.2.4 fgets函数
  • 14.3 写入文件
  • 14.3.1 fputc函数
  • 14.3.2 fputs函数
  • 14.3.3 fflush函数
  • 14.3.4 文件偏移
  • 14.3.5 更新文件
  • 14.4 更多操作方式
  • 14.4.1 以二进制形式保存数据
  • 14.4.2 从文件中读取二进制数据
  • 第15章 位操作、动态内存管理和主函数参数
  • 15.1 位操作
  • 15.1.1 十进制转二进制
  • 15.1.2 十进制转二进制函数
  • 15.1.3 位运算符
  • 15.1.4 左移和右移
  • 15.2 动态内存管理
  • 15.2.1 变长数组
  • 15.2.2 申请内存空间
  • 15.2.3 释放内存空间
  • 15.2.4 从函数中返回指针
  • 15.3 主函数参数
  • 15.3.1 ping命令
  • 15.3.2 main函数参数
  • 15.3.3 使用主函数参数
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。