程序设计样题

  • 格式:doc
  • 大小:89.89 KB
  • 文档页数:12

样题

一 填空题 (每空2分,共30分)

1、C语言中结构化设计中的三种基本结构是_顺序_ 循环_ 和分支结构。

2、若a=1,b=4,c=3,则表达式!(a

3、设有四个数据元素a1、a2、a3和a4,对他们分别进行栈操作或对操作。在进栈或进队操作时,按a1、a2、a3、a4次序每次进入一个元素。假设栈或队的初始状态都是空。现在进行进栈两次(即a1,a2进栈),出栈一次,再进栈两次(即a3,a4进栈),出栈一次;第二次出栈得到的元素是___a4__。

4、已知 int x =1, y=2, z=3;则 z+ = x>y?++x:++y的值是__6__。

5、已知 int a[ ] = {10,9,8,7,6}, *P = a; 则*(P+1)*(P+2)[2]的值是____54___。

6、已知 int *p(), (*q) (); 则 p是_返回值为整型指针的函数__,而q是__返回值为整型的函数的指针_______。

7、一个变量有两个重要的值。它们是 地址 和 值 。

8、在面向对象的理论中经常会出现以下三个名词。请用中文解释之:

OOA面向对象分析 ; OOD面向对象设计 ;OOP面向对象的编程

OOT面向对象测试 ; OOSM面向对象维护。

9、XML在地理空间信息领域的应用是 处理分布式信息的选择工具 。利用它可以存储和发布各种特征的地理信息,并控制地理信息在Web浏览器中的显示。 10、定义一个指向整型数组a的整型指针。其中a的定义如下:

int a[1][2][3][4][5][6][7][8]; int *p= a; 。

二 选择题 (每小题2分,共70分)

1、 __ is the address of a variable or a variable in which the

address of another variable is stored. ( B )

A.Director; B.Pointer; C.Array ; D.Record;

2 面向对象程序设计以____为基本的逻辑构件,用____来描述具有共同特征的一组对象;以____为共享机制,共享类中的方法和数据。( C )

①对象 ②类;③抽象;④继承

A.①②③; B.②③④; C. ①②④; D. ①③④;

3 链表不具备的特点是( A )。

A.可随机访问任何一个元素;

B.插入、删除操作不需要移动元素;

C.无需事先估计存储空间大小;

D.所需存储空间与线性表长度成正比;

4 在C语言中,若函数调用时实参是数组名,则传递给对应形参的是( A )。

A.数组空间的首地址; B.数组的第一个元素值;

C.数组中元素的个数; D.数组中所有的元素;

5 已知有一维数组T[O...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m]中,即B[1]=T[0],B[2]=T[n],依此类推,那么放入B[k](1≤k≤n)的元素是( A)。

A.T[(K-1)*n]; B.T[K*n]; C.T[(K-1)*m];

D.T[K*m];

6 在右图的流程图中,如果标记为b的运算执行了m次(m>1),那么标记为a的运算的执行次数为( B )。

A.1; B.m-1; C.m; D.m+l;

7 对矩阵压缩存储的主要目的是( B )。

A.方便运算; B.节省存储空间;

C.降低计算复杂度; D.提高运算速度;

8 在位运算中,操作数每右移一位,其结果相当于( B )。

A.操作数乘以2; B.操作数除以2 ;

C.操作数除以4; D.操作数乘以4;

9 以下不是死循环的语句为( D ).

A. for(;;x+=i); B.while(100){x++;}

C. for(i=10;;i--) sum+=i;

D. for(;(c=getchar())!=ˊ\nˊ;) printf(〞%c〞,c);

10.已知L是无表头结点的单链表,试从下面的语句中选出在表首插入S结点的语句(B )。

(1) L->next=S;

(2) S->next=L; a

b Y N (3) S->next=L->next;

(4) L->next=S->next;

(5) L=S;

(6) S=L;

A.(1)(6); B.(3)(5);

C.(4)(6); D.(2)(5);

11若有以下程序段

int a[ ] = {4,0,2,3,1};

int i,j,t;

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

{ t = a[i];j=i-1;

while(j>=0&&t

{a[j+1]=a[j];j-- }

a[j+1]=t;

}

则该程序段的功能是( A )。

A. 对数组a进行插入排序(升序);

B. 对数组a进行插入排序(降序);

C.对数组a进行选择排序(升序);

D.对数组a进行选择排序(降序);

12设数组a[3...16,5...20]的元素以列为主序存放,每个元素占用两个存储单元,则数组元素a[i,j](3≤i≤16,5≤j≤20)的地址计算公式为( D)。

A.a-118+2i+28j; B.a-116+2i+28j;

C.a-144+2i+28j; D.a-146+2i+28j;

13 如果某二叉树的前序为stuwv,中序为uwtvs,那么该二叉树的后序为( C )

A.uwvts; B.vwuts; C.wuvts; D.wutsv;

14 具有五层结点的二叉平衡树至少有___个结点。( B )

A.10; B.12; C.15; D.17;

15 设n,m为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是( C ).

A. n在m右方; B. n是m祖先;

C. n在m左方; D .n是m子孙;

16 对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该矩阵的大小是( D )

A.n; B.(n-1)2 ; C. n-1; D. n2 ;

17 判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用( C)。

A. 求关键路径的方法; B. 求最短路径的Dijkstra方法;

C. 宽度优先遍历算法; D. 深度优先遍历算法;

18 设哈希表长m=14,哈希函数H(key)=key MOD 11。表中已有4个结点:

addr(15) = 4; addr(38) = 5;

addr(61) = 6;

addr(84) = 7;

其余地址为空

如用二次探测再散列处理冲突,关键字为49的结点的地址是( D)。

A. 8; B. 3; C. 5; D. 9;

19 有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功所需的平均比较次数为( B )。

A. 35/12; B. 37/12; C. 39/12; D. 43/12;

20 下述几种排序方法中,要求内存量最大的是(C )。

A. 插入排序; B. 选择排序; C. 快速排序; D. 归并排序

21 一组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( A ).

A. 16 25 35 48 23 40 79 82 36 72;

B. 16 25 35 48 79 82 23 36 40 72;

C. 16 25 48 35 79 82 23 36 40 72;

D. 16 25 35 48 79 23 36 40 72 82;

22 索引无序文件是指( A ).

A.主文件无序,索引表有序;B.主文件有序,索引表无序;

C.主文件有序,索引表有序; D.主文件无序,索引表无序;

23 倒排文件的主要优点是__C。 A.便于进行插入和删除运算; B.便于进行文件的合并;

C.能大大提高次关键字的查找速度; D.能大大节省存储空间;

24 外排序是指__D_.

A. 在外存上进行的排序方法; B. 不需要使用内存的排序方法;

C. 数据里很大,需要人工干预的排序方法;

D. 排序前后数据在外存,排序时数据调入内存的排序方法;

25 下面程序的运行结果是 D

int x=y=0;

while(x<15){ y++,x+=++y;}

printf(〞%d,%d〞,y,x);

A.20,7; B.6,12; C.20,8; D.8,20;

26、下面对于数组的定义正确的是( D )

int M=10;

const int N=9;

static int K=20;

#define J 50

main(int argc, char* argv[])

{

int I;

cin>>I;

int array1[I]; ———————————————① int array2[M]; ———————————————②

int array4[K]; ———————————————③

int array3[N]; ———————————————④

int array5[J]; ——————————————⑤

}

A.①②③④⑤; B.②③④⑤; C.③④⑤; D. ④⑤;

27 如下所示是一棵5阶B树,该B树现在的层数为2。从该B树中删除关键码38后,该B树的第2层的结点数为( )

A 6; B 7 ; C 8; D 9;

28、有关类和对象的说法不正确的是( D )

A. 类是对于众多对象的归纳;

B.类的对象具备该类的所有特征;

C. 类是抽象的数据结构,而对象是具体的事件或事物等;

D. 在程序中,我们只能使用对象的成员,而不能直接使用类的成员;

29 软件管理是软件工程化生产的重要环节,以下哪些是软件工程管理应包括的内容?( D)

① 人员组织; ② 进度安排;③.质量保证; ④成本核算; 35

10 19 45 60 82

5 8 11 13 15 23 30 38 41 47 53 64 70 73 78 86 95