C++语言程序设计第三次形考任务(甘肃电大-课程号:6207105)参考资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++语言程序设计第三次形考任务
甘肃广播电视大学形成性测评系统课程代码:6207105 参考资料
第三次形考任务
试卷总分:100
第三次形考任务
填空题(共9题,共20分)
1.(2分)
在程序中执行到语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
参考答案:return
2.(2分)
如果一个函数直接或间接地调用自身,这样的调用被称为调用。
参考答案:递归
3.(4分)
C++依据调用中实在参数在上或上的不同来确定调用的是重载函数的哪一个。
参考答案:数量、类型
4.(2分)
作为的函数调用,即使有返回值也被舍弃不用。
参考答案:无返回值
5.(2分)
已知int incr(int n) {return n+1;} 和 long incr(long n) { return n+1;} 是一个函数的模板的两个实例,则该函数模板的定义是。
参考答案:template <class Type>Type incr(Type n){ return n+1;} 6.(2分)
函数中的形参变量的初值由该函数时获得。
参考答案:调用
7.(2分)
若一函数是以return;结束运行的,说明该函数是函数。
参考答案:无返回值
8.(2分)
一个函数定义由和函数体两部分组成。
参考答案:函数头
9.(2分)
当不需要函数返回任何值时,则应使用标识符定义函数的返回类型。
参考答案:void
单选题(共10题,共20分)
10.(2分)
从函数原型看,返回值类型为int的函数有()。
A、int F(char n);
B、char F(int n);
C、double F(int n);
D、F(double n);
参考答案:A
参考答案:A
11.(2分)
设void f1(int * m,long & n);int a;long b;则以下调用合法的是( )。
A、f1(a,b);
B、f1(&a,b);
C、C.f1(a,&b);
D、f1(&a,&b);
参考答案:B
12.(2分)
从函数原型看,返回值类型为int的函数有()。
A、int F(char n);
B、char F(int n);
C、double F(int n);
D、F(double n);
参考答案:A
参考答案:A
13.(2分)
在下面的( )函数声明语句存在语法错误。
A、AA(inta,int b);
B、AA(int ,int)
C、AA(inta;int b)
D、AA(inta,int)
参考答案:C
参考答案:C
14.(2分)
已知fp函数的原型是:int fp(char c,char* k=NULL,double d=100.0);下列调用中正确地调用fp的是()。
A、fp(99);
B、fp('A',5.6);
C、fp(55,'A');
D、fp();
参考答案:A
参考答案:A
15.(2分)
在下面的( )函数声明语句存在语法错误。
A、AA(inta,int b);
B、AA(int ,int)
C、AA(inta;int b)
D、AA(inta,int)
参考答案:C
参考答案:C
16.(2分)
下面正确的函数原型语句是( )。
A、int Function(void a);
B、void Function(int);
C、int Function(a);
D、voidint(double a);
参考答案:B
参考答案:B
17.(2分)
已知系统中已定义fp函数,其原型是:int fp(char c,char* k=NULL,double d=100.0);下列函数中可以加以重载的是()。
A、int fp(char);
B、void fp(char,char*);
C、int fp(char,char* ,double);
D、int fp();
参考答案:D
18.(2分)
已知fp函数的原型是:int fp(char c,char* k=NULL,double
d=100.0);下列调用中正确地调用fp的是()。
A、fp(99);
B、fp('A',5.6);
C、fp(55,'A');
D、fp();
参考答案:A
参考答案:A
19.(2分)
下面正确的函数原型语句是( )。
A、int Function(void a);
B、void Function(int);
C、int Function(a);
D、voidint(double a);
参考答案:B
参考答案:B
写出程序运行后的输出结果(共3题,共15分)
20.(5分)
#include<iostream.h> void WF(intx,int y) { x=x+y; y=x+y; cout<<"subs:x="<<x<<",y="<<y<<endl; } void main() { int x=18,y=23; cout<<"main:x="<<x<<",y="<<y<<endl; WF(x,y); x=2*x;
cout<<"main:x="<<x<<",y="<<y<<endl; }
答:main:x=18,y=23 subs:x=41,y=64 main:x=36,y=23
21.(5分)
#include<iostream.h> void SB(char ch) { switch (ch){ case 'A':case 'a':cout<<"WW";break; case 'B':case 'b':cout<<"GG";break; case 'C': case 'c':cout<<"PP";break; default:cout<<"BB";break; } } void main() { char a1='b',a2='C',a3='f'; SB(a1);SB(a2); SB(a3);SB('A'); }
答:GGPPBBWW
22.(5分)
#include<iomanip.h> void main() { int a[8]={3,5,7,9,11,13,15,17}; inti,*p=a; for(i=0;i<8;i++) { cout<<setw(5)<<*p++<<' '; if((i+1)%4==0) cout<<endl; } }
答:3 5 7 9 11 13 15 17
写出下列函数的功能(共3题,共15分)
23.(5分)
template<class Type> Type WD(Type a[],int n) { Type m= a[0]; for(int
i=0;i<n;i++) if(a[i]>m) m=a[i]; return m; }
答:返回有n个元素的任意类型数组中最大的数。
24.(5分)
int WC(int a[],int n,int k) { int c=0; for(int i=0;i<n;i++) if(a[i]>=k) c++; return c; }
答:返回有n个元素的整型数组a中大于等于整数k的元素个数。
25.(5分)
int SC(inta,intb,int c) { if(a>=b && a>=c) return a; if(b>=a && b>=c) return b; return c; }
答:返回实参a、 b、c中的最大数
编程题(共3题,共30分)
26.(10分)
编写函数void sum(int &s,int n),计算1+2+3+…+n的值, 并将值存放在s中。
答案:void sum(int &s,int n)
{ s=
0;
for(int i=1;i<=n;i++)
s+=i;
}
27.(10分)
编写函数int max(int a,int b,int c),求出a、b、c中的最大值,并返回。
答案:int max(int a,int b,int c)
{
if(a>b)
if(a>c) return a;
else return c;
else if(b>c) return b;
else return c;
}
28.(10分)
编写函数void max(int a[],int n,int &max),求出n个元素的数组a中的最大值,并将最大值存放在max中。
答案:void max(int a[],int n,int &max)
{
max=a[0];
for(int i=1;i<n;i++)
if(max<a[i]) max=a[i];
}。