面向对象程序设计技术自测答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
41.A42.D43.D44.B45.D46.C47.A48.B49.C50.D
二、填空题
1.0 192.常量(或常数) 3.if4.switch5.不停止
6. 11 7. 10 8.break9.continue10.return
11.主(或main)12.4013.19214.30015.1 2
x,y=10, 26
x,y=25, 11
9. 29 28 57
10.5550
11.4 3 14
五、指出程序或函数的功能
1.显示输出数组a[n]中大于等于平均值的所有元素值。
2.对于二维字符数组a中保存的M个字符串,分别统计并输出其长度小于5、大于等于5且小于15、大于等于15的字符串个数。
3.从一个二维整型数组中查找具有最大值的元素,由引用参数row和col带回该元素的行号和列号。
11.求出并返回字符指针参数s所指向的字符串长度。
六、编程
1.#include<iostream.h>
void main()
{
int x,max;
cin>>x;
max=x;
for(int i=0;i<9;i++) {
cin>>x;
if(x>max) max=x;
}
cout<<"max:"<<max<<endl;
C++语言程序设计自测练习(二)参考解答
一、单项选择题
1.D2.B3.A4.D5.C6.D7.C8.B9.C10.D
11.D12.B13.A14.C15.A16.C17.C18.B19.B20.C
21.A22.D23.B24.D25.A26.C27.D28.D29.C30.C
31.D32.A33.B34.D35.A36.A37.B38.C39.D40.C
16.0 117.818.1119.n+120.cin>>a
21. cout<<a22.10 1923.”456”24. 5 1 25.strcpy(或strcpy(a,”aaa”))
26. 8 0 27.函数体28.类型29.static30.extern double x ;
31.template32.虚拟类型(或类型) 33.递归
51.地址DataType* 52.(char*)p53.int**54.*p &p55. *p p
56.*p *p57.2558.4259.2660. 42 61. 9 7
三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。
1.(1)cin>>*p
(2)p++(或++p)
(3)q--(或--q)
2.(1)x/2
(2)x!=0
(3)cout<<a[k]
3.(1) int n
(2)k=j
(3)a[k]=x
4.(1) int a[] (或int* a)
(2)a[j+1]=a[j]
(3)break
5.(1)(low+high)/2
(2)return mid
(2)p
(3)return p
四、写出程序运行结果
1.++*+*****
2.12 12
22 30
32 66
3.s=63
4.264
5. 10 1 -6
4 0 -3
6 -6 -9
6. 10 25
15 35
10 25
7.x=13, y=21
x=5, y=8, z=34
8.x,y=10, 26
x,y=26, 10
7.从表头指针f指向的、由IntNode类型的结点所构成的链表中查找出data域的值最大的结点并返回指向该结点的指针。
8.统计出以表头指针为f的链表中结点的个数。
9.对于以表头指针为f的链表,依次显示出每个结点的data域的值。
10.首先从键盘上输入一个整数给n,然后依次输入n个整数建立以表头指针为f的链表。
}
2.#include<iostream.h>
void main()
{
int a,b;
for(a=6;a<=30; a++)
for(b=15;b<=36;b++)
if(2*a+5*b==126)
cout<<'('<<a<<','<<b<<')'<<endl;
}
3.#include<iomanip.h>
{
int i,j;
double v=0.0;
for(i=0; i<m; i++)
for(j=0; j<n; j++)
v+=a[i][j];
v/=m*n;
return v;
}
6. int f(int a[],int n)
{
4.一个递归函数过程,求出两个自然数m和n的最小公倍数。
5.实现strcat函数的功能,把str2所指字符串连接到str1所指字符串的后面,并返回str1指针。
6.实现strcmp函数的功能,比较两个字符串str1和str2的大小,若str1较大则返回1,若str2较大则返回-1,若两者相等则返回0。
(3)low=mid+1
6.(1) i<size
(2)table[j+1]=table[j]
(3)p
7.(1)i<n
(2)new NODE
(3)table[i]
8.(1)i<n
(2)table[i]
(3)L=p
9.(1)NODE* p=L
(2)p=p->next
(3)p->data
10.(1)q->next
}
4.void fun4(char* a, int b[])
{
int i;
for(i=0;i<10;i++) b[i]=0;
while(*a) {
int j=*a-’0’;
if(j>=0 && j<=9) b[j]++;
a++;
}
}
5.double Mean(double a[M][N],int m,int n)
34.template<class T> T cubin(T n){return n*n*n ; }35.void
36.static37.右边(或后面) 38.extern39.头文件40.函数体
41.文件包含命令42.文件43.代码区(程序区) 44.全局数据45.栈
46.i*m+j+147. 2 4 48. 13 49.总和50.4
void main()
{
int c1,c2,c3;
double x;
c1=c2=c3=0;
cin>>x;
while(x>0) {
if(x<=12) c1++;
else if(x<=15) c2++;
else c3+百度文库;
cin>>x;
}
cout<<c1<<’ ’<<c2<<’ ’<<c3<<endl;
二、填空题
1.0 192.常量(或常数) 3.if4.switch5.不停止
6. 11 7. 10 8.break9.continue10.return
11.主(或main)12.4013.19214.30015.1 2
x,y=10, 26
x,y=25, 11
9. 29 28 57
10.5550
11.4 3 14
五、指出程序或函数的功能
1.显示输出数组a[n]中大于等于平均值的所有元素值。
2.对于二维字符数组a中保存的M个字符串,分别统计并输出其长度小于5、大于等于5且小于15、大于等于15的字符串个数。
3.从一个二维整型数组中查找具有最大值的元素,由引用参数row和col带回该元素的行号和列号。
11.求出并返回字符指针参数s所指向的字符串长度。
六、编程
1.#include<iostream.h>
void main()
{
int x,max;
cin>>x;
max=x;
for(int i=0;i<9;i++) {
cin>>x;
if(x>max) max=x;
}
cout<<"max:"<<max<<endl;
C++语言程序设计自测练习(二)参考解答
一、单项选择题
1.D2.B3.A4.D5.C6.D7.C8.B9.C10.D
11.D12.B13.A14.C15.A16.C17.C18.B19.B20.C
21.A22.D23.B24.D25.A26.C27.D28.D29.C30.C
31.D32.A33.B34.D35.A36.A37.B38.C39.D40.C
16.0 117.818.1119.n+120.cin>>a
21. cout<<a22.10 1923.”456”24. 5 1 25.strcpy(或strcpy(a,”aaa”))
26. 8 0 27.函数体28.类型29.static30.extern double x ;
31.template32.虚拟类型(或类型) 33.递归
51.地址DataType* 52.(char*)p53.int**54.*p &p55. *p p
56.*p *p57.2558.4259.2660. 42 61. 9 7
三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。
1.(1)cin>>*p
(2)p++(或++p)
(3)q--(或--q)
2.(1)x/2
(2)x!=0
(3)cout<<a[k]
3.(1) int n
(2)k=j
(3)a[k]=x
4.(1) int a[] (或int* a)
(2)a[j+1]=a[j]
(3)break
5.(1)(low+high)/2
(2)return mid
(2)p
(3)return p
四、写出程序运行结果
1.++*+*****
2.12 12
22 30
32 66
3.s=63
4.264
5. 10 1 -6
4 0 -3
6 -6 -9
6. 10 25
15 35
10 25
7.x=13, y=21
x=5, y=8, z=34
8.x,y=10, 26
x,y=26, 10
7.从表头指针f指向的、由IntNode类型的结点所构成的链表中查找出data域的值最大的结点并返回指向该结点的指针。
8.统计出以表头指针为f的链表中结点的个数。
9.对于以表头指针为f的链表,依次显示出每个结点的data域的值。
10.首先从键盘上输入一个整数给n,然后依次输入n个整数建立以表头指针为f的链表。
}
2.#include<iostream.h>
void main()
{
int a,b;
for(a=6;a<=30; a++)
for(b=15;b<=36;b++)
if(2*a+5*b==126)
cout<<'('<<a<<','<<b<<')'<<endl;
}
3.#include<iomanip.h>
{
int i,j;
double v=0.0;
for(i=0; i<m; i++)
for(j=0; j<n; j++)
v+=a[i][j];
v/=m*n;
return v;
}
6. int f(int a[],int n)
{
4.一个递归函数过程,求出两个自然数m和n的最小公倍数。
5.实现strcat函数的功能,把str2所指字符串连接到str1所指字符串的后面,并返回str1指针。
6.实现strcmp函数的功能,比较两个字符串str1和str2的大小,若str1较大则返回1,若str2较大则返回-1,若两者相等则返回0。
(3)low=mid+1
6.(1) i<size
(2)table[j+1]=table[j]
(3)p
7.(1)i<n
(2)new NODE
(3)table[i]
8.(1)i<n
(2)table[i]
(3)L=p
9.(1)NODE* p=L
(2)p=p->next
(3)p->data
10.(1)q->next
}
4.void fun4(char* a, int b[])
{
int i;
for(i=0;i<10;i++) b[i]=0;
while(*a) {
int j=*a-’0’;
if(j>=0 && j<=9) b[j]++;
a++;
}
}
5.double Mean(double a[M][N],int m,int n)
34.template<class T> T cubin(T n){return n*n*n ; }35.void
36.static37.右边(或后面) 38.extern39.头文件40.函数体
41.文件包含命令42.文件43.代码区(程序区) 44.全局数据45.栈
46.i*m+j+147. 2 4 48. 13 49.总和50.4
void main()
{
int c1,c2,c3;
double x;
c1=c2=c3=0;
cin>>x;
while(x>0) {
if(x<=12) c1++;
else if(x<=15) c2++;
else c3+百度文库;
cin>>x;
}
cout<<c1<<’ ’<<c2<<’ ’<<c3<<endl;