c语言程序设计实训教程刘涛夏启寿,C语言程序设计

作者:夏启寿\刘涛

责编:赵丽欣\郭丽娜

出版社:科学出版社

ISBN书号:978-7-03-036128-8

发行号:TP-6139.0101

出版日期:2013-1-11

定价:36

a4c26d1e5885305701be709a3d33442f.png

内容简介:

本书以“学生成绩管理系统”为主线,全面介绍了C语言基础知识、程序设计的基本方法和解决实际问题的技术。全书内容丰富,理论与实践相结合,注重培养读者的程序设计能力和良好的程序设计习惯。在编写过程中,编者力求做到概念清晰、取材合理、深入浅出、突出应用,使读者掌握程序设计的思想、方法和技术,具有利用C语言进行程序设计的能力和较强的计算机应用开发能力。全书内容包括C语言程序设计概述、数据类型、运算符与表达式、程序控制结构、函数与预处理、数组、指针、结构体与共用体、文件等。

本书既可作为高等院校本、专科学生学习C语言程序设计课程的教学用书,也可作为C语言自学者的参考书,同时还可作为全国计算机等级考试或水平考试C语言考试的教学用书或参考书。

前言

本书是《C

语言程序设计实训教程》(刘涛、夏启寿主编,科学出版社出版)的配套教学用书,由科学出版社组织多所高校教师和专家组成编委会,根据教育部高等学校计算机科学与技术教学指导委员会编制的《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求》组织编写的系列教材之一。

本书以“学生成绩管理系统”为主线,全面介绍了C语言基础知识、程序设计的基本方法和解决实际问题的技术。全书内容丰富,理论与实践相结合,注重培养读者的计算机程序设计能力和良好的程序设计习惯。在编写过程中,编者力求做到概念清晰、取材合理、深入浅出、突出应用,使读者掌握计算机程序设计的思想、方法和技术,具有利用C语言进行程序设计的能力和较强的计算机应用开发能力。为适应教学方式的变革,还编写了与本书配套的辅助教材《C语言程序设计实训教程》、课件、电子教案及相应的程序设计素材。

本书共8章,内容包括C语言程序设计概述、数据类型、运算符与表达式、程序控制结构、函数与预处理、数组、指针、结构体与共用体、文件等。本书吸收了同类教材的优点,章节安排由浅入深、循序渐进;突出编程案例的分析,通过案例分析使读者加深对C语言编程的基本原理、方法的掌握与理解;注重实践教学,每章均附有相应的实验,以期通过实践培养读者程序设计能力。

本书编者都是长期从事C语言程序设计课程教学的老师,在长期的教学工作中积累了丰富的经验,并且主编或参编过多本C语言教材。本书由黄海生主审,夏启寿、刘涛担任主编,任莉莉、杨利、潘韵、殷晓玲担任副主编,全书的编写得到胡学钢教授、王浩教授和科学出版社领导、编辑的大力支持以及许多高校从事C语言教学工作的同仁的关心和帮助,在此一并表示真诚的感谢。本书电子课件及案例源代码等相关教学资源可以从www.abook.cn下载。

由于编者水平有限,书中难免有不足之处,敬请广大读者批评指正,以便再版时修正。

目录

前言

第1章 概述 1

1.1 程序设计基本知识 1

1.1.1 程序与程序设计 1

1.1.2 算法及其描述 2

1.1.3 程序设计方法 9

1.2 C语言的发展与特点 10

1.2.1 C语言的发展 10

1.2.2 C语言的特点 10

1.3 C语言程序的基本结构 12

1.3.1 初识C语言程序 12

1.3.2 C语言程序的书写规则 13

1.4 开发环境简介 14

1.4.1 新建C程序 14

1.4.2 运行C语言程序 15

1.5 本书案例 17

小结 17

实验 18

第2章 数据类型、运算符与表达式 19

2.1 数据类型 19

2.1.1 基本数据类型 20

2.1.2 构造数据类型 23

2.1.3 其他数据类型 23

2.2 常量与变量 24

2.2.1 直接常量 24

2.2.2 宏常量和const常量 26

2.2.3 变量 28

2.3 运算符与表达式 33

2.3.1 运算符 34

2.3.2 表达式 50

2.3.3 类型转换 50

2.4 标准输入/输出 52

2.4.1 格式输出函数 53

2.4.2 格式输入函数 55

2.4.3 字符输入/输出函数 56

2.5 常用的标准数学函数 58

小结 59

实验 61

第3章 程序控制结构 62

3.1 程序的基本结构 62

3.2 语句 64

3.3 顺序结构 66

3.4 选择结构 67

3.4.1 if语句 67

3.4.2 switch语句 76

3.4.3 选择结构程序应用举例 79

3.5 循环结构 80

3.5.1 while语句 80

3.5.2 do…while语句 82

3.5.3 for语句 84

3.5.4 几种循环的比较 87

3.5.5 循环的嵌套 87

3.5.6 循环结构程序举例 89

3.6 流程的转移控制 91

3.6.1 goto语句 91

3.6.2 break语句 92

3.6.3 continue语句 94

3.6.4 exit()函数 95

3.7 结构化程序设计的核心思想 96

小结 96

实验 99

第4章 函数与预处理 100

4.1 分而治之与信息隐藏 100

4.2 函数的定义 101

4.2.1 函数的分类 101

4.2.2 函数的定义 103

4.3 向函数传递值和从函数返回值 106

4.3.1 函数调用 106

4.3.2 函数声明与函数原型 109

4.3.3 函数返回类型与返回值 111

4.4 函数的参数 113

4.4.1 形式参数与实际参数 113

4.4.2 值传递与地址传递 114

4.5 递归函数 115

4.5.1 递归的概念 116

4.5.2 程序举例 121

4.6 变量作用域和存储类别 123

4.6.1 变量作用域 124

4.6.2 变量存储类别 127

4.6.3 存储类别 131

4.7 预处理 132

4.7.1 文件包含 133

4.7.2 宏定义 135

4.7.3 条件编译 141

小结 144

实验 145

第5章 数组 147

5.1 数组概述 147

5.2 一维数组的定义、初始化及引用 148

5.2.1 一维数组的定义 149

5.2.2 一维数组的初始化 149

5.2.3 一维数组元素的引用 150

5.2.4 一维数组的应用 151

5.3 二维数组的定义、初始化及引用 154

5.3.1 二维数组的定义 154

5.3.2 二维数组初始化 155

5.3.3 二维数组元素的引用 156

5.3.4 二维数组的应用 157

5.4 多维数组 160

5.5 数组与函数 161

5.5.1 数组元素作为函数实参 161

5.5.2 数组名作为函数参数 162

5.6 统计、排序、查找和插入 168

5.6.1 统计 168

5.6.2 排序 170

5.6.3 查找 172

5.6.4 插入 176

5.7 字符数组 177

5.7.1 字符串与字符数组 177

5.7.2 字符数组的定义、初始化及引用 178

5.7.3 字符串输入和输出 180

5.7.4 字符数组应用举例 182

5.7.5 字符串处理函数 183

5.7.6 字符处理函数的应用 186

5.7.7 字符串数组 187

小结 190

实验 192

第6章 指针 194

6.1 指针的概念 194

6.1.1 地址与指针 194

6.1.2 指针的定义与初始化 195

6.1.3 指针的运算 197

6.2 指针与函数 202

6.2.1 指针作为函数的参数 202

6.2.2 函数返回指针 207

6.2.3 指向函数的指针 209

6.3 指针与数组 212

6.3.1 指针与一维数组的关系 212

6.3.2 指针与二维数组的关系 216

6.3.3 字符指针 221

6.3.4 指针数组 226

6.3.5 多级指针 231

6.4 动态内存分配 233

6.4.1 动态内存分配的含义 233

6.4.2 动态内存分配的步骤 233

6.4.3 常用的动态内存管理函数 234

小结 236

实验 239

第7章 结构体与共用体 241

7.1 结构体类型与结构体变量 241

7.1.1 结构体类型的定义 242

7.1.2 结构体变量的定义与初始化 243

7.1.3 结构体变量的引用 247

7.1.4 用typedef定义数据类型 251

7.2 结构体数组 252

7.2.1 结构体数组的定义 252

7.2.2 结构体数组的初始化 253

7.2.3 结构体数组的使用 254

7.3 结构体类型的指针 255

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

7.3.2 指向结构体数组元素的指针 257

7.4 结构体与函数 259

7.4.1 用结构体变量作为函数实参 259

7.4.2 结构体指针或结构体数组作为函数参数 260

7.4.3 结构体变量作为函数的返回值 262

7.5 共用体 263

7.5.1 共用体变量的定义和引用 265

7.5.2 共用体类型赋值及引用 266

7.5.3 共用体类型举例 267

7.6 动态数据结构 269

7.6.1 链表的定义 270

7.6.2 单向链表的建立 272

7.6.3 单向链表的删除操作 276

7.6.4 单向链表的插入操作 279

小结 282

实验 284

第8章 文件 285

8.1 文件概述 285

8.1.1 ASCII文件和二进制文件 285

8.1.2 缓冲文件系统和非缓冲文件系统 286

8.2 文件指针 287

8.3 常用文件操作的标准函数 288

8.3.1 文件的打开与关闭 288

8.3.2 文本文件的读写 290

8.3.3 二进制文件的读写 298

8.3.4 文件的随机访问与定位 302

8.3.5 文件使用举例 306

小结 310

实验 311

附录A C语言中的关键字 313

附录B 运算符的优先级及其结合性 314

附录C 常用ASCII码对照表 315

参考文献 317

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值