图书简介:
目 录
第1章 概述 1
1.1 语言的发展及特点 1
1.1.1 语言的发展 1
1.1.2 语言的特点 2
1.2 简单的语言程序介绍 3
1.2.1 简单的C程序分析 3
1.2.2 简单的C++程序分析 4
1.3 程序上机环境、步骤方法简介 5
习题 12
第2章 程序设计基础知识 13
2.1 基本字符、基本词汇 13
2.1.1 基本字符 13
2.1.2 基本词汇 13
2.1.3 常量和变量 14
2.2 数据类型 15
2.2.1 整型 16
2.2.2 字符型 18
2.2.3 实型 20
2.2.4 数据类型转换 21
2.3 运算符与表达式 22
2.3.1 算术运算符与算术表达式 22
2.3.2 赋值运算符与赋值表达式 24
2.3.3 逗号运算符与逗号表达式 25
2.3.4 关系运算符与关系表达式 26
2.3.5 逻辑运算符与逻辑表达式 26
2.3.6 条件运算符与条件表达式 27
2.4 数据的输入和输出 28
2.4.1 字符输入函数 28
2.4.2 字符输出函数 28
2.4.3 格式输入函数 29
2.4.4 格式输出函数 31
习题 33
第3章 程序设计基本结构 36
3.1 算法及算法描述方法 36
3.1.1 算法 36
3.1.2 算法描述方法 36
3.2 顺序结构 38
3.3 选择结构 39
3.3.1 if语句 39
3.3.2 switch语句 43
3.3.3 break语句 45
3.4 循环结构 45
3.4.1 while语句 46
3.4.2 do-while语句 47
3.4.3 for语句 48
3.4.4 goto语句 50
3.4.5 break语句和continue语句在循环体中的应用 50
3.4.6 循环的嵌套 51
3.5 应用举例 52
习题 55
第4章 函数 57
4.1 函数的概念 57
4.2 函数的定义 57
4.3 函数调用 58
4.3.1 普通调用 58
4.3.2 嵌套调用 62
4.3.3 递归调用 63
4.4 函数声明 64
4.5 变量的作用域 66
4.5.1 局部变量 66
4.5.2 全局变量 68
4.6 变量的存储类型 70
习题 73
第5章 编译预处理 76
5.1 文件包含 76
5.2 宏定义 77
5.2.1 无参宏 77
5.2.2 带参宏 79
5.3 条件编译 81
习题 82
第6章 数组 85
6.1 一维数组 85
6.1.1 一维数组的定义 85
6.1.2 一维数组的引用 85
6.1.3 一维数组的初始化 87
6.2 二维数组 87
6.2.1 二维数组的定义 87
6.2.2 二维数组的引用 87
6.2.3 二维数组的初始化 88
6.3 字符串及其操作 89
6.3.1 字符串与字符数组 89
6.3.2 字符串的输入与输出 90
6.3.3 字符串处理函数 94
6.4 应用举例 97
习题 101
第7章 指针 103
7.1 指针的概念 103
7.1.1 指针变量的定义 103
7.1.2 指针变量的引用 104
7.1.3 指针变量的初始化 104
7.1.4 指针变量的运算 104
7.2 指针与数组 106
7.2.1 指针与一维数组 106
7.2.2 指针与二维数组 108
7.3 指针与字符串 111
7.4 指针与函数 113
7.4.1 指针变量作为函数的参数 113
7.4.2 指针变量作为函数的返回值 114
7.4.3 指向函数的指针与指向指针的指针 115
习题 116
第8章 结构体、共用体和枚举型 118
8.1 结构体的定义与应用 118
8.1.1 结构体类型的定义 118
8.1.2 结构体变量的定义 119
8.1.3 结构体变量的引用与初始化 120
8.1.4 结构体数组 123
8.1.5 结构体指针 125
8.1.6 结构体与函数 127
8.2 链表 130
8.2.1 动态内存管理 130
8.2.2 链表概述 131
8.2.3 链表的基本操作 132
8.3 共用体 137
8.3.1 共用体类型与共用体变量的定义 137
8.3.2 共用体变量的引用和初始化 138
8.4 枚举类型 139
8.5 typedef类型声明 141
习题 142
第9章 文件 145
9.1 文件概述 145
9.2 文件的基本操作 145
9.2.1 文件的打开 146
9.2.2 文件的关闭 147
9.2.3 文件的读写操作 147
9.3 文件的定位 151
习题 152
第10章 面向对象技术与C++语言概述 155
10.1 面向对象技术 155
10.1.1 为什么要面向对象 155
10.1.2 面向对象程序设计的基本内容 156
10.2 C++语言对C语言的扩充 157
10.2.1 C++的输入/输出流 157
10.2.2 变量的定义 158
10.2.3 动态内存分配和释放运算符new和delete 158
10.2.4 作用域运算符:: 159
10.2.5 C++中函数新特性之一:函数重载 159
10.2.6 C++中函数新特性之二:内联函数 162
10.2.7 C++中函数新特性之三:函数原型 163
10.2.8 C++中函数新特性之四:带缺省参数的函数 163
10.2.9 引用 165
10.2.10 名字空间 168
10.2.11 const修饰符 169
10.3 类和对象的定义 170
10.3.1 类的定义 170
10.3.2 对象的定义 172
10.3.3 成员函数 173
10.3.4 对象成员的访问 175
10.3.5 this指针 176
10.4 构造函数和析构函数 177
10.4.1 构造函数 177
10.4.2 析构函数 183
10.5 对象数组和数组指针 184
10.5.1 对象数组 184
10.5.1 对象指针 185
10.6 静态成员 186
10.6.1 静态数据成员 186
10.6.2 静态成员函数 187
10.7 友元 187
10.7.1 友元函数 187
10.7.2 友元类 189
习题 190
附录I 常用字符与ASCII码对照表 194
附录II 运算符的优先级及其结合性 195
附录III 常用库函数 196
附录IV 习题参考答案 200
附录V 全国计算机等级考试二级C语言程序设计考试大纲 219
全国计算机等级考试二级公共基础知识考试大纲(2013年版) 219
全国计算机等级考试二级C语言程序设计考试大纲(2013年版) 220
参考文献 223
展开
前 言
随着计算机技术的不断发展,其适用的领域越加广泛,内容也越加丰富。对于从事计算机技术相关教育的工作者来说,其课程体系、教学内容、教学方法、教学手段上都需要不断地深化改革,与时俱进。在以解决实际问题为目标的工程应用教育中,更应紧密结合学生的培养目标,加强分析问题、解决问题实际应用能力的培养。
C语言和C++语言是目前世界上最实用也是最流行的计算机高级程序设计语言。这两种语言具有丰富的数据类型和运算功能,带有庞大的函数库和类库。C语言作为面向过程的程序设计语言具有很强的代表性,而在其基础上发展出来的面向对象的C++程序设计语言,极大的扩展了高级程序设计语言的适用范围。这两种语言自诞生以来即在程序员中得到了广泛的应用。
作为面向工程技术人员培养的教材,本书力求在内容编排和教学方法上有所创新和突破,让学生能够快速理解程序设计的基本概念,掌握高级程序设计语言的基本知识,树立程序设计的基本思想,并能够培养出程序设计的实际能力。
由于高级程序设计语言系统庞大,本书将教学过程分为三个阶段:第一阶段,通过第1章~第3章,学习高级程序设计的基础知识和面向过程程序设计的方法。第二阶段,通过第4章~第9章,学习如何用函数封装过程以及数组、指针、结构体等构造数据类型,丰富面向过程程序设计的方法。第三阶段,通过第10章,了解面向对象程序设计的思想和编程方法。
本教材结构清晰,知识完整。内容由浅入深,循序渐进。通过大量的例程与分析,不仅展示了知识点的应用,而且渗透出实际应用编程时的技巧。
本教材源于高等学校应用型人才培养的教学改革与实践,凝聚了工作在教学第一线任课教师的教学经验与研究成果。本书的第1章至第9章以及附录由蒋晶编写,第10章由赵卫滨编写,余永红负责本书的资料整理及校对工作。
由于编者水平有限,错误和疏漏之处在所难免,敬请广大读者提出宝贵意见,使之更臻成熟。任何批评和建议请发至:jiangjing@njupt.edu.cn。
编 者
2017年4月
展开