资源描述
2005年4月全国计算机等级考试笔试试卷 二级公共基础知识和C语言程序设计(考试时间120分钟,满分100分)一、选择题(1)-(10)每小题2分,(11)-(50)每小题1分,共60分)(1)数据的存储结构是指()。A)存储在外存中的数据B)数据所占的存储空间量C)数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是()。A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()OA)冒泡排序n/2 B)冒泡排序为nC)快速排序为n D)快速排序为n(n-l)/2(4)对于长度为的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。A)log2n B)n/2C)n D)n+1(5)下列对于线性链表的描述中正确的是()。A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是()。A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确C)软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求()。A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱二级C语言程序设计试卷第1页(共13页)D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的是()。A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合(9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。A)数据与程序独立存放B)不同的数据被存放在不同的文件中C)不同的数据只能被对应的应用程序所使用D)以上三种说法都不对(10)用树形结构表示实体之间联系的模型是()。A)关系模型 B)网状模型C)层次模型 D)以上三个都是(11)算法具有5个特性,下列选项中不属于算法特性的是()。A)有穷性 B)简洁性C)可行性 D)确定性(12)下列选项中可作为C语言合法常量的是()。A)-80 B)-080C)-8el.O D)-80.0e(13)下列叙述中正确的是()。A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(14)下列不能定义的用户标识符是()。A)Main B)_0C)_int D)sizeof(15)下列选项中,不能作为合法常量的是()。A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e0(16)数字字符。的ASCII值为48,运行下列程序的输出结果是()。main()chara=T,b=2;printf(%c,n,b+);二级C语言程序设计试卷第2页(共13页)printf(n%dnu,b-a)A)3,2C)2,2B)D)50,22,50(17)下列程序的输出结果是()。main()int m=12,n=34;printf(n%d%du,m+,+n);printf(n%d%dnn,n+,+m);)A)12353514C)12343514B)12353513D)12343513(18)有定义语句:int b;char c10;,A)scanf(n%d%sn,&b,&c);C)scanf(n%d%sn,b,c);则正确的输入语句是(B)D)scanf(n%d%sH,&b,c);scanf(n%d%su,b,&c);)o(19)有下列程序:main()int m,n,p;scanf(nm=%dn=%dp=%d,&m,&n,&p);printf(n%d%d%dn,m,n,p);)若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()oA)m二 123 n=456 P=789C)m=123,n=456,p=789B)D)m=123 n=456 p=789123 456 789(20)下列程序的输出结果是()。main()int a,b,d=25;a=d/10%9;b=a&(-l);printf(H%d,%dnn,a,b);A)6,1 B)2,1C)6,0 D)2,0(21)下列程序的输出结果是()。main()int i=l,j=2,k=3;if(i+=1&(+j=3 II k+=3)printf(%d%d%dnH,i,j,k);)A)1 2 3 B)2 3 4二级C语言程序设计试卷第3页(共13页)0 2 2 3(22)若整型变量a、b、c、d中的值依次为:d的值是()。A)1C)3D)2 3 31、4、3、2o 则条件表达式 ab?a:cd?c:B)2D)4(23)下列程序的输出结果是()omain()intp8=ll,12,13,14,15,16,17,18,i=0,j=0;while(i+y?x:y;int f2(int x,int y)return xy?y:x;main()int a=4,b=3,c=5,d-2,e,f,g;e=f2(fl(a,b),fl(c,d);f=fl(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf(”d,%d,%dn”,e,f,g);A)4,3,7C)5,2,7B)D)3,4,72,5,7)o)O7 66 2)o(27)已有定义:char a=xyz,b=x y,下列叙述中正确的是()。二级C语言程序设计试卷第4页(共13页)A)数组a和b的长度相同C)a数组长度大于b数组长度B)a数组长度小于b数组长度D)上述说法都不对(28)下列程序的输出结果是()。void f(int*x,int*y)int t;仁*x,*x=*y;*y=t;)main()int a8=l,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(pq)f(p,q);p+;q-;for(i=0;i8;i+)printf(H%d,n,ai);)A)8,2,345,6,7,1C)123,4,5,6,7,8B)5,6,7,8,12,3,4D)8,7,6,5,4,321(29)下列程序的输出结果是()。main()int a33,*p,i;p=&a00;for(i=0;i9;i+)pi=i;for(i=0;in;i-)ai+l=ai)main()int i,aN=1,2,3,4,5,6,7,8,9,10;fun(a,2,9);for(i=0;i5;i+)printf(%dn,ai);)二级C语言程序设计试卷第5页(共13页)A)10234C)12334B)12344D)12234(32)运行下列程序时,输入12 3的输出结果为()。main()int a32=0,(*ptr)2,i,j;for(i=0;i2;i+)ptr=a+i;scanf(n%dn,ptr);ptr+;)for(i=0;i3;i+)for(j=0;j2;j+)printf(n%2dn,ai|j);printfCAn1);A)产生错误信息B)1 02 00 0C)1 23 00 0D)1 02 03 0(33)下列程序的输出结果是()。prt(int*m,int n)int i;for(i=0;in;i+)mi+;main()int a 口=1,2,3,4,5,i;prt(a,5)for(i=0;i5;i+)prmtf(H%d,n,ai);A)1,2,3,4,5C)3,4,5,6,7B)2,3,4,5,6D)2,3,4,5,1(34)下列程序的输出结果是()。main()int a 口=1,2,3,4,5,6,7,8,9,0,*p;for(p=a;pa+10;p+)(35)下列程序的输出结果是()。A)1,2,345,6,7,8,9,0,C)0,1,2,3,4,5,6,7,89B)2,3,4,5,6,7,8,9,10,1,D)1,1,1,1,1,1,1,1,1,1,二级C语言程序设计试卷第6页(共13页)#define P 3void F(int x)return(P*x*x);main()printf(dn”,F(3+5);A)192 B)29C)25 D)编译出错(36)下列程序的输出结果是()。main()int c=35;printf(H%dnH,c&c);A)0 B)70C)35 D)1(37)下列叙述中正确的是()。A)预处理命令行必须位于源文件的开头B)在源文件的一行上可以有多条预处理命令C)宏名必须用大写字母表示D)宏替换不占用程序的运行时间(38)若有下列说明和定义。union dt int a;char b;double c;data;下列叙述中错误的是()。A)data的每个成员起始地址都相同B)变量data所占内存字节数与成员c所占字节数相等C)程序段:data.a=5;printf(fn”,data.c);输出结果为 5.000000D)data可以作为函数的实参(39)下列语句或语句组中,能正确进行字符串赋值的是()OA)char*sp;*sp=nright!n;C)char s10;*s=nrightH;B)D)char s10;s=Hright!H;char*sp=right!”;(40)设有如下说明:typedef struct ST long a;int b;char c2;NEW;则下列叙述中正确的是(A)以上的说明形式非法C)NEW是一个结构体类型名)OB)D)ST是一个结构体类型NEW是一个结构体变量(41)下列程序的输出结果是()。main()int a=l,b;for(b=l;b=8)break;二级C语言程序设计试卷第7页(共13页)if(a%2=1)a+=5;continue;a=3;printf(u%dnn,b);A)3C)5B)4D)6(42)下列程序的输出结果是()。main()char s=159”,*p;P=s;printf(H%c,*p+);printf(n%c,*p+);)A)15 B)16C)12 D)59(43)有下列函数:fun(char*a,char*b)while(*a!=0)&(*b!=0)&(*a=*b)a+;b+;return(*a-*b);)该函数的功能是()。A)计算a和b所指字符串的长度之差B)将b所指字符串复制到a所指字符串中C)将b所指字符串连接到a所指字符串后面D)比较a和b所指字符串的大小(44)有下列程序:main()intnum44=l,23,4,5,6,7,8,9,10,ll,12,13,14,15,16,i,j;for(i=0;i4;i+)for(j=O;ji;j+)printf(n%4cV);for(j=_;j1 I T 1 I T-tp-tq-trstruct node int data;struct node*next;*p,*q,*r;现要将q所指结点从链表中删除,同时要保持链表的连续,下列不能完成指定操作的 语句是()oA)p-next=q-next;B)p-next=p-next-next;C)p-next=r;D)p=q-enxt;(48)下列对结构体类型变量td的定义中,错误的是()。A)typedefstructaa B)structaa int n;int n;二级C语言程序设计试卷第9页(共13页)float m;AA;AA td;C)struct int n;float m;aa;struct aa td;float m;td;struct aa td;D)struct int n;float m;td;(49)下列与函数fseek(fp,OL,SEEK_SET)有相同作用的是()。A)feof(fp)B)ftell(fp)C)fgetc(fp)D)rewind(fp)(50)有下列程序:#include void WriteStr(char*fn,char*str)FILE*力;fp=fopen(fn,HwH);fputs(str,fp);fclose(fp);)main()WriteStrC,tl.dat,V,startH);WriteStrC,tl.datV,endn);)程序运行后,文件tl.dat中的内容是()oA)start B)endC)startend D)endrt二、填空题(每空2分,共40分)(1)某二叉树中度为2的结点有18个,则该二叉树中有【1】个叶子结点。(2)在面向对象方法中,类的实例称为【2】(3)诊断和改正程序中错误的工作通常称为【3】。(4)在关系数据库中,把数据表示成二维表,每一个二维表称为【4】(5)问题处理方案正确而完整的描述称为【5】。(6)下列程序运行时若从键盘输入:10 20 30。输出结果是 6】#include main()int i=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);printf(%d%d%dn,i,j,k);二级C语言程序设计试卷 第10页(共13页)(7)下列程序运行后的输出结果是7】。#define S(x)4*x*x+lmain()int i=6,j=8;printf(n%dnn,S(i+j);(8)下列程序运行后的输出结果是 8】。main()int a=3,b=4,c=5,t=99;if(ba&ac)t=a;a=c;c=t;if(ac&bc)t=b,b=a,a=t;printf(%d%d%dn,a,b,c);(9)下列程序运行后的输出结果是 9】。main()int a,b,c;a=10;b=20;c=(a%bl);printf(H%d%d%dnn,a,b,c);)(10)下列程序运行后的输出结果是一【1。】。main()char cl,c2;for(c 1=,0,c2=,9,;c 1 c2;c 1+,c2)printf(%c%c,cl,c2);printf(Hnn);)(11)已知字符A的ASCII代码值为65,下列程序运行时若从键盘输入:B33O则输 出结果是一【11】。#include main()char a,b;a=getchar();scanf(n%dH,&b);a=a-A+O;b=b*2;printf(n%c%cn,a,b);)(12)下列程序中,fun()函数的功能是求3行4列二维数组每行元素中的最大值。请填空。void fun(int,int,int(*)4,int*);main()int a34=12,41,36,28,19,33,15,27,3,27,19,l,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(H%4dH,bi);二级C语言程序设计试卷 第11页(共13页)printf(nnn);void fun(int m,int n,int ar 4,int*br)int i,j,x;fbr(i=0;im;i+)x=ari0;for(j=0;jn;j+)if(xarij)x=arij;【12】二x;)(13)下列程序运行后的输出结果是【13】。void swap(int x,int y)int t;t=x;x=y;y=t;printf(n%d%d H,x,y);main()int a=3,b=4;swap(a,b);printf(%d%dn,a,b);)(14)下列程序运行后的结果是一【14】。#include void fun(char*s,int p,int k)int i;for(i=p;ik-l;i+)si=si+2;main()char s=abcdefg;fun(s,3,strlen(s);puts(s);)(15)下列程序运行后的输出结果是一【15】。#include main()char ch=nabc,x34;int i;for(i=0;i3;i+)strcpy(xi,ch);for(i=0;i3;i+)printf(%sn,&xii);printfC,nu);)(16)下列程序运行后的输出结果是【16】。fun(int a)int b=0;static int c=3;b+;c+;return(a+b+c);二级C语言程序设计试卷 第12页(共13页)main()int i,a=5;for(i=0;ik=+i;p+;q-k=i+;q;)q-k=i;for(i=0;i5;i+)printf(H%dH,mi.k);printf(Hn);)(18)下列程序中huiwen()函数的功能是检查一个字符串是否是何文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即 正向与反向的拼写都一样,例如:adgdao请填空。#include char*huiwen(char*str)char*pl,*p2;int i,t=0;pl=str;p2=18;for(i=0);istrlen(str)/220 huiwen(str)机密启用前2005年9月全国计算机等级考试二级笔试试卷C语言程序设计24注意事项一、考生应严格遵守考场规则,得到监考人员指令后方可作答。二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。四、注意字迹清楚,保持卷面整洁。五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。*版权所有,任何单位或个人不得保留、复制和出版,违者必究*教育部考试中心二00五年七月制2005年9月全国计算机等级考试笔试试卷 二级公共基础知识和C语言程序设计(考试时间120分钟,满分100分)一、选择题(1)-(10)每小题2分,(11)-(50)每小题1分,共60分)(1)下列叙述中正确的是()。A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是()。A)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表(3)下列关于栈的描述正确的是()。A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列叙述中正确的是()。A)一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是()。A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是()。A)PDL(过程设计语言)B)PAD图C)N-S 图 D)DFD 图(7)下列叙述中正确的是()。A)软件交付使用后还需要再进行维护B)软件工具交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决()。A)数据共享问题 B)数据安全问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:二级C语言程序设计试卷第1页(共13页)STRABC ABJ 匚112 31223Ij则下列操作中正确的是()。A)T=RAS B)T=RUSC)T=RXS D)T=R/S(10)数据库系统的核心的是()。A)数据模型C)数据库B)数据库管理系统D)数据库管理员(11)下列叙述中错误的是()。A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中、大、小写字母代表不同标识(12)下列叙述中错误的是()。A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)下列叙述中正确的是()。A)调用printf()函数时,必须要有输出项B)使用putchar。函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调节getchar。函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)下列关于函数的叙述中正确的是()。A)每个函数都可以被其他函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)若有语句:char*line5;下列叙述中正确的是()。A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(16)有下列程序段:typedef struct NODE int num;struct NODE*next;OLD;下列叙述中正确的是()。A)以上的说明形式非法 B)NODE是一个结构体类型C)OLD是一个结构体类型 D)OLD是一个结构体变量(17)下列叙述中错误的是()。A)在C语言中,对二进制文件的访问速度比文本文件快二级C语言程序设计试卷第2页(共13页)B)在C语言中,随机文件以二进制代码形式存储数据C)语句FILE fp;定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是()。A)k%2C)(k%2)!=0(19)下列不能正确计算代数式 1in2(A)1/3*sin(l/2)*sin(l/2)C)pow(sin(0.5),2)/3(20)下列能正确定义且赋初值的语句是A)int nl=n2=10;C)floatB)k%2=11 D)!k%2=l|值的C语言表达式是()。B)sin(0.5)*sin(0.5)/3D)l/3.0*pow(sin(1.0/2),2):)oB)charc=32;D)double x=12.3E2.5;(21)下列程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main()/*Beginning*/int r;float s;scanf(n%d,&r);s=*jprintf(s=%AnH,s);)出错的原因是()。A)注释语句书写位置错误B)存放圆半径的变量r不应该定义为整型C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量(22)设有定义:int k=l,m=2;float f=7;则下列选项中错误的表达式是()。A)k=k=k B)-k+C)k%int(f)D)k=f=m(23)设有定义:inta=2,b=3,c=4;,则下列选项中值为0的表达式是()。A)(!a=l)&(!b=0)B)(ab)&!c II 1C)a&b D)a II(b+b)&(c-a)(24)有下列程序段:int k=0,a=l,b=2,c=3;k=ac?c:k;执行该程序段后,k的值是()。A)3 B)2 C)1 D)0(25)设变量a、b、c、d和y都已正确定义并赋值。若有下列if语句if(ab)if(c=d)y=0;else y=l;该语句所表示的含义是()。二级C语言程序设计试卷第3页(共13页)。且 c=d0 且 c=dA)y=b B)=1 泌且cwd。且 c=d0 且 c=dC)y=1 f且cwd D)y=1 cwdI(26)有下列程序段int n,t=l,s=O;scanf(H%dn,&n);do s=s+t;t=t-2;while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是()。A)任意正奇数 B)任意负偶数C)任意正偶数 D)任意负奇数(27)设变量已正确定义,则以下能正确计算f=n!的程序段是()。A)f=0;B)f=l;for(i=l;i=n;i+)f*=i;for(i=l;il;i+)f*=i;for(i=n;i=2;i)f*=i;(28)设有定义:int nl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是()oA)*p=*q;B)p=q;C)*p=&nl;D)p=*q;(29)若有定义:intx=0,*p=&x;,则语句 printf(dn”,*p);的输出结果是()。A)随机值 B)0 C)x的地址 D)p的地址(30)设fun()函数的定义形式为()。void fun(char ch,float x).则下列对函数fun的调用语句中,正确的是A)fun(abcn,3.0);B)t=fun(D,16.5);C)fun(65,2.8);D)fun(32,32);(31)有下列程序:main()int a10=l,2,3,4,5,6,7,8,9,10,*p=&a3,*q=p+2;printf(%dn,*p+*q);)程序运行后的输出结果是()。A)16 B)10 C)8 D)6(32)有下列程序:main()char p=,aVbv,c,q=HabcH;printf(n%d%dnn,sizeof(p),sizeof(q););程序运行后的输出结果是()。A)4 4 B)33 C)34 D)43(33)有下列程序:#define f(x)=(x*x)二级C语言程序设计试卷第4页(共13页)main()intil,i2;il=f(8)/f(4);i2=f(4+4)/f(2+2);prinft(n%d,%dn”,il,;)程序运行后的输出结果是()。A)64,28 B)4,4(34)有下列程序:main()char al=,M,a2=,m,;printf(n%cnn,(al,a2);)下列叙述中正确的是()。A)程序输出大写字母MC)格式说明符不足,编译出错(35)有下列程序:#include C)4,3 D)64,64B)程序输出小写字母mD)程序运行时产生出错信息main()char cl=,r,c2=,2,;cl=getchar();c2=getchar();putchar(cl);putchar(c2);)当运行时输入:a后,下列叙述正确的是()。A)变量cl被赋予字符a,c2被赋予同车符B)程序将等待用户输入第2个字符C)变量cl被赋予字符a,c2中仍是原有字符2D)变量cl被赋予字符a,c2中将无确定值(36)有下列程序:main()int k=5,n=0;while(k0)switch(k)default:break;case 1:n+=k;case 2:case 3:n+=k;)k-;)printfC,%dnH,n);)程序运行后的输出结果是()。A)0 B)4 C)6 D)7(37)有下列程序:main()二级C语言程序设计试卷第5页(共13页)int a=2,4,6,8,10,y=0,x,*p;p=&al;for(x=l;x3;x+)y+=px;printf(n%dnn,y);)程序运行后的输出结果是()。A)10 B)11(38)有下列程序:void sort(int a,int n)int i,j,t;for(i=0;in-l;i+)for(j=i+l;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;)main()int aa10=l,2,3,4,5,6,7,8,9,10,i;sort(aa+2,5);for(i=0;i 10;i+)printf(%d,n,aai);printf(Hnn);)程序运行后的输出结果是()。A)1,2,3,4,5,6,7,8910,C)1,2,7,6,5,4,3,8,9,10,(39)有下列程序:void sum(int a)a0=a-l+al;)main()int a10=1,2,3,4,5,6,7,8,9,10;sum(&a2);printf(H%dnn,a2);)程序运行后的输出结果是()。A)6 B)7(40)有下列程序:void swapl(int c0,int cl)int t;t=cOO;c00=cl0;clO=t;)void swap2(int*cO,int*cl)int t;t=*cO;*c0=*cl;*cl=t;14 D)1512763,4,5,8,9,10,1,2,9,8,7,6,5,4,3,10,5 D)9main()二级C语言程序设计试卷第6页(共13页)int a2=3,5U2=3,5;swapl(a,a+l);swap2(&b0,&b 1);printf(n%d%d%d%dnu,a0,al,b0,bl);)程序运行后的输出结果是()。A)3 5 5 3 B)5 3 3 5 C)3 5 3 5 D)5 3 5 3(41)有下列程序:#includemain()char p b V,q10=V,V;printf(n%d%dnH,strlen(p),strlen(q);)下列叙述中正确的是()。A)在给p和q数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C)由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能确定(42)有下列程序,其中函数f()的功能是将多个字符串按字典顺序排序()。#include void f(char*p,int n)char*t;int i,j;for(i=0;in-l;i+)for(j=i+l;j0)t=pi;pi=pj,pj=t;)main()char*p5=nabc,aabdfgH,abbdn,dcdbeV,cd;f(P,5);printf(n%dnn,strlen(p 1);)程序运行后的输出结果是()。A)2 B)3 C)6 D)4(43)有下列程序:#include void f(char*s,char*t)char k;*ts+;t-;if(*s)f(s,t);)main()char str 10=nabcdefg,*p;p=str+strlen(str)/2+1;f(P,p-2);二级C语言程序设计试卷第7页(共13页)printf(n%snn,str);程序运行后的输出结果是()。A)abcdefg B)gfedcbaC)gbcdefaD)abedcfg(44)有下列程序:float fl(float n)return n*n;float f2(float n)return 2*n;main()float(*pl)(float),(*p2)(float),(*t)(float),yl,y2;pl=fl;p2=f2;yl=p2(pl(2.0);t=pl;pl=p2;p2=t;y2=p2(pl(2.0);printf(H%3.0f,%3.0fnH,yl,y2);)程序运行后的输出结果是()。A)8,16 B)8,8C)16,16D)4,8(45)有下列程序:int a=2;int f(int n)static int a=3;int t=0;if(n%2)static int a=4;t+=a+;else static int a=5;t+=a+;returnt+a+;)main()int s=a,i;for(i=0;i3;i+)s+=f(i);printf(n%dnH,s);)程序运行后的输出结果是()。A)26 B)28C)29D)24(46)有下列程序:#include struct STU int num;float TolalScorc;);void f(structSTU p)struct STU s2=20044,550,20045,537;p.num=sl.num;p.TotalScore=sl.TotalScore;二级C语言程序设计试卷第8页(共13页)main()struct STU s2=20041,703,20042,580;f(s0);printf(n%d%3.0An,s0.num,s0.TotalScore);)程序运行后的输出结果是()。A)20045 537 B)20044 550 C)20042 580 D)20041 703(47)有下列程序:#include struct STU char name 10;int num;);void f(char*name,int num)struct STU s2=nSunDan,20044,nPenghua,20045;num=s0.num;strcpy(name,s 0.name);)main()struct STU s2=HYangSann,2004,LiSiGuo1,20042,*p;p=&sl;f(p-name,p-num);printf(H%s%dnn,p-name,p-num);)程序运行后的输出结果是()。A)SunDan 20042 B)SunDan 20044C)LiSiGuo 20042 D)YangSan 20041(48)有下列程序:struct STU char name10;int num;float TotalScore;void f(struct STU*p)struct STU s2=HSunDanH,20044,550,Penghua1,20045,537,*q=s;+p;+q;*p=*q;)main()struct STU s3=HYangSann,20041,703,HLiSiGuo,20042,580;f(s);printf(n%s%d%3.0An,sl.name,sl.num,sl.TotalScore);)程序运行后的输出结果是()。A)SunDan 20044 550 B)Penghua 20045 537C)LiSiGuo 20042 580 D)SunDan 20041 703(49)下列程序的功能是进行位运算:main()二级C语言程序设计试卷第9页(共13页)unsigned char a,b;a=7A3;b=-4&3;printf(H%d%dnH,a,b);)程序运行后的输出结果是()。A)4 3 B)7 3 0 7 0 D)4 0(50)有下列程序:#include main()FILE*币;int i,k,n;fp=fopen(data.dat,w+,);for(i=l;i6;i+)fprintf(fp,n%d H,i);if(i%3=o)fprintf(fp,Hn);)rewind(fp);fscanf(fp,u%d%du,&k,&n);printf(n%d%dnn,k,n);fclose(p);)程序运行后的输出结果是()。A)0 0 B)123 45 C)1 4 D)1 2二、填空题(每空2分,共40分)(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统3个阶段,其中数据独 立性最高的阶段是一【1】。(2)算法复杂度主要包括时间复杂度和【2】复杂度。(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【3】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(4)一棵二叉树第六层(根结点为第一层)的结点数最多为【4】个。(5)数据结构分为逻辑结构
展开阅读全文