C++语言程序设计Word文件下载.docx
- 文档编号:21722121
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:29.65KB
C++语言程序设计Word文件下载.docx
《C++语言程序设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
s1="
s1<
endl;
)
输出结果,s1=30
22.#include<
inta[6]={6,9,12,18,15,20);
intc=0;
for(inti=0;
6;
i++)
if(a[i]%2==0)c++;
c="
c<
}
输出结果:
c=4
23.#include<
voidmain(){
inta[3][4]={{1,2,7,8},{5,6,32,15},{9,20,3,4});
intm=a[0][0];
3;
for(intj=0;
j<
4;
j++)
if(a[i][j]>
m)m=a[i][j];
m<
32
24.#include<
inta=10,b=15,c;
c=a+b;
{intb=a+2;
c+=b:
c+a+b<
62
25.#include<
inta[8]={6,19,4,12,20,5,18,25);
int*p,S=0;
for(p=a;
p<
a+8;
p++)
if(*p>
=20)s+=*p;
s<
}
45
四、写出下列每个函数的功能(每小题8分,共24分)
26.intFI(intn){//n为大于等于1的整数
intx,y=0;
do{
cin>
>
x;
y+=x*x;
}while(--n);
returny;
函数功能:
求出从键盘上输入的n个整数的平方和并返回。
27.boolWE(inta[],intb[],intn){
n;
if(a[i]!
=b[i])break;
if(i==n)returntrue;
returnfalse;
判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。
28.intLK(inta[],intn){
doubles=0;
inti,m=0;
for(i=0;
i++)s+=a[i];
S=S/n;
i++)if(a[i]>
=s)m++;
returnm;
统计出数组a[n]中大于等于其平均值的元素个数并返回。
五、按题目要求编写函数(6分)
29.假定一个函数声明为“intfun(unsignedintn,unsignedintm);
”,求出n和m的最大公约数并返回。
intfun(unsignedintn,unsignedintm){
intk=(n<
=m)?
n:
m;
inta=0;
for(inti=1;
=k;
if(n%i==0&
&
m%i==0)a=i;
returna;
1.由C++源程序文件编译而成的目标文件的缺省扩展名为(A.obj)。
2.程序运行中需要从键盘上输入多于一个数据时,各数据之间需要使用(D.空格或因车)符号作分隔符。
3.设x是一个bool型的逻辑量,y的值为10,则表达式x&
y的值为(C.x的值)。
4.任何for语句都能够被改写为(D.while)语句。
5.break语句叫做(A.中断退出循环或开关)语句。
6.在下面的一维数组定义中,(C.inta[])语句有语法错误。
7.下面的(C.new)保留字不能作为函数的返回类型。
8.下面的函数声明中;
(B.voidBC(inta,charb))是“voidBC(inta,intb);
”的重载函数。
9.当一个字符指针指向具有n个字节的存储空间时,它所能存储字符串的最大长度为(C.n-1)
10.假定AB为一个类,则该类的拷贝构造函数的声明语句为(D.AB(AB&
))。
l.C++语言中每条复合语句以左花括号开始,并以_____}(右花括号)__________结束。
2.假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};
”,则ac的值为______1_________。
3.十进制数25表示成符合C++语言规则的八进制数为_______031________。
4.表达式x=x+y表示成复合赋值表达式为_______x+=y________。
5.若x=5,则x>
5的逻辑值为_______假(false或0)________。
6.假定一个一维数组的定义为“char*a[8];
”,则该数组占用______32_________个字节的存储空间。
7.假定x=lO,则表达式2+x++的值为_______12________。
8.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为______46_________。
9.假定要动态分配一个类型为int的具有n个元素的数组,并由r指向这个动态数组,则用的语句为int*r=_______newint[n]________。
10.设px指向一个类的动态分配的对象,则执行“deletepx;
”语句时,将自动调用该类的_____________析构函数_。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1.#include<
voidmain()
{
intn=5,sum=O;
while(n)
sum+=n;
n--;
}
sum="
sum<
endl;
运行结果:
sum=15
2.#include<
constintN=6;
inta[N]={76,83,54,62,40,65};
intc1,c2;
c1=c2=a[0];
for(inti=l;
N;
if(a[i]>
c1)c1=a[i];
elseif(a[i]<
c2)c2=a[i];
c1<
'
'
c2<
end!
8340
3.#include<
iomanip.h>
inta[8]={4,8,15,16,20,30,48,62};
int*p=a;
while(p<
a+8)
*p<
p+=3;
41648
4.#include<
intLF(intx,inty)
x=x+y;
y=x+y;
returnx+y;
intx=5,y=8;
LF(1,2)<
LF<
x,y)<
834
5.#include<
classA
inta,b;
public:
A(){a=b=O;
A(intaa,intbb)
a=aa;
b=bb;
a<
b<
}
};
voidmain(){Ax,y(3,4);
34
四、写出下列每个函数的功能(每小题8分,共24分)
1.intSA(inta,intb)
if(a>
b)return1;
elseif(a==b)return0;
elsereturn-1;
函数功能:
比较两个整数a和b的大小,若a>
b则返回1,若a==b则返回0,若a<
b则返回-10
2.intLK(inta[],intn)
floats=O;
inti;
for(i=O;
n;
i++)s+=a[i];
s/=n;
intm=O;
=s)m++;
returnm;
}
求出数组a的n个元素中大于等于平均值的元素个数并返回。
3.intWD(inta[],intn)
intm=a[O];
m)m=a[i];
从数组a的n个元素中求出最大值并返回。
五、按题目要求编写程序(6分)
已知6≤a≤30、15≤b≤36,求出满足不定方程2a+5b=126的全部整数组解。
如(13,20)就是其中的一组解,并按此格式输出每组解。
#include<
inta,b;
for(a=6;
=30;
a++)
for(b=15;
=36;
b++)
if(2*a十5*b==126)
('
’,’<
’)’<
1.下面的保留字(C.new)不能作为函数的返回值类型。
2.C++源程序文件的默认扩展名为(A.cpp)。
3.在下列的标识符常量的定义语句中,错误的定义语句是(C.charch='
a'
4.在C++语言中,循环类语句共有(C.3)种。
5.假定a为一个数组名,则下面的(B.*++a)表达式有语法错误。
6.在下面的二维数组定义中,只有(D.inta[3][5])语句是正确的。
7.下面(B.AA(inta=O,intb))的函数声明格式不正确。
8.假定一条语句定义为"
int*p=newint[30];
”,要释放p所指向的动态数组空间,则使用下面的(D.delete[]p)语句。
9.假定要对结构类型AB定义加号运算符重载的普通函数,实现两个AB类型对象的加法,并返回相加结果,则该函数的声明语句为(A.ABoperator+(AB&
a,AB&
b))。
10.当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令,使之包含(D.fstream.h)头文件。
二、填空题(每小题2分.共20分)
11.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字_____const_______。
12.算术表达式2x3+1对应的C++表达式为____2*x*-X*x+1(或2*pow(x,3)+1)________。
13.逻辑表达式x>
y&&x!
=10的相反表达式为_____x<
-y||x==10_______。
14.每个字符指针变量占用内存的_____4_______个字节的存储空间。
15.执行“typedefintDataType;
”语句后,在使用int定义整型变量的地方都可以使用标识符______DataType______来定义整型变量。
16.对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为_____0______。
17.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p+1);
”语句后,p所指对象的值为_____25_______。
18.假定一个结构类型的定义为"
structA{inta;
double*b;
A*c;
};
”,则该类型的大小为______12______字节。
19.假定二维数组的定义为"
inta[8][3];
”,则该数组所含元素的个数为_____24_______。
20.若while循环语句为“while(i++<
=4)s+=i;
”,i的初值为1,s的初值为0,则此循环语句执行结束后,s的值为_____14_______。
三、写出下列每个程序运行后的输出结果(每小题6分。
共30分)
iostream.h>
stdlib.h>
intx=20,y=6,z;
if(x>
y)z=x+y;
elseif(x<
y)z=x*y;
elsez=x+10:
z="
z<
运行结果:
z=26
string.h>
char*a[5]={"
student"
,"
worker"
cadre"
soldier"
"
apen"
unsignedintn=strlen(a[O]);
//求字符串a[0]的长度
5;
i++){
if(strlen(a[-i])<
n)n=strlen(a[i]);
n<
4
intWF(intx,inty){
x=x+y;
y=x+y;
returnx*y;
WF(3,4)<
77
24.#include<
constintn=9;
voidmain(){
inta[n]={2,4,6,8,10,12,14,16,18};
ints=0;
for(inti=0;
i<
n;
i++)
if(i%3==0)s+=a[i];
”s=”<
s=36
int*d=newint[-5];
inti,s=1;
for(i=0;
i++)d[i]=i+1;
i++)s*=d[i];
120
四、写出下列每个函数的功能(每小题8分。
共24分)
26.doubleFI(doublen){//n为大于等于1的整数
doublex,y=0;
for(inti=0;
n++)
x;
y+=x;
returny;
求出并返回从键盘上输入的n个实数之和。
27.intWG(inta,intb){
b&
b>
0)return1;
elseif(a<
0&
b<
0)return-1;
elsereturn0;
若a和b都大于O则返回1,若a和b都小于O则返回一1,其他任何情况则返回O。
28.intQB(intx,inty){
inta=(x>
=y)?
x:
Y;
for(inti=a;
x‘Y;
i+-4-)
if(i%x==0&
i%y==0)returni;
returnx*y;
求出并返回整型参数x和y的最小公倍数。
29.假定函数声明为“voidPrint(intaE],intn);
”,要求按下标从大到小的次序输出数组a中的n个元素的值,每个值后面接着输出一个空格。
voidPrint(inta[],intn)
for(inti=n-1;
i>
=O;
i--)
a[i]<
’’;
试卷代号:
10752009年1月
4.若整型变量x的值为25,则x/7的值为(A.3)。
6.含随机函数的表达式rand()%20的值在(C.0~19)区间内。
7.当处理一个特定的问题时,若循环次数已知,则通常采用(A.for循环)来解决。
8.在下面for循环语句中,循环体S语句的执行次数为(D.10)。
20;
i+=2)S;
9.若函数声明为double*function(),则该函数的返回值为(B.实数指针型)。
10.(B.int*p=&
m)。
1.执行“cout<
”x1=”<
18*4;
”语句后得到的输出结果为___x1=72_____。
2.在c++语言中,用转义字符序列___’\n’_____表示输出一个换行。
3.int类型的大小为___4_____个字节。
4.假定y的值为5,则增量表达式++y的值为___6_______。
5.假定a的值为25,则算术表达式a%3的值为____1____。
6.结束所在循环类语句或switch语句执行的中断语句的保留字为___break_______。
7.函数调用时,实参向形参的传送分为___引用_____传送和值传送两种方式。
8.假定a是一个一维数组,则a[i]的指针访问方式为___*(a+i)_____。
9.假定一个结构类型的定义为”structC{doublea[5];
intn;
};
”,则该类型的大小为___44_____个字节。
10.若要在程序中进行______文件_____的输入输出操作,则必须在开始的#inlude预处理命令中使用fstream.h头文件。
1.#include<
voidmain(){
intn=4,y=1;
while(n--)y*=3;
cout<
y="
y<
运行结果:
y=81
2.#include<
inta[8]={2,8,10,5,12,7,9,20};
intc=0,i=0;
while(i<
8){
if(a[i]>
10)c++;
i++;
c=2
3.#include<
iomanip.h>
inta[5]={3,6,9,12,8};
for(int*p=a;
p<
a+5;
p++)
if(*p>
8)cout<
912
4.#include<
intLA(inta[],intn){
ints=0;
for(inti=0;
s+=a[i];
returns;
inta[5]={5,2,8,6,4};
intb=LA(a,5);
b="
b=25
5.#include<
structAB{
charaa[15];
intbb;
ABa[4]={{"
Apple"
25},{"
Peach"
40},{"
Pear"
36},{"
Tomato"
62}};
4;
if(a[i].bb<
40)cout<
a[i].aa<
ApplePear
1.boolWB(inta[],intn,intx){
if(a[i]==x)returntrue;
returnfalse;
}
函数功能:
从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。
2.intLJ(inta[],intn){
intk=0;
for(inti=1;
i++)
a[k])k=i;
returna[k];
求出数组a中n个元素的最大值并返回。
3.假定结构类型DNode中的data域为结点值域,next域为结点指针域。
voidQB(DNode*f)//f指向单链表的表头结点
{
if(f==NULL)return;
while(f!
=NULL){
f->
data<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)