封面
版权信息
作者简介
内容简介
前言
第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 使用主函数参数
更新时间:2024-12-27 19:46:59