篇计算机程序设计C 语言
第1章C 编程入门
1.1C 程序设计语言简介
1.2C 语言下载和安装
1.3认识DevC 界面
1.4程序框架
1.5基础语法
1.5.1标识符
1.5.2C 的关键字
1.5.3常量和常变量
1.5.4变量
1.5.5变量类型
1.5.6typedef声明
1.5.7表达式书写
1.5.8输入/输出流
1.5.9scanf输入语句
1.5.10printf输出语句
1.6基础题目
1.6.1Hello World
1.6.2算术运算
1.6.3输入/输出运算
1.6.4交换两个变量的值
1.6.5用函数交换两个变量的值
第2章顺序结构
2.1顺序结构的定义
2.2基础题目
2.2.1计算面积
2.2.2表达式
2.2.3数字拆分
2.2.4计算售价
2.2.5立方与平方
2.2.6分钱游戏
2.2.7鸡兔同笼
2.3顺序结构习题
第3章选择结构
3.1选择结构的含义
3.1.1关系表达式
3.1.2逻辑表达式
3.1.3if 语句格式
3.1.4问号表达式
3.1.5switch语句
3.2选择结构例题
3.2.1两个整数求值
3.2.2三个整数求值
3.2.3三个数排序
3.2.4分段函数
3.2.5判断闰年
3.2.6四则运算
3.2.7征收税金
3.3选择结构习题
3.3.1邮件收费
3.3.2三角形面积
3.3.3重新排序
3.3.4运费
3.3.5成绩
3.3.6奖金
第4章循环结构
4.1for语句
4.2while循环结构
4.3dowhile循环结构
4.4break和continue语句
4.5循环的嵌套
4.6循环结构例题
4.6.1连续n个数
4.6.2求和
4.6.3打印单行
4.6.4打印矩形
4.6.5打印三角形
4.6.6值
4.6.7随机数
4.6.8斐波那契数列
4.6.9津津的储蓄计划(NOIP 2004 T1)
4.6.10数字反转
4.6.11角谷猜想
4.6.12金币
4.6.13画矩形
4.6.14第n小的质数
4.6.15交替
4.6.16四位数
4.6.17扑克牌
4.6.18质数
4.6.19公约数
4.6.20体操队
4.6.21倍数
4.6.22末两位
4.6.23尼科彻斯定理
4.6.24猜价格
4.6.25小公倍数
4.6.26截钢管
4.6.27成绩表
4.7习题
第5章数组
5.1一维数组
5.2访问数组
5.3多维数组
5.4数组例题
5.4.1统计个数
5.4.2总分及平均分
5.4.3成绩表
5.4.4约瑟夫问题
5.4.5素数基本筛法
5.4.6颜色球
5.4.7商店
5.4.8矩阵乘法
5.4.9扫雷游戏
5.4.10打印图形
5.4.11回形填数
5.4.12幻方
5.4.13工作效益
5.5数组习题
第6章字符串
6.1字符
6.2字符数组
6.3字符数组输入及输出
6.4字符串处理函数
6.5string类
6.6字符串例题
6.6.1列表
6.6.2数字之和
6.6.3Vigenere密码
6.6.4忽略大小写字符串比较
6.6.5ISBN号码
6.6.6回文串
6.6.7行程编码压缩算法
第7章函数与函数递归
7.1函数的定义
7.2函数的申明
7.3函数的三种参数传递方式
7.4数组作为函数参数
7.5inline()内联函数
7.6函数的递归
7.7函数与递归练习
7.7.1阶乘
7.7.2公约数
7.7.3汉诺塔
7.7.4全排列
7.7.5组合
7.7.6排列——括号配对
7.7.7组合例题
7.7.8螺旋矩阵
7.7.9匹配的矩阵
7.7.10回文质数
7.7.11铺骨牌问题
7.7.12集合划分问题
7.7.13计算交点数
第8章结构体与文件
8.1结构体
8.1.1什么是结构体
8.1.2结构体使用技巧
8.1.3经典例题
8.2文件输入和输出
8.2.1输入/输出重定向
8.2.2文件输入/输出流
8.2.3快速读入
第二篇基础数据结构及基础算法
第9章队列
9.1队列的定义
9.2顺序队列的基本运算
9.2.1一维数组实现队列数据元素的基本运算
9.2.2STL 中队列的定义及基本运算
9.3循环队列
9.4双端队列
9.5队列的应用
9.5.1排队问题
9.5.2的小岛
9.6队列练习
9.6.1小美的QQ号
9.6.2游乐园排队
9.6.3海港(NOIP 2016普及组)
9.6.4机器翻译(NOIP 2010提高组)
第10章栈
10.1栈的定义
10.2栈的基本运算
10.2.1用一维数组顺序存储的方式实现栈中数据元素的基本运算
10.2.2STL中栈的定义及其基本运算
10.3栈的基本模拟应用
10.3.1仓库商品数据分析
10.3.2洗盘子
10.4栈和递归
10.5栈练习
10.5.1括号匹配游戏
10.5.2表达式求值(NOIP普及组2013)
10.5.3表达式转换
第11章简单的排序
11.1冒泡排序算法
11.1.1车厢重组
11.1.2一劳永逸
11.2插入排序算法
11.2.1援手相助
11.3选择排序算法
11.3.1n个数排序
11.4排序小结
11.4.1分数线划定(NOIP 2009 普及组 第二题)
11.4.2明明的随机数(NOIP 2006 普及组 题)
11.5排序练习题
11.5.1成绩排序
11.5.2插入排序
11.5.3奖学金(NOIP 2007 普及组 题)
11.5.4双调序列
第12章顺序查找与二分查找
12.1顺序查找的思想
12.2二分查找的思想
12.3二分查找法例题
12.3.1二分查找法1
12.3.2二分查找法2
12.4二分查找法答案
12.5二分查找法答案例题
12.5.1木材分割
12.5.2跳石头(NOIP 2015)
12.6二分查找法总结
12.7二分查找法习题
12.7.1二分查找法3
12.7.2一元三次方程求解
12.7.3长上升子序列2
12.7.4打包
第13章枚举算法
13.1枚举算法简介
13.1.1枚举算法基础
13.1.2枚举算法框架结构
13.2枚举算法实例讲解
13.3枚举算法经典题目
13.3.1孙子算经
13.3.2截钢管
13.3.3水仙花数
13.3.4百鸡百钱问题
13.3.5求守形数
13.3.6网袋问题
13.3.7数字三角形
13.4枚举算法练习题
第14章贪心法
14.1贪心法基本思想
14.2贪心问题的性质
14.3贪心法例题
14.3.1活动安排问题
14.3.2均分纸牌
14.3.3多位数连接
14.3.4删数问题
14.3.5排队打水1
14.3.6排队打水2
14.3.7背包问题
14.3.8合并果子
14.4贪心法总结
14.5贪心算法练习
14.5.1矩阵取数
14.5.2线段覆盖
14.5.3混合牛奶
14.5.4游客分组
14.5.5加油问题
14.5.6纪念品分组(NOIP 2007 普及组)
14.5.7排座椅(NOIP 2008 普及组)
14.5.8旅行家的预算(NOIP 1999 提高组)
第15章递推
15.1基本思想
15.2递推与递归比较
15.3递推法分类及解决递推问题的一般步骤
15.4应用场景
15.5递推法练习题
15.5.1猴子吃桃子1
15.5.2猴子吃桃子2
15.5.3上楼梯问题
15.5.4切煎饼
15.5.5沙漠储油点
15.5.6实数数列(NOIP 1994)
15.5.7守望者的逃离
15.5.8栈
第16章常用库函数
16.1概念
16.2输入/输出函数
16.2.1C语言的基本输入/输出函数
16.2.2C 语言的基本输入/输出函数
16.3字符串处理函数
16.4算法函数
16.5数学函数
参考文献