2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 湖北工大的c语言期末考试题 天津工业大学C++语言期末考试题

湖北工大的c语言期末考试题 天津工业大学C++语言期末考试题

时间:2024-07-13 08:14:40

相关推荐

湖北工大的c语言期末考试题 天津工业大学C++语言期末考试题

天津工业大学C++语言期末考试题

--------------------------------------------------------------------------------

一、单选题

1.设x和y均为量bool则x&&y为真的条件是_______。

A.它们均为真B.其中一个为真

C.它们均为假D.其中一个假

2.设X和Y均为bool量则x||y为假的条件是_______。

A.它们均为真B.其中一个为真

C.它们均为假D.其中一个为假

3.声明或定义一个内联函数时必须在函数开始使用保留字_______。

A.staticB.const

C.inlineD.extern

4.在下面构造函数的声明中存在着语法错误是_______。

A.BC(int a,int );B.BC(int

,int);

C.BC(int ,int=5);D.BC(int ,int y);

5.假定AB为一个类则执行"AB

a(4),b[3],*p[2]语句时自动调用该类构造函数的次数为_______。

A.3B.4

C.6D.9

6.假定AB为一个类,px为指向该类动态对象数组的指针该数组长度为n则执行"delete[]px;"语句时自动调用该类析构函数的次数为_______。

A.0B.1

C.nD.n+1

二、填空题(每小题分共分)

1.若需要定义一外标识符常量并且使c++能够进行类型检查则应在定义语句的开始使用保留字_______。

2.算术表达式xy2/3a+4b-1对应的表达式为______。

3.逻辑表达式x>3&&x<10的相反表达式为_______。

4.逻辑表达式a>b||b==5的相反表达式为_______。

5.假定一个二维数组的定义为"char

a[5][6];"则该数组所含元素的个数为_______。所占存储空间的字节数为_______。

6.变量分为全局和局部两种,_______变量没有赋值时将由系统自动置为0。

7.假定a是一个一维数组则a[i]对应的存储地址(以字节为单位)为_______。

8.假定一个结构类型的定义为"struct A{int

a,b;A*C;};则该类型的大小为_______字节

9.假定要访问一个结构指针P所指对象中的指针成员b所指的对象,则表示方法为_______。

10.在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先_______,后_______,最后为_______。

11.假定用户没有给一个名为AB的类定义构造函数则系统为其隐含定义的构造函数为_______。

12.若需要把一个函数void

F();"定义为个类AB的友元函数则应在类AB的定义中加入一条语句:_______。

三、给出下列程序运行后的输出结果(每小题6分)

1.#include

void main(){

int s=0;

for(int i=1;i<=5;i++)

s+=i**i;

cout<

2..#include

void main(){

int s=0;

for(int i=1;;i++)

if(s>50)brek;

if(i%2==0)s+=i;

}

cout<

}

3.#include

void main(){

int a[8]={36,25,48,14,55,40,32,66};

b1=b2=a[0];

for(int i=1;i<8;i++)

if(a[i]

b1=a[i];

}

cout<

}

4..#include

int LB(int *a,int n){

int s=1;

for(int i=0;i

s*=*a++;

return s;

}

void main(){

int a[]={1,2,3,4,5,6,7,8};

cout<

cout<

}

5..#include

struct Worker{char name[15];

int age;

float pay;

};

void main(){

Worker x={"wangfong",43,640};

Worker y,*p;

y=x;p=&x;

cout<

cout<name<age*2<pay+100<

}

四、写出下列每个函数的功能(每小题6分共24分)

1.int WC(int a[],int n,int k){

int c=0;

for(inti=0;i

if(a[i]>=k)c++;

return c;

}

2.#include

int *LJ(int a[],int n){

int k=0;

for(int i=1;i

if(a[i]>a[k])k=i;

return &a[k];

}

3.//struct DNode{

//double data;

};

void QB(DNode*&f,int n){

if(==0){f=NULL;return;}

f=new DNode;

cin>>f->data;

DNode*p=f;

while(--n){

p=p->next=new DNode;

cin>>p->data;

}

p->next=NULL;

}

4.#include

#include

#include

int JB(char *fname,char*key)

//可把以fname所指字符串作为文件标识符的文件称为fname文件假定该文件中保存着一批字符串每个字符串的和度小

//于20

{

ifstream fin (fname);

char a[20];

int i=0;

while(fin>>a)

if(strcmp(a,key==0)i++;

fin.close();

}

五、编程(10分)

个函数void SelecSort(int

a[],int

n),采用选择排序的方法按升序排列数组a中的n元素。

答案:

一、1.A2.C3.C4.D5.B6.B

二、1.const2.x*pow(y,2)/(3*a)+4*b-13.x<=3||x>=104.a<=b&&b!=5

5.306.全局7.a+i*sizeof(a[0])8.129.*p(p->b)

10.基类成员,类对象成员,非类对象成员11.AB(){}12.friend void F()

三、1.s=552.i,s=15,563.14 254.103605.wangfong 43

640换行wangfong 86 740

四、1.

统计数组a中元素值大于给定值k的个数并返回个数值。

2.查找数组a中最大元素并返回该元素的地址。

3.建立具有n个结点的链表结点的值域从键盘输入指针域动态产生。

4.统计fname

文件中字符串为给定字符串的个数并返回统计结果。

五、

void SelectSort(int a[],int n)

{for(int i=0;j

{int k=i;

for(int j=i+1;j

if(a[k]>a[j])

k=j;

if(k!=i)

{int m=aa[i];

a[i]=a[k];

a[k]=m;}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。