永发信息网

C++程序求解

答案:1  悬赏:60  手机版
解决时间 2021-04-15 05:12
  • 提问者网友:别再叽里呱啦
  • 2021-04-14 08:42

一、单选题(每小题2分,共12分)

1.在每个C++程序中都必须包含有这样一·个函数,该函数的函数名为( )。

A.maln B.MAIN C.name D.functiOn

2.设x和y均为b001量,则x&&y为真的条件是( )。

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

3.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址

大( )。

A.1 B.2 C.4 D.8

4.设x和y均为bool量,则x︱︱y为假的条件是( )。

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

5.假定a为一个整型数组名,则元素a[4]的字节地址为( )。

A.a+4 B.a+8 C.a十16 D.a十32

6.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ( )。

A.iOS::in B.iOS::Out C.iOs::in︱iOs::Out D.没有

二、填空题(每小题2分,共24分)

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

2.算术表达式+4b一1对应的c++表达式为——·

3.逻辑表达式x>y&&x!=l0的相反表达式为——。

4.逻辑表达式a<=b︱︱b==15的相反表达式为——。

5.假定一个二维数组的定义为“char*a[5][4];”,则该数组所含元素的个数为——,所占存储空间的字节数为——。

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

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

8.假定一个结构类型的定义为“struct A{double a,b,A*c;};”,则该类型的大小为——字节。

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

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

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

12.若需要把一个函数"void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句

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

1. #include<iostream. h>

include<stdlib. h>

double SD(int a, int b, char op) {

double x;

switch(op) {

case'+': x= double(a)+b; break;

case'-':x=double(a)-b; break;

case'*':x=double(a)*b; break;

ease'/' ;if(b)x=double(a)/b;

else exit(l);

break;

default: exit (1);

return x;

void main() {

int x=20, y=5;

eout<<SD(x, y,'+')<<'';

court.SD(x, y,'*')<<'';

eout<<SD(x-y,y, '/')<<endl;

)

2. #include<iostream. h>

include<string, h>

void main() {

char*a[5]={"student", "worker", "cadre", "soldier", "apen"};

char *pl,*p2;

pl=p2=a[0];

for(int i=l; i<5; i++) {

if(strcmp(a[i], p1)>0) pl=a[i];

if(strcmp(a[i], p2)<0) p2=a[i];

)

cout<<pl<<''<<p2<<endl;

3. #include<iostream. h>

void WF(int x, int y) {

x=x+y;

y=x+y;

cout<<"subs:"<<"x, y="<<x<<","<<y<<endl;

void main() {

int x=8, y=l5;

cout<<"main:"<<"x, y="<<x<<i", "<<y<<endl;

WF(x, y);

X=2*X;

cout<<"main:"<<"x, y="'<<x<<", "<<y<<endI;

}

4. # include<iomanip, h>

void LG(int*& a, int& m) {

a=new int[m]

int* p=a;

for(int i=0, i<m, i++)

*p++=i*i+l,

}

void main() {

int * b, n=5,

LG(b, n);

for(int i=0; i<n; i++)

cout<<b[i]<<"

cout<<endl;

delete[Ih;

}

5. #include<iostream. h>

#include<string, h>

struct Worker {

char name[15]; //姓名

int age; //年龄

float pay; //工资

};

void main() {

Worker x;

char * t="WeiRong";

int d=45; float f=1235;

strcpy(x, name, t)

x. age=d; x. pay=f;

cout<<x, name<<''<<x. age<<''<<x. pay<<endl;

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

1. int SC(int a, int b, iht c) {

if(a>b) a=b;

if(a>c) a=c;

return al

}

2. #include<iostream. h>

template<class TT>

TT WG(TT a, TT b) {

if(a>b) return 1;

else if(a==b) return 0;

else return --1;

}

3. struct StrNode {

char name[15];//字符串域

StrNode*next; //指针域

>;

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

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

f=new StrNode;

cin>>f->name;

StrNode 0, p=f;

while(--n) {

p=p->next = new StrNode;

cin>>p->name;

>

p->next=NULL;

}

4. //struct Worker {

// char name[15]; //姓名

// iht age; //年龄

// float pay; //工资

//};

istream & operator>>(istream & istr, Worker & x) {

cout<<"请输入一个职工记录:姓名、年龄、工资、"<<endl;

istr>>x.name>>x.age>>x.pay;

return istr;

}

五、(10分)

编一程序计算并输出12+22+...+n2的值,其中n值由键盘输入。

最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-04-14 08:55
加我qq 我给你做
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯