第1章 简单而完整的C程序1
1.1 只有主程序的小程序1
1.1.1 输出字符图案1
1.1.2 整型数求和2
1.1.3 两个实数交换位置2
1.2 有主程序和子程序的小程序2
1.2.1 函数的定义和使用2
1.2.2 主程序和函数3
第2章 不同类型数的表示范围及补码的计算方法5
2.1 不同类型数的表示范围5
2.1.1 无符号数制的表示范围5
2.1.2 有符号数制的表示范围6
2.2 十进制、二进制、八进制和十六进制及输出符7
2.2.1 十进制、二进制、八进制和十六进制及输出符7
2.2.2 65535的十进制、二进制、八进制和十六
进制及输出符9
2.3 补码概念及有符号数溢出所导致的错误结果9
2.3.1 补码的概念9
2.3.2 数的表示范围10
2.3.3 有符号数(int)溢出所导致的错误结果11
2.3.4 有符号数(long)溢出所导致的错误结果11
2.3.5 负数的不同输出结果12
2.3.6 有符号数(char)溢出所导致的错误结果12
2.4 十进制数、八进制数和十六进制数的表示方法13
2.4.1 八进制数和十六进制数的表示方法13
2.4.2 八进制数和十六进制数及字符输出13
2.5 不同格式符和转义符的使用13
2.5.1 实型数和指数输出13
2.5.2 用不同格式符输出整型数14
2.5.3 用不同格式符输出实型数14
2.5.4 格式符的使用15
2.5.5 格式符%s的使用15
2.5.6 赋值抑制符的使用15
2.5.7 不同格式符的使用方法16
2.5.8 转义符\\和%的使用16
2.5.9 转义符\\的使用17
C语言程序设计实例解析目录 第3章 for循环19
3.1 一重循环的定义和应用19
3.1.1 一重循环的通常用法19
3.1.2 不要改变循环变量的值20
3.1.3 用循环计算1+2+3+…+100的值20
3.1.4 用循环计算2+4+…+100的值20
3.1.5 用循环计算1+3+5+…+99的值21
3.1.6 用循环计算 10!21
3.1.7 输出ASCII字符21
3.1.8 用循环计算1+2+3+…+100的值(用+=运算符)22
3.1.9 用循环计算1+2+3+…+100的值(将i放入循环)22
3.1.10 用循环计算1+2+3+…+100的值(将i和sum放入循环)23
3.1.11 矩形法求定积分23
3.1.12 梯形法求定积分24
3.2 二重循环的定义和应用24
3.2.1 用二重循环显示图案124
3.2.2 用循环显示图案225
3.2.3 用循环显示图案325
3.2.4 用循环显示图案426
3.2.5 用ASCII字符画一个矩形27
3.2.6 用 ASCII 字符画表格27
3.2.7 输出乘法表28
3.2.8 输出矩阵29
3.2.9 穷举法例一29
3.2.10 穷举法例二30
3.2.11 穷举法例三30
3.2.12 判质数31
3.2.13 三角函数的计算32
第4章 不同类型数据的混合计算及一些常用运算符33
4.1 符号常量的定义和不同类型数的自动转换33
4.1.1 求圆的周长33
4.1.2 不同类型的自动转换34
4.1.3 不同类型数据由低往高转换34
4.2 字符和数字的互相转换35
4.2.1 输出数值或ASCII码字符35
4.2.2 整型值和ASCII码字符间的互相转换36
4.2.3 字符和数据的输出36
4.3 赋值运算符的使用36
4.3.1 赋值运算符的使用一37
4.3.2 赋值运算符的使用二37
4.4 printf语句中表达式的计算38
4.4.1 printf语句中表达式的计算例一38
4.4.2 printf语句中表达式的计算例二38
4.5 ++、--运算符和逗号表达式39
4.5.1 ++和--运算符39
4.5.2 逗号表达式的使用一39
4.5.3 逗号表达式的使用二40
4.6 数学函数的使用40
4.6.1 数学函数计算40
4.6.2 三角函数的计算41
第5章 数据输入与输出43
5.1 putchar()和getchar()的应用43
5.1.1 putchar ()应用一43
5.1.2 putchar ()应用二44
5.1.3 getchar ()和putchar ()应用一44
5.1.4 getchar ()和putchar ()应用二44
5.1.5 getchar ()和putchar ()应用三45
5.1.6 getchar ()和putchar ()应用四45
5.2 printf语句和格式符46
5.2.1 输出符和输出位数的控制及左右对齐46
5.2.2 %c格式符的使用46
5.2.3 %s格式符的使用47
5.2.4 float 的有效位数和double 的有效位数47
5.3 scanf语句和格式符48
5.3.1 scanf语句的应用一48
5.3.2 scanf语句的应用二49
5.3.3 求圆的面积和球的体积49
第6章 分支语句程序设计51
6.1 if-else 语句和(a>b)?a: b语句51
6.1.1 if-else语句应用一51
6.1.2 if-else语句应用二52
6.1.3 if-else语句应用三53
6.1.4 if-else语句应用四53
6.1.5 将三个实型数从小到大排序54
6.1.6 字符串加密(把字符变为下一个字符)55
6.1.7 将小写字符转换成大写字符55
6.1.8 从三个数中找出最大数56
6.1.9 实型数和指数输出56
6.2 一个等号“=”和两个等号“==”在if语句中的应用56
6.2.1 if (a=b)的执行56
6.2.2 if (a==b)的执行57
6.3 逻辑运算符“&&”和“‖”在if语句中的应用58
6.3.1 if ( (a=b) && (c=b) )的执行步骤一58
6.3.2 if ( (a=b) && (c=b) )的执行步骤二58
6.3.3 if ( (a=b) ‖ (c=b) )的执行步骤一59
6.3.4 if ( (a=b) ‖ (c=b) )的执行步骤二59
6.4 continue语句和break 语句60
6.4.1 continue 语句结束本次循环(不终止整个循环)60
6.4.2 continue 语句应用60
6.4.3 break 语句退出循环(终止整个循环)61
6.4.4 break语句退出一重循环(不退出外循环)61
6.5 switch语句和else if语句的综合应用62
6.5.1 switch语句62
6.5.2 switch语句的应用62
6.5.3 else if和switch应用63
6.5.4 判断闰年(方法一)64
6.5.5 判断闰年(方法二)64
6.5.6 求一元二次方程的根65
第7章 循环语句while和do-while67
7.1 while语句67
7.1.1 while 语句的应用一67
7.1.2 while语句的应用二68
7.1.3 while语句的应用三68
7.1.4 while语句的应用四69
7.1.5 输出Fibonacei数列69
7.1.6 用二分法求方程的根70
7.2 do-while语句70
7.2.1 do-while 语句的应用一70
7.2.2 do-while 语句的应用二71
7.2.3 do-while语句的应用三71
7.2.4 用迭代法求方程的根72
第8章 工程文件的使用方法73
8.1 extern的应用73
8.1.1 用extern扩展变量的作用域73
8.1.2 调用外部函数74
8.1.3 计算A的n次方(供调用)74
8.1.4 用extern将另一个文件的函数包含到本程序中74
8.1.5 从键盘输入字符串(供调用)75
8.1.6 将字符转成大写(供调用)75
8.1.7 输出字符串(供调用)75
8.2 建立工程文件76
8.2.1 两个数比较大小76
8.2.2 两个数比较大小(供调用)76
8.2.3 用include包含文件76
第9章 数组79
9.1 一维数组的定义和应用79
9.1.1 一维数组的定义79
9.1.2 一维数组各元素赋值输出80
9.1.3 随机数产生函数80
9.1.4 产生随机数赋给数组81
9.1.5 找出最小数并与第一个数交换位置81
9.1.6 产生 Fibonacei 数列82
9.1.7 用键盘输入给数组赋值82
9.1.8 选择法排序83
9.1.9 冒泡法排序84
9.2 二维数组的定义和应用85
9.2.1 二维数组的定义85
9.2.2 矩阵加法86
9.2.3 矩阵的转置(方法一)87
9.2.4 矩阵的转置(方法二)88
9.2.5 找出二维数组中最大和最小值并给出下标位置89
9.2.6 输出菱形图90
9.2.7 二维数组各元素赋值输出90
9.2.8 成绩表计算和输出(用普通方法)91
9.2.9 按成绩排序并输出名次94
9.2.10 插入排序95
9.2.11 折半查找96
9.2.12 分别求矩阵各行元素、各列元素和所有元素之和97
9.2.13 杨辉三角98
9.2.14 矩阵乘法99
9.3 三维数组的定义和应用100
9.3.1 三维数组的赋值100
9.3.2 三维数组的部分赋值101
9.4 三维数组的指针表示102
9.4.1 用指针表示三维数字数组103
9.4.2 三维数组字符串输出104
9.4.3 三维字符串数组的指针表示104
第10章 字符串处理和数字串与数之间的转换107
10.1 字符串处理107
10.1.1 字符串复制函数strcpy ()的内部细节107
10.1.2 内存字符串复制函数memcpy108
10.1.3 字符串连接函数 strcat ()的内部细节109
10.1.4 自编字符串比较函数 strcmp () 110
10.1.5 输出三个字符串中的最大串111
10.2 字符串查找和数字串与数之间的转换112
10.2.1 strstr () 、 strchr ()和itoa ()函数112
10.2.2 memset ()函数113
10.2.3 统计字符串里单词的个数114
10.2.4 将数字串转为相应的整数输出114
10.2.5 将ASCCII数字串转成整型和长整型数115
第11章 函数117
11.1 函数调用中的地址调用和值调用117
11.1.1 三个数比较大小(值调用)117
11.1.2 函数中的同名变量(值调用)118
11.1.3 函数的形参为数组变量(地址调用)118
11.1.4 函数的形参为指针变量(地址调用)119
11.1.5 用函数编写选择法排序119
11.1.6 将两个数交换位置(值调用)120
11.1.7 将两个数交换位置(地址调用)121
11.1.8 写一个函数实现矩阵转置122
11.1.9 折半查找123
11.1.10 从字符串中删除某个字符124
11.1.11 将两个串连接成一个串125
11.1.12 函数嵌套调用126
11.1.13 成绩表计算和输出(交换用函数)126
11.2 递归调用129
11.2.1 递归调用例129
11.2.2 用递归计算n!130
11.2.3 用递归计算1+2+3+…+n131
11.2.4 汉诺塔问题131
11.2.5 用递归法将一个整型数转换成字符串132
11.3 全局变量、外部变量、局部变量和静态变量133
11.3.1 利用全局变量计算长方体的体积及三个面的面积133
11.3.2 利用外部变量计算长方体的体积134
11.3.3 外部变量应用例135
11.3.4 定义外部变量(供程序调用)135
11.3.5 局部变量例一135
11.3.6 局部变量例二136
11.3.7 局部变量例三136
11.3.8 不同函数间的局部变量名相同137
11.3.9 静态变量137
11.3.10 静态变量例一138
11.3.11 静态变量例二138
11.3.12 静态变量例三139
11.3.13 静态变量例四140
第12章 指针143
12.1 一维数组的指针表示144
12.1.1 指针应用例144
12.1.2 用递归和指针将字符串倒显144
12.1.3 一维数组指针的应用145
12.1.4 将数组中的数头尾互换146
12.1.5 不同类型的指针变量146
12.1.6 不同类型指针变量的应用147
12.1.7 函数中的形参为数组变量(地址调用)148
12.2 指针的指针(二级指针)148
12.2.1 指针的指针(二级指针)的应用一148
12.2.2 指针的指针(二级指针)的应用二150
12.3 指针在函数中的应用151
12.3.1 用函数实现两个数交换位置151
12.3.2 用函数将数组中的数逆序153
12.3.3 函数、指针和地址调用例154
12.4 二维数组的指针表示155
12.4.1 二维数组的指针表示例155
12.4.2 二维数组的输出156
12.5 n列数组指针变量157
12.5.1 n列数组指针变量 int (p) \应用例158
12.5.2 返回地址的函数159
12.6 字符数组与字符指针160
12.6.1 字符数组与字符指针的应用160
12.6.2 二维字符数组应用例一161
12.6.3 二维字符数组应用例二162
12.6.4 编写字符串复制函数(形参用数组)163
12.6.5 编写字符串复制函数(形参用指针)163
12.6.6 编写字符串复制函数(函数中用strcpy) 164
12.6.7 将两个字符串交换位置(形参和实参均用数组)164
12.7 字符串指针数组165
12.7.1 字符串指针数组的初始化与输出165
12.7.2 字符串索引排序(交换串地址)166
12.7.3 字符串排序(交换串位置)167
12.8 函数指针169
12.8.1 函数指针的应用169
12.8.2 用函数指针求定积分170
第13章 结构体和共用体173
13.1 结构体与指针174
13.1.1 用普通方法将学生的成绩表排序174
13.1.2 用结构体将学生的成绩表排序175
13.1.3 结构体变量各成员的初始化177
13.1.4 结构体数组的定义和初始化177
13.1.5 结构体与指针178
13.1.6 结构体数组和结构体指针的应用179
13.1.7 结构体与函数179
13.1.8 将两个结构体中的内容交换180
13.1.9 成绩表计算和输出(用结构体)181
13.1.10 模拟电子钟183
13.1.11 输入年、月、日,计算出是一年中第几天184
13.1.12 输入同年两个日期(年、月、日), 计算出两个日期间的天数185
13.1.13 用typedef 定义新类型186
13.2 链表187
13.2.1 链表的创建与输出187
13.2.2 删除链表中结点189
13.2.3 在链表中插入结点191
13.2.4 链表的综合应用194
13.3 共用体197
第14章 文件199
14.1 ASCII文件的读写200
14.1.1 文件的打开与关闭200
14.1.2 将字符写入文件200
14.1.3 文件复制201
14.1.4 文本文件加解密201
14.1.5 将字符串写入文件203
14.2 二进制文件的读写204
14.2.1 将学生成绩表以二进制方式写入文件204
14.2.2 读二进制文件并显示205
14.2.3 将键盘输入的十进制数写入文件206
14.2.4 用fscanf从文件读十进制数到变量207
14.2.5 将键盘输入的十六进制数写入文件207
14.2.6 用fscanf从文件读十六进制数到变量208
14.2.7 将程序运行结果写入文件208
14.2.8 从文件读出程序运行结果209
第15章 图形编程211
15.1 画图211
15.1.1 用画线函数画一矩形211
15.1.2 画圆212
15.1.3 画矩形条213
15.1.4 画三维矩形条213
15.1.5 根据点坐标序列画连线214
15.1.6 画并填充椭圆215
15.1.7 画点215
15.2 显示图形文本216
15.2.1 设置背景色216
15.2.2 设置背景色、前景色和显示文本217
15.2.3 显示文本218
15.2.4 文本放大、水平和垂直显示218
15.2.5 获取最大色数和显示模式219
15.2.6 格式化信息串220
本书特色222