《C++语言程序设计百问百例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:吴卫华,张承虎,缪春池编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2008
  • ISBN:9787113091491
  • 页数:354 页
图书介绍:本书以问题解答和案例分析的独特形式,介绍了C++语言的基本语法,程序的结构和设计方法。

第1章 C++的初步知识 1

问1 C语言的特点有哪些 1

例1 编写一个函数getbits,实现从一个16位的单元中取出某几位 1

问2 C++的特点是什么 3

例2 类的声明 3

问3 什么是对象?如何声明一个对象 4

例3 对象的声明以及使用 4

问4 C++运行环境是怎样的 5

问5 什么是面向对象的程序设计 6

例4 一个最简单的C++程序 6

问6 在C++中,输入/输出操作是怎样处理的 8

例5 统计字符、数字的个数 8

问7 Flag和flag是否是同一标识符 9

问8 字符常量和字符变量有什么区别 9

问9 有哪两种定义常数的方法,它们有什么区别 9

例6 变量定义—求一个球体的表面积 10

第2章 数据类型与表达式 11

问10 C++有哪些数据类型 1

问11 C++语言中基本数据类型有哪些 11

例7 从键盘输入数据并进行计算处理 12

例8 用sizeof函数获取不同数据类型的长度 13

例9 求和 14

问12 C++语言如何表示不同进位计数制的整型常量 15

例10 进位计数制转换 15

问13 在C++中,如何定义符号常量 16

例11 从键盘输入半径,然后计算并输出球体的表面积与体积 16

问14 C++语言中如何表示字符型常量 17

例12 字符型常量的使用 18

问15 C++语言中为什么要使用转义字符 19

问16 C++语言中转义字符是如何表示的 19

例13 C++语言中转义字符的表示 20

问17 字符串常量与字符常量有何不同 21

问18 为什么表达式1/2的值为0 21

例14 表达式1/2的不同结果 21

问19 如何理解自增量/自减量运算符 22

例15 ++/--运算符的使用 23

问20 如何理解前增(减)量与后增(减)量运算符 24

例16 前增(减)量与后增(减)量运算符的使用 24

问21 如何计算表达式(x++)+(++x)+(x++) 26

问22 字符型与整型、浮点型数据为什么可以直接运算 26

例17 字符型数据与整型数据的直接运算 27

问23 如何理解表达式x=y=1 28

例18 表达式x=y=1和x=y==1的比较 28

第3章 程序设计初步 30

问24 什么是说明语句 30

问25 一个基本的C++程序包含哪些部分 30

例19 一个基本的C++程序 30

问26 C++语言的关系运算和逻辑运算是怎么样的 31

例20 关系运算和逻辑运算 31

问27 C++语言中三种基本程序结构是什么 33

问28 什么是顺序结构 33

问29 什么是选择结构 34

问30 什么是条件选择语句 35

例21 条件选择语句if应用实例 35

例22 分段函数值的计算 36

例23 计算任意三角形的面积 38

问31 什么是多路分支语句switch 40

例24 多路分支语句switch 40

例25 计算指定年份和月份的天数 42

例26 编制程序实现能完成简单加、减、乘、除、求余的运算器 44

问32 什么是循环结构 45

问33 什么是while型循环语句 46

例27 while型循环语句的使用 46

例28 累加和 47

例29 猴子吃桃子 48

问34 什么是do...while型循环语句 49

例30 do...while型循环语句的使用 49

例31 使用do...while循环结构计算n! 51

问35 什么是for型循环语句 52

例32 循环语句的使用 52

问36 如何理解for循环结构的多种省略写法 54

例33 for型循环语句 58

例34 输入10个分数,输出对应的评语 59

例35 水仙花数 61

例36 求数列之和 62

例37 素数的判定 62

例38 for循环的嵌套使用 63

例39 输出9×9乘法口诀表 65

例40 输出斐波纳契数列 66

例41 百钱买百鸡问题 67

例42 级数逼近问题 68

问37 循环语句中出现continue和break语句是什么意思 70

例43 continue语句使用举例 71

例44 break语句使用举例 72

问38 什么叫循环嵌套 73

例45 循环嵌套使用举例:输出1~100之间的素数 73

例46 求解积分问题 75

第4章 函数与预处理 78

问39 什么是函数 78

例47 函数定义 79

例48 函数声明和定义 79

问40 什么是函数的调用 80

例49 函数调用实例:编制函数求出圆的面积 80

问41 什么是函数的嵌套与递归调用 82

例50 函数的嵌套:编制程序,求两个整数的平方和 82

例51 汉诺塔游戏 83

问42 函数调用中的数据传递是怎么实现的 85

例52 传值过程 86

例53 传地址过程 87

例54 三种传递的比较 88

问43 函数可以嵌套定义和调用吗 90

问44 什么是函数的嵌套调用、递归调用 91

例55 函数的递归调用 91

例56 求n!的值 92

问45 什么叫局部变量 93

例57 局部变量使用实例 94

问46 什么叫全局变量 95

例58 全局变量使用实例 96

例59 求最大公约数和最小公倍数 97

问47 什么是动态存储变量 99

问48 什么是静态存储变量 99

例60 静态存储类别变量的使用 100

例61 几种变量的区别使用 101

例62 局部变量作用域实例 102

问49 什么是内部函数?什么是外部函数 104

例63 输入两个整数,在外部函数中计算并输出两数之和及差 104

问50 什么是默认参数 105

例64 使用默认参数 105

问51 什么是内联函数 107

问52 同一个文件中函数是否可以重名 107

例65 使用重载函数 107

问53 引用作为函数参数有什么用处吗 108

例66 对三个变量进行排序 109

例67 函数重载实例 110

问54 什么叫编译预处理&1 12

例68 奥赛罗游戏 112

第5章 数组 123

问55 为什么要使用“数组”这种数据结构 123

例69 计算1班“C++程序设计”期末成绩的平均分 123

问56 如何定义一个数组 125

问57 找出下列代码中的错误之处 126

问58 为什么在使用数组之前必须初始化 127

例70 在编译器中运行下列代码,并分析结果 127

问59 如何初始化一个一维数组 128

例71 将1~100这100个数依次存放到数组中 129

例72 数组操作 130

例73 二分查找 131

问60 如何初始化一个二维数组 133

例74 编程实现两个3×3矩阵的乘法 134

问61 C++中的字符串定义和使用方式是怎样的 136

例75 字符串基本操作示例 136

问62 如何初始化一个字符数组 137

例76 将一班学生的姓名存放到数组中 138

问63 '\0'有什么作用 139

例77 计算字符串的长度 139

问64 有哪些字符串处理函数 140

例78 从键盘输入字符串,并计算其中包含多少个字母 142

问65 数组如何作为函数参数传递 143

例79 用函数调用形式来实现数组元素的输入/输出功能 143

问66 数组有哪些具体应用 145

例80 从键盘输入学生的学号和成绩,按照成绩由高到低的顺序排列 145

第6章 指针 147

问67 什么是指针 147

例81 请运行下列代码,试分析结果 147

问68 如何为指针赋值 149

例82 找出下列代码中的错误之处 149

问69 指针有哪些运算方式 150

例83 利用指针来对数组元素输入/输出 150

例84 用函数指针数组实现用菜单来驱动函数调用的程序框架 152

问70 指针与数组之间有何关系 153

例85 输入10个整数,找出其中的最小值,用指针实现 154

例86 输出一个数组的地址和数值 155

例87 利用下标和指针两种方式输出数组值 156

问71 指针作为数组元素有何妙用 158

例88 设一班有6个学生,学了4门课,求每门课的平均分 158

问72 如何将指针作为函数参数传递 159

例89 输入三个整数,用指针实现按照由小到大的顺序输出 161

问73 如何理解指向指针的指针 162

例90 阅读下列程序,写出运行结果 163

问74 main函数的指针参数怎么使用 163

例91 执行下列可执行文件,查看在命令行输入“This is a test”的结果 164

问75 const指针应该如何使用 165

例92 指出下列程序的错误 165

问76 函数能够返回指针吗 166

例93 输入C语言考试成绩到数组中,找出最高分 166

问77 如何理解引用 168

例94 引用的使用 168

问78 函数的返回类型可以为引用吗 169

例95 返回引用的函数 170

问79 动态分配的内存用完后如何处理 171

第7章 自定义数据类型 172

问80 typedef声明的作用是什么 172

例96 typedef声明使用 172

问81 什么是枚举型数据类型 173

问82 枚举类型如何使用 174

例97 枚举类型数据的声明和使用 175

问83 什么是联合体 176

问84 如何使用联合体 177

例98 联合体定义及使用举例 177

问85 什么是结构体 179

问86 结构体如何使用 181

例99 结构体定义及使用之 183

例100 结构体定义及使用之二 184

问87 什么是结构体数组&1 85

例101 结构体数组应用实例 186

例102 计算学生总成绩并排序 187

问88 如何使用指向结构体的指针 190

例103 指向结构体的指针实例 190

问89 结构体变量是如何作为参数在函数之间进行传递的 191

例104 结构体变量作为参数传递实例 192

第8章 类和对象 194

问90 什么叫抽象 194

例105 抽象出的学生类 194

问91 什么叫封装 195

例106 建立一个包含封装概念的学生类 195

例107 数据的封装 196

问92 什么叫继承 197

例108 继承实例 197

问93 什么叫多态 198

例109 两个同名函数display的定义 198

问94 类是如何定义的 199

例110 定义一个学生的类 200

问95 什么是类的数据成员 201

例111 从结构体到类—数据成员示例 201

问96 什么叫类的成员函数 202

例112 将成员函数的声明和实现放在两个不同的文件中 203

问97 对象是什么 204

问98 类是如何定义的 206

问99 类的成员应该如何访问 206

问100 如何引用对象成员 207

例113 直接访问对象成员 207

例114 采用指针访问对象成员 208

问101 类的成员函数必须定义在类中吗 209

例115 一个简单的类基本操作实例 209

例116 对一个Time类,设计其前、后增量操作符 210

例117 Josephus问题 212

例118 编制一个九九乘法表 215

例119 栈的实现 216

问102 类的信息隐蔽是如何实现的 219

问103 什么是函数重载 219

例120 不同参数个数、不同数据类型的函数重载 219

问104 每个类都必须定义一个构造函数吗 220

例121 构造函数的使用 221

问105 析构函数是用来删除对象的吗 223

问106 友元关系有哪些特点 223

例122 友元成员函数实例 223

问107 什么是内联函数 225

例123 内联函数应用举例 226

第9章 构造函数与析构函数 228

问108 什么是构造函数 228

例124 构造函数实例之一 229

问109 用构造函数能够实现对象的初始化吗 232

例125 构造函数实例之二 232

问110 什么是析构函数 234

例126 定义一个带有析构函数的学生类 234

例127 析构函数设计举例 236

问111 如何使用复制构造函数 237

例128 复制构造函数的使用 238

问112 什么是静态数据成员 240

例129 在学生类中加入一个静态数据成员 240

问113 什么是静态成员函数 242

例130 在学生类中加入一个静态成员函数 243

例131 静态数据成员与静态成员函数的应用实例 244

问114 什么是对象指针 246

例132 指向具体对象的指针 248

例133 指向类成员的指针 249

例134 对象指针作为函数参数 250

问115 什么是this指针 252

例135 使用this指针交换两个实数 252

例136 this指针的隐式调用 254

问116 什么是友元 255

例137 友元函数举例 256

例138 使用友元函数计算线段距离 257

问117 什么是对象数组 258

例139 对象数组的初始化 259

例140 使用构造函数自动初始化 261

问118 什么是常引用?什么是常对象 263

例141 常引用作形参 263

问119 可以使用const修饰对象成员吗 264

例142 常数据成员与常成员函数的使用 264

第10章 运算符重载 266

问120 什么是运算符重载 26

例143 利用操作符重载实现分式的相乘 267

例144 重载成员函数 269

例145 通过友元函数重载 270

例146 运算符重载实现复数的加法 272

例147 运算符重载实现复数的减法 274

问121 重载运算符有哪些规则 276

例148 重载输入/输出运算符 277

第11章 继承与派生 280

问122 什么叫继承 280

问123 什么叫派生 280

例149 从person类派生出student类 281

例150 从点到面,失去了什么 283

例151 成员函数同名怎么办 284

问124 派生类的访问属性是怎样的 286

问125 什么叫公有继承 286

例152 公有继承的基本原理 286

例153 公有继承中基类和派生类的基本操作方式 289

问126 什么叫私有继承 291

例154 一个无法通过编译的私有继承 291

例155 修改后的私有继承操作 293

问127 什么叫保护继承 295

例156 类保护成员的使用 295

例157 保护继承实例 297

问128 派生类的构造函数是怎样的 298

例158 如何设计派生类的构造函数呢 298

例159 定义一个带构造函数的基数和派生类 301

问129 什么叫虚基类 303

例160 多重派生举例 303

问130 虚基类的构造函数是怎样的 304

例161 虚基类实例 304

例162 使用多重继承 307

第12章 多态性与虚函数 310

问131 什么叫多态性 310

例163 简单的多态实例 310

问132 什么叫虚函数 311

例164 基类和派生类同名函数 312

例165 用虚函数来实现 314

问133 定义虚函数有哪些注意事项 316

例166 计算正方形与长方形面积,并显示其尺寸与面积 316

问134 什么叫纯虚函数 318

例167 纯虚函数实例 318

问135 什么叫抽象类 320

例168 错误的抽象类使用 321

例169 修正后的实例 322

例170 灵活使用抽象基类的指针 325

例171 虚函数变实 326

第13章 输入/输出流 329

问136 什么是输入/输出流 329

例172 一个简单的输出语句程序 329

问137 如何使用标准输出流对象cout 331

例173 熟悉输入/输出流的用法 331

例174 使用流函数成员实现输出 333

例175 用put函数输出字符 334

问138 如何使用标准错误输出流对象cerr 335

例176 输入三角形的三边长,验证是否符合两边之和大于第三边的定理 335

问139 自定义格式输出是怎样的 336

例177 用不同进制输出数据 337

问140 如何用成员函数设置输出格式 338

例178 利用成员函数输出不同格式数据 339

问141 标准输入流cin是怎样的 340

例179 一个简单的输入程序 341

问142 如何使用cin的成员函数get() 342

例180 用三种get()函数读取数据 342

问143 如何使用cin的成员函数getline() 343

例181 用getline()函数读入数据 343

例182 使用istrstream和ostrstream实现数据输入与输出 344

例183 使用get()和put()复制整个文件 345

例184 控制输出精度 346

例185 设置对齐方式 347

例186 从文本文件读入文本数据 348

例187 在一个矩阵中找其中一个元素为-1的向量 349

例188 矩阵与竖向量的乘法 351