优题选
题目:山东广播电视大学开放教育电大《C++语言程序设计》课程


一、填空(每空2分,共20分)

1. C++目标程序经___________后生成扩展名为exe的可执行程序文件。

2. 16位计算机中整型占__________个字节存储空间。

3. 要在屏幕上显示"Hello,world!"应执行语句cout<<_________________

___________________。

4. 表达式8&3的结果是__________。

5. 作为语句的函数调用是通过__________________________来体现的。

6. 执行if (x>=0||x<=0) cout<<"abcd";else cout<<"wxyz";屏幕上显示的是_______________。

7. 设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式__________________________计算出来。

8. 若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符_______________。

9. 设有int w[3][4];,pw是与数组名w等价的数组指针,则pw应初始化为__________________________。

10.要使引用pr代表变量char * p;,则pr应初始化为______________________________。


二、单项选择题(每空2分,共20分)

1.下列变量名中,( )是合法的。

A CHINA B byte-size C double D A+a

2.下列各种函数中,( )不是类的成员函数。

A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数

3.下列( )是正确的语句。

A ; B a=17 C x+y D cout<<"/n"

4.循环while(int i=0) i--;执行次数是( )。

A 0 B 1 C 5 D 无限

5.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。

A g(f(3)); B f(g(3)); C g(f(3)+2); D p= f(g(3)+1);

6.设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是( )。

A int * 和int B int * 和int **

C int 和int * D int * 和int *

7.设int x;,则经过( )后,语句*px=0;可将x值置为0。

A int * px; B int const * px=&x;

C int * const px=&x; D const int * px=&x;

8.设void f1(int * m,long & n);int a;long b;则以下调用合法的是( )。

A f1(a,b); B f1(&a,b);

C f1(a,&b); D f1(&a,&b);

9.以下结构类型可用来构造链表的是( )。

A struct aa{ int a;int * b;}; B struct bb{ int a;bb * b;};

C struct cc{ int * a;cc b;}; D struct dd{ int * a;aa b;};

10.使用操作符setw对数据进行格式输出时,需要包含( )文件。

A iostream.h B fstream.h C iomanip.h D stdlib.h


三、回答问题(每题4分,共20分)

1.设int * p;,判断下列表达式的正确性(用T表正确,用F表错误)。

--++p( ) ++(p--)( ) p---- ( ) (++p)-- ( )


2.请初始化一维指针数组color,其初值表初值为"red","blue","white"和"black"。


3.设int x[ ]={99,98,97},& y=x[1];,

写出语句 cout<<y--<<',';

cout<<y*2<<endl;执行结果。


4.设int fp(char a,int b=0,double c=100.0);,判断下列重载函数的正确性。

(用T表正确,用F表错误)。

int fp( );( ) void fp(char);( )

int fp(char,int);( ) void fp(char,int,int);( )


5.要使语句p1=new long * ;p2=new float * [15];能正常执行,写出p1和p2的定义。


四、(每题10分,共20分)

1.写出下列程序的执行结果。

# include <iostream.h>

void fun(int,int,int * );

void main()

{

int x,y,z;

fun (2,3,&x);

fun (4,x,&y);

fun (x,y,&z);

cout<<x<<','<<y<<','<<z<<endl;

}

void fun(int a,int b,int * c )

{ b*=a;*c=b-a;}


2.下列程序向a盘上的文本文件aaa.dat输出0至100间的整数,请将程序补充完全。

# include <stdlib.h>

# include ________________

void main(void)

{

ofstream f1(_________________);

if (___________) {

cerr<<"a:aaa.dat file not open!"<<endl;

exit(1);

}

for (int i=0;i<=100;i++) ___________<<i<<' ';

f1._______________;

}


五、(每题10分,共20分)

编程求数列1, , , , ,……的所有大于等于0.000001的数据项之和并输出结果。

2.用递归方法设计函数int ArrayMin (int d[ ],int size);,其中d为数组,size为数组元素个数;ArrayMin返回d中的最小元素。


《C++语言程序设计》试题标准答案

一、填空(每空2分,共20分)

1. 连接

2. 2

3. "/"Hello,world!/""

4. 0

5. 函数的副作用

6. abcd

7. sizeof(data/data[0])

8. static

9. int (* pw)[4]=w;

10. char * &pr=p;

二、单项选择题(每空2分,共20分)

1. A

2. C

3.A

4.A

5.B

6.B

7.C

8.B

9.B

10.C

三、回答问题(每题4分,共20分)

1.--++p( T ) ++(p--)( F ) p---- ( F ) (++p)-- ( T )

2. char * color[]={"red","blue","white","black"};

3.98,194

4. int fp( );( T ) void fp(char);( F )

int fp(char,int);( F ) void fp(char,int,int);( T )

5. long ** p1; float ** p2;

四、(每题10分,共20分)

1.4,12,44

2.<fstream.h> "a:aaa.dat" !f1(或f1.fail()) f1 close()

五、(每题10分,共20分)

1、#include <iostream.h>

void main()

{

int n=1,d=1;

double s=0.0,s0;

while((s0=double(n)/d)>=0.000001)

{

s+=s0;

d++;

}

cout<<s<<endl;

}


2.int ArrayMin(int d[],int size)

{

int k=d[size-1];

if(size==1) return k;

if(k<=ArrayMin(d,size-1)) return k;

else return ArrayMin(d,size-1);

}

关键字:
返回顶部