C语言程序设计A期末模拟试题(1-4)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言程序设计A 期末模拟试题一 一、单项选择题(每小题2分,共20分) 1. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 2. x >0 && x<=10的相反表达式为( )。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 3. 在下面的一维数组定义中,哪一个有语法错误。( C ) A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 4. 假定p 是具有double 类型的指针变量,则表达式++p 使p 的值(以字节为单位)增加( C )。 A. 1 B. 4 C. sizeof(double) D. sizeof(p) 5. 当#include 后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。 A. 直接按系统设定的标准方式搜索目录 B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录 6. 假定指针变量p 定义为“int *p=new int(100);”,要释放p 所指向的动态内存,应使用语句( A )。 A. delete p; B. delete *p; C. delete &p; D. delete []p; 7. 假定AA 为一个类,a 为该类公有的数据成员,px 为指向该类对象的一个指针,则访问px 所指对象中数据成员a 的格式为( )。 A. px(a) B. px[a] C. px->a D. px.a 8. 栈具有( )的操作特性。 A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意 9. 对于任一个类,用户所能定义的构造函数的个数至多为( )。 A. 0 B. 1 C. 2 D. 任意个 10. 下列对派生类的描述中错误的说法是:( )。 A. 派生类至少有一个基类 B. 派生类可作为另一个派生类的基类 C. 派生类除了包含它直接定义的成员外,还包含其基类的成员 D. 派生类所继承的基类成员的访问权限保持不变 二、填空题(每题2分,共20分) 1. C++语言是在_________语言的基础上发展起来

的。

2. 当执行cin 语句时,从键盘上输入每个数据后

必须接着输入一个________符,然后才能继续输入下一

个数据。

3. 假定x 是一个逻辑量,则x && false 的值为

__________。

4. 元素类型为char 的二维数组a[10][30]共占用

____ ____字节的存储空间。

5. 局部变量具有局部生存期,存放在内存的

______栈______区中。

6. 已知语句“cout<

语句“cout<<*p;”输出的是__________。

7. 对类中常量成员的初始化是通过在构造函数中

给出的______________来实现的。

8. 在重载一个单目运算符时,参数表中没有参数,

说明该运算符函数只能是类的_____________。

9. 假定用户为类AB 定义了一个构造函数“AB(int

aa):a(aa){}”,则定义该类的对象时,有________种定

义格式。

10. 在每个成员函数中,隐含的第一个参数的参数

名为________。

三、程序填充题(对程序、函数或类中划有横线的位置,

根据题意按标号把合适的内容填写到程序下面相应标

号的后面。每小题6分,共24分)

1. 斐波那契数列的第1和第2个数分别为0和1 ,

从第三个数开始,每个数等于其前两个数之和。求斐波

那契数列中的前20个数,要求每行输出5个数。

#include

void main() {

int f,f1,f2,i;

cout<<” 斐波那契数列:\n ”;

f1=0; f2=1;

cout<

for(i=3;i<=20;i++) {

f=______(1)______;

cout<

if(_____(2)______) cout<

f1=f2;

f2=____(3)_______;

}

cout<

}

(1) (2) (3)

2. 对数组a[n]按升序进行的选择排序算法

void SelectSort(int a[], ___(1)___)

{

int i,j,k;

for(i=1;i class AA { int a[10]; int n; public: void SetA(int aa[], int nn); //用数组aa 初始化数据成员a , //用nn 初始化数据成员n int MaxA(); //从数组a 中前n 个元素中查找最大值 void SortA(); //采用选择排序的方法对数组a 中前n 个元素 //进行从小到大排序 void InsertA();//采用插入排序的方法对数组a 中前n 个元素进行从小到大排序 void PrintA(); //依次输出数组a 中的前n 个元素 }; 该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。 int ____(1)_____ { int x=a[0]; for(int i=1; ix) ___(2)___; ___(3)___; } (1) (2) (3) 4.class A { int a; public: A() {a=0;}

___(1)___{} //定义构造函数,用参数aa 初始化数据成员a

};

main() {

___(2)___; //定义类A 的指针对象p

___(3)__; //用p 指向动态对象并初始化为整数5

}

(1) (2)

(3)

四、理解问答题(写出前两小题的程序运行结果和指

出后两小题的程序(或函数)所实现的功能。每小题6

分,共24分)

1. #include

#include

void main()

{

int a[8]={25,48,32,85,64,18,48,29}; int max,min;

max=min=a[0];

for(int i=0; i<8; i++) {

if(x>a[i]) max=a[i];

if(x

}

cout<<"max:"<

cout<<"min:"<

}

2. #include

void main()

{

for(int i=1,s=0;i<20;i++) {

if(i%2==0 || i%3==0) continue;

cout<

s+=i;

}

cout<

}

3. void trans(int x)

{

char a[10];

int i=0,rem;

do {

rem=x%16;

x=x/16;

if(rem<10) a[i]=48+rem; //’0’

字符的ASCII 码为48

相关文档
最新文档