【vb精品源码栏目提醒】:网学会员鉴于大家对vb精品源码十分关注,论文会员在此为大家搜集整理了“C++语言程序设计吕凤煮课后答案 - 其它资料”一文,供大家参考学习
第1章 C语言概述 练习题1 1.1 判断题 ×1.C语言和C语言都是面向对象的程序设计语言。
√2.面向对象方法具有封装性、继承性和多态性。
√3.C语言是C语言的一个子集。
C语言继承了C语言。
×4.C语言程序与C语言程序一样都是函数串。
×5.C语言支持封装性和继承性,不支持多态性。
√6.C语言比C语言对数据类型要求更加严格了。
√7.C语言对C语言进行了一次改进,使得编程更加方便了。
×8.C源程序在编译时可能出现错误信息,而在连接时不会出现错误信息。
√9.编译C源程序时,出现了警告错(Warning)也可以生成可执行文件。
√10.C语言程序的实现也要经过编辑、编译连接和运行3个步骤。
1.2 单选题 1.下列关于面向对象概念的描述中,错误的是( C )。
A.面向对象方法比面向过程方法更加先进 B.面向对象方法中使用了一些面向过程方法中没有的概念 C.面向对象方法替代了结构化程序设计方法 D.面向对象程序设计方法要使用面向对象的程序设计语言 2.下列各种高级语言中,不是面向对象的程序设计语言是( D )。
A.C B.Java C.
VB D.C 3.下列关于类的描述中,错误的是( A )。
A.类就是C语言中的结构类型 B.类是创建对象的模板 C.类是抽象数据类型的实现 D.类是具有共同行为的若干对象的统一描述体 4.下列关于对象的描述中,错误的是( C )。
A.对象是类的一个实例 B.对象是属性和行为的封装体 C.对象就是C语言中的结构变量 D.对象是现实世界中客观存在的某种实体 5.下列关于C程序中使用提取符和插入符的输入/输出语句的描述中, ( 错误的是 C )。
A.提取符是对右移运算符(gtgt)重载得到的 B.插入符是对左移运算符(ltlt)重载得到的 C.提取符和插入符都是双目运算符,它们要求有两个操作数 D.提取符和插入符在输入/输出语句中不可以连用 1.3 填空题1.C语言具有面向对象方法中要求的三大特性:封装性 、 继承性 和 多态性 。
2.C程序中,有且仅有一个主 函数。
3.C程序是由类 和 函数 组成的。
14.C源程序的扩展名是 cpp 。
5.使用插入符进行标准输出文件输出时,使用的输出流对象名是 cout 。
1.4 上机调试下列程序,并分析输出结果 1. include ltiostream.hgt void main int ij coutltltquotEnter i j: quot cingtgtigtgtj coutltltquotiquotltltiltltltltquotjquotltltjltltendl coutltltquotijquotltltijltltltltquotijquotltltijltltendl 假定,输入数据如下: Enter x y:59 答: i5j9 ij14i j45 2. include ltiostream.hgt int maxintint void main int abc a5 b8 cmaxab coutltltquotmaxquotltltaltltltltbltltquotquotltltcltltendl int maxint xint y return xgtyx:y 答: max588 3.文件e1.4.3.cpp内容如下: include ltiostream.hgt void f1f2 void main coutltltquot在北京.nquot f1 f2 coutltltquot再见.nquot2 文件1.4.3-1.cpp内容如下: include ltiostream.hgt void f1 coutltltquot在上海.nquot 文件1.4.3-2.cpp内容如下: include ltiostream.hgt void f2 coutltltquot在广州.nquot 答: 在北京。
在上海。
在广卅。
再见。
1.5 编译下列程序,修改所出现的错误,获得正确结果 1. main coutltltquotIn main.nquot 答:修改后如下: include ltiostream.hgt void main coutltltquotIn main.nquot 2. include ltiostream.hgt void MAIN cingtgta int baa coutltltquotbltltbltltnquot 答:修改后如下: include ltiostream.hgt void main int a3 cingtgta int baa coutltltquotb”ltltbltlt”nquot 3. include ltiostream.hgt void main int ij i5 int kij COUTltltquotijquotltltkltltendl 答: include ltiostream.hgt void main int ij j10 i5 int kij coutltltquotijquotltltkltltendl 1.6 通过对1.5题中3个程序的修改,回答下列问题从1.5题中第1题程序的修改中,总结出编程应该注意哪些问题。
答:C程序要包含iostraem.h,main函数前应加类型说明符void。
C程序中所出现的变量是否必须先说明后使用?在函数体内说明变量时是否都要放在函数体的开头? 答:C程序中所出现的变量必须先说明后使用。
在函数体内说明变量时不一定要放在函 数体的开头。
使用cout和插入符(ltlt)输出字符串常量时应注意什么? 答:可输出一个字符串常量,也可输出多个字符串常量。
每输出一个字符串常量要使用一 次插入符ltlt。
程序中定义过的变量,但没有赋值,也没有默认值,这时能否使用? 答:不能使用。
因为它的值不确定。
5.一个程序编译通过并已生成执行文件,运行后并获得输出结果,这一结果是否一定正 确? 答:不一定正确。
可能还有算法错。
4 第2章 变量和表达式及数组 练习题2 2.1 判断题 √ 1.C语言的合法字符集与C语言的完全相同。
× 2.标识符规定大小写字母没有区别。
× 3.C程序中,不得使用没有定义或说明的变量。
√ 4.变量的存储类指出了变量的作用域和寿命。
√ 5.变量的数据类型指出了变量在内存中存放的字节数。
× 6.定义变量时,变量的存储类说明符不得省略。
× 7.自动类变量与内部静态类变量的作用域和寿命都是相同的。
× 8.自动类变量可以定义在函数体外,这时应加说明符auto。
× 9.外部类变量与外部静态类变量的作用域是相同的。
× 10.变量被定义后是否有默认值与存储类无关,与数据类型有关。
√ 11.C程序中,通常使用const来定义符号常量,定义时必须指出类型。
× 12.变量被定义或说明后,它一定具有有意义的值。
× 13.字符串常量与字符常量的区别仅表现在定义形式上的不同,一个用双撇号,另一个用单撇号。
× 14.所有变量的可见性和存在性都是一致的。
√ 15.变量在它的作用域内一定是可见的,又是存在的。
√ 16.C语言中除了包含C语言的所有运算符外,还规定自身的若干个运算符。
√ 17.增1和减1运算符以及赋值运算符都具有副作用。
× 18.增1和减1运算符不仅可以作用在变量上,也可以作用在表达式上。
× 19.关系运算符可以用来比较两个字符的大小,也可以比较两个字符串的大小。
× 20.移位运算符在移位操作中,无论左移还是右移,对移出的空位一律补0。
× 21.变量的类型高低是指它被存放在内存的地址值大小。
× 22.使用sizeof运算符可以求得某种类型和某个变量在内存中占的字节数,不能求得某个表达式的类型在内存中所占的字节数。
√ 23.在C语言中,非保值转换应用强制类型转换。
√ 24.表达式中各操作数计算顺序取决于运算符的优先级和结合性。
√ 25.在C程序中,变量值是可以改变的,变量的地址值是不能改变的。
√ 26.数组中所有元素的类型都是相同的。
× 27.定义数组时必须对数组进行初始化。
√ 28.数组某维的大小可以用常量表达式,不可用变量名。
× 29.定义一个数组没有对它进行初始化,则该数组的元素值都是无意义的。
√ 30.用来给数组进行初始化的初始值表内的数据项的个数必须小于等于数组元素个数。
× 31.在定义一个数组时,对其部分元素进行了初始化,没有初始化的元素的值都是无意义的。
√ 32.数组被初始化时是判越界的。
× 33.字符数组就是字符串。
√ 34.使用printf 函数输出显示字符串时使用格式符s,输出显示字符时使用c或5d。
× 35.给数组元素赋值时只可用常量表达式。
2.2 单选题1.下列变量名中,非法的是( C )。
A.A25 B.My_car C.My-str D.abc2.下列常量中,十六进制int型常量是( A )。
A.0x5f B.x2a C.046 D.7a3.下列常量中,不是字符常量的是( B )。
A.n B.quotyquot C.x D.74.在函数体内定义了下述变量a,a的存储类为( D )。
int a; A.寄存器类 B.外部类 C.静态类 D.自动类5.下列关于变量存储类的描述中,错误的是( C )。
A.任何变量定义后都具有一个确定的存储类 B.变量的存储类确定了变量的作用域和寿命 C.定义变量时没有存储类说明符者一律为自动类 D.内部静态类变量和外部静态类变量的存储类说明符都是static6.下列关于变量数据类型的描述中,错误的是( A )。
A.定义变量时int型数据类型可以省略 B.变量的数据类型可以决定该变量占内存的字节数 C.变量的数据类型是可以被强制的 D.变量的数据类型是有高低之分的7.长双精度浮点型常量的后缀是( C )。
A.U B.F C.L D.无8.下列运算符中,不能用于浮点数操作的是( D )。
A. B. C. D.amp(双目)9.下列运算符中,优先级最高的是( A )。
A.(双目) B. C.gtgt D.10.下列运算符中,优先级最低的是( B )。
A. B.?: C. D.ampamp11.已知:int a3;下列表达式中,错误的是( C )。
A.a20 B.a--2 C.a2 D.agtgt212.已知:int b5,下列表达式中,正确的是( D )。
A.bquotaquot B.b1 C.b2.5 D.b3,b1,b2 13.下列关于类型转换的描述中,错误的是( C )。
A.类型转换运算符是(lt类型gt) B.类型转换运算符是单目运算符 C.类型转换运算符通常用于保值转换中 D.类型转换运算符作用于表达式左边 14.下列表达式中,其值为0的是( A )。
A.5/10 B.!0 C.2gt4?0:1 D.2ampamp20 15.下列表达式中,其值不为逻辑值的是( A )。
A.算术表达式 B.关系表达式 C.逗号表达式 D.逻辑表达式 16.下列关于数组概念的描述中,错误的是( B )。
A.数组中所有元素类型是相同的 B.数组定义后,它的元素个数是可以改变的 C.数组在定义时可以被初始化,也可以不被初始化 D.数组元素的个数与定义时的每维大小有关 17.下列关于数组维数的描述中,错误的是( C )。
A.定义数组时必须将每维的大小都明确指出 B.二维数组是指该数组的维数为2 C.数组的维数可以使用常量表达式 D.数组元素个数等于该数组的各维大小的乘积 18.下列关于数组下标的描述中,错误的是( B )。
A.C语言中数组元素的下标是从0开始的 B.数组元素下标是一个整常型表达式 C.数组元素可以用下标来表示 D.数组元素的某维下标值应小于该维的大小值 19.下列关于初始值表的描述中,错误的是( C )。
A.数组可以使用初始值表进行初始化 B.初始值表是用一对花括号括起的若干个数据项组成的 C.初始值表中数据项的个数必须与该数组的元素个数相等 D.使用初始值表给数组初始化时,没有被初始化的元素都具有默认值 20.下列关于字符数组的描述中,错误的是( D )。
A.字符数组中的每一个元素都是字符 B.字符数组可以使用初始值表进行初始化 C.字符数组可以存放字符串 D.字符数组就是字符串 21.下列关于字符串的描述中,错误的是( C )。
A.一维字符数组可以存放一个字符串 B.二维字符数组可以存放多个字符串 C.可以使用一个字符串给二维字符数组赋值 D.可以用一个字符串给二维字符数组初始化 22.已知:int a5 1 2 3 4 下列数组元素值为2的数组元素是( B )。
A.a0 B.a1 C.a2 D.a37 23.已知:int ab 3 1 5 6 3 02 数组元素ab11的值为( A )。
A.0 B.1 C.2 D.3 24.已知:char s quotabcdquot;输出显示字符c的表达式是( C )。
A.s B.s2 C.s2 D.s3 25.已知:char ss 6quotwhilequot quotforquot quotelsequot quotbreakquot;输出显示quotreakquot字符串的表达式是( B )。
A.ss3 B.ss31 C.ss3 D.ss31 2.3 填空题 1.C语言中,基本数据类型包含有整型、浮点型 、 字符型 、空值型和 布尔型。
2.变量的存储类可分为自动类 、 寄存器类 、 外邹类 和静态存储类。
3.浮点型常量可分为单精度、双精度 和 长双精度 浮点型常量。
4.结合性从右至左的运算符有单目运算符 、 双目运算符 和赋值运算符。
5. 条件表达式是由三目 运算符组成的, 该表达式的类型是由冒号左边和右边两个操作数中类型高 的操作数类型决定的。
已 6. 知 : double dd 31.2 2.4 3.6 4.8 5.26.4 这里dd是一个二 维数组的数组名,该数组共有 9 个元素, 每个元素的类型是 double 。
数组元素dd00的值是 1.2 ,dd11的值是 5.2 ,数组元素dd22的值是 0 。
7.已知:char ss 6quotwhilequot quotbreakquot quotforquot quotelsequot 字符数组ss是二 维数组,它的第1维大小应该是 4 。
使用cout和ltlt输出字符串quotforquot时,对应的表达式是 ss2 。
使用cout和ltlt输出字符串quotbreakquot的子串quotreakquot时,对应的表达式是 ss11 。
使用cout和ltlt输出字符串else中的字符s时,对应的表达式是 ss32 。
2.4 分析下列程序 1. include ltiostream.hgt void main int ab coutltltquotEnter a b: quot cingtgtbgtgta int da-b coutltltquotdquotltltdltltendl 假定输入为5和8。
答: d3 2. include ltiostream.hgt void main const int A8 const char CHk8 const double D8.5 coutltltquotAquotltltAltltendl coutltltquotCH2quotltltcharCH2ltltendl coutltltquotD-5.8quotltltD-5.8ltltendl 答: A8 CH2m D-5.82.7 3. include ltiostream.hgt int a9 void main int b5 coutltltquotabquotltltabltltendl static int c coutltltquotcaquotltltcaltltendl const long int d8 coutltltquotad-bquotltltad-bltltendl 答: ab14 ca9 ad-b12 4. include ltiostream.hgt void main int a3 char bm coutltltquotaquotltltaltltltltquotbquotltltbltltendl int a5 bn coutltltquotaquotltltaltltltltquotbquotltltbltltendl coutltltquotaquotltltaltltltltquotbquotltltbltltendl 答: a5bm a3bn a3bn 5. include ltiostream.hgt9 void main coutltlt645/33ltltendl coutltlt10amp38ltltendl coutltlt5ltlt25gtgt2ltltendl coutltlt4ltltendl 答: 6 10 21 -5 6. include ltiostream.hgt void main int a5 coutltltlongampaltltltltsizeofaltltltltsizeofintltltendl double b1.5 coutltltsizeof1.5fltltltltsizeofbltltltltsizeof1.5Lltltendl 答: lt地址值gt44 488 7. include ltiostream.hgt void main int a3b5 coutltltagtbab-2ltltltltabaltbltltendl char ck coutltltcltkltltltlt--ch2ltltendl float f2.3f coutltlt--fltfltltendl 答: 01 10 1 8. include ltiostream.hgt void main int ijk ijk510 iampampjampamp--k coutltltiltltltltjltltltltkltltendl ij--k coutltltiltltltltjltltltltkltltendl i-5j-5ampampk coutltltiltltltltjltltltltkltltendl 答: 555 555 555 9. include ltiostream.hgt void main int i5j8 coutltltiijltltendl i5j8 i5j/j-- -5 coutltltiltltltltjltltendl i5j8 coutltltjij-5ltltendl 答: 40 137 23 10. include ltiostream.hgt int a8 void main int b6 double d1.5 dab coutltltdltltendl coutltlta1b2d2.5abdltltendl coutltltalt0a:blt0a:bltltendl 答: 15.5 5.5 2 11. include ltiostream.hgt void main11 int m3987654321s0 forint i0ilt3i smii coutltltsltltendl 答: 15 12. include ltiostream.hgt void main char squotbhy543kpm345quot forint i0si0i ifsigtaampampsiltz continue coutltltsi coutltltendl 答: 543345 13. include ltiostream.hgt void main int b534189010 int i0j forjiilt8i ifbigtbj ji coutltltjltltltltbjltltendl 答: 710 14. include ltiostream.hgt void main int a3123456789 int s10s20 forint i0ilt3i forint j0jlt3j ifij12 s1aij ifij1 s2aij coutltltquots1quotltlts1ltltltltquots2quotltlts2ltltendl 答: s130s26 15. include ltiostream.hgt void main char squotquot forint i0ilt3i forint j0jltij coutltlt forint k0klt3k coutltltsk coutltltendl fori2igt0i forint j0jlti1j coutltlt forint k0klt3k coutltltsk coutltltendl 答: 2.5 编程题 1.已知:int a3,b5;编程计算下列两个代数式的值,并比较它们是否相等。
2 ab 和 2 2 a 2abb 答: 编程如下: include ltiostream.hgt void main int a3b5 int d1abab13 int d2aa2abbb coutltltquotd1quotltltd1ltltendlltltquotd2quotltltd2ltltendl 从结果中可以看出d1和d2值是相等的。
2.已知:int x5;编程求下列代数式的值。
fx include ltiostream.hgt 33x void main 2 2x int x55x2 int f3xxx2xx5x2 答 coutltltfltltendl:编 程如 3.从键盘上输入两个double型下: 数,编程输出其中最小者。
答:编程如下: include ltiostream.hgt void main double ab coutltltquot请输入两个double型数:quot cingtgtagtgtb coutltltquot输入的两个数中较小的是quot ifaltb coutltltaltltendl else coutltltbltltendl 4.华氏温度转换成摄氏温度的计算公式如下: CF325/9其中,C表示摄氏温度,F表示华氏温度。
从键盘上输入一摄氏温度,编程输出对应的华氏温度。
答:编程如下: include ltiostream.hgt void main double cf coutltltquot请输入一个摄氏温度值:quot cingtgtc f9.0/5.0c32.0 coutltltquot摄氏温度为quotltltcltltquot华氏温度为quotltltfltltendl14 从键盘上输入5个浮点数,输出它们的和以及平均值。
答:编程如下: include ltiostream.hgt void main double abcde coutltltquot请输入5个double型数:quot cingtgtagtgtbgtgtcgtgtdgtgte double fabcde coutltltquot输入的5个数的和是quotltltfltltquot平均值是quotltltf/5.0ltltendl 将字符串quot12345quot,逆向输出为quot54321quot。
.