最新-2018年电大C++语言程序设计课程期末针对性训练试题及答案参考小抄(电大考试必备) 精品 下载本文

内容发布更新时间 : 2024/7/5 1:26:29星期一 下面是文章的全部内容请认真阅读。

电大C++语言程序设计课程期末针对性训练

训练第一套

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

1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为( A )。 A. main B. MAIN C. name D. function

2.设x和y均为bool量,则x && y为真的条件是( D )。 A. 其中一个为假 B. 其中一个为真 C. 它们均为假 D. 它们均为真

3. 逻辑表达式x>0 || y==5的相反表达式为( B )。

A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 && y==5

4. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大( C )个字节。 A. 1 B. 2 C. 4 D. 8

5. 枚举类型中的每个枚举常量的值都是一个( A )。

A. 整数 B. 浮点数 C. 字符 D. 逻辑值

6. 循环体至少被执行一次的语句为( C )语句。

A. for循环 B. while循环 C. do循环 D. 任一种循环

7. 在下面的字符数组定义中,( D )语句有语法错误。

A. char a[20]=”abcdefg”; B. char a[]=”x+y=55.”; C. char a[15]={’1’,’2’}; D. char a[10]=’5’;

8. 若用数组名作为函数调用的实参,传递给形参的是( A )。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数

9.假定AB为一个类,则执行“AB a(4), b[5], *p[2];”语句时,自动调用该类构造函数的次数为( A )。 A. 6 B. 7 C. 9 D. 11

10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( D )。 A. ios::in B. ios::out C. ios::in | ios::out D. 没有

二、填空题(每小题2分,共20分) 1. 若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字__ const __。

xy2?4b?1对应的C++表达式为_(x*y*y)/(3*a)+4*b-1 _。 2. 算术表达式3a

3. 逻辑表达式x>y && x!=10的相反表达式为__ x<=y || x==10__。

4. 每个字符指针变量占用内存__4____个字节。

5. 执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用标识符___ DataType _______来定义整型变量。

6. 对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为___0_____。

7.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);”语句后,p所指对象的值为___46_____。

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

9.假定一维数组的定义为“int a[8];”,则该数组所含元素的个数为_____8___。

10. 若while循环语句的开始为”while(i++<=10)”,若i的初值为0,同时在循环体中不会修改i的值,则其循环体将被重复执行____11______次后正常结束。

三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main() {

int s1=0, s2=1;

for(int i=1; i<=6; i++) {s1+=i; s2*=i;} cout<

输出结果:21,720

2. #include void main() {

int a[10]={68,79,86,65,46,94,37,78,60,53}; int c=0;

for(int i=0;i<10;i++) if(a[i]>=60) c++; cout<<”c=”<

输出结果:c=7

3. #include void main() {

int a[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}}; int m=a[0][0];

for(int i=0;i<3;i++) for(int j=0;j<4;j++)

if(a[i][j]>m) m=a[i][j]; cout<

输出结果:20

4. #include void main() {

int a=10, b=15;

cout<

int b=a+20;

cout<

cout<

输出结果:10 15 30 50 30 15

5. #include void main() {

int a[8]={6,19,4,12,20,5,18,25}; int* p=a;

for(p=a; p

if(*p<10) cout<<*p<<’ ‘; cout<

输出结果:6 4 5

四、写出下列每个函数的功能(每小题8分,共24分) 1. bool WB(int a[], int n, int x) { for(int i=0;i

if(a[i]==x) return true; return false; }

函数功能:从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。

2. int LJ(int a[], int n) { int k=0;

for(int i=1;ia[k]) k=i; return a[k]; }

函数功能:求出数组a中n个元素的最大值并返回。