C++习题第04章 函数.docx
- 文档编号:2792719
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:15
- 大小:19.61KB
C++习题第04章 函数.docx
《C++习题第04章 函数.docx》由会员分享,可在线阅读,更多相关《C++习题第04章 函数.docx(15页珍藏版)》请在冰豆网上搜索。
C++习题第04章函数
第04章函数
1.填空题
(1)当一个函数无法返回值时,函数的类型应定义为________。
(2)定义只允许该源文件中所有函数使用的全局变量称为________,定义时应采用关键字________。
(3)________是指一个函数可以和同一作用域中的其他函数具有相同的名字,但这些同名函数的参数类型、参数个数、返回值以及函数功能可以完全不同。
(4)在定义内联函数时,函数值的类型左面有关键字________。
(5)________不能被用来作为内联函数。
(6)C++提供的预处理命令主要有以下3种:
________、________和________。
2.判断题
(1)在C++中,形参和实参的名字必须是相同的。
(2)在C++中,函数可以嵌套定义,即一个函数可以定义在另一个函数的函数体中。
(3)如果需要,swith这样的关键字也可以被定义成函数名。
(4)函数的参数类型必须和函数类型一致。
(5)定义内联函数的关键字为online。
(6)调用重载函数时,参数列表中可以有常数。
(7)在变量声明前加关键字static意味着该变量的值在程序执行的任何时候都不能改变。
(8)用户自定义函数至少被调用一次,否则C++编译器会给出一个警告信息。
(9)一个文件中的函数可以被其他文件中的函数调用。
(10)用户自定义函数可以写在main函数之前。
3.读程序写结果
(1)
#include
voidtest();
voidmain()
{intx=9,y=5;
test();
cout<<"x="< } voidtest() {intx=7,y=4; cout<<"x="< } (2) #include voidf(int),f(double); voidmain() {doublex=34.56; f(x); chary=’e’; f(y); } voidf(intm) {cout< } voidf(doublem) {cout< } (3) #include intf(intx,inty=10); voidmain() {intx=6; cout< cout< cout< } intf(intm,intn) {ints=m+n; returns; } (4) #include #definemax6 Voidf(); Voidmain() {for(inti=1;i f(); cout< } Voidf() {staticintm; intn=9; cout<<(m+=3,m+n)<<〝〞; } (5) #include voidfunc(int); voidmain() { inti; cin>>i; func(i); cout< } voidfunc(intn) { if(n>0){ fun(n-2); cout< fun(n-1); } } 4.简答题 5.编程题 习题参考答案 第1章C++语言概述 1.填空题 (1)函数说明,函数体 (2)声明区,主程序区,函数定义区 (3)多态性 (4)namespace,using (5)std (6)cin,>> (7)// (8)对数据的操作 2.判断题 (1)对 (2)错(3)错(4)错(5)错 3.改错题 (1)没有函数体,应改为 voidmain(){}; (2)语句没有分号,应改为 usingnamespacemyspace; (3)cout和操作符<<共同完成输出的功能,应改为 cout<<"Inputyourname: "; (4)应改为 #include 4.简答题(略) 5.编程题(略) 第2章基本数据类型、运算符与表达式 1.选择题 (1)B (2)D(3)B(4)D(5)B 2.简答题 (1)(a)、(c)(e)、(f)、(g)、(h)、(i) (2)(a)、(g)、(i)、(j) (3) (a)5.5 (b)0 (c)20 (d)0,0 (e)1 (f)1,2 (g)3 (h)-40 (i)2 (j)3 (k)s1>='0'&&s1<='9' (l)N! =0 3.读程序写结果 (1)0,15 (2)(1、1、1),(-1、-1、-1) (3) (a)a*a+2*a*b+b*b (b)4.0/3.0*3.1415926*R*R*R (c)5.0/9.0*(F-32) (d)b>=a&&b<=c (4) 36 41 43 (5) x=1 4.编程题(略) 第3章C++的控制语句 1.选择题 (1)B (2)A(3)A(4)C(5)A 2.判断题 (1)错 (2)对(3)对(4)错(5)错 3.读程序写结果 (1) 1 22 333 4444 55555 (2) 1 121 12321 1234321 123454321 (3) j的值为0; i的值为2; 4.编程题(略) 第4章函数 1.填空题 (1)void (2)静态全局变量,static (3)函数重载 (4)inline (5)递归函数 (6)宏定义命令,文件包含命令,条件编译命令 2.判断题 (1)错 (2)错(3)错(4)错(5)错 (6)对(7)错(8)错(9)对(10)对 3.读程序写结果 (1) x=7,y=4 x=9,y=5 (2) 34.56 101 (3) 16 22 28 (4) 1215182124 (5) 2,1,4,1,3,2,1, 4.简答题(略) 5.编程题(略) 第5章构造数据类型 1.选择题 (1)C (2)D(3)A(4)B(5)C 2.判断题 (1)错 (2)对(3)对(4)错(5)错 3.读程序写结果 (1) 153 (2) 42 256810 (3) 65535,21 (4) 4 19 (5) 6904 (6) 4 3 2 1 0 4.编程题(略) 第6章类和对象 1.填空题 (1)类,对象,类 (2)数据成员,成员函数 (3)不能 (4)private,protected,public,private (5)成员函数 (6)friend (7)类名,作用域运算符 (8)对象名.成员名,指针变量名->成员名,(*指针变量名).成员名 (9)构造,析构,构造,析构 (10)常量数据,引用数据 (11)全局,数据类型,所属的类 (12)常成员,只读 (13)成员,友元 (14)类数据成员,类成员函数 (15)this (16)浅拷贝 2.选择题 (1)C (2)C(3)B(4)C(5)B (6)C(7)D(8)B(9)C(10)D (11)A(12)C(13)D(14)D(15)B 3.改错题 (1)man1.salary=1000.00;不能在类外访问类的私有成员 (2)floatr=0;和floatc=0;类本身是抽象的,不能在类的定义体中给其数据成员赋值 }后缺少分号“;” (3)成员函数voidsetdata(floatx1,floaty1,floatr);没有实现 (4)构造函数名point()应与类名同名,为Point 没有头文件包含#include 4.读程序写结果题 (1) x=0,y=0 x=100,y=200 (2) x=100,y=200 x=1000,y=2000 t=3.14 (3) Sta: : fun2()=10 s.fun2()=11 r.a=20 (4) Constructor1called! x=0 Constructor2called! x=100 Destructorcalled! Destructorcalled! (5) 57 5.简答题(略) 6.编程题(略) 第7章继承和派生 1.填空题 (1)继承 (2)基类,派生类 (3)private,protected,public,private (4)不可访问,保护,公有 (5)私有 (6)单 (一),多(重) (7)赋值兼容规则 (8)静态,动态 (9)抽象类 2.选择题 (1)B (2)A(3)B(4)C(5)B (6)A(7)D(8)B(9)B(10)B (11)D(12)B 3.改错题 (1)本题的错误主要是数据成员的访问权限问题: 基类的私有成员在派生类中不可访问,如fb()函数中的a3=30;语句;类的私有和保护成员在类外不能访问,如main函数中的x.a2=20;.a3=30;,y.a2=200;,y.a3=300;,y.b2=2000;和y.b3=3000;语句。 (2)本题的错误主要是成员函数的访问权限问题: 由于派生类Derived是基类Base的保护派生类,所以基类中的私有成员变成派生类的不可访问成员,而基类的保护和公有成员则变成派生类的保护成员。 对于类的不可访问和保护成员在类外是不能访问的,故main函数中的语句obj.funl();,obj.fun2();和obj.fun3();是错误的。 4.读程序写结果题 (1) d=110 b=190 d=110 d=110 (2) d=110 b=190 d=110 b=90 (3) 基类B1的构造函数被调用 基类B3的构造函数被调用 基类B2的构造函数被调用 派生类D的构造函数被调用 派生类D的析构函数被调用 基类B2的析构函数被调用 基类B3的析构函数被调用 基类B1的析构函数被调用 (4) A B C D D (5) A B D D (6) A A B D D (7) A B C D D (8) 5 25 5.简答题(略) 6.编程题(略) 第8章运算符重载 1.填空题 (1)函数重载 (2)重载为类的成员函数,重载为类的友元函数 (3)Operator (4)1,2 (5)友元 2.选择题 (1)B (2)D(3)A(4)D(5)B (6)C(7)C(8)C 3.简答题(略) 4.编程题(略) 第9章模板 1.填空题 (1)类模板,函数模板 (2)类,对象 (3)数据类型 (4)fun(5) 2.选择题 (1)C (2)B(3)C(4)B(5)D 3.简答题(略) 4.编程题(略
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+习题第04章 函数 C+ 习题 04