《全国计算机等级考试实用应试教程 二级C语言程序设计 最新版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:姚昌顺,江家宝,吴婷编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121091209
  • 页数:394 页
图书介绍:本书紧扣最新版考试大纲,以高教版教程为基础,结合编者多年从事命题、阅卷及培训辅导的实际经验编写而成。章节主体部分是知识点的讲解,精讲重点与难点,并运用特殊标记对重要考点进行标识;讲解过程中穿插真题和典型例题,并给出详细的解析;章节末安排适量习题并提供解答。提供一章内容进行上机专题辅导。书末附有数套笔试模拟试卷及解析,供考生考前实战演练。

第1章 程序设计基本概念 1

1.1 程序和程序设计 2

1.1.1 C程序 2

1.1.2 程序设计 2

1.2 算法 3

1.3 结构化程序设计和模块化结构 4

1.3.1 结构化程序 4

1.3.2 模块化结构 5

1.4 典型例题分析 5

1.4.1 经典例题分析 5

1.4.2 历年真题详解 7

1.5 过关练习与答案 7

1.5.1 过关练习 7

1.5.2 参考答案 7

第2章 C程序设计的初步知识 9

2.1 简单C语言程序的构成和格式 10

2.2 常量、变量和标识符 11

2.2.1 标识符 11

2.2.2 常量 13

2.2.3 变量 13

2.3 整型数据 14

2.3.1 整型常量 14

2.3.2 整型变量 14

2.3.3 整型数据的分类 15

2.3.4 整数在内存中的存储形式 15

2.4 实型数据 15

2.4.1 实型常量 16

2.4.2 实型变量 16

2.5 算术表达式 17

2.5.1 基本的算术运算符 17

2.5.2 运算符的优先级、综合性和算术表达式 18

2.5.3 强制类型转换表达式 18

2.6 赋值表达式 18

2.6.1 赋值运算符和赋值表达式 19

2.6.2 复合的赋值表达式 19

2.6.3 赋值运算中的类型转换 20

2.7 自增、自减运算符和逗号运算符 20

2.7.1 自增运算符(++)和自减运算符(--) 20

2.7.2 逗号运算符和逗号表达式 21

2.8 典型例题分析 21

2.8.1 经典例题分析 21

2.8.2 历年真题详解 23

2.9 过关练习与答案 26

2.9.1 过关练习 26

2.9.2 参考答案 27

第3章 顺序结构 29

3.1 赋值语句 30

3.2 数据输出 30

3.2.1 printf函数的一般调用形式 30

3.2.2 printf函数中常用的格式说明 30

3.2.3 调用printf函数时的注意事项 33

3.3 数据输入 33

3.3.1 scanf函数的一般调用格式 33

3.3.2 scanf函数中常用的格式说明 34

3.3.3 通过scanf函数从键盘输入数据 34

3.4 复合语句和空语句 35

3.4.1 复合语句 35

3.4.2 空语句 36

3.5 程序举例 36

3.6 典型例题分析 37

3.6.1 经典例题分析 37

3.6.2 历年真题详解 39

3.7 过关练习与答案 40

3.7.1 过关练习 40

3.7.2 参考答案 42

第4章 选择结构 43

4.1 关系运算和逻辑运算 44

4.1.1 C语言中的逻辑值 44

4.1.2 关系运算符和关系表达式 44

4.1.3 逻辑运算符和逻辑表达式 45

4.2 if语句和其构成的选择结构 46

4.2.1 if语句 46

4.2.2 嵌套的if语句 48

4.3 条件表达式构成的选择结构 50

4.4 switch语句及其与break语句构成的选择结构 51

4.4.1 switch语句 51

4.4.2 switch的执行过程 52

4.5 语句标号和goto语句 54

4.5.1 语句标号 54

4.5.2 goto语句 55

4.6 典型例题分析 55

4.6.1 经典例题分析 55

4.6.2 历年真题详解 58

4.7 过关练习与答案 61

4.7.1 过关练习 61

4.7.2 参考答案 64

第5章 循环结构 65

5.1 while语句和其构成的循环结构 66

5.1.1 while循环的一般形式 66

5.1.2 while循环的执行过程 66

5.2 do...while语句和其构成的循环结构 67

5.2.1 do...while语句构成的循环结构 67

5.2.2 do...while循环的执行过程 67

5.3 for语句和其构成的循环结构 68

5.3.1 for语句构成的循环结构 68

5.3.2 for循环的执行过程 69

5.3.3 有关for语句的说明 69

5.4 循环结构的嵌套 71

5.5 break和continue语句在循环体中的作用 73

5.5.1 break语句 73

5.5.2 continue语句 74

5.6 程序举例 75

5.7 典型例题分析 77

5.7.1 经典例题分析 77

5.7.2 经典例题分析 82

5.8 过关练习与答案 85

5.8.1 过关练习 85

5.8.2 参考答案 89

第6章 字符型数据 91

6.1 字符型常量 92

6.1.1 字符常量 92

6.1.2 转义字符常量 92

6.1.3 字符串常量 93

6.1.4 可对字符量进行的运算 93

6.2 字符变量 94

6.3 字符的输入和输出 94

6.3.1 调用printf和scanf函数输出输入字符 94

6.3.2 调用putchar和getchar函数输出和输入字符 95

6.4 程序举例 96

6.5 典型例题分析 97

6.5.1 经典例题分析 97

6.5.2 历年真题详解 99

6.6 过关练习与答案 100

6.6.1 过关练习 100

6.6.2 参考答案 102

第7章 函数 103

7.1 库函数 104

7.2 函数的定义和返回值 105

7.2.1 函数的定义方法 105

7.2.2 函数的返回值 106

7.3 函数的调用 107

7.3.1 函数的两种调用方式 107

7.3.2 函数调用时的语法要求 107

7.4 函数的说明 108

7.4.1 函数说明的形式 108

7.4.2 函数说明的位置 108

7.5 调用函数和被调用函数之间的数据传递 109

7.6 程序举例 110

7.7 典型例题分析 112

7.7.1 经典例题分析 112

7.7.2 历年真题解析 114

7.8 过关练习与答案 118

7.8.1 过关练习 118

7.8.2 参考答案 120

第8章 指针 121

8.1 变量的地址和指针 122

8.2 指针变量的定义和指针变量的基类型 123

8.3 给指针变量赋值 124

8.3.1 给指针变量赋地址值 124

8.3.2 给指针变量赋“空”值 125

8.4 对指针变量的操作 125

8.4.1 通过指针来引用一个存储单元 125

8.4.2 移动指针 127

8.4.3 指针比较 128

8.5 函数之间地址值的传递 128

8.5.1 形参为指针变量时与实参之间的数据传递 128

8.5.2 直接改变调用函数中变量值的方法 128

8.5.3 函数返回地址值 129

8.6 典型例题分析 130

8.6.1 经典例题分析 130

8.6.2 历年真题解析 133

8.7 过关练习与答案 134

8.7.1 过关练习 134

8.7.2 参考答案 136

第9章 数组 137

9.1 一维数组的定义和一维数组元素的引用 138

9.1.1 一维数组的定义 138

9.1.2 一维数组元素的引用 139

9.1.3 一维数组的初始化 139

9.1.4 通过赋初值定义数组的大小 140

9.1.5 一维数组的定义和数组元素引用举例 140

9.2 一维数组和指针 140

9.2.1 一维数组和数组元素的地址 140

9.2.2 通过数组的首地址引用数组元素 141

9.2.3 通过指针及带下标的指针变量引用一维数组元素 141

9.2.4 指针变量的运算 142

9.3 函数之间对一维数组和数组元素的引用 143

9.3.1 数组元素做实参 143

9.3.2 数组名作实参 143

9.3.3 数组元素地址作为实参 144

9.3.4 函数的指针形参和函数体中数组的区别 145

9.4 一维数组应用举例 145

9.5 二维数组的定义和二维数组元素的引用 149

9.5.1 二维数组的定义 149

9.5.2 二维数组元素的引用 149

9.5.3 二维数组的初始化 150

9.5.4 通过赋初值定义二维数组的大小 150

9.6 二维数组和指针 151

9.6.1 二维数组和数组元素的地址 151

9.6.2 通过地址来引用二维数组元素 151

9.6.3 通过建立一个指针数组来引用二维数组元素 152

9.6.4 通过建立一个行指针来引用二维数组元素 152

9.7 二维数组名和指针数组作为实参 153

9.7.1 二维数组名作为实参和形参之间的数据传递 153

9.7.2 指针数组作为实参时和形参之间的数据传递 153

9.8 二维数组应用举例 153

9.9 典型例题分析 156

9.9.1 经典例题分析 156

9.9.2 历年真题详解 160

9.10 过关练习与答案 165

9.10.1 过关练习 165

9.10.2 参考答案 168

第10章 字符串 169

10.1 用一个一维字符数组来存放字符串 170

10.1.1 字符串的相关概念 170

10.1.2 通过赋初值的方式给一维字符数组赋字符串 170

10.2 使指针指向一个字符串 172

10.2.1 通过赋初值的方式使指针指向一个字符串 172

10.2.2 通过赋值运算使指针指向一个字符串 172

10.2.3 字符串用数组存储和用指针指向时的区别 172

10.3 字符串的输入和输出 173

10.3.1 输入和输出字符串时的必要条件 173

10.3.2 字符串的输入 173

10.3.3 字符串的输出 174

10.4 字符串数组 174

10.5 用于字符串处理的函数 175

10.6 字符数组和字符串应用举例 177

10.7 典型例题分析 179

10.7.1 经典例题分析 179

10.7.2 历年真题详解 185

10.8 过关练习与答案 186

10.8.1 过关练习 186

10.8.2 参考答案 190

第11章 对函数的进一步讨论 191

11.1 传给main函数的参数 192

11.2 通过实参向函数传递函数名或指向函数的指针变量 192

11.3 函数的递归调用 194

11.4 函数的嵌套调用 196

11.5 典型例题分析 197

11.5.1 经典例题分析 197

11.5.2 历年真题详解 199

11.6 过关练习与答案 200

11.6.1 过关练习 200

11.6.2 参考答案 202

第12章 C语言中用户标识符的作用域和存储分类 203

12.1 局部变量、全局变量和存储分类 204

12.1.1 用户标识符的作用域 204

12.1.2 局部变量、全局变量和存储分类 204

12.2 局部变量及其作用域和生存期 206

12.2.1 auto变量 206

12.2.2 register变量 206

12.2.3 静态存储类型的局部变量 207

12.3 全局变量及其作用域和生存期 207

12.3.1 全局变量的作用域和生存期 207

12.3.2 在同一编译单位内用extern扩展全局变量作用域 208

12.3.3 在不同编译单位内用extern扩展全局变量作用域 209

12.3.4 静态全局变量 209

12.4 函数的存储分类 209

12.4.1 用extern说明函数 210

12.4.2 用static说明函数 210

12.5 典型例题分析 210

12.5.1 经典例题分析 210

12.5.2 历年真题详解 212

12.6 过关练习与答案 213

12.6.1 过关练习 213

12.6.2 参考答案 215

第13章 编译预处理和动态存储分配 217

13.1 编译预处理 218

13.1.1 宏替换 218

13.1.2 文件包含 220

13.2 动态存储分配 220

13.2.1 malloc函数和free函数 221

13.2.2 calloc函数 221

13.3 典型例题分析 222

13.3.1 经典例题分析 222

13.3.2 历年真题详解 224

13.4 过关练习与答案 225

13.4.1 过关练习 225

13.4.2 参考答案 226

第14章 结构体和共用体 227

14.1 用typedef说明一种新类型名 228

14.2 结构体类型 228

14.2.1 结构体类型的说明 229

14.2.2 结构体类型的变量定义 230

14.2.3 结构体类型变量的引用 231

14.2.4 结构体类型变量的赋值和初始化 231

14.2.5 结构体类型数组的定义和赋值 232

14.2.6 结构体指针变量 233

14.2.7 通过结构体变量构成链表 236

14.3 共用体 239

14.3.1 共用体类型的说明和变量定义 239

14.3.2 共用体变量的引用 240

14.4 典型例题分析 242

14.4.1 经典例题分析 242

14.4.2 历年真题详解 245

14.5 过关练习与答案 248

14.5.1 过关练习 248

14.5.2 参考答案 253

第15章 位运算 255

15.1 位运算符 256

15.2 位运算符的运算 257

15.3 典型例题分析 259

15.3.1 经典例题分析 259

15.3.2 历年真题详解 260

15.4 过关练习与答案 260

15.4.1 过关练习 260

15.4.2 参考答案 261

第16章 文件 263

16.1 C语言文件的概念 264

16.2 文件指针 265

16.3 打开文件 265

16.4 关闭文件 266

16.5 调用getc(fgetc)和putc(fputc)函数进行输入输出 267

16.6 判断文件结束函数feof 268

16.7 fscanf函数和fprintf函数 269

16.8 fgets函数和fputs函数 269

16.9 fread函数和fwrite函数 270

16.10 文件定位函数 272

16.10.1 fseek函数 272

16.10.2 ftell函数 272

16.10.3 rewind函数 273

16.11 典型例题分析 273

16.11.1 经典例题分析 273

16.11.2 历年真题详解 276

16.12 过关练习与答案 277

16.12.1 过关练习 277

16.12.2 参考答案 280

第17章 上机指导 281

17.1 上机考试简介 282

17.2 上机考试环境 282

17.2.1 上机考试的软硬件环境 282

17.2.2 考试时间 282

17.2.3 考试步骤 282

17.2.4 光盘上机操作使用说明 284

17.3 常考题型提炼 285

17.3.1 数的转换与计算 285

17.3.2 数列与级数求和 287

17.3.3 矩阵运算 290

17.3.4 数组运算 293

17.3.5 排序 296

17.3.6 字符串运算 297

17.3.7 链表处理 300

17.3.8 其他 304

17.4 过关练习与答案 306

17.4.1 过关练习 306

17.4.2 参考答案 309

第18章 笔试全真模拟试题与解析 311

18.1 笔试全真模拟试题 311

18.1.1 笔试模拟试题一 311

18.1.2 笔试模拟试题二 317

18.1.3 笔试模拟试题三 325

18.2 笔试全真模拟试题参考答案与解析 332

18.2.1 笔试模拟试题一参考答案与解析 332

18.2.2 笔试模拟试题二参考答案与解析 334

18.2.3 笔试模拟试题三参考答案与解析 337

第19章 上机全真模拟试题与解析 341

19.1 上机全真模拟试题 341

19.1.1 上机全真模拟试题(一) 341

19.1.2 上机全真模拟试题(二) 343

19.1.3 上机全真模拟试题(三) 344

19.2 上机全真模拟试题参考答案及解析 346

19.2.1 上机全真模拟试题(一)参考答案及解析 346

19.2.2 上机全真模拟试题(二)参考答案及解析 347

19.2.3 上机全真模拟试题(三)参考答案及解析 347

附录A 2009年3月真题与解析 349

附录B 2008年9月真题与解析 363

附录C 2008年4月真题与解析 377

附录D 常考算法 391