C程序设计(第四版)及学习辅导、教材课件及源程序-谭浩强版——试卷4.doc_第1页
C程序设计(第四版)及学习辅导、教材课件及源程序-谭浩强版——试卷4.doc_第2页
C程序设计(第四版)及学习辅导、教材课件及源程序-谭浩强版——试卷4.doc_第3页
C程序设计(第四版)及学习辅导、教材课件及源程序-谭浩强版——试卷4.doc_第4页
C程序设计(第四版)及学习辅导、教材课件及源程序-谭浩强版——试卷4.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)数据的逻辑结构可以分为( ) 。 A)静态结构和动态结构 B)物理结构和存储结构 C)线性结构和非线性结构 D)紧凑结构和松散结构(2)对线性表,采用顺序存储的优点是( ) 。 A)便于随机存取 B)便于进行插入和删除操作 C)需要的存储空间不必连续 D)方便线性表的扩充(3)设具有n个结点的完全二叉树的第1层为根结点,若一个结点i满足2in,则该结点没有( ) 。 A)左子结点 B)右子结点 C)左子结点和右子结点 D)左子结点、右子结点和兄弟结点(4)快速排序算法的平均时间复杂度为( ) 。 A)O(n) B)O(n2) C)O(nlog2n) D)O(log2n!)(5)在面向对象的程序设计方法中,描述对象静态和动态特征的三要素是( )。 A)封装、继承和重载 B)属性、事件和方法 C)数据、代码和接口 D)内聚、耦合和驱动(6)软件测试的目的是( ) 。 A)证明软件的正确性 B)找出软件系统中存在的所有错误 C)证明软件系统中存在错误 D)尽可能多地发现软件系统中的错误(7)软件开发范型的作用是( )。 A)为了控制软件需求的易变性 B)作为一种软件工程方法学 C)作为一种项目管理方法 D)作为需求分析的指导(8)在数据库三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是( )。 A)外模式 B)内模式 C)存储模式 D)模式(9)在数据库技术中,面向对象数据模型是一种( ) 。 A)概念模型 B)结构模型 C)物理模型 D)逻辑模型(10)数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是( ) 。 A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS(11)阅读以下程序 main() int x; scanf(”%d”,&x); if(x - - 5)printf(”%dn”,x); else prinff(”%dn”,x+); 程序运行后,如果从键盘上输入5,则输出结果是( ) 。 A)3 B)4 C)5 D)6(12)假定W,X,Y,z和m均为int型变量,有如下程序段: w=1;x=2;y=3;z:4; m=(wx)?w:x; m=(my)?m:y; m=(mz)?m:z; 则该程序段执行后,m的值为( ) 。 A)4 B)3 C)2 D)1(13)t为int型变量,进入下面的循环之前,t的值为0。 while(t-1) 则以下叙述中正确的是( )。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对(14)以下程序的输出结果是( ) 。 main() int num=0; while(num=2) num+;printf(”%dn”,num); A)1 B)1 C)1 D)l 2 2 2 3 3 4(15)以下各选项企图说明一种新的类型名,其中正确的是( ) 。 A)typedef vl int; B)typedef v2=int; C)typedef int v3; D)typedef v4:int;(16)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。 A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传给实参 D)传递方式由用户指定(17)以下函数值的类型是( ) fun(float x) float y; y=3*x-4: return y; A)int B)不确定 C)void D)float(18)设有以下函数: f(int a) int b=0; static int c=3; b+;c+; return(a+b+c); 如果在下面的程序中调用该函数,则输出结果是( )。 main() int a=2,i; for(i=0;i=0;i- -) a i =10 - i: printf(%d%d%d,a2,a5,a8); A)258 B)741 C)852 D)369(25)以下数组定义中不正确的是( ) 。 A)int a23; B)int b3=0,1,2,3; C)int c100100=0; D)int d3=1,2,1,2,3,1,2,3,4;(26)以下程序的输出结果是( ) 。 main() int a44=l,3,5,2,4,6,3,5,7; prinff(%d%d%d%dn,a03,a12,a21,a30); A)0650 B)1470 C)5430 D)输出值不确(27)以下程序的输出结果是( )。 #include main() char st20=hello0t; printf(%d%dn,stden(st,sizeof(st); A)9 9 B)5 20 C)13 20 D)20 20(28)以下程序的输出结果是( )。 amovep(int *p,int (*a)3,int n) int i,j; for(i=0;in;i+) for(j=0;jx,(h1.p)-y); A)12 B)23 C)14 D)32(30)以下程序的输出结果是( ) 。 main() int a,b; for(a=l,b=l;a=10)break; if(b%3=1) b+=3;continue; printf(%dn,a); A)101 B)6 C)5 D)4(31)以下程序的输出结果是( ) 。 union myun struct int x,y,z;u; int k;a; main() a.u.x=4;a.u.y=5;a.u.z=6; a.k=0;printf(%dn,a.u.x); A)4 B)5 C)6 D)0(32)以下程序的输出结果是( )。 int a,b; void fun() a=100;b=200; main() int a=5,b=7; fun(); printf(%d%dn,a,b); A)100200 B)57 C)200100 D)75(33)以下程序的输出结果是( ) 。 #define M(x,y,z) x*y+z main() int a=l,b=2,c=3;printf(%dn,M(a+b,b+c,c+a); A)19 B)17 C)15 D)12(34)整型变量X和Y的值相等,且为非0值,则以下选项中,结果为0的表达式是( ) 。 A)x|y B)x|y C)x&y D)xy(35)下面的程序执行后,文件testt中的内容是( ) 。 #include #include void fun(char *fname,char *st) FILE *myf; int i; myf=fopen(fname,w); for(i=0;istrlen(st);i+) fputc(sti,myf); fclose(myf); main() fun(testt,new world);fun(testt,hello,); A)hello, B)new worldhello, C)new world D)hello,world 二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡1至15序号的横线上,答在试卷上不得分。(1)算法的复杂性指的是 1 和空间复杂性。(2)设栈S的初始状态为空,队列Q的初始状态如下图所示: a1 a2 a3 a4 队头 队尾对栈S和队列Q进行如下两步操作:Q中的元素依次出队,并压入栈S中,直至Q为空;依次弹出S中的元素并进入Q,直至S为空。在上述两步操作后,队列Q的状态是 2 。 (3)面向对象程序设计使用的对象是 3 的封装体。 (4)在关系数据库中,关系模型的三类完整性是指 4 、参照完整性和用户定义的完整性。 (5)为数据库建立索引,是一种以牺牲 5 换取提高数据库访问速度的策略。 (6)以下函数的功能是求x的y次方,请填空。 double fun(double x,int y) int i; double z; for(i=1,z=x;iy;i+) z=z* 6 ;return z; (7)设有以下程序: main() int a,b,k=4,m=6,*pl=&k,*p2=&m; a=p1=&m: b=(*p1)/(*p2)+7; printf(a=%dn,a);printf(b=%dn,b); 执行该程序后,a的值为 7 ,b的值为 8 。 (8)若已定义int a10,l;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1,2,3,4, 5,6,7,8,9, 10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1, 2,3,4,5,5,4, 3,2, 1。请填空。 fun(int a ) int i; for(i=l;i=10;i+) 9 =i;for(i=0;i5;i+) 10 =ai: (9)以下程序运行后的输出结果是 11 。 main() char s =9876,*p; for(p=s;ps+2;p+) printf(%sn,p); (10)若有定义语句char sl00,d100;int j=0,i=0;,且s中已赋字符串,请填空以实现字符串拷贝。(注意:不得使用逗号表达式。) while(si) dj= l2 ; j+;dj=0; (11)以下程序段用于构成个简单的单向链表,请填空。 struct STRU int x,y, float rate; 13 p; a,b; a.x=0;a.y=0;a.rate=0;a.p=&b; b.x=0;b.y=0;b.rate=0;b.p=NULL; (12)若有如下结构体说明: struct STRU int a,b; char c; double d; struct STRU pl,p2; ; 请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。 14 t20;(13)以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定立件长度,请填空。 FILE *myf; long fl; myf= 15 (test.t,rb); fseek(myf,0,SEEK_END); fl=ftell(myf); fclose(myf); printf(%ldn,f1);参考答案一、选择题1. C 2.A 3. A 4.C 5.B 6.D 7.D 8. D 9.B 10.A 11.B 12.D 13.B 14

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论