[计算机类试卷]国家二级(C语言)笔试模拟试卷241及答案与解析.doc

上传人:confusegate185 文档编号:503405 上传时间:2018-11-29 格式:DOC 页数:18 大小:49KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷241及答案与解析.doc_第1页
第1页 / 共18页
[计算机类试卷]国家二级(C语言)笔试模拟试卷241及答案与解析.doc_第2页
第2页 / 共18页
[计算机类试卷]国家二级(C语言)笔试模拟试卷241及答案与解析.doc_第3页
第3页 / 共18页
[计算机类试卷]国家二级(C语言)笔试模拟试卷241及答案与解析.doc_第4页
第4页 / 共18页
[计算机类试卷]国家二级(C语言)笔试模拟试卷241及答案与解析.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 241及答案与解析 1 下列对于线性链表的描述中正确的是 _。 ( A)存储空间不一定是连续,且各元素的存储顺序是任意的 ( B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 2 将 E-R图转换到关系模式时,实体与联系都可以表示成 ( A)属性 ( B)关系 ( C)键 ( D)域 3 下列选项中,不是一个算法的基本特征的是 ( )。 ( A)完整性 ( B)可行性 ( C)有穷性 ( D)拥有足够的情报 4 下列所述中,是软件调

2、试技术的是 ( )。 ( A)错误推断 ( B)集成测试 ( C)回溯法 ( D)边界值分析 5 下列叙述中正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根节点的二叉树是线性结构 6 在软件工程中,白盒测试法可用于测试程序的内部结构,此方法将程序看做是 ( )。 ( A)循环的集合 ( B)地址的集合 ( C)路径的集合 ( D)目标的集合 7 下列叙述中,正确的是 ( ) ( A)用 ER图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 ( B)用 ER图只能表示实体集之间一对一的联系 ( C)用

3、 ER图只能表示实体集之间一对多的联系 ( D)用 ER图表示的概念数据模型只能转换为关系数据模型 8 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送 _。 ( A)调用语句 ( B)命令 ( C)口令 ( D)消息 9 与十进制数 200等值的十六进 制数为 ( A) A8 ( B) A4 ( C) C8 ( D) C4 10 个栈的初始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈则元素出栈的顺序 _。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDE12345 ( D) 54321E

4、DCBA 11 有下列程序段: 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 12 以下程序的输出结果是 ( )。 #include int m=13; intfun(int x, int y) int m=2; return(x*y-m); main() int a=7, b=6; pfintf(“ d”, fun(a, b) m); ( A) 1 ( B) 3 ( C) 7 ( D) 10 13 若语句 “t=fun(fun(x, y, a), (a+b,

5、a+C, x+y+z); ”对 fun函数的调用正确,则 fun函数的形参个数为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 14 设有表示学生选课的三张表,学生表 (学号,姓名,性别 ),课程表 (课程号,课程名 ),选课成绩表 (学号,课程号,成绩 ),则选课成绩表的关键字为 ( )。 ( A)课程号,成绩 ( B)学号,成绩 ( C)学号,课程号 ( D)学号,课程号,成绩 15 下列程序的输出结果是 ( )。 #include main() int a=0, i; for(i=1; i 5; i+) switch(i) case 0: case 3: a+=1;

6、case 1: case 2: a+=2; default: a+=3; printf(“ d“, i); ( A) 19 ( B) 1 ( C) 6 ( D) 8 16 以下选项中可作为 C语言合法整数的是 ( )。 ( A) 10110B ( B) 386 ( C) 0Xffa ( D) x2a2 17 下列程序的输出结果是 _。 main() float x=2.0, y; if(x 0.0)y=0.0; else if(x 10.0)y=1.0/x; else y=1.0; printf(“%fn“, y); ( A) 0 ( B) 0.25 ( C) 0.5 ( D) 1 18 先用

7、以下语句定义字符型变量: char c; 然后要将字符 a赋给变量 c,则下列语句中正确的是 ( ) ( A) c a; ( B) c “a“; ( C) c=“97“; ( D) c=97 19 以下函数调用语句中实参的个数是 ( ) func(exp1, exp2), (exp3, exp4, exp5); ( A) 1 ( B) 2 ( C) 4 ( D) 5 20 下列程序的输出结果是 ( )。 main () int a=4, b=5, c; if(a b) c=a*b; printf(“%d, %d, %dn“, b, a, c); else c=b/a; printf(“%d,

8、%d, %dn“,b, a, c); ( A) 4, 5, 12 ( B) 20 ( C) 5,4, 20 ( D) 12 21 下列程序的输出结果是 ( )。 main() int a=1,b=2; printf(“%d,%dn“,-a,+b); ( A) 1, 2 ( B) 1, 3 ( C) 0, 2 ( D) 0, 3 22 有以下程序: # define f(x) (x*x) main() int i1, i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf(“% d, % dn“, i1, i2); 程序运行后的输出结果是 _。 ( A) 64, 2

9、8 ( B) 4, 4 ( C) 4, 3 ( D) 64, 64 23 若程序中定义了以下函数: double myadd(double a, double B) return(a+B) ; 并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是 _ ( A) double myadd(double a, B) ; ( B) double myadd(double, double); ( C) double myadd(double b, double A) ; ( D) double myadd(double x, double y); 24 以下不正确的转义字符是

10、 ( )。 ( A) ( B) d ( C) s ( D) 088 25 两次运行下面的程序,如果从键盘上分别输入 3和 2,则输出结果是 ( )。 #include stdio.h main() int x; scanf(“%d“, k=a b?b:a;k=k C?C:k; 执行该程序段后, k的值是 ( )。 ( A) 3 ( B) 2 ( C) 1 ( D) 0 27 若要用函数 fopen打开一个新的二进制文件,该文件要既能读也能写,则应以哪种方式打开文件 ( )。 ( A) wb ( B) wb+ ( C) rb+ ( D) rb 28 有以下程序 :#include stdlo.h

11、 main( ) FILE * fp; int i,k,n; fp = fopen( “data. dat“ ,“w +“ ) for(i = 1 ;i 6;i + ) fprintf(fp.“% d“,i); if(i%3 =0)fprintf(fp,“ n“); rewind(fp); fscanf(fp.“ % d% d“ ,printf(“ % d%d n“ ,k,n); fclose(fp); ( A) 0 0 ( B) 123 45 ( C) 1 4 ( D) 1 29 有以下程序: #include stdio h fun(int x, int y, int z) z=x*y;

12、main() int a=4, b=2, c=6; fun(a, b, c); printf(“%d“, c); 程序运行后的输出结果是 ( )。 ( A) 16 ( B) 6 ( C) 8 ( D) 12 30 有以下程序 int f(int n) if (n=l) return 1; else return f(n-1)+1; main () int i,j=0; for(i=i;i 3;i+) j+=f(i); printf “%dn“, j ); 程序运行后的输出结果是 ( A) 4 ( B) 3 ( C) 2 ( D) 1 31 有以下程序 main () char s = “Yes

13、n/No“, *ps=s; puts (ps+4); * (ps+4)=0; puts (s); 程序运行后的输出结果是 (选项 D中的第一行是空行 ) ( A) n/No Yes /No ( B) /No Yes ( C) n/No Yes /No ( D) /No Yes 32 有以下程序: #include stdlib.h struct NODE int nurn; struct NODE *next; ; main() struct NODE *p,*q,*r; int sum=0; P=(struct NODE*)malloc(sizeof(struct NODE); q=(str

14、uct NODE*)malloc(sizeof(struct NODE); r=(struct NODE*)malloc(sizeof(struct NODE); p- num=1;q- num=2;r- num=3; p- next=q;q- next=r;r- next=NULL; sum+=q- next- num;sum+=p- num; Printf(“%dn“,sum); 执行后的输出结果是 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 33 下列属于不合法的 main函数命令行参数表示形式的是 ( )。 ( A) main(int argv, char*arg

15、c) ( B) main(int argv, char*argc) ( C) main(int argv, char*arc) ( D) main(int argc, char*argv) 34 以下正确的函数声明语句是 _。 ( A) int fun(int a,B) ; ( B) float fun(int a,int ( C) double fun(); ( D) int fun(char a); 35 以下程序的输出结果是 int f() stadc int i=0; int s=1; s+=i; i+; return s; main() int i, a=0; for(i=0; i

16、5; i+)a+=f(); printf(“%dn”, A) ; ( A) 20 ( B) 24 ( C) 25 ( D) 15 36 以下程序的输出结果是 _。 main() int a=-1, b=1, k; if(+a0) p=a; for(i=0;i 3;i+) if(i 2) p1i=p1i-1; else p1i=1; printf(“%dn“,a01+a11+a12); ( A) 8 ( B) 7 ( C) 12 ( D) 9 39 下列程序的输出结果是 ( )。 point(char*pt); main() char b4=a, c ,s ,f, *pt=b; pt=point

17、(pt); printf(%cn“,*pt); point(char*p) p+=3; return p; ( A) s ( B) c ( C) f ( D) a 40 有以下程序 #inculde int F(int t,int n); main() int a4=(1,2,3,4),s; s =F(a,4);printF(“%dn”,s); int F(int t,int n) iF(n0) return tn-1+F(t,n-1); Else return 0; 程序运行后的输 出结果是 ( A) 4 ( B) 10 ( C) 14 ( D) 6 40 在进行模块测试时,要为每个被测试的

18、模块另外设计两类模块:驱动模块和承接碟块,其中 _的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 41 注释一般分为序言性注释和 _注释。 42 软件维护活动包括以下几类:改正性维护、适应性维护、【 】维护和预防性维护。 43 数据库系统中实现各种数据管理功能的核心软件称为【 】。 44 数据模型是用来描述数据库的结构和语义的,数据模型有概念数据 模型和结构数据模型两类, E-R模型是【 】 45 以下程序的输出结果是 _。 #include main() intx=27; while(x20 switch(x) case 1: switch(y) case 0: a+;

19、 break; case 1: b+; break; case 2: a+;b+;break; printf(“a=%d,b=%dn“,a,B) ; 50 下面程序的运行结果是【 】。 int f(int a,int n) if(n 1)return a0+f( printf(“%dn“, s); 51 下面程序的功能是:将字符数组 a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 #include stdio.h #include string.h main() char a=“clanguage“, t; int i, j, k; k=strlen(a); for(i=0; i

20、=k-2;i+=2) for(j=i+2;j =k; j+=2; ) if(【 】 ) t=ai; ai=aj; aj=t; puts(a); printf(“n“); 52 下述程序的输出结果是【 】。 #include stdio.h int fun(int x) int p; if(x=0|x=1) return 3; else p=x-fun(x-2); return p; void main() printf(“n%d“, fun(9); 53 以下程序运行后的输出结果是【 】。 int a=5; fun (int b) static int a=10; a+=b+; printf(

21、“%d “,a); main() int c=20; fun(c); a+=c+; Printf(“%dn“,a); 54 13在内存中占 1个字节, “12“在 内存中占 _个字节。 55 下列程序中的函数 stropy2()实现字符串两次复制,即将 t所指字符串复制两次到 s所指内存空间中,合并形成一个新字符串。例如,若 t所指字符串为: efgh,调用 strcpy2后, s所指字符串为: efghefgh。请填空。 #include stdio.h #include string.h void strcpy2(char *s,char *t) char *p=t; while(*s+=*t+); s=【 】 ; while(【 】 =*p+); main() char str1100=“abed“,str2=“efgh“; strcpy2(str1,str2); printf(“%sn“,str1); 国家二级( C语言)笔试模拟试卷 241答案与解析

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1