内容简介
第1章 程序设计基础与编程规范
1.1 程序设计与编程工具
1.1.1 程序与程序设计的概念
1.1.2 为什么要学程序设计
1.1.3 为什么要学习C程序设计
1.2 程序的基本结构和要素
1.2.1 程序的基本结构
1.2.2 输入输出
1.3 程序设计一般方法
1.4 编程规范
1.4.1 为什么要遵守编程规范
1.4.2 编程规范的基本要求
1.4.3 标识符命名
1.4.4 缩进
1.4.5 空行
1.4.6 一行只写一条语句
1.4.7 if、for、while语句体加括号{}
1.4.8 每行只声明同一类变量
1.4.9 函数要先声明后定义
1.4.10 注释
1.4.11 函数返回类型与return语句不缺省
1.4.12 例1-1:鸡兔同笼
1.5 程序设计方法学
1.5.1 算法
1.5.2 算法的描述
1.5.3 程序流程图
1.5.4 算法的评价
1.6 提问的智慧
1.6.1 三思而后问——提问之前
1.6.2 提问的技巧
1.6.3 技术问题应全部公开
1.6.4 问题解决后
习题
第2章 数据类型与表达式
2.1 标识符与关键字
2.1.1 标识符及其命名规则
2.1.2 关键字
2.2 数据类型
2.3 变量
2.3.1 变量的概念
2.3.2 变量的声明
2.3.3 变量的赋值
2.3.4 例2-1:变量赋初值示例
2.3.5 变量的存储类型
2.3.6 const类型变量
2.4 常量
2.4.1 直接常量(字面量)
2.4.2 符号常量
2.4.3 例2-2:常量示例——已知价格和数量,计算总价
2.4.4 整型常量
2.4.5 浮点型常量
2.4.6 字符型常量
2.4.7 字符串常量
2.4.8 转义字符
2.5 ASCII表
2.5.1 ASCII编码规则
2.5.2 字符与ASCII码的运算
2.6 运算符
2.6.1 赋值运算符
2.6.2 算术运算符
2.6.3 数据类型强制转换
2.6.4 逻辑运算符
2.6.5 关系运算符
2.6.6 自增自减运算符
2.6.7 复合赋值运算符
2.6.8 条件运算符
2.6.9 逗号运算符
2.6.10 sizeof运算符
2.6.11 例2-3:sizeof操作符使用示例——输出常用数据类型字节数
2.6.12 运算符的优先级和结合性
2.7 表达式
2.7.1 表达式的概念
2.7.2 数据类型转化
2.8 语句
2.8.1 赋值语句
2.8.2 用逗号分隔开的声明语句
2.8.3 变量声明时赋值
习题
第3章 基本输入输出
3.1 标准输入输出函数
3.2 标准输入函数scanf()
3.3 标准输出函数printf()
3.3.1 格式输出中常用转义字符
3.4 输入输出函数的应用示例
例3-1:scanf()与printf()应用——圆面积、周长
习题
第4章 选择控制
4.1 顺序控制
例4-1:交换两变量的值
4.2 if选择控制语句
4.2.1 if单分支语句
4.2.2 例4-2:if单分支语句——成绩通过通知
4.2.3 if…else双分支语句
4.2.4 例4-3:if双分支语句——成绩是否通过判断
4.2.5 if…else if…else多分支语句
4.2.6 例4-4:if多分支语句——成绩等级转换
4.2.7 嵌套if语句
4.2.8 例4-5:嵌套if语句——闰年判断
4.3 switch…case语句
4.3.1 switch语句格式
4.3.2 例4-6:switch语句示例——成绩等级转换
习题
第5章 循环控制
5.1 循环控制语句
5.2 for语句
5.2.1 for语句的一般形式与使用说明
5.2.2 for循环注意事项
5.2.3 例5-1:for语句——计算1+2+3+…+100
5.3 while语句
5.3.1 while语句的一般形式
5.3.2 例5-2:while语句应用——计算1+2+3+…+n
5.4 do…while语句
5.4.1 do…while语句的一般形式
5.4.2 do…while循环的使用说明
5.4.3 例5-3:do…while语句应用——计算1+2+3+…+100
5.5 break语句
5.5.1 break语句使用说明
5.5.2 例5-4:break语句应用——计算1+2+…+100时从某项终止
5.6 continue语句
5.6.1 continue语句使用说明
5.6.2 例5-5:continue语句应用——求1+2+…+10时跳过某项
5.7 goto语句
5.7.1 goto语句的使用格式
5.7.2 例5-6:goto语句应用——求1+2+…+n大于1000的最小项n
5.8 选择语句、循环语句综合编程
5.8.1 例5-7:直角三角形图案输出
5.8.2 例5-8:等腰三角形图案输出
5.8.3 例5-9:空心矩形图案输出
5.8.4 例5-10:输出水仙花数
5.8.5 例5-11:素数判断
5.8.6 例5-12:计算ex=1+x+x2/2!+…+xn/n!
5.8.7 例5-13:斐波那契数列
习题
第6章 数组
6.1 一维数组
6.1.1 数组的概念
6.1.2 一维数组的声明
6.1.3 数组元素引用
6.1.4 例6-1:数组元素逆序输出
6.1.5 一维数组的初始化
6.1.6 例6-2:冒泡排序法
6.2 二维数组
6.2.1 二维数组的声明
6.2.2 二维数组的初始化
6.2.3 例6-3:矩阵转置
6.3 高维数组
习题
第7章 字符数组与字符串
7.1 字符数组
7.1.1 字符数组概念
7.1.2 字符数组的声明与赋值
7.1.3 例7-1:字符数组元素输出为ASCII码值
7.1.4 例7-2:字符数组结束标识
7.2 字符串
7.3 字符串输入输出函数
7.3.1 函数scanf()和printf()输入输出字符串
7.3.2 例7-3:scanf()和printf()函数输入输出字符串
7.3.3 函数gets()和puts()
7.3.4 例7-4:gets(),puts()函数应用示例
7.3.5 函数getchar()
7.3.6 例7-5:getchar()函数应用——将输入的字符串逆序输出
7.4 常用字符串函数
7.4.1 字符串长度函数strlen()
7.4.2 例7-6:strlen()函数示例——求字符串长度
7.4.3 字符串连接函数strcat()
7.4.4 例7-7:strcat()函数使用示例——连接字符串
7.4.5 字符串复制函数strcpy()
7.4.6 例7-8:strcpy()函数使用示例——字符串复制
7.4.7 字符串比较函数strcmp()
7.4.8 例7-9:strcmp()函数应用——口令系统
7.5 字符数组与字符串的区别
例7-10:字符数组与字符串区别示例
7.6 字符串数组
例7-11:字符串数组示例
习题
第8章 函数
8.1 函数概念
8.2 函数的定义
8.2.1 函数的定义格式
8.2.2 函数的声明和调用
8.2.3 例8-1:简单函数示例
8.2.4 函数嵌套调用
8.2.5 例8-2:函数的嵌套调用
8.3 函数参数的传递
8.3.1 形式参数和实际参数
8.3.2 变量作为函数参数
8.3.3 例8-3:函数参数传递
8.3.4 例8-4:函数的多参数传递
8.3.5 例8-5:函数的实参与形参同名
8.3.6 函数的返回值
8.3.7 例8-6:函数返回值——计算正方形面积
8.3.8 例8-7:输出区间[2,5000]上的第n个素数
8.3.9 例8-8:自定义判断素数头文件prime.h
8.3.10 例8-9:使用自定义头文件——孪生素数
8.4 递归函数
8.4.1 例8-10:递归函数——求阶乘n!
8.4.2 例8-11:递归函数——求1+2+3+…+n
8.5 变量作用域
8.5.1 作用域概念
8.5.2 局部作用域
8.5.3 例8-12:局部变量示例
8.5.4 全局作用域
8.5.5 例8-13:全局变量示例——输入半径求圆直径、周长、面积、体积
习题
第9章 指针
9.1 地址
9.1.1 地址的概念
9.1.2 变量与地址
9.1.3 例9-1:变量值与变量地址示例
9.1.4 数组与地址
9.1.5 例9-2:数组与地址示例
9.2 指针
9.2.1 指针的概念
9.2.2 例9-3:指针简单操作示例
9.2.3 指针运算
9.2.4 指向数组的指针
9.2.5 例9-4:指向数组的指针示例
9.2.6 指向字符串的指针
9.2.7 例9-5:指向字符串的指针——字符串小写字母变大写
9.2.8 指向函数的指针
9.2.9 例9-6:指向函数的指针——求两数中的最大数
9.2.10 双层指针与多层指针的概念
9.2.11 指向指针的指针
9.2.12 例9-7:指向指针的指针示例
9.2.13 指向二维数组的指针
9.2.14 例9-8:指向二维数组的指针示例
9.2.15 指向字符串数组的指针
9.2.16 例9-9:指向字符串数组的指针——大写字母变小写
9.3 函数参数的地址传递
9.3.1 指针作为函数参数
9.3.2 例9-10:指针作为函数参数示例
9.3.3 数组作为函数参数
9.3.4 例9-11:数组作为函数参数——数组元素乘10后输出
9.4 变量引用作为函数参数
9.4.1 引用的概念
9.4.2 例9-12:变量引用示例
9.4.3 例9-13:变量引用作为函数参数
习题
第10章 结构体
10.1 结构体的概念
10.2 结构体定义格式
10.3 结构体成员访问
例10-1:结构体应用——学生结构体
习题
第11章 文件
11.1 文件的概念
11.2 文件读写函数
11.2.1 文件流
11.2.2 文件FILE的数据结构
11.2.3 文件结构指针
11.2.4 文件的打开函数fopen()
11.2.5 关闭文件函数fclose()
11.2.6 文件的读写
11.2.7 例11-1:以字符形式读写文件操作示例
11.2.8 例11-2:以字符串形式读写文件操作示例
习题
附录A DevCPP的安装与使用
A.1 DevCPP简介
A.2 DevCPP软件安装
A.3 创建桌面快捷方式和任务栏快速启动方式
A.4 DevCPP的语言设置
A.5 DevCPP的工具条设置
A.6 第一个程序
A.7 DevCPP常用快捷键
附录B 程序的编辑与调试
B.1 程序的编辑
B.2 程序的编译
B.3 程序的运行
B.4 程序的基本调试方法
B.4.1 标准数据检验
B.4.2 程序跟踪
B.4.3 例B2-1:插入输出语句跟踪程序——冒泡排序法
B.4.4 边界检验
B.4.5 简化程序
B.5 DevCPP的跟踪调试功能
B.5.1 设置断点
B.5.2 调试
B.5.3 例B-2:DevCPP调试示例——循环中的变量
附录C ASCII表
附录D 运算符优先级与结合方向
参考文献