C++.docx

上传人:b****6 文档编号:6423611 上传时间:2023-01-06 格式:DOCX 页数:10 大小:22.04KB
下载 相关 举报
C++.docx_第1页
第1页 / 共10页
C++.docx_第2页
第2页 / 共10页
C++.docx_第3页
第3页 / 共10页
C++.docx_第4页
第4页 / 共10页
C++.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C++.docx

《C++.docx》由会员分享,可在线阅读,更多相关《C++.docx(10页珍藏版)》请在冰豆网上搜索。

C++.docx

C++

《C++程序设计》试卷

 

一、单项选择题:

(每小题2分,共20分)

1.以下叙述中错误的是()。

A)用户所定义的C++标识符允许使用关键字

B)用户所定义的C++标识符应尽量做到“见名知意”

C)用户所定义的C++标识符必须以字符或下划线开头

D)用户所定义的C++标识符中,大、小写字符代表不同标识。

2.用C++语言编制的源程序要变为目标程序必须经过()。

A)解释B)汇编C)编辑D)编译

3.设有定义语句:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A)2.5B)2.75C)3.5D)0.0

4.以下所列的C++语言常量中,错误的是()。

A)0xFFB)1.2e0.5C)2LD)‘\72’

5.设有:

inta=7,b=5,c=3,d=1;,则条件表达式a

a:

c>d?

c:

d的值为(  )。

A)7B)5 C)3D)1

6.以下程序的运行结果是()。

intmain()

{shortb=-1;

unsignedshorta;

a=b;

cout<

return0;

}

A)-32768B)32767C)65535D)-1

7.设有定义语句:

inta[]={0,2,4,6,8,10},*p=a;,值不等于0的表达式是(  )。

A)*p++B)*(p++)  C)(*p)++   D)*++p

8.以下对C++字符数组的描述错误的是()。

A)字符数组可以存放字符串;

B)字符数组的字符串可以整体输入和输出;

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值;

D)不可以用关系运算符对字符数组中的字符串进行比较;

9.下列带有默认参数的函数原型声明中,正确的是()。

A)voidf(inta=5,intb=5,intc);

B)voidf(inta,intb,intc=5);

C)voidf(inta,intb=5,intc);

D)floatfun(inta=5,intb,intc=5);;

10.设有下列定义语句:

structnode{intx;inty;}n[3]={{1,2},{3,4},{5,6}};值等于4的正确表达式是()。

A)n[1][2]B)node[1][2]C)n[1].yD)n[1]->y

答案栏:

1、____2、____3、____4、____5、____6、____7、___8、____9、___10、____

 

二、程序填空题(每空2分,共20分)

答案栏:

1、__________________________________2、___________;___________;___________;

3、__________________________________4、__________________________________

5、_________________________________6、________________;_________________;

7、__________________________________8、__________________________________

9、__________________________________10、__________________________________

 

1、以下程序的功能是:

用选择法对5个实数排序(按从小到大顺序)。

请填空。

#include

usingnamespacestd;

voidmain()

{doublex[5],t;inti,j,k;

for(i=0;i<5;i++)

cin>>x[i];

for(i=0;i<4;i++)

{k=i;

for(【1】;j<5;j++)

if(x[j]

【2】//将选择好的下标元素和下标为i的元素交换

}

for(i=0;i<5;i++)

cout<

}

2、以下函数的功能是:

用递归法将一个整数m转换成字符串。

例如:

输入整数1472,应输出字符串"1472"。

m的位数不确定,可以是任意位数的整数。

请填空。

voidprint(intm)

{if(m<10)【3】//递归出口

else

{【4】/递归体

putchar(m%10+48);

}

}

3、以下程序的功能是:

执行该程序后运行结果如下:

5.13.2↙

请填空。

#include

usingnamespacestd;

voidd1(【5】)

{a=a+3;

b=b+3;

}

voidmain()

{

doublex=2.1,y=3.2;

d1(x,y);

cout<

}

4、以下程序的功能是:

定义一个结构体类型,内含学生学号和一门课的成绩,并开辟动态内存存放一个学生的数据:

学号3001,成绩95。

执行该程序后运行结果如下:

3001,95↙

请填空。

#include

usingnamespacestd;

structS1

{intm;//学号

doublex;//成绩

};

voidmain()

{

S1*p;

p=newS1;

【6】//赋值

【7】//输出

deletep;

}

5、以下函数的功能是:

判断一个数是否为素数。

请填空。

boolprime(intm)

{

inti;

boolprime1;

prime1=true;

for(i=2;i<=sqrt(m);i++)

if(【8】)prime1=false;

returnprime1;

}

6、以下程序的功能是:

输出二维数组各元素值。

请填空。

#include

usingnamespacestd;

voidmain()

{voidoutput(int(*)[2]);

intb[3][2]={6,5,4,3,2,1};

output(【9】);

}

voidoutput(int(*p)[2])

{

inti,j;

for(i=0;i<3;i++)

{

for(j=0;j<2;j++)

cout<<【10】<<"";

cout<

}

}

三、阅读程序,写出运行结果。

(每小题3分,共24分)

答案栏:

1、_____________________________2、_____________________________

3、_____________________________4、_____________________________

5、_____________________________6、_____________________________

7、_____________________________8、_____________________________

 

1、

#include

usingnamespacestd;

voidmain()

{

inta=-1,b;

if(a<2)

if(a<-2)b=a+1;

elseif(a>0)b=a+2;

elseb=a+4;

elseb=a+5;

cout<<"a="<

}

2、

#include

usingnamespacestd;

voidmain()

{

intn=2,m=6,a,b;

a=++m+n--;

b=m+++--n;

cout<

}

3、

#include

usingnamespacestd;

voidq(floatf)

{

cout<<"float"<

}

voidq(doubled)

{

cout<<"double"<

}

voidq(inti)

{

cout<<"int"<

}

voidmain()

{

q(3);

q('B');

q(3.1);

}

4、

#include

usingnamespacestd;

voidmain()

{intm=3,n=2;

while(m<5)

switch(m++)

{

case4:

n--;

case5:

n-=4;break;

case3:

n++;

}

cout<

}

5.#include

usingnamespacestd;

intx,y;

voidfun(inta)

{inty,b;

b=a+3;x=x+a;y=x-b;

cout<

}

intmain()

{inta=1,b=3;

x=5,y=4;

fun(b);

cout<

return0;

}

6.#include

usingnamespacestd;

intf(inta)

{intb=1;

staticintc=2;

b++;c++;

return(a+b+c);

}

intmain()

{for(inti=0;i<3;i++)cout<

return0;

}

7.#include

usingnamespacestd;

intmain()

{charch[]="PROGRAM";

cout<

return0;

}

8.#include

usingnamespacestd;

intmain()

{inta=78,b=21,*p,*q,*r;

p=&a;q=&b;

if(*p!

=*q){r=p;p=q;q=r;}

cout<<*p<<""<<*q<

*p=*p+*q;

cout<

return0;

}

四、简答题(每小题4分,共12分)

1.试分析字符串常量"abc\\e\tfg\101\102"由哪几个字符构成?

该字符串占用多少个字节?

若用cout<<"abc\\e\tfg\101\102";会看到的输出结果是什么?

2.若有如下定义:

structstype

{floaty;

shortintm;

charcode[3];

};

stypesdat;

试画出变量sdat的内存构造图(示意图),并指出该变量占用内存的字节数。

 

3.下面程序有错误:

#include

usingnamespacestd;

voidfun(intb[])

{for(inti=0;i<7;i++)

cout<<*(b++)<<"";//

(1)

cout<

}

intmain()

{intb[7]={10,20,30,40,50,60,70};

for(inti=0;i<7;i++)

cout<<*(b++)<<"";//

(2)

cout<

fun(b);

return0;

}

源程序中

(1)和

(2)之处写法一样,但编译时

(2)处出错而

(1)处正确,试指出原因,并将

(2)处改正。

五、程序设计题(每小题8分,共24分)

1.设计程序输出数列{An}的前36个数,输出时要求每行输出6个数。

数列有下列规律:

2.逆置是指将数组中的值按逆序重新存放。

例如:

数组原值是{4,7,3,1,5,6},逆置后数组变成{6,5,1,3,7,4}。

试设计一个将数组逆置的函数reverse,其形式参数有2个:

数组(该数组存放一组待逆置的数据)、数据个数。

在主函数中输入一组数据存放在数组中,然后调用函数reverse将数组逆置,最后在主函数中显示出逆置后的数组。

3.需要求2个不同的圆柱体的体积,设计一个面向对象的程序。

数据成员包括:

radius(半径),height(高);还可根据需要定义其它数据成员。

要求分别用成员函数实现以下功能:

(1)由键盘输入圆柱体的半径、高;

(2)计算圆柱体的体积;

(3)输出圆柱体的体积。

请编写程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1