下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 编程语言 >C/C++ > 程序设计基础——C语言

程序设计基础——C语言

综合评级:★★★★★

定价:43.00

作者:金兰 梁洁

出版社:清华大学出版社

出版日期:2016年2月

页数:404

字数:583

ISBN:9787302424444

书籍介绍
C语言是国内外广泛使用的编程语言,已被大多数高等学校作为典型的计算机教学语言。本书分10章,内容包括:C语言概述,数制和基本数据类型,运算符和表达式、输入输出,控制结构,数组,函数,指针,结构体与共用体,文件,综合应用案例,以及4个附录。 本书深入浅出,例题丰富,侧重程序设计思维的构建和程序算法的分析与设计。本书采用“提出问题→算法分析→程序实现→说明归纳”的步骤组织教材内容,符合读者的认知规律,强化了算法的分析和设计,有助于帮助读者建立良好的思维模式,培养读者分析问题和解决问题的能力,掌握软件开发的工作原理和系统方法。本书中的典型程序一题多解,有助于新旧知识对比学习,融会贯通,启迪思维,拓展读者的程序设计能力和灵活运用的能力。 本书可作为高等学校各相关专业“程序设计基础”、“C语言程序设计”课程的教材,也可作为程序开发人员的培训教程,还可作为全国计算机等级考试、编程爱好者学习参考用书。 本书还特别为任课教师免费提供整套教学资源(电子课件、全部程序源代码和习题参考答案等),请从http://www.tupwk.com.cn/downpage下载。本书所配的相关上机环节指导书《程序设计基础上机指导—— C语言》,建议与本书配套使用。
相关课程
目录
目 录

第1章 C语言概述 1

1.1 计算机编程语言 1

1.1.1 机器语言 1

1.1.2 汇编语言 2

1.1.3 高级语言 3

1.2 第一个C程序 5

1.3 C程序的上机步骤 7

1.3.1 单文件的C程序的上机步骤 8

*1.3.2 多文件的C程序的上机步骤 11

1.4 C程序的调试 17

课后习题1 21

第2章 数制、基本数据类型 23

2.1 整数数制 23

2.1.1 十进制数 23

2.1.2 二进制数 23

2.1.3 八进制数 25

2.1.4 十六进制数 26

2.2 C程序常见符号分类 27

2.3 数据类型 29

2.3.1 为什么引入数据类型 29

2.3.2 类型修饰符 30

*2.3.3 C99标准中的新增类型 31

2.4 常量 32

2.4.1 整型常量 32

2.4.2 实型常量 33

2.4.3 字符常量 33

2.4.4 字符串常量 35

2.4.5 符号常量 35

2.4.6 枚举常量 36

2.5 变量 37

2.5.1 变量的声明与初始化 37

2.5.2 const类型修饰符 38

2.5.3 变量的类型 39

课后习题2 42

第3章 运算符和表达式、输入输出 45

3.1 算术运算符 45

3.2 赋值运算符 47

3.3 增1、减1运算符 48

3.4 关系运算符 49

3.5 逻辑运算符 50

3.6 条件运算符 52

3.7 强制类型转换运算符 52

3.8 逗号运算符 53

3.9 位运算符 54

3.10 sizeof运算符 56

3.11 类型转换 57

3.12 运算符的优先级和结合性 59

3.13 基本输入输出函数 60

3.13.1 字符输入输出函数 61

3.13.2 格式化输入输出函数 63

课后习题3 74

第4章 控制结构 78

4.1 算法及其描述方法 78

4.1.1 算法的概念 78

4.1.2 算法的描述方法 79

4.2 顺序结构 81

4.3 选择结构 83

4.3.1 if语句 84

4.3.2 switch语句 93

4.4 循环结构 102

4.4.1 while语句 103

4.4.2 do…while语句 105

4.4.3 for语句 108

4.4.4 三种循环控制语句的应用举例 111

4.4.5 循环的嵌套 116

4.4.6 提前结束循环 120

4.5 综合应用举例 123

课后习题4 130

第5章 数组 136

5.1 一维数组 136

5.1.1 一维数组的定义 136

5.1.2 一维数组的引用 137

5.1.3 一维数组的初始化 137

5.1.4 一维数组程序举例 139

5.2 二维数组 148

5.2.1 二维数组的定义 148

5.2.2 二维数组的引用 149

5.2.3 二维数组的初始化 150

5.2.4 二维数组程序举例 151

5.3 字符数组与字符串 155

5.3.1 字符数组的初始化 155

5.3.2 字符数组的输入/输出 157

5.3.3 字符串处理函数 158

5.3.4 字符数组和字符串程序举例 162

课后习题5 168

第6章 函数 172

6.1 函数的定义 175

6.1.1 函数的分类 176

6.1.2 函数的定义 176

6.2 函数的调用、参数和返回值 177

6.3 函数的声明 179

6.4 函数的嵌套调用 183

*6.5 函数的递归调用 185

6.5.1 递归问题的提出 185

6.5.2 递归函数 186

6.6 数组作为函数参数 190

6.6.1 一维数组作为函数参数 190

6.6.2 二维数组作为函数参数 192

6.7 变量的作用域与生存期 194

6.7.1 局部变量 194

6.7.2 全局变量 195

6.7.3 变量的存储类别 196

6.7.4 小结 201

6.8 内部函数和外部函数 202

6.8.1 内部函数 202

6.8.2 外部函数 202

6.9 预处理命令 204

6.9.1 宏定义 205

6.9.2 文件包含 209

6.9.3 条件编译 210

6.10 综合应用举例 212

课后习题6 219

第7章 指针 225

7.1 内存、地址和内容 225

7.2 指针与指针变量 226

7.2.1 指针变量的定义 226

7.2.2 指针变量的引用 227

7.2.3 指针变量作为函数参数 230

7.3 指针与数组 233

7.3.1 指向一维数组的指针 233

7.3.2 有关指针的运算 236

7.3.3 一维数组的指针作为函数参数 237

7.3.4 指向二维数组的指针 242

7.3.5 二维数组的指针作为函数参数 245

7.4 指针与字符串 248

7.4.1 指向字符串的指针变量 248

7.4.2 指向字符串的指针作为函数参数 249

7.4.3 字符数组与字符串指针变量的区别 252

7.5 指针与函数 253

7.5.1 返回指针值的函数 253

*7.5.2 指向函数的指针 255

7.6 指针数组 256

*7.7 指向指针的指针 259

*7.8 带参数的函数main() 261

7.9 动态内存分配 263

7.9.1 动态内存分配函数 263

*7.9.2 动态内存分配与变长数组 267

*7.10 ANSI C的类型限定词const 268

课后习题7 270

第8章 结构体与共用体 277

8.1 问题的引出 277

8.2 结构体类型和结构体类型

变量 279

8.2.1 结构体类型的声明 279

8.2.2 结构体类型变量的定义 280

8.2.3 结构体的嵌套 282

8.3 结构体类型变量的引用和初始化 283

8.4 结构体数组 285

8.5 结构体指针 288

8.5.1 指向结构体类型变量的指针 288

8.5.2 指向结构体数组的指针 289

8.6 结构体与函数 292

8.7 结构体综合应用实例 295

8.8 共用体 305

8.8.1 问题的引出 305

8.8.2 声明共用体类型和定义共用体类型的变量 305

8.8.3 共用体成员的引用 307

8.9 枚举类型 308

8.10 typedef 311

*8.11 链表 312

8.11.1 问题的引出 312

8.11.2 链表的定义和特点 313

8.11.3 链表的创建 313

8.11.4 链表的删除操作 318

8.11.5 链表的插入操作 320

课后习题8 324

第9章 文件 333

9.1 文件概述 333

9.1.1 什么是文件 333

9.1.2 文件名 334

9.1.3 文件的分类 334

9.1.4 文件缓冲区 335

9.1.5 文件指针 336

9.2 文件的打开与关闭 336

9.2.1 用fopen函数打开文件 336

9.2.2 用fclose函数关闭文件 338

9.3 文件的读写 339

9.3.1 读/写字符函数 339

9.3.2 读/写字符串函数 341

9.3.3 格式化读/写函数 343

9.3.4 读/写数据块函数 345

9.4 文件的定位 353

9.4.1 移动文件指针 353

9.4.2 获取文件读写位置 355

9.5 出错检测 356

课后习题9 357

第10章 综合应用案例——学生学籍管理系统 360

10.1 需求分析 360

10.2 总体设计 361

10.2.1 系统总体设计 361

10.2.2 数据结构 361

10.3 详细设计 362

10.3.1 系统包含的函数 362

10.3.2 各个功能模块的软件功能 362

10.3.3 各个功能模块的程序流程图和算法描述 363

10.4 编码实现 368

10.5 运行结果 376

课后习题10 379

附录A C关键字 382

附录B C运算符的优先级和结合性 383

附录C ASCII码字符表 384

附录D 常用的ANSI C标准库函数 388

参考文献 395

前言
前 言

程序设计基础的入门课程——C语言是目前广泛应用的程序设计语言之一。它具有功能强大、使用灵活、可移植性好的特点,同时兼备低级语言和高级语言的优点,可用于编写系统软件和应用软件。另外,C语言的语法规则清晰,便于掌握和记忆,因此适合作为大多数人学习计算机程序设计的入门语言。通过本书的学习,可以加深学生对计算机系统的认识;建立良好的计算机思维模式;培养学生模块化、结构化编程方法与技巧;训练学生运用计算机分析问题和解决问题的实践能力;熟练使用Visual C++ 6.0开发环境进行C语言编程、调试、运行等各个环节的基本操作,为今后进一步学习打下坚实的基础。

本书是作者在多年C语言教学、研究和实践积累的基础上,吸收国内外C语言程序设计课程的教学理念和方法,依据C语言程序设计课程教学大纲的要求编写而成的。

本书每一章都配备了大量的例题讲解,所有程序例题均在Visual C++ 6.0平台中调试通过。程序例题采用了“问题提出→问题分析→算法分析→程序实现→说明归纳”的步骤来讲解,符合读者的认知规律,对例题的重点难点位置强化算法的分析和设计,有助于建立读者良好的思维模式,培养读者分析问题和解决问题的能力。本书最后通过一个综合应用案例——学生学籍管理系统,按照软件工程的思想,沿着“需求分析→总体设计→详细设计→编码实现”的软件开发流程,完整地开展系统的分析设计与实现,有助于读者掌握软件开发的工作原理和系统方法。

全书共分为10章,具体内容如下:

第1章 讲述计算机编程语言的发展过程、在Visual C++ 6.0集成开发环境中编写和调试控制台程序的步骤和方法。

第2~3章 讲解数据类型、运算符和表达式的使用方法、基本输入输出函数的应用。

第4章 讲述运用三种基本的控制结构(顺序、选择和循环)进行编程的方法。

第5~6章 讲解数组和字符串的运用、函数的使用、变量的作用域与生存期、编译预处理命令。

第7~8章 讲解指针、结构体、共用体的使用方法和链表的相关操作。

第9章 讲解文件操作的标准库函数的应用。

第10章 完整讲解一个综合应用案例——学生学籍管理系统的分析设计与实现的全过程。

本书具有以下特色:

1. 实例丰富。本书不仅理论完备,还通过100多个实例夯实基础,100多个课后习题巩固练习,并通过分布在本书第6、8和10章的3个综合应用案例——学生成绩统计程序、学生成绩查询系统、学生学籍管理系统全面提升实战开发能力。

2. 一题多解。典型实例可采用多种算法来设计和实现,有助于新旧知识对比学习,融会贯通,启迪思维,拓展读者的程序设计能力和灵活运用能力。

3. 贴心提示。为了便于读者阅读,书中还穿插了一些说明、注意和思考等小贴士,体例约定如下:

“说明”:进一步阐述相关知识点的应用,力求规范、全面。

“注意”:指出学习过程中需要特别注意的一些知识点和内容,让读者加深印象。同时,还为读者提供建议及解决问题的方法。

“思考”:读者可利用课余时间独立思考、解决提出的问题,进一步深入学习训练。

4. 习题丰富。本书每章最后提供了大量习题,涵盖了每章知识的重难点内容。题型灵活多样,包括选择题、填空题、阅读程序填空题及编程题,方便读者课后巩固练习。

本书可作为高等学校各相关专业“程序设计基础”、“C语言程序设计”课程的教材,也可作为程序开发人员的培训教程,还可作为全国计算机等级考试、编程爱好者的学习参考用书。

本书还特别为任课教师免费提供整套教学资源(电子课件、全部程序源代码和习题参考答案等),请从http://www.tupwk.com.cn/downpage下载。本书还配有相关上机环节指导书《程序设计基础上机指导——C语言》(ISBN 978-7-302-42445-1),建议与本书配套使用。

本书的统稿工作由金兰负责,第1、2、3、4、5、7、10章及附录由金兰编写,第6、8章由梁洁编写,第9章由姚炜编写。在本书编写过程中,王育勤教授给予了诸多的鼓励和关心。书稿中例题和习题程序的调试过程,杨景莹和杨明等做了大量工作。本书在编写过程中得到了许多同行的帮助,还参阅了许多相关资料,在此衷心的感谢。因编者水平有限,书中难免会有疏漏和错误之处,恳请广大读者给予指正。

服务邮箱:wkservice@vip.163.com

编 者

热门图书
推荐新闻
技术文库
论坛推荐