二级C语言历年(2016—2016)真题大集合

上传人:痛*** 文档编号:140137903 上传时间:2022-08-23 格式:DOC 页数:146 大小:1.17MB
返回 下载 相关 举报
二级C语言历年(2016—2016)真题大集合_第1页
第1页 / 共146页
二级C语言历年(2016—2016)真题大集合_第2页
第2页 / 共146页
二级C语言历年(2016—2016)真题大集合_第3页
第3页 / 共146页
点击查看更多>>
资源描述
2005 年4 月全国计算机等级考试二级笔试试卷C 语言程序设计一、选择题(1)-(10)每小题2 分,(11)-(50)每小题1 分,共60 分)(1)数据的存储结构是指( D)。A)存储在外存中的数据B)数据所占的存储空间量C)数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是(B)。A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( D)。A)冒泡排序n/2 B)冒泡排序为nC)快速排序为n D)快速排序为n(n-1)/2(4)对于长度为n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为(A)。A)log2n B)n/2C)n D)n+1(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)用树形结构表示实体之间联系的模型是( )。A)关系模型 B)网状模型C)层次模型 D)以上三个都是(11)算法具有5 个特性,下列选项中不属于算法特性的是( B)。A)有穷性 B)简洁性C)可行性 D)确定性(12)下列选项中可作为C 语言合法常量的是(A)。A)-80 B)-080C)-8e1.0 D)-80.0e(13)下列叙述中正确的是(C)。A)用C 程序实现的算法必须要有输入和输出操作B)用C 程序实现的算法可以没有输出但必须要有输入C)用C 程序实现的算法可以没有输入但必须要有输出D)用C 程序实现的算法可以既没有输入也没有输出(14)下列不能定义的用户标识符是(D )。A)Main B)_0C)_int D)sizeof(15)下列选项中,不能作为合法常量的是( C)。A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e0(16)数字字符0 的ASCII 值为48,运行下列程序的输出结果是( B)。main( ) char a=1,b=2;printf(%c, b+ +);printf(%dn, b-a)A)3,2 B)50,2C)2,2 D)2,50(17)下列程序的输出结果是( A)。main( ) int m=12, n=34;printf(%d%d, m+ +,+ +n);printf(%d%dn,n+ +,+ +m);A)12353514 B)12353513C)12343514 D)12343513(18)有定义语句:int b; char c10;,则正确的输入语句是(B )。A)scanf(%d%s,&b,&c); B)scanf(%d%s,&b,c);C)scanf(%d%s,b,c); D)scanf(%d%s,b,&c);(19)有下列程序:main( ) int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);若想从键盘上输入数据,使变量m 中的值为123,n 中的值为456,p 中的值为789,则正确的输入是(A)。A)m=123 n=456 p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 789(20)下列程序的输出结果是(B)。main( ) int a,b,d=25;a= d/10%9;b=a&(-1);printf(%d,%dn,a,b); A)6,1 B)2,1C)6,0 D)2,0(21)下列程序的输出结果是(B)。/main( ) int i=1,j=2,k=3;if(i+ + = =1&(+ +j= =3|k+ + = =3) printf(%d %d %dn,i,j,k);A)1 2 3 B)2 3 4C)2 2 3 D)2 3 3(22)若整型变量a、b、c、d 中的值依次为:1、4、3、2。则条件表达式ab? acd? cd 的值是(C )。A)1 B)2C)3 D)4(23)下列程序的输出结果是( C)。main( ) int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+ +y?xy;int f2(int x,int y)return xy?yx;main( ) int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf(%d,%d,%dn,e,f,g);A)4,3,7 B)3,4,7C)5,2,7 D)2,5,7(27)已有定义:char a =xyz,b =x, y, z;,下列叙述中正确的是(C )。/二级C 语言程序设计试卷第 5 页(共13 页)A)数组a 和b 的长度相同 B)a 数组长度小于b 数组长度/C)a 数组长度大于b 数组长度 D)上述说法都不对(28)下列程序的输出结果是(D )。void f(int *x, int *y) int t;t=*x,*x=*y;*y=t;main( ) int a8=1,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(%d,ai);A)8,2,3,4,5,6,7,1 B)5,6,7,8,1,2,3,4C)1,2,3,4,5,6,7,8 D)8,7,6,5,4,3,2,1(29)下列程序的输出结果是( D)。main( ) int a33,*p,i; p=&a00;for(i=0;i9;i+ +) pi=i;for(i=0;in;i-)ai+1=aimain( ) int i,aN=1,2,3,4,5,6,7,8,9,10;fun(a,2,9);for(i=0;i5;i+ +) printf(%d,ai);A)10234 B)12344C)12334 D)12234(32)运行下列程序时,输入1 2 3的输出结果为( )。main( ) int a32=0,(*ptr)2,i,j;for(i=0;i2;i+ +) ptr=a+i; scanf(%d,ptr); ptr+ +;for(i=0;i3;i+ +) for(j=0;j2;j+ +)printf(%2d,aij);printf(n);A)产生错误信息 B)1 02 00 0C)1 2 D)1 03 0 2 00 0 3 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+ +) printf(%d,ai);A)1,2,3,4,5 B)2,3,4,5,6C)3,4,5,6,7 D)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+ +)printf(%d,*p);A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1,C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1,(35)下列程序的输出结果是( )。二级C 语言程序设计试卷第 7 页(共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(%dn,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)下列语句或语句组中,能正确进行字符串赋值的是( )。A)char *sp; *sp=right!; B)char s10; s=right!;C)char s10; *s=right; D)char *sp=right!;(40)设有如下说明:typedef struct ST long a; int b; char c2; NEW;则下列叙述中正确的是( )。A)以上的说明形式非法 B)ST 是一个结构体类型C)NEW 是一个结构体类型名 D)NEW 是一个结构体变量(41)下列程序的输出结果是( )。main( ) int a=1,b;for(b=1;b=8) break;if(a%2= =1)a+ =5; continue;a=3;printf(%dn,b);A)3 B)4C)5 D)6(42)下列程序的输出结果是( )。main( ) char s =159,*p;p=s;printf(%c,*p+ +);printf(%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( ) int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i=0;i4;i+ +) for(j=0;ji;j+ +)printf(%4c, );for(j=_;jnext=q-next; B)p-next=p-next-next;C)p-next=r; D)p=q-enxt;(48)下列对结构体类型变量td 的定义中,错误的是( )。A)typedef struct aa B)struct aa int n; int n;float m; float m;AA; td;AA td; struct aa td;C)struct D)struct int n; int n;float m; float m;aa; td;struct aa td;(49)下列与函数fseek(fp,0L,SEEK_SET)有相同作用的是( )。A)feof(fp) B)ftell(fp)C)fgetc(fp) D)rewind(fp)(50)有下列程序:#include void WriteStr(char *fn,char *str) FILE *fp;fp=fopen(fn,w); fputs(str,fp); fclose(fp);main( ) WriteStr(t1.dat,start);WriteStr(t1.dat,end);程序运行后,文件t1.dat 中的内容是( )。A)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);(7)下列程序运行后的输出结果是【7】。#define S(x) 4*x*x+1main( ) int i=6, j=8;printf(%dn,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%b1);printf(%d %d %dn,a,b,c);(10)下列程序运行后的输出结果是【10】。main( ) char c1,c2;for(c1=0,c2=9;c1c2;c1+ +,c2-) printf(%c%c,c1,c2);printf(n);(11)已知字符A 的ASCII 代码值为65,下列程序运行时若从键盘输入:B33。则输出结果是 【11】。#include main( ) char a,b;a=getchar( );scanf(%d, &b);a=a-A+0; b=b*2;printf(%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,1,b3,i;fun(3,4,a,b);for(i=0;i3;i+)printf(%4d,bi);printf(n); void fun(int m, int n, int ar 4, int *br) int i, j, x;for(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(%d %d ,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-1;i+ +) si=si+2; main( ) char s =abcdefg;fun(s,3,strlen(s); puts(s);(15)下列程序运行后的输出结果是【15】。#include main( ) char ch =abc,x34; int i;for(i=0;i3;i+ +) strcpy(xi,ch);for(i=0;i3;i+ +) printf(%s,&xii);printf(n);(16)下列程序运行后的输出结果是【16】。fun(int a) int b=0; static int c=3;b+ +; c+ +;return(a+b+c);main( ) int i, a=5;for(i=0;ik=+ +i; p+ +;q-k=i+ +; q-;q-k=i;for(i=0;i5;i+ +) printf(%d,mi.k);printf(n);(18)下列程序中huiwen()函数的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#include char*huiwen(char *str) char *p1,*p2; int i,t=0;p1=str; p2= 【18】;for(i=0);i=strlen(str)/2;i+ +)if(*p1+ +! =*p2-)t=1;break;if( 【19】)return(yes!);elsereturn(no!);main( ) char str50;printf(Input:); scanf(%s,str);printf(%sn, 【20】);_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)设有如下关系表:R S TA B C1 1 22 2 3则下列操作中正确的是( )。A)T=RS B)T=RS C)T=RS D)T=R/S(10)数据库系统的核心的是( )。A)数据模型 B)数据库管理系统C)数据库 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 语言中,对二进制文件的访问速度比文本文件快A B C1 1 22 2 33 1 3A B C3 1 3B)在C 语言中,随机文件以二进制代码形式存储数据C)语句FILE fp;定义了一个名为fp 的文件指针D)C 语言中的文本文件以ASC码形式存储数据(18)当把四个表达式用作if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。A)k%2 B)k%2= =1C)(k%2) ! =0 D)!k%2= =1(19)下列不能正确计算代数式 sin2( )值的C 语言表达式是( )。A)1/3 *sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)下列能正确定义且赋初值的语句是( )。A)int nl=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)下列程序的功能是:给r 输入数据后计算半径为r 的圆面积s。程序在编译时出错。main( )/* Beginning */ int r; float s;scanf(%d,&r);s=*r*r;printf(s=%fn,s);出错的原因是( )。A)注释语句书写位置错误B)存放圆半径的变量r 不应该定义为整型C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量(22)设有定义:int k=1,m=2; float f=7;则下列选项中错误的表达式是( )。A)k=k =k B)-k+ +C)k%int(f) D)k =f =m(23)设有定义:int a=2,b=3,c=4;,则下列选项中值为0 的表达式是( )。A)(!a= =1)&(!b= =0) B)(ab)&! c 1C)a & b D)a(b+b)&(c-a)(24)有下列程序段:int k=0,a=1,b=2,c=3;k=ab?b:a;k=kc?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=1;该语句所表示的含义是( )。3121A) =01 y a b c da b= 且B) =01 y a b c da b = 且且c dC) =01 y a b c da b = 且且c d D) =01 y ab c=d且c d(26)有下列程序段int n,t=1,s=0;scanf(%d,&n);do s=s+t;t=t-2; while(t! =n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。A)任意正奇数 B)任意负偶数C)任意正偶数 D)任意负奇数(27)设变量已正确定义,则以下能正确计算f=n!的程序段是( )。A)f=0; B)f=1;for(i=1;i=n;i+ +) f*=i; for(i=1;in;i+ +) f*=i;C)f=1; D)f=1;for(i=n;i1;i+ +)f*=i; for(i=n;i =2;i-)f*=i;(28)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )。A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;(29)若有定义:int x=0,*p=&x;,则语句printf(%dn,*p);的输出结果是( )。A)随机值 B)0 C)x 的地址 D)p 的地址(30)设fun()函数的定义形式为( )。void fun(char ch,float x)则下列对函数fun 的调用语句中,正确的是A)fun(abc,3.0); B)t=fun(D,16.5);C)fun(65,2.8); D)fun(32,32);(31)有下列程序:main( ) int a10=1,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 =a,bv,c,q =abc;printf(%d%dn,sizeof(p),sizeof(q);程序运行后的输出结果是( )。A)4 4 B)3 3 C)3 4 D)4 3(33)有下列程序:#define f(x)=(x*x)main( ) int i1,i2;i1=f(8)/f(4); i2=f(4+4)/f(2+2);prinft(%d,%dn,i1,i2);程序运行后的输出结果是( )。A)64,28 B)4,4 C)4,3 D)64,64(34)有下列程序:main( ) char a1=M,a2=m;printf(%cn,(a1,a2);下列叙述中正确的是( )。A)程序输出大写字母M B)程序输出小写字母mC)格式说明符不足,编译出错 D)程序运行时产生出错信息(35)有下列程序:#include main( ) char c1=1,c2=2;c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2);当运行时输入:a后,下列叙述正确的是( )。A)变量c1 被赋予字符a,c2 被赋予回车符B)程序将等待用户输入第2 个字符C)变量c1 被赋予字符a,c2 中仍是原有字符2D)变量c1 被赋予字符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-;printf(%dn,n);程序运行后的输出结果是( )。A)0 B)4 C)6 D)7(37)有下列程序:main( ) int a =2,4,6,8,10,y=0,x,*p;p=&a1;for(x=1;x3;x+ +) y+ =px;printf(%dn,y);程序运行后的输出结果是( )。A)10 B)11 C)14 D)15(38)有下列程序:void sort(int a ,int n) int i,j,t;for(i=0;in-1;i+ +)for(j=i+1;jn;j+ +)if(aiaj) t=ai; ai=aj; aj=t;main( ) int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(aa+2,5);for(i=0;i10;i+ +)printf(%d,aai);printf(n);程序运行后的输出结果是( )。A)1,2,3,4,5,6,7,8,9,10, B)1,2,7,6,3,4,5,8,9,10,C)1,2,7,6,5,4,3,8,9,10, D)1,2,9,8,7,6,5,4,3,10,(39)有下列程序:void sum(int a ) a0=a-1+a1;main( ) int a10=1,2,3,4,5,6,7,8,9,10;sum(&a2);printf(%dn,a2);程序运行后的输出结果是( )。A)6 B)7 C)5 D)9(40)有下列程序:void swap1 (int c0 ,int c1 ) int t;t=c00; c00=c10; c10=t;void swap2(int *c0,int *cl) int t;t=*c0; *c0=*c1; *c1=t;main( ) int a2=3,5, b2=3,5;swap1(a,a+1); swap2(&b0,&b1);printf(%d %d %d %dn,a0,a1,b0,b1);程序运行后的输出结果是( )。A)3 5 5 3 B)5 3 3 5 C)3 5 3 5 D)5 3 5 3(41)有下列程序:#includemain( ) char p =a, b, c,q10= a, b, c;printf(%d%dn,strlen(p),strlen(q);下列叙述中正确的是( )。A)在给p 和q 数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p 数组中没有字符串结束符,长度不能确定,但q 数组中字符串长度为3C)由于q 数组中没有字符串结束符,长度不能确定,但p 数组中字符串长度为3D)由于p 和q 数组中都没有字符串结束符,故长度都不能确定(42)有下列程序,其中函数f()的功能是将多个字符串按字典顺序排序( )。#include void f(char *p ,int n) char *t; int i,j;for(i=0;in-1;i+ +)for(j=i+1;j0)t=pi; pi=pj, pj=t;main( ) char *p5=abc,aabdfg,abbd,dcdbe,cd;f(p,5);printf(%dn,strlen(p1);程序运行后的输出结果是( )。A)2 B)3 C)6 D)4(43)有下列程序:#include void f(char *s,char *t) char k;k=*s; *s=*t; *t=k;s+ +; t-;if(*s) f(s,t);main( ) char str10=abcdefg,*p;p=str+strlen(str)/2+1;f(p,p-2);printf(%sn,str);程序运行后的输出结果是( )。A)abcdefg B)gfedcba C)gbcdefa D)abedcfg(44)有下列程序:float fl(float n) return n*n; float f2(float n)return 2*n;main( ) float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1; p2=f2;y1=p2(p1(2.0);t=p1; p1=p2; p2=t;y2=p2(p1(2.0);printf(%3.0f, %3.0fn,y1,y2);程序运行后的输出结果是( )。A)8,16 B)8,8 C)16,16 D)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(%dn,s);程序运行后的输出结果是( )。A)26 B)28 C)29 D)24(46)有下列程序:#include struct STU int num;float TolalScorc;void f(structSTU p) struct STU s2=20044,550,20045,537;p.num=s1.num; p.TotalScore=s1.TotalScore;main( ) struct STU s2=20041,703,20042,580;f(s0);printf(%d %3.0fn,s0. num,s0. TotalScore);程序运行后的输出结果是( )。A)20045 537 B)20044 550 C)20042 580 D)20041 703(47)有下列程序:#include struct STU char name10;int num;void f(char *name,int num) struct STU s2=SunDan,20044,Penghua,20045;num=s0.num;strcpy(name,s0.name);main( ) struct STU s2=YangSan,2004,LiSiGuo,20042,*p;p=&s1; f(p-name,p-num);printf(%s %dn, 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=SunDan,20044,550, Penghua,20045,537,*q=s;+ +p; + +q; *p=*q;main( ) struct STU s3=YangSan,20041,703,LiSiGuo,20042,580;f(s);printf(%s%d%3.0fn,s1.name,s1.num,s1.TotalScore);程序运行后的输出结果是( )。A)SunDan 20044 550 B)Penghua 20045 537C)LiSiGuo 20042 580 D)SunDan 20041 703(49)下列程序的功能是进行位运算:main( ) unsigned char a,b;a=73; b=4 & 3;printf(%d%dn,a,b);程序运行后的输出结果是( )。A)4 3 B)7 3 C)7 0 D)4 0(50)有下列程序:#include main( ) FILE *fp; int i,k,n;fp=fopen(data.dat,w+);for(i=1;i6;i+ +)fprintf(fp, %d ,i);if(i%3= =0) fprintf(fp,n);rewind(fp);fscanf(fp,%d%d,&k,&n); printf(%d%dn,k,n);fclose(fp);程序运行后的输出结果是( )。A)0 0 B)123 45 C)1 4 D)1 2二、填空题(每空2 分,共40 分)(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统3 个阶段,其中数据独立性最高的阶段是【1】。(2)算法复杂度主要包括时间复杂度和【2】复杂度。(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【3】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(4)一棵二叉树第六层(根结点为第一层)的结点数最多为【4】个。(5)数据结构分为逻辑结构和存储结构,循环队列属于【5】结构。(6)下列程序运行后的输出结果是【6】。main( ) int x=0210; printf(%Xn,x);(7)下列程序运行后的输出结果【7】。main( ) int a=1,b=2,c=3;if(c=a) printf(%dn,c);else printf(%dnb);(8)已有定义:double *p;,请写出完整的语句,利用malloc 函数使p 指向一个双精度型的动态存储单元【8】。(9)下列程序运行后的输出结果
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!