[计算机类试卷]国家二级(C语言)笔试模拟试卷89及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷89及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷89及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 89及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列关于队列的叙述中正确的是 ( )。 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 3 设树 T的度为 4,其中度为 1, 2, 3, 4的结点个数分别为 4, 2, 1, 1,则 T中的叶子结点数为 ( )。 ( A) 5 ( B) 6 ( C) 7 ( D) 8 4 程序设计方法要求在程序设计过程
2、中 ( )。 ( A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图 ( B)先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( C)先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( D)以上三种说法都不对 5 下列叙述中正确的是 ( )。 ( A)在面向对象的程序设计中,各个对象之间具有密切的联系 ( B)在面向对象的程序设计中,各个对象都是公用的 ( C)在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 ( D)上述三种说法都不对 6 下列叙述中正确的是 ( )。 ( A)运行结果正确的程序一定
3、具有易读性 ( B)自己编写的程序主要是给自己使用的 ( C)当前编写的程序主要是为当前使用的 ( D)上述三种说法都不对 7 在数据流图 (DFD)中,带有名字的箭头表示 ( )。 ( A)模块之间的调用关系 ( B)程序的组成成份 ( C)控制程序的执行顺序 ( D)数据的流向 8 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)软件工具 ( D)数据库 9 下列叙述中正确的是 ( )。 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库设计是指设计数据库管理系统 ( C)数据库技术的根本目标是要解决数据共享的问题 ( D)数据库系统中
4、,数据的物理结构必须与逻辑结构一致 10 下列叙述中正确的是 ( )。 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库技术的根本目标是要解决数据的共享问题 ( C)数据库管理系统就是数据库系统 ( D)以上三种说法都不 对 11 以下叙述中正确的是 ( )。 ( A) C程序中注释部分可以出现在程序中任意合适的地方 ( B)花括号 和 只能作为函数体的定界符 ( C)构成 C程序的基本单位是函数,所有函数名都可以由用户命名 ( D)分号是 C语句之间的分隔符,不是语句的一部分 12 结构化程序由 3种基本结构组成, 3种基本结构组成的算法 ( )。 ( A)可以完成任
5、何复杂的任务 ( B)只能完成部分复杂的任务 ( C)只能完成符合结构化的任务 ( D)只能完成一些简单的任务 13 以下定义语句中正确的是 ( )。 ( A) char a=Ab=B; ( B) float a=b=l0.0; ( C) int a=l0,*b= char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1fn“,a,c,f,x); 程序运行后的输出结果是 ( )。 ( A) 1 65 1 6.5 ( B) 1 65 1.5 6.5 ( C) 1 65 1.0 6.5 ( D) 2
6、65 1.5 6.5 15 下列关于 C语言用户标识符的叙述中正确的是 ( )。 ( A)用户标识符中可以出现下划线和中划线 (减号 ) ( B)用户标识符中不可以出现中划线,但可以出现下划线 ( C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 ( D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 16 有以下程序: main() int m=3,n=4,x; x;-m+; x=x+8/+n; printf(“%dn“,x); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 5 ( C) -1 ( D) -2 17 有以下程序: main() cha
7、r a=a,b; printf(“%c,“,+a); printf(%cn“,b=a+); 程序运行后的输出结果是 ( )。 ( A) b,b ( B) b,c ( C) a,b ( D) a,c 18 有以下程序: main() int x=102, y=012; printf(“%2d,%2dn“,x,y); 执行后输出结果是 ( )。 ( A) 10,01 ( B) 02,12 ( C) 102,10 ( D) 02,10 19 有以下程序段: int m=0,n=0; char c=a; scanf(“%d%c%d“, printf(“%d,%c,%dn“,m,c,n); 若从键盘上输
8、入 10A10回车,则输出结果是 ( )。 ( A) 10, A, 10 ( B) 10, a, 10 ( C) 10, a, 0 ( D) 10, A, 0 20 有定义语句: “int a=1,b=2,c=3,x;”,则以下选项中各程序段执行后, x的值不为3的是 ( )。 ( A) if(c a)x=1; elseif(b a)x=2; elsex=3; ( B) if(a 3)x=3; elseif(a 2)x=2; elsex=1; ( C) if(a 3)x=3; if(a 2)x=2; if(a 1)x=1; ( D) if(a b)x=b; if(b c)X=c; if(c a
9、)x=a; 21 已有定义: int x=3, y=4, z=5;,则表达式 !(x+y)+z-1 ( C) y=0; if(x =0) if(x 0)y=1; e1se y=-1; ( D) if(x =0) if(x 0)y=1; elsey=0: elsey=-1; 23 以下选项中,与 k=n+完全等价的表达式是 ( )。 ( A) k=n, n=n+1 ( B) n=n+1, k=n ( C) k=+n ( D) k+=n+1 24 以下程序的功能是:按顺序读入 10名学生 4门课程的成绩,计算出每位学生的平均分并输出,程序如下。 main() int n,k; float scor
10、e;sum,ave; sum=0.0; for(n=1;n =10;n+) for(k=1;k =4;k+) scanf(“%f“, sum+=score; ave=sum/4.0; printf(NO%d: %fn“,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是 ( )。 ( A) sum=0.0; ( B) sum+=score; ( C) ave=sun/4.0; ( D) printf(“NO%d: %fn“,n,ave); 25 有以下程序段: int n=0, p; doscanf(“%d“,n+;while(p!=12345
11、此处 do-while循环的结束条件是 ( )。 ( A) p的值不等于 12345并且 n的值小于 3 ( B) p的值等于 12345并且 n的值大于等于 3 ( C) p的值不等于 12345或者 n的值小于 3 ( D) p的值等于 12345或者 n的值大于等于 3 26 若有如下程序: main() int x=9,y=4,n=0; switch(x%2) case 0:n+;break; case 1:n+; case 0:n+;break; printf(“%dn“,n); 则程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D)编译错误 27 有
12、以下程序 main() char a1=M,a2=m; printf(“%cn“,(a1,a2); 以下叙述中正确的是 ( )。 ( A)程序输出大写字母 M ( B)程序输出小写字母 m ( C)格式说明符不足,程序出错 ( D)程序运行时产生出错信息 28 若有以下调用语句,则不正确的 fun函数的首部是 ( )。 main() int a50,n; fun(n, ( A) void fun(int m,int x) ( B) void fun(int s,int h41) ( C) voidfun(int p,int*s) ( D) void fun(int n,iht a) 29 若
13、fp是指向某文件的指针,且已读到文件末尾,则函数 feof(fp)的返回值是( )。 ( A) EOF ( B) -1 ( C) 1 ( D) NULL 30 下列程序段的输出结果是 ( )。 void fun(int *x,int *y) printf(“%d%d“,*x,*y);*x=3;*y=4; main() int x=2,y=1; fun( printf(“%d%d“,X,y); ( A) 1243 ( B) 1212 ( C) 1234 ( D) 2112 31 以下程序中函数 sort的功能是对 a所指数组中的数据进行由大到小的排序: void sort(int a,int n
14、) int i,j,t; for(i=0;i n-1;i+) for(j=i+1;i n;j+) if(aiaj) t=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort( for(i=0;i 10;i+) printf(%d,“,aai); printf(“n“); 程序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 1, 2, 3, 8, 7, 6, 5, 4, 9, 10, ( D) 1
15、, 2, 10, 9, 8, 7, 6, 5, 4, 3, 32 下述程序的输出结果是 ( )。 #include stdio.h int f(n) int n; if(n=0 | | n=1) return 3; return n-f(n-2); void main() printf(“n%d“,f(10); ( A) 3 ( B) 8 ( C) 9 ( D) 10 33 有以下程序: main() char a =a,b,c,d,e,f,g,h,0; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%db“,i,j); 程序运行后的输出结果是 (
16、 )。 ( A) 9, 9 ( B) 8, 9 ( C) 1, 8 ( D) 9, 8 34 以下程序中函数 reverse的功能是将 a所指数组中的内容进行逆置: void reverse(int a ,int n) int i,t; for(i=0;i n/2l;i+) t=ai;ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for (i=6;i 10;i+) s+=bi; printf(“%dn“,s); 程序运行后的输出结果是 ( )。 ( A) 22 ( B) 10
17、( C) 34 ( D) 30 35 下面程序段的执行结果是 ( )。 main() int a55,i,j; for(i=1;i 5;i+) for(j=1;j 5;j+) aij=(i j)*(j/i); for(i=1;i 5;i+) for(j=1;j 5;j+) printf(“%2d“,aij); printf(“n“); ( A) 1111 1111 1111 1111 ( B) 0001 0010 0100 1000 ( C) 1000 0100 0010 0001 ( D) 0000 0000 0000 0000 36 有以下程序: #include string.h mai
18、n() char *p=“abcdeOfghjik0“; printf(“%dn“,strlen(p); 程序运行后的输出结果是 ( )。 ( A) 12 ( B) 15 ( C) 6 ( D) 5 37 下面的程序输出结果是 ( )。 #define U 5 #define V U+1 #define W V*V/2 main() printf(“%d “,W); printf(“%d“,5*W); ( A) 18 72 ( B) 10.5 52.5 ( C) 10.5 25.5 ( D) 10 30 38 若有如下程序: #include“stdio.h“ void main() FILE
19、 *fp; fp=fopen(“test“,“wb“); fprintf(fp,“%d%.1f,%c%c“,5,238.41,B,h); fclose(fp); 则程序运行后向文件输出的结果是 ( )。 ( A) 5238.41Bh ( B) 5238.4,Bh ( C) 5, 238.4, B, h ( D) 5238.41Bh 39 以下叙述中错误的是 ( )。 ( A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以 ( B)在程序结束时,应当用 fclose函数关闭已打开的文件 ( C)在利用 fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 ( D)不可
20、 以用 FILE定义指向二进制文件的文件指针 40 有以下程序: #include string.h main(int argc,char *argv) int i,len=0; for(i=1;i argc;i+) len+=strlen(argvi); printf(“%dn“,len); 程序编译连接后生成的可执行文件是 ex1.exe,若运行时输入带参数的命令行是: ex1 abcd efg 10回车 则运行的结果是 ( )。 ( A) 22 ( B) 17 ( C) 12 ( D) 9 41 有以下程序: int fa(int x) return x*x;) int fb(int x
21、) return x*x*x; int f(int (*f1)().int (*f2)(),int x) return f2(x)-f1(x); main() int i; i=f(fa,fb,2);printf(“%dn“,i); 程序运行后的输出结果是 ( )。 ( A) -4 ( B) 1 ( C) 4 ( D) 8 42 有以下程序: main() int i=1,j=1,k=2; if(j+|k+) 执行后输出结果是 ( )。 ( A) 1, 1, 2 ( B) 2, 2, 1 ( C) 2, 2, 2 ( D) 2, 2, 3 43 有以下程序: void ss(char *s,c
22、har t) while(*s) if(*s=t) *s=t-a+A; s+; main() char str1100=“abcddfefdbd“,c=d; ss(str1,c); printf(“%sn“,str1); 程序运行后的输出结果是 ( )。 ( A) ABCDDEFEDBD ( B) abcDDfefDbD ( C) abcAAfefAbA ( D) Abcddfefdbd 44 有以下程序: struct STU char name10; int num; int score; ; main() struct STU s5=“YangSan“,20041,703,“LiSiGu
23、o“,20042,580, “WangYin“,20043,680,“SunDan“,20044,550), Penghua“,20045,537,*p5,*t; int i,j; for(i=0;i 5;i+) pi= for(i=0;i 4;i+) for(j=i+1;j 5;j+) if(pi- Score pj- Score) t=pi;pi=pj;pi=t; printf(“%d %dn“,s1.Score,p1- Score); 执行后输出结果是 ( )。 ( A) 550 550 ( B) 680 680 ( C) 580 550 ( D) 580 680 45 若有如下语句 :
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 89 答案 解析 DOC
