《C语言程序设计实例解析》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:戴水贵,戴扬等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302176749
  • 页数:221 页
图书介绍:本书由浅入深地介绍了C语言程序设计中的典型实例,并给出了详细的分析与运行结果,可以帮助读者快速掌握相关内容。

第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

第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用二重循环显示图案1 24

3.2.2用循环显示图案2 25

3.2.3用循环显示图案3 25

3.2.4用循环显示图案4 26

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-while 67

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内存字符串复制函数memcpy 108

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+*+ n 131

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)[n]应用例 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用f scanf从文件读十进制数到变量 207

14.2.5将键盘输入的十六进制数写入文件 207

14.2.6用f scanf从文件读十六进制数到变量 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