[计算机类试卷]国家二级(C语言)笔试模拟试卷22及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷22及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷22及答案与解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 22及答案与解析 1 算法中的每一个步骤都必须是有明确意义的,不允许有模棱两可的解释,也不允许有多义性。算法的这个性质称为 _。 ( A)可行性 ( B)有穷性 ( C)正确性 ( D)确定性 2 线性表的链式存储结构是一种 _的存储结构。 ( A)随机存储 ( B)顺序存储 ( C)索引结构 ( D)散列结构 3 下列关于栈的描述中错误的是 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中 ,不需要改变栈底指针 4 对建立良好的程序没计风格,下面描述正确的是 _。 ( A)程序应简单、清晰、可读性好
2、 ( B)符号名的命名只要符合语法即可 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 5 下面不属于软件工程的三个要素的是 _。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 6 软件调试的目的是 _。 ( A)发现错误 ( B)改正错误 ( C)改善软件的性能 ( D)挖掘软件的潜能 7 数据库是 _的集合,它具有统一的结构形 式并存放于统一的存储介质内,可被各个应用程序所共享。 ( A)视图 ( B)消息 ( C)数据 ( D)关系 8 下列叙述中不正确的是 ( A)数据库技术的根本目标是要解决数据共享的问题 ( B)数据库系统中,数据的物理结构必须与逻辑结构一致
3、( C)数据库设计是指设计一个能满足用户要求,性能良好的数据库 ( D)数据库系统是一个独立的系统,但是需要操作系统的支持 9 规范化理论中,分解 _主要是消除其中多余的数据相关性。 ( A)关系运算 ( B)内模式 ( C)外模式 ( D)视图 10 在软件设计中,不属于过程设计工具的是 ( A) PDL(过程设计语言 ) ( B) PAD图 ( C) N-S图 ( D) DFD图 11 以下选项中可作为 C语言合法整数的是 ( A) 10110B ( B) 386 ( C) 0Xffa ( D) x2a2 12 以下不能定义为用户标识符的是 ( A) scanf ( B) Void ( C
4、) _3com_ ( D) int 13 请选出可以作为 C语言用户标识符的一组标识符号 ( A) void define WORD ( B) a3_b3 _123 1F ( C) for abc case ( D) 2a D0 sizeof 14 下列描述中正确的是 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 15 有定义语句: “int x, y; ”,若要通过 “scanf(“%d,%d,,则表达式 !(x+y)+z-1 printf(“%d%d“,m+,+n); printf(“%d%dn
5、“,n+,+m); ) 程序运行后的输出结果是 ( A) 12353514 ( B) 12353513 ( C) 12343514 ( D) 12343513 24 有以下程序 void f(int x,int y) int t; if(x y) t=x; x=y; y=t; main() int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(“%d,%d,%dn“,a,b,c); 执行后输出的结果是 ( A) 3, 4, 5 ( B) 5, 3, 4 ( C) 5, 4, 3 ( D) 4, 3, 5 25 若有一些定义和语句 #include st
6、dio.h int a=4, b=3, *p,*q,*w; p= q= w=q; q=NULL; 则以下选项中错误的语句是 ( A) *q=0; ( B) w=p; ( C) *p=a; ( D) *p=*w; 26 以下能正确定义且赋初值的语句是 ( A) int n1=n2=10: ( B) char c=32; ( C) float f=f+1.1 ( D) double x=12.3E2.5: 27 以下程序中函数 sort的功能足对 a所指数组中的数据进行 由大到小的排序 void sort(int a,int n) int i,j,t; for(i=0;i n-1;i+) for(
7、j=i+l,j n;j+) if(ai aj) 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+) print(“%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,2,10,9,8,7,6,5,4,3, 28 若有以下程序 #include stdio.h void f(int n); main(
8、) ( void f(int n); f(5); void f(int n) printf(“%dn“,n); 则以下叙述中不正确的是 ( A)若只在主函数中对函数 f进行说明,则只能在土函数中正确调用函数 f ( B)若在主函数前对函数 f进行说明,则在主函数和其后的其他函数中都可以正碗调用函数 f ( C)对于以上程序,编译时系统会提示出错信息:提示对 f函数重复况明 ( D)函数 f无返回值,所以可用 void将其类型定义为无 值型 29 有以下程序 main() int p8=11,12,13,14,15,16,17,18, i=0, j=0; while(i+ 7) if(pi%2)
9、 j+=pi; prizltf(“%dn“, j); 程序运行后的输出结果是 ( A) 42 ( B) 45 ( C) 56 ( D) 60 30 有以下程序段 int k=0, a=1, b=2, c=3; k=a b ? b:a; k=k c ? c:k; 执行该程序段后, k的值是 ( A) 3 ( B) 2 ( C) 1 ( D) 0 31 设变量 a, b, c, d和 y都已正确定义并赋值。若有以下 if语句 if (a b) if(c=d) y=0; else y=1; ( A) ( B) ( C) ( D) 32 若指针 p已正确定义,要使 p指向两个连续的整型动态存储单元,不
10、正确的语句是 ( A) p=2*(int*)malloc(sizeof(int); ( B) p=(int*)mall0c(2*sizeof(int); ( C) p=(int*)malloc(2*2); ( D) p=(int*)calloc(2,sizeof(int); 33 程序中头文件 typel.h的内容是 #define N 5 #define M1 N*3 #define “typel .h“ #define M2 N*2 main ( ) int i; i=M1+M2; printf (“%dn“, i ); 程序编 译后运行的输出结果是 ( A) 10 ( B) 20 ( C
11、) 25 ( D) 30 34 已有定义 : int i,a10,*p;, 则合法的赋值语句是 ( A) p=100; ( B) p=a5 ( C) p=a2+2 ( D) p=a+2; 35 以下不能正确进行字符串赋初值的语句是 ( A) char str5=“good!“; ( B) char str=“good!“; ( C) char*srt=“good!“; ( D) char str5= g, o, o, d; 36 有以下程序 struc t STU char name 10 int num; void f1(struct STU c) struct STU b=“LiSiGuo
12、“,2042; c=b; void f2(struct STU *c) struct STU b=“SunDan“,2044); *c=b; main ( ) struct STU a=“YangSan“,2041,b=“WangYin“,2043; f1 (a); f2 ( printf ( “%d %dn“ ,a.num,b.num); 执行后输出结果是 ( A) 2041 2044 ( B) 2041 2043 ( C) 2042 2044 ( D) 2042 2043 37 有以下程序 main ( ) char str =“xyz“, *ps=str; while (*ps) ps+
13、: for (ps- ;ps-str =0 ;ps-) puts(ps); 执行后输出结果是 ( A) yz xyz ( B) z yz ( C) z yz xyz ( D) x xy xyz 38 以下程序的输出结果是 f(int b ,int m, int n) int i,s=0; for (i=m; i n; i=i+2) s=s+b i; return s; main ( ) int x,a=1,2,3,4,5,6,7,8,9; x=f(a,3,7); printf ( “%dn“, x); ( A) 10 ( B) 18 ( C) 8 ( D) 15 39 有以下程序 void f
14、unint *a,int i,int j) int t; if (i j) t=ai ;ai=aj ;aj=t; fun(a, +i, -j); main ( ) int a=1,2,3,4,5,6,i; fun(a,0,5); for (i=0; i 6; i+ ) printf (“%d“ , a i ); 执行后输出结果是 ( A) 6 5 4 3 2 1 ( B) 4 3 2 1 5 6 ( C) 4 5 6 1 2 3 ( D) 1 2 3 4 5 6 40 有以 下程序 void fun(int *a,int i,int j) int t; if (i j) t=ai; ai=aj
15、; aj=t; i+; j-; fun(a,i, j); ) main ( ) int x=2,6,1,8,i; fun(x,0,3); for(i=0;i 4;i+) printf(“%2d“,xi); printf(“n); 程序运行后的输出结果是 ( A) 1 2 6 8 ( B) 8 6 2 1 ( C) 8 1 6 2 ( D) 8 6 1 2 41 以下语句或语句组中,能正确进行字符串赋值的是 ( A) char *sp; *sp=“right!“; ( B) char s10; s=“right!“; ( C) char s10; *s=“right!“; ( D) char *
16、sp=“right!“; 42 有以下程序 void swapl(int c0,int c1 int t; t=c00; c00=c10; c10=t; void swap2 (int *c0,int *c1) int t; t-*c0; *c0=*c1; *c1=t; main() int a2=3,5, b2=3,5 swapl(a,a+1); swap2( 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 43 有以下程序 #include
17、 stdlib.h gtruet NODE int num; struct NODE *next; ; main() struct NODE *p,*q,*r; p=(struct NODE*)malloc(sizeof (struct NODE); q=(struct NODE*)malloc(sizeof (struct NODE); r=(struct NODE*)malloc(sizeef (struct NODE); p- num=10; q- num=20; r- num=30; p- next=q; q- next-r; printf(“%dn“,p- num+q- next-
18、num); 程序运行后的输出结果是 ( A) 10 ( B) 20 ( C) 30 ( D) 50 44 有以下程序 struet STU char name10; int num; int Score; ; main() struct STU s5-“YangSan“,20041,703,(“LiSiGuo“,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+) i
19、f(pi Score pj Score) t=pi;pi=pj;pj-t; printf(“%d %dkn“,s1.Score,p1- Score); 执行后输出结果是 ( A) 550 550 ( B) 680 680 ( C) 580 550 ( D) 580 680 45 设 char型变量 x中的值为 10100111, 则表达 (2+x) ( 3)的值是 ( A) 10101001 ( B) 10101000 ( C) 11111101 ( D) 1010101 46 有以下程序 #include stdlib.h main() char *p,*q; p=(char*)malloc
20、(sizeof(char)*20); q=p; scanf(“%s %s“,p,q); printf(“%s %sn“,p,q); 若从键盘输入 :abc def回车 , 则输出结果是 ( A) def def ( B) abc del ( C) abc d ( D) d d 47 以下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符 #号时结束输入和输出操作,但程序有错。 #include stdio.h main() FILE *fout; char ch; fout=fopen(abc.txt,w); ch=fgetc(stdin); while(ch!
21、=#) fputc(ch,fout); ch =fgetc(stdin); fclose(fout); 出错的原因是 ( A)函数 fopen调用形式有误 ( B)输入文件没有关闭 ( C)函数 fgetc调用形式有误 ( D)文件指针 stdin没有定义 48 以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的是 ( A) feof(fp) ( B) ftell(fp) ( C) fgetc(fp) ( D) rewind(fp) 49 有以下程序 #include stdio.h void WriteStr(char *fn, char *str) FILE *fp; fp
22、=fopen(fn,“w“); fputs(str,fp);fclose(fp); main() WriteStr(“t1.dat“,“start“); WriteStr(“t1.dat“,“end“); 程序运行后,文件 t1.dat中的内容是 ( A) start ( B) end ( C) startend ( D) endrt 50 以下程序的功能是进行位运算 main ( ) unsigned char a, b; a=73; b= 4 printf (,%d %dn“ ,a,b); 程序运行后的输出结果是 ( A) 4 3 ( B) 7 3 ( C) 7 0 ( D) 4 0 51
23、 算法的复杂度主要包括空间复杂度和 _复杂度。 52 在面向对象方法中,类的实例称为 _。 53 对于软件测试,从是否需要执行被测软件的角度,可以分为静态测试和动态测试。代码检查属于 _测试。 54 实体联系模型是一种常用的高级概念数据模型,而 _是实体联系模型中的核心。 55 一个项目具有一个项目主管,一个项目主管叫 管理多个项目,则实体 “主管 ”与实体 “”的联系属于 _。 56 以下程序运行时若从键盘输入: 10 20 30回车。输出结果是【 】。 #include stdio.h main() int i=0,j=0,k=0; scanf(“%d%*d%d“, 57 以下程序运行后的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 22 答案 解析 DOC
