c++第五章习题解答(新教材)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题
一、选择题
1. 下列叙述错误的是____A_____。
A. 主函数中定义的变量在整个程序中都是有效的
B. 复合语句中定义的变量只在该复合语句中有效
C. 其它函数中定义的变量在主函数中不能使用
D. 形式参数是局部变量
2. 若函数的形参为一维数组,则下列说法中错误的是____B、才_____。
A. 形参数组可以不指定大小
B. 函数调用时对应的实参只能是数组名
C. 函数调用时,系统会为形参数组分配存储单元
D. 函数中对形参的修改将会影响对应的实参值
3. 若函数的类型和return语句中的表达式的类型不一致,则____D_____。
A. 编译时出错
B. 运行时出现不确定结果
C. 不会出错,且返回值的类型以return语句中表达式的类型为准
D. 不会出错,且返回值的类型以函数类型为准
4. 下面的函数定义正确的是_____D____。
A. float f(float x;float y)
B. float f(float x,y)
{return x*y;} {return x*y;}
C. float f(x,y)
D. float f( int x, int y)
{int x,y ; return x*y;} {return x*y;}
5. 下面函数头的定义格式正确的是____C_____。
A. void sort(int a[n],int n)
B. void sort(int a[ ][ ],int n)
C. void sort(int a[ ],int n)
D. void sort(int a[ ],n)
6. 下面4个程序中输出结果是125的有____C_D____。
(1). #include "iostream.h"
void cube(int x)
{ x=x*x*x; }
void main()
{
int x=5;cube(x);
cout< } (3). #include "iostream.h" int cube(int x) { x=x*x*x; return(x); } void main() { int x=cube(5); cout< (4). #include "iostream.h" int x=5; void cube() { x=x*x*x;} void main() { cube(); cout< void cube(int &x) { x=x*x*x; } void main() { int x=5; cube(x); cout< } 错误!未找到引用源。 ·2· } A. 1 B. 2 C. 3 D. 4 7. 设函数m()的说明形式为void m(int,int *); 利用函数m()对数5和整数j 作函数m()定义的计算,正确的调用形式为_____C_____。 A. m(&5,&j) B. m(5,j) C. m(5,&j) D. m(&5,j) 8. 设函数的说明为: void fun(int a[],int m); ,若有定义:int a[10],n,x; 则下面调用该函数正确的是____A_____。 A. fun( a, n); B. x=fun( a, n); C. fun( a[10], 10); D. x=fun( a[], n); 9. 下面函数说明正确的是____C_____。 A. void f1(int a=3, int b, int c); B. void f2 int a, int b=3, int c); C. void f3(int a, int b, int c=3); D. void f4(int a, int b, int 3); 10. 有两个函数分别为: int f(int);和int f(int,int =100);,则下面说法正确的是_____B_____。 A. 不能在同一个程序中定义 B. 可以在同一个程序中定义,但不可以重载 C. 可以在同一个程序中定义并可重载 D. 以上说法均错误 11. 以下几种函数模板的定义正确的是____A_____。 A. template T fun1(T a,int b) {…… } C. template void fun1(int a,int b) {T i; …… } 12. 下面程序的输出结果是____B_____。 #include "iostream.h" int m=10; void f(int m,int &n) { m=m+2; n=n+2;} void main() { int n=5; f(m,n); cout<<"m="<