面向对象程序设计(C++)自我测试练习参考答案 联系客服

发布时间 : 星期二 文章面向对象程序设计(C++)自我测试练习参考答案更新完毕开始阅读6d699ec07cd184254a353549

4. 下列程序的输出结果是 2,2,1,1 。

#include \void main() { }

int a[ ]={1,2,3,4,5,6}, *p; p = a;

cout<<*p<<\

三、编程题

1.用一维数组计算Fibonacci数列的前20项。 Fibonacci数列,按如下递归定义: F(1)=1; F(2)=1

F(n)=F(n-1)+F(n-2) n>2 #include void main() { int F[21],i; F[1]=1; F[2]=1; for(i=3;i<21;i++) F[i]=F[i-1]+F[i-2]; for(i=1;i<21;i++) printf(\}

2. 用冒泡排序法对输入的20个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出数组中对应的下标值。 #include #define N 20 void main() {

int a[N], i, k, t; for(i=0;i

cout<<\请输入第\个数: \ cin>>a[i]; }

for(k=1;k<=N-1;k++) //对数组进行冒泡排序 { for(i=N-1;i>=k;i--) if(a[i]>a[i-1])

{ t=a[i]; a[i]=a[i-1]; a[i-1]=t; } //反序则交换 }

cout<<\排序后的成绩是:\ for(i=0;i

cout<<\ //输出排序好的数组 cout<<\输入你要查找的数\ cin>>t;

for(i=0;i

cout<<\找到了,它在数组中的第\个数\ break; }

if(i==N)cout<<\没找到!\}

3. 编一程序,求字符串str的长度,要求用指针访问字符串。 #include void main() {

int i;

char chStr[80],*p;

cout<<\请输入一个字符串: \ cin.getline(chStr,79,'\\n');

p = chStr; i =0; while(*p) {

p++; i++; }

cout<<\字符串的长度是\}

4. 试定义一结构体,用来描述日期,具体地说,该结构共有三个成员变量,分别描述年、月、日信息。然后再定义该结构类型的一个变量,要求从键盘输入数据,并输出结果。 #include \struct MyDate {

int year; int month; int day; };

void main() {

struct MyDate a;

cout<<\请输入日期:\

cin>>a.year >>a.month >>a.day ;

cout<

5.由键盘输入N名学生姓名,再按字典排列输出N名学生的姓名。 #include #include #define N 4 void main() { char a[N][10], i, k, t[10]; for(i=0;i=k;i--) if(strcmp(a[i],a[i-1])<0) { strcpy(t,a[i]); strcpy(a[i],a[i-1]); strcpy(a[i-1],t); } //反序则交换 } cout<<\排序后的成绩是:\ for(i=0;i

第5章 函 数

一、单选题

1.不能作为函数重载判断依据的是( B )。 A. const B. 返回类型 C. 参数个数 D. 参数类型 2.函数定义为fnFact(int &x),变量定义n=100,则下面调用正确的是( C )。 A.fnFact(20) B. fnFact(10+n) C. fnFact(n) D. fnFact(&n) 3.下面的函数调用语句中,fnNunc()函数的实参个数是( A )。 fnNunc(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8))); A. 3 B. 4 C. 5 D. 8 4. 数组名作为实参传递给函数时,传递的是( C )。 A.该数组长度 B. 该数组的元素个数 C.该数组首地址 D. 该数组中各元素的值

5.设函数原型:void fnFu(int a, int b=6,char c = ?*?);下面调用不合法的是( C )。 A.fnFu(4) B. fnFu(4,7) C. fnFu( ) D. fnFu(1,1,'*')

二、填空题

1. 在函数定义前加上关键字“inline”,表示该函数被定义为( 内联函数 )。 2. 写出下列程序的输出结果是(30

25 )。

#include int a = 5; void fun( int b) { int a = 10; a += b; cout<

}

void main( )

{ int c = 20; fun(c); a += c; cout<

}

3.下面程序执行后的输出结果是( 12 )。

#include \#define MA(x) x*(x+1)void main(){ a=1,b=2;cout<

4. 以下程序运行结果是(10,64 )。

#include #define f(x) x*x*x void main() { int a = 3,s,t; s = f(a+1); t = f((a+1));

cout<

}

5. 写出下列程序的输出结果是( 6 )。

#include int fun(int n) { if(n==1)return 1;

else return fun(n-1)+1;

}

void main( ) {

int i,j=0; for(i=1;i<4;i++)

j += fun(i); int