C++语言程序设计Word格式文档下载.docx
《C++语言程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
23.C
24.D
25.B
26.C
27.A
28.D
29.B
30.B
二、填空题
1.43-18=25
2.H
3.初始化
4.++x
5.false
true
6.分号;
右花括号}
8.4
8
9.(x*y*y)/(3*a)+4*b-1
10.x+y<
=5
11.10
12.3
7
13.10
5
14.if
(OK)
if
(READY)
y=-1;
else
y=0;
y=1;
15.14
16.j=0
j<
10
sum+=s[j]
17.XYZxyz
XYZxyz
18.XYZxyz
19.数组类型
20.&
a[0][0]+i*N*sizeof(a[0][0])
21.7
3
22.static
23.doubleincre(double
n){returnn+1;
}
24.extern
int
var;
25.局部
26.26
27.*p->
b
28.8
32
29.*(*(a+i)+j)
或
*(a[i]+j)
30.析构函数
31.friend
void
F();
32.iostream.h
33.20
34.初始化表
赋值语句
35.10
36.AB:
:
bb
37.a=aa;
b=bb;
int
fA();
fB();
三、下列程序运行后的输出结果
1.i,s=15,56
2.10
20
15
35
5
10
3.good!
pass!
nad!
well!
4.4
3
5.2
4
6
8
12
14
16
18
6.25
10
25
7.worker
cadre
8.B=240
9.2
10.9
21
11.liouting
38
493
12.DestructorB!
DestructorA!
DestructorB!
0
四、写出下列每个函数的功能
1.比较两个整数a和b的大小,若a>
b则返回1,若a==b则返回0,若a<
b则返回-1。
2.求出从键盘上输入的n个常数的平方和并返回。
3.计算1+X/2+X2/3+…+Xn/(n+1)的值并返回。
4.求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。
5.采用选择排序的方法对数组a中的n个整数按照从小到大有次序重新排列。
6.模板函数,把数组a的每个元素按逆序放入数组b中。
7.建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变量f带回。
8.从向文件fname中依次读取每个字符串并输出到屏幕上显示出来,同时统计并显示出文件中的字符串个数。
五、编写程序
参考程序如下:
1.
求三个整数的最大值。
#include<
iostream.h>
voidmain()
{
inta,b,c;
cout<
<
"
输入3个整数:
;
cin>
>
a>
b>
c;
3个数的最大值是:
if(a>
b)
c)
a<
endl;
else
c<
if(b>
b<
}
2.从键盘输入10个正整数并累加求和。
intx,s=0;
输入10个正整数:
for(inti=1;
i<
=10;
i++)
{
do{
//该循环控制输入的是正整数
x;
}while(x<
=0);
s+=x;
s<
3.求多项式1!
+2!
+3!
+……+15!
的值。
intn=1,s=0;
=15;
n=n*i;
s+=n;
4.求解一元二次方程ax2+bx+c=0的根。
(参见主教材P75例3.15)
5.从键盘上输入10个整数存入一维数组元素中,然后按逆序输出该数组的元素。
inta[10];
inti;
输入10个整数:
for(i=0;
10;
a[i];
for(i=9;
i>
=0;
i--)
a[i]<
"
6.一维数组元素求和。
inti,s=0;
s+=a[i];
7.一维数组元素排序。
(参见主教材P90例4.3)
8.在一维数组中查找最大元素和最小元素。
intmax=a[0],min=a[0];
for(i=1;
i++){
if(a[i]>
max)max=a[i];
if(a[i]<
min)min=a[i];
最大元素:
max<
endl
<
最小元素:
min<
9.在一维数组中查找给定的数据。
intnum;
输入查找的数:
num;
if(a[i]==num)break;
if(i<
10)
找到!
没有找到!
10.在一维数组中分类统计各种数据的个数。
//如:
统计数组中正数和负数的个数
inta[10]={1,-2,3,4,-5,6,7,8,-9,10};
inti,c1=0,c2=0;
0)
c1++;
c2++;
正数:
c1<
负数:
c2<
11.求1至N之间的所有质数。
(设N的值由键盘输入)
math.h>
intN;
输入一个正整数:
do{
N;
}while(N<
1至"
N<
之间的所有质数是:
2"
for(intm=3;
m<
=N;
m++)
inti,tmp=(int)sqrt(m);
for(i=2;
=tmp;
if(m%i==0)break;
if(i>
tmp)
m;
12.从键盘上输入二个矩阵的数据,编程计算两矩阵相加、相减、相乘。
(二个矩阵相乘程序参见主教材P98例4.7)
//两矩阵相加参考程序如下
iomanip.h>
inta[3][4],b[3][4],c[3][4];
inti,j;
输入3*4矩阵a:
i<
3;
i++)
for(j=0;
j<
4;
j++)
a[i][j];
输入3*4矩阵b:
b[i][j];
c[i][j]=a[i][j]+b[i][j];
endl<
矩阵c:
i++){
setw(4)<
c[i][j];
13.从键盘上输入一行字符串,然后将所有小写字母改写成大写字母,最后输出该字符串。
string.h>
chars[80];
输入一个字符串:
cin.getline(s,80);
for(inti=0;
s[i];
if(s[i]>
="
a"
&
&
s[i]<
z"
)
s[i]=s[i]-"
+"
A"
14.使用指针和引用作为函数形参的两种方式设计交换两个变量的值的函数。
(参见主教材P175—176例6.9和例6.10)
15.一些简单的类的定义。
如:
定义一个学生类Student,数据成员有:
学号、姓名、年龄、
入学成绩,构造函数作用是对数据成员初始化,其它成员函数如:
输出学生的的信息
等。
//学生类Student定义如下
classStudent
private:
charnum[10];
charname[10];
intage;
floatgrade;
public:
Student(char*nu,char*na,intag,floatgr)
strcpy(num,nu);
strcpy(name,na);
age=ag;
grade=gr;
voiddisplay()
num<
name<
age<
grade<
//其它成员函数
};