《C语言程序设计 慕课版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:徐国华,王瑶,侯小毛主编;王春红,马润,陈黎黎,王秀友副主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115450265
  • 页数:374 页
图书介绍:C语言概述、算法、数据类型、运算符与表达式、常用的数据输入/输出函数、选择结构程序设计、循环控制、数组、函数、指针、结构体和共用体、位运算、预处理、文件、存储管理、网络套接字编程、综合开发实例——趣味俄罗斯方块、课程设计——学生信息管理系统。

第1章 C语言概述 1

1.1 C语言的发展史 2

1.1.1 程序语言简述 2

1.1.2 C语言的历史 2

1.2 C语言的特点 3

1.3 一个简单的C程序 3

1.4 一个完整的C程序 5

1.5 C语言程序的格式 8

1.6 开发环境 9

1.6.1 Dev C++ 9

1.6.2 Visual C++6.0 13

小结 14

上机指导 15

习题 15

第2章 算法 16

2.1 算法的基本概念 17

2.1.1 算法的特性 17

2.1.2 算法的优劣 17

2.2 算法的描述 18

2.2.1 自然语言 18

2.2.2 流程图 19

2.2.3 N-S流程图 22

小结 24

上机指导 24

习题 24

第3章 数据类型 25

3.1 编程规范 26

3.2 关键字 26

3.3 标识符 27

3.4 数据类型 28

3.5 常量 29

3.5.1 整型常量 29

3.5.2 实型常量 31

3.5.3 字符型常量 32

3.5.4 转义字符 34

3.5.5 符号常量 35

3.6 变量 36

3.6.1 整型变量 36

3.6.2 实型变量 38

3.6.3 字符型变量 40

3.7 变量的存储类别 42

3.7.1 静态存储与动态存储 42

3.7.2 auto变量 42

3.7.3 static变量 43

3.7.4 register变量 43

3.7.5 extern变量 44

3.8 混合运算 45

小结 46

上机指导 46

习题 47

第4章 运算符与表达式 48

4.1 表达式 49

4.2 赋值运算符与赋值表达式 50

4.2.1 变量赋初值 51

4.2.2 自动类型转换 52

4.2.3 强制类型转换 52

4.3 算术运算符与算术表达式 53

4.3.1 算术运算符 53

4.3.2 算术表达式 54

4.3.3 优先级与结合性 55

4.3.4 自增/自减运算符 57

4.4 关系运算符与关系表达式 58

4.4.1 关系运算符 58

4.4.2 关系表达式 59

4.4.3 优先级与结合性 59

4.5 逻辑运算符与逻辑表达式 61

4.5.1 逻辑运算符 61

4.5.2 逻辑表达式 61

4.5.3 优先级与结合性 61

4.6 位逻辑运算符与位逻辑表达式 62

4.6.1 位逻辑运算符 62

4.6.2 位逻辑表达式 63

4.7 逗号运算符与逗号表达式 63

4.8 复合赋值运算符 64

小结 65

上机指导 67

习题 67

第5章 常用的数据输入/输出函数 68

5.1 语句 69

5.2 字符数据输入/输出 69

5.2.1 字符数据输出 69

5.2.2 字符数据输入 70

5.3 字符串输入/输出 72

5.3.1 字符串输出函数 72

5.3.2 字符串输入函数 73

5.4 格式输出函数 74

5.5 格式输入函数 78

5.6 顺序程序设计应用 81

小结 83

上机指导 83

习题 83

第6章 选择结构程序设计 85

6.1 if语句 86

6.2 if语句的基本形式 86

6.2.1 if语句形式 86

6.2.2 if...else语句形式 89

6.2.3 else if语句形式 92

6.3 if的嵌套形式 95

6.4 条件运算符 97

6.5 switch语句 99

6.5.1 switch语句的基本形式 99

6.5.2 多路开关模式的switch语句 103

6.6 if...else语句和switch语句的区别 104

6.7 选择结构程序应用 106

小结 108

上机指导 108

习题 109

第7章 循环控制 110

7.1 循环语句 111

7.2 while语句 111

7.3 do-while语句 112

7.4 for语句 114

7.4.1 for语句使用 114

7.4.2 for循环的变体 117

7.4.3 for语句中的逗号应用 119

7.5 3种循环语句的比较 120

7.6 循环嵌套 120

7.6.1 循环嵌套的结构 120

7.6.2 循环嵌套实例 122

7.7 转移语句 124

7.7.1 goto语句 124

7.7.2 break语句 125

7.7.3 continue语句 126

小结 127

上机指导 128

习题 128

第8章 数组 129

8.1 一维数组 130

8.1.1 一维数组的定义和引用 130

8.1.2 一维数组初始化 131

8.1.3 一维数组应用 134

8.2 二维数组 135

8.2.1 二维数组的定义和引用 135

8.2.2 二维数组初始化 136

8.2.3 二维数组应用 138

8.3 字符数组 141

8.3.1 字符数组的定义和引用 141

8.3.2 字符数组初始化 141

8.3.3 字符数组的结束标志 143

8.3.4 字符数组的输入和输出 144

8.3.5 字符数组应用 145

8.4 多维数组 146

8.5 数组的排序算法 146

8.5.1 选择法排序 146

8.5.2 冒泡法排序 148

8.5.3 交换法排序 150

8.5.4 插入法排序 152

8.5.5 折半法排序 154

8.5.6 排序算法的比较 156

8.6 字符串处理函数 157

8.6.1 字符串复制 157

8.6.2 字符串连接 158

8.6.3 字符串比较 160

8.6.4 字符串大小写转换 161

8.6.5 获得字符串长度 163

8.7 数组应用 164

8.7.1 反转输出字符串 164

8.7.2 输出系统日期和时间 165

8.7.3 字符串的加密和解密 166

小结 168

上机指导 168

习题 169

第9章 函数 170

9.1 函数概述 171

9.2 函数的定义 172

9.2.1 函数定义的形式 173

9.2.2 定义与声明 174

9.3 返回语句 177

9.3.1 从函数返回 177

9.3.2 返回值 178

9.4 函数参数 180

9.4.1 形式参数与实际参数 180

9.4.2 数组作函数参数 182

9.4.3 main函数的参数 187

9.5 函数的调用 188

9.5.1 函数的调用方式 188

9.5.2 嵌套调用 193

9.5.3 递归调用 195

9.6 内部函数和外部函数 197

9.6.1 内部函数 197

9.6.2 外部函数 198

9.7 局部变量和全局变量 200

9.7.1 局部变量 200

9.7.2 全局变量 203

9.8 函数应用 204

小结 210

上机指导 210

习题 211

第10章 指针 212

10.1 指针相关概念 213

10.1.1 地址与指针 213

10.1.2 变量与指针 214

10.1.3 指针变量 214

10.1.4 指针自加自减运算 218

10.2 数组与指针 219

10.2.1 一维数组与指针 219

10.2.2 二维数组与指针 223

10.2.3 字符串与指针 226

10.2.4 字符串数组 228

10.3 指向指针的指针 229

10.4 指针变量作函数参数 232

10.5 返回指针值的函数 240

10.6 指针数组作main函数的参数 242

小结 243

上机指导 243

习题 244

第11章 结构体和共用体 245

11.1 结构体 246

11.1.1 结构体类型的概念 246

11.1.2 结构体变量的定义 247

11.1.3 结构体变量的引用 248

11.1.4 结构体类型的初始化 250

11.2 结构体数组 251

11.2.1 定义结构体数组 251

11.2.2 初始化结构体数组 253

11.3 结构体指针 254

11.3.1 指向结构体变量的指针 255

11.3.2 指向结构体数组的指针 257

11.3.3 结构体作为函数参数 259

11.4 包含结构的结构 262

11.5 链表 263

11.5.1 链表概述 263

11.5.2 创建动态链表 264

11.5.3 输出链表 266

11.6 链表相关操作 268

11.6.1 链表的插入操作 269

11.6.2 链表的删除操作 270

11.7 共用体 274

11.7.1 共用体的概念 274

11.7.2 共用体变量的引用 274

11.7.3 共用体变量的初始化 275

11.7.4 共用体类型的数据特点 276

11.8 枚举类型 276

小结 278

上机指导 278

习题 279

第12章 位运算 280

12.1 位与字节 281

12.2 位运算操作符 281

12.2.1 “与”运算符 281

12.2.2 “或”运算符 283

12.2.3 “取反”运算符 284

12.2.4 “异或”运算符 285

12.2.5 “左移”运算符 287

12.2.6 “右移”运算符 288

12.3 循环移位 289

12.4 位段 292

12.4.1 位段的概念与定义 292

12.4.2 位段相关说明 293

小结 294

上机指导 294

习题 295

第13章 预处理 296

13.1 宏定义 297

13.1.1 不带参数的宏定义 297

13.1.2 带参数的宏定义 298

13.2 #include指令 299

13.3 条件编译 301

13.3.1 #if命令 301

13.3.2 #ifdef及#ifndef命令 304

13.3.3 #undef命令 305

13.3.4 #line命令 305

13.3.5 #pragma命令 306

小结 306

上机指导 307

习题 307

第14章 文件 308

14.1 文件概述 309

14.2 文件基本操作 309

14.2.1 文件指针 309

14.2.2 文件的打开 310

14.2.3 文件的关闭 310

14.3 文件的读写 311

14.3.1 fputc函数 311

14.3.2 fgetc函数 312

14.3.3 fputs函数 312

14.3.4 fgets函数 313

14.3.5 fprintf函数 314

14.3.6 fscanf函数 315

14.3.7 fread和fwrite函数 316

14.4 文件的定位 318

14.4.1 fseek函数 318

14.4.2 rewind函数 320

14.4.3 ftell函数 321

小结 322

上机指导 323

习题 323

第15章 存储管理 324

15.1 内存组织方式 325

15.1.1 内存的组织方式 325

15.1.2 堆与栈 325

15.2 动态管理 327

15.2.1 malloc函数 327

15.2.2 calloc函数 328

15.2.3 realloc函数 329

15.2.4 free函数 330

15.3 内存丢失 331

小结 332

上机指导 332

习题 333

第16章 网络套接字编程 334

16.1 内存组织方式 335

16.1.1 IP地址 335

16.1.2 OSI七层参考模型 335

16.1.3 地址解析 336

16.1.4 域名系统 337

16.1.5 TCP/IP 337

16.1.6 端口 339

16.1.7 套接字的引入 339

16.1.8 网络字节顺序 339

16.2 套接字概述 339

16.2.1 套接字概述 340

16.2.2 TCP的套接字的socket编程 340

16.2.3 UDP的套接字的socket编程 340

16.3 套接字函数 341

16.3.1 套接字函数介绍 341

16.3.2 基于TCP的网络聊天程序 345

小结 351

上机指导 352

习题 352

第17章 综合实例——学生信息管理系统 353

17.1 开发背景 354

17.2 开发环境需求 354

17.3 系统功能设计 354

17.4 预处理模块设计 354

17.4.1 模块概述 354

17.4.2 控制输出格式 355

17.4.3 文件引用 355

17.4.4 宏定义 355

17.4.5 函数声明 355

17.5 主函数设计 356

17.5.1 功能概述 356

17.5.2 实现主函数 356

17.5.3 显示主菜单 358

17.6 录入学生信息 358

17.6.1 模块概述 358

17.6.2 实现文件的打开和关闭功能 359

17.6.3 实现录入学生信息 360

17.7 查询学生信息 362

17.7.1 模块概述 362

17.7.2 查询没有记录的文件 363

17.7.3 查找并打印学生信息 363

17.8 删除学生信息 364

17.8.1 模块概述 364

17.8.2 实现删除学生信息 364

17.9 修改学生信息 366

17.9.1 模块概述 366

17.9.2 实现修改学生信息 367

17.10 插入学生信息 368

17.10.1 模块概述 368

17.10.2 实现插入学生信息 368

17.11 学生成绩排名 370

17.11.1 模块概述 370

17.11.2 使用交换排序法实现排序功能 371

17.11.3 实现学生成绩排名 371

17.12 统计学生总数 372

17.12.1 模块概述 372

17.12.2 实现统计学生总数 372

17.13 显示所有学生信息 373

17.13.1 模块概述 373

17.13.2 读取并显示所有学生信息 374

小结 374