当前位置:主页 > 课后答案 > c++语言习题答案
c++语言基础教程

《c++语言基础教程》课后习题答案

  • 更新:2021-05-21
  • 大小:378 KB
  • 类别:c++语言
  • 作者:吕凤翥
  • 出版:清华大学出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书是作者在多年从事 C++语言教学的基础上编写的。书中总结了教学中的经验和教训,并针对学生在学习过程中遇到的困难和提出的问题进行讲解。本书第1版出版以来,已被多所学校作为教材,印数逾20万册。为更好地满足教学需求,根据读者建议及教学实践,作者对本书第1版进行了认真的修订,删去了一些不必要的内容,增加了函数模板和类模板等新内容。本书的特点是: 通俗易懂,适于自学;由浅入深,便于理解;概念明确,语言简洁;例题丰富,内容全面;重点突出,难点详解。

本书较全面、系统地讲述了 C++语言的基本概念和编程方法。通过学习本书,读者能够正确理解 C++语言中面向对象的方法,基本掌握 C++语言中的词法、语法,并且可以达到使用 C++语言编写简单程序的目的。

本书第2版继承了第1版的章节结构,共分9章。前4章讲述了 C++语言的基本词法和语法规则,包括字符集、词法规则、程序结构、运算符和表达式、各类语句、函数格式和调用方式、作用域及存储类等内容。在这些内容中, C++语言只是对C语言中的相应内容进行一些改进和补充,与C语言的内容很相近。第5~8章讲述了 C++语言所支持的面向对象的程序设计方法的内容,包括类和对象的概念及定义格式、对象的赋值和运算、继承性和派生类、多态性和虚函数等内容。这些内容使 C++语言成为一种面向对象的程序设计语言,这是学习 C++语言的重点和难点。这部分内容是C语言所没有的。第9章讲述了标准文件的读写函数和对一般文件的操作。本书每章都提供了较多例题,例题的针对性较强。全书共有180道例题。每章后面都备有相当数量的练习题和作业题。读者通过练习题可以检查自己对本章所学内容掌握的情况,练习题的覆盖面很广;通过作业题可以练习所讲过的主要内容,包括概念性的训练和方法技巧训练。初学 C++语言的读者,一是要弄清基本概念;二是要多看程序,从中学习方法和技巧,从而积累编程经验。本书提供了这两方面的训练。

本书的所有例题和作业题中要求分析输出结果的程序都在Visual  C++6.0版本的编译系统下运行通过,在其他版本的编译系统中一般也都可以运行。

本书可作为高等学校教材,也可作为教师和学生的参考书。本书还适合作为自学  C++语言的教材。

目录

  • 第1章C++语言概述1
  • 1.1面向对象程序设计的有关概念1
  • 1.1.1面向对象的由来和发展1
  • 1.1.2面向对象的有关概念2
  • 1.2C++语言是一种面向对象的程序设计语言4
  • 1.2.1C++语言对面向对象程序设计方法的支持4
  • 1.2.2C++语言与C语言的关系5
  • 1.3C++语言的词法及词法规则6
  • 1.3.1C++语言的字符集7
  • 1.3.2单词及词法规则7
  • 1.4C++程序结构的特点9
  • 1.4.1一个 C++语言的示范程序9
  • 1.4.2C++程序的组成部分10
  • 1.43C++程序的书写格式12
  • 1.5C++程序的实现14
  • 1.5.1C++程序的编辑、编译和运行14
  • 1.5.2Visual  C++ 6.0版本的基本用法16
  • 练习题19
  • 作业题20
  • 第2章数据类型和表达式23
  • 2.1基本数据类型23
  • 2.2常量和变量25
  • 2.2.1常量25
  • 2.2.2变量28
  • 2.3数组29
  • 2.3.1数组的定义29
  • 2.3.2数组的赋值30
  • 2.3.3字符数组32
  • 2.4枚举33
  • 2.4.1枚举类型和枚举变量33
  • 2.4.2枚举变量的值34
  • 2.5指针和引用35
  • 2.5.1指针35
  • 2.5.2指针和数组38
  • 2.5.3字符指针43
  • 2.5.4引用45
  • 2.6运算符46
  • 2.6.1算术运算符46
  • 2.6.2关系运算符48
  • 2.6.3逻辑运算符48
  • 2.6.4位操作运算符48
  • 2.6.5赋值运算符49
  • 2.6.6其他运算符50
  • 2.6.7运算符的优先级和结合性53
  • 2.7表达式53
  • 2.7.1表达式的种类53
  • 2.7.2表达式的值和类型54
  • 2.7.3表达式中的类型转换59
  • 2.8类型定义61
  • 2.9结构和联合63
  • 2.9.1结构64
  • 2.9.2联合67
  • 练习题69
  • 作业题70
  • 第3章预处理和语句75
  • 3.1预处理功能75
  • 3.1.1文件包含命令76
  • 3.1.2条件编译命令76
  • 3.1.3宏定义命令79
  • 3.2语句85
  • 3.2.1表达式语句和空语句85
  • 3.2.2复合语句和分程序85
  • 3.3选择语句86
  • 3.3.1条件语句86
  • 3.3.2开关语句88
  • 3.4循环语句91
  • 3.4.1while循环语句91
  • 3.4.2do-while循环语句92
  • 3.4.3for循环语句93
  • 3.4.4多重循环95
  • 3.5转向语句99
  • 3.5.1goto语句99
  • 3.5.2break语句100
  • 3.5.3continue语句101
  • 练习题102
  • 作业题102
  • 第4章函数和作用域111
  • 4.1函数的定义和说明111
  • 4.1.1函数的定义格式113
  • 4.1.2函数的说明方法113
  • 4.2函数的调用115
  • 4.2.1函数的值和类型115
  • 4.2.2函数的传值调用116
  • 4.2.3函数的引用调用118
  • 4.3函数的参数120
  • 4.3.1函数参数的求值顺序120
  • 4.3.2设置函数参数的默认值121
  • 4.3.3使用数组作为函数参数122
  • 4.4内联函数124
  • 4.4.1内联函数引入的原因124
  • 4.4.2内联函数的定义方法125
  • 4.4.3使用内联函数应注意的事项125
  • 4.5函数重载126
  • 4.5.1参数类型上不同的重载函数126
  • 4.5.2参数个数上不同的重载函数127
  • 4.6函数的嵌套调用和递归调用128
  • 4.6.1函数的嵌套调用128
  • 4.6.2函数的递归调用129
  • 4.7作用域131
  • 4.7.1标识符的作用域规则132
  • 4.7.2作用域的种类132
  • 4.7.3关于重新定义标识符的作用域规定133
  • 4.7.4局部变量和全局变量135
  • 4.7.5内部函数和外部函数138
  • 4.8C++语言的系统函数141
  • 4.8.1C++语言系统函数概述141
  • 4.8.2字符串处理函数143
  • 4.9函数模板147
  • 4.9.1函数模板的概念147
  • 4.9.2函数模板的使用149
  • 练习题151
  • 作业题152
  • 第5章类和对象(一)161
  • 5.1类的定义161
  • 5.1.1什么是类161
  • 5.1.2类的定义格式162
  • 5.1.3注意事项164
  • 5.2对象的定义166
  • 5.2.1对象的定义格式166
  • 5.2.2对象成员的表示方法166
  • 5.3对象的初始化169
  • 5.3.1构造函数和析构函数169
  • 5.3.2默认构造函数和默认析构函数171
  • 5.3.3复制构造函数171
  • 5.4成员函数的特性174
  • 5.4.1内联函数和外联函数175
  • 5.4.2重载性176
  • 5.4.3设置参数的默认值177
  • 5.5静态成员178
  • 5.5.1静态数据成员179
  • 5.5.2静态成员函数182
  • 5.6友元183
  • 5.6.1友元函数183
  • 5.6.2友元类185
  • 5.7类的作用域187
  • 5.8局部类和嵌套类188
  • 5.8.1局部类188
  • 5.8.2嵌套类189
  • 5.9对象的生存期190
  • 练习题192
  • 作业题193
  • 第6章类和对象(二)200
  • 6.1对象指针和对象引用200
  • 6.1.1指向类的成员的指针200
  • 6.1.2对象指针和对象引用作为函数参数203
  • 6.1.3this指针205
  • 6.2对象数组和对象指针数组207
  • 6.2.1对象数组207
  • 6.2.2指向数组的指针和指针数组209
  • 6.2.3带参数的main()函数214
  • 6.3常类型215
  • 6.3.1一般常量和对象常量215
  • 6.3.2常指针和常引用216
  • 6.3.3常成员函数219
  • 6.3.4常数据成员221
  • 6.4子对象和堆对象222
  • 6.4.1子对象222
  • 6.4.2堆对象224
  • 6.5类型转换230
  • 6.5.1类型的自动隐式转换230
  • 6.5.2构造函数具有类型转换功能231
  • 6.5.3类型转换函数232
  • 6.6类模板234
  • 6.6.1类模板的引进234
  • 6.6.2类模板和模板类235
  • 6.6.3类模板应用举例238
  • 6.7应用实例——链表240
  • 练习题244
  • 作业题245
  • 第7章继承性和派生类254
  • 7.1基类和派生类254
  • 7.1.1派生类的定义255
  • 7.1.2派生类的三种继承方式255
  • 7.1.3基类成员在派生类中的访问权限256
  • 7.1.4成员访问权限的控制256
  • 7.2单继承259
  • 7.2.1派生类构造函数和析构函数260
  • 7.2.2子类型和赋值兼容规则266
  • 7.3多继承269
  • 7.3.1多继承的概念269
  • 7.3.2多继承的构造函数和析构函数270
  • 7.3.3多继承的二义性问题273
  • 7.4虚基类278
  • 7.4.1虚基类的引入和说明278
  • 7.4.2含有虚基类的派生类的构造函数280
  • 7.5应用实例——日期和时间282
  • 练习题284
  • 作业题285
  • 第8章多态性和虚函数295
  • 8.1函数重载295
  • 8.2运算符重载298
  • 8.2.1运算符重载的几个问题298
  • 8.2.2运算符重载函数的两种形式299
  • 8.2.3其他运算符的重载举例306
  • 8.3静态联编和动态联编310
  • 8.3.1静态联编310
  • 8.3.2动态联编311
  • 8.4虚函数312
  • 8.5纯虚函数和抽象类319
  • 8.5.1纯虚函数319
  • 8.5.2抽象类322
  • 8.6虚析构函数324
  • 8.7程序举例326
  • 练习题332
  • 作业题333
  • 第9章C++语言的I/O流库342
  • 9.1屏幕输出343
  • 9.1.1使用预定义的插入符343
  • 9.1.2使用成员函数put()输出一个字符345
  • 9.1.3使用成员函数write()输出一个字符串346
  • 9.2键盘输入347
  • 9.2.1使用预定义的提取符347
  • 9.2.2使用成员函数get()获取一个字符349
  • 9.2.3使用成员函数read()读取一串字符352
  • 9.3插入符和提取符的重载353
  • 9.4格式化输入和输出356
  • 9.4.1使用成员函数设置流的格式化标志位356
  • 9.4.2格式输出函数358
  • 9.4.3操作子360
  • 9.5磁盘文件的输入和输出361
  • 9.5.1磁盘文件的打开和关闭操作361
  • 9.5.2文本文件的读写操作363
  • 9.5.3二进制文件的读写操作366
  • 9.5.4随机访问数据文件368
  • 9.5.5其他有关文件操作的函数371
  • 9.6字符串流374
  • 9.6.1ostrstream类的构造函数375
  • 9.6.2istrstream类的构造函数376
  • 9.7流错误的处理377
  • 9.7.1状态字和状态函数378
  • 9.7.2清除和设置流的状态位379
  • 练习题380
  • 作业题381
  • 附录AASCII码表386
  • 参考文献387

资源下载

资源下载地址1:https://pan.baidu.com/s/1raeSiR6zHkPdsYX0Ow_9mw

相关资源

网友留言