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

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

1、国家二级( C语言)笔试模拟试卷 137及答案与解析 1 在计算机中,算法是指 _。 ( A)查询方法 ( B)加工方法 ( C)解题方案的准确而完整的描述 ( D)排序方法 2 栈和队列的共同点是 _。 ( A)都是先进后出 ( B)都是先进先出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 3 已知二叉树 BT的后后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍序列是 _。 ( A) cedba ( B) acbed ( C) decab ( D) deabc 4 在下列几种排序方法中,要求内存量最大的是 _。 ( A)插入排序 ( B)选择排序 ( C)快速

2、排序 ( D)归并排序 5 在设计程序时,应采纳的原则之 是 _。 ( A)程序结构应有助于读者理解 ( B)不限制 goto语句的使用 ( C)减少或者取消注解行 ( D)程序越短越好 6 下列不属于软件调试技术的是 _。 ( A)强行排错法 ( B)集成测试法 ( C)回溯法 ( D)原因排除法 7 下列叙述中,不属于软件需求规格说明书的作用的是 _。 ( A)便于用户、开发人员进行理解和交流 ( B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 8 在数据流图 (DFD) 中,带有名字的箭头表示 _。 ( A)

3、控制程序的执行顺序 ( B)模块之间的调用关系 ( C)数据的流向 ( D)程序的组成成分 9 SQL语言又称为 _。 ( A)结构化定义语言 ( B)结构化控制语言 ( C)结构化查询语言 ( D)结构化操纵语言 10 视图设计 般有 3种设计次 序,下列不属于视图设计的是 _。 ( A)自顶向下 ( B)由外向内 ( C)由内向外 ( D)自底向上 11 能将高级语言程序转换成目标语言程序的是 _。 ( A)调试程序 ( B)解释程序 ( C)编译程序 ( D)编辑程序 12 _是构成 C语言程序的基本单位。 ( A)函数 ( B)过程 ( C)子程序 ( D)子例程 13 可以在 C语言

4、中用做用户标识符的是 _。 ( A) void define WORD ( B) as_b3 _123 If ( C) for -abc cas ( D) 2c Do SIG 14 下面语句的输出结果是 _。 printf(“%d、 n“,strlen(“t“065xffn“); ( A) 14 ( B) 8 ( C) 5 ( D)输出项不合法,无正常输出 15 下列程序的输出结果是 _。 #define A 100 main() int i=0,sum=0; do if(i (i/2)*2)continue; sum+=i; while(+i A); print(“%dn“,sum); (

5、A) 2500 ( B) 2050 ( C) 4 ( D) 0 16 下列程序的输出结果是 _。 main() int i=3; switch(i) case 1: case2:printf (“%d“,i) case3: case4:break; default:printf(“OK“); ( A) 0 ( B) 3 ( C) OK ( D)没有任何输出 17 下列程序执行后的输出结果是 _。 main() int m3=1,4,7,2,5,8,3,6,9 int i,k=2 for(i=0;i 3;i+) print(“%d“,mki); ( A) 456 ( B) 258 ( C) 36

6、9 ( D) 789 18 已知字母 A的 ASCII码值是 65,字母 a的 ASCII码值是 97,以下程序_。 main() char a=A; int b=20; pxintf(“%d,%o“,(a=a+a,a+b,b) ,a+a-A,b); ( A)表达式非法,输出零或不确定值 ( B)因输出项 过多,无输出或输出不确定值 ( C)输出结果为 20,141 ( D)输出结果为 20,141,20 19 下列程序执行后输出的结果是 _。 int d=l; fun(int p) int d=5; d+=p+; printf(“%d,“,d); main() int a=3; fun(a)

7、; d+=a+; printf(“%dn“,d); ( A) 8,12 ( B) 9,13 ( C) 8,4 ( D) 9,5 20 已知下面的程序段,正确的判断是 _。 #define A3 #define B(A) (A+1)*a) int a=3; X=3*(A+B(7); ( A)程序错误,不允许嵌套定义 ( B) X=93 ( C) )X=81 ( D)程序错误,宏定义不允许有参数 21 有以下程序: #include stdio.h main() char c6; int i=0; for(j 6;ci=getchar(),i+); for(i=0,i 6;i+)putchar(c

8、i); printf(“n“); 如果从键盘上输入: ab回车 c回车 def回车 则输出结果为 _。 ( A) a b c d e f ( B) a b c d ( C) ab c d ( D) abcdef 22 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。 ( A)地址传递 ( B)单向值传递 ( C)由实参传递给形参,再由形参传递给实参 ( D)传递方式由用户指定 23 以下程序 #include stdio.h #include string.h main() char*pl=“abc“,*p2=“ABC“,str50=“xyz“; strcpy(str+2

9、.strcat(p1,p2); printf(“%sn,str); 的输出是 _。 ( A) xyzabcABC ( B) zabcABC ( C) yzabcABC ( D) xyabcABC 24 下面程序 main() int x=100,a=10,b=20,okl=5,ok2=0; if(a B) if(b!=15) if(!ik1) x=1; else if(ok2)x=10; x=-1; printf(“%dn“,x); 的输出是 _。 ( A) -1 ( B) 0 ( C) 1 ( D)不确定的值 25 下面程序 main() int x=32; print(“%dn“,x=x

10、1); 的输出是 _。 ( A) 100 ( B) 160 ( C) 120 ( D) 64 26 以下程序的输出结果是 _。 #include stdio.h #define FUDGE(y) 2.84+y #define PR(a) printf(“%d“,(int)(a) #define PRINT() PR(s) ;putchar(n) main() intx=2; PRINT1 (FUDGE(5)*x); ( A) 11 ( B) 12 ( C) 13 ( D) 15 27 以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include stdio.h main() in

11、t a10=0; while(i10)scan(“%d“_); : : ( A) a+(i+) ( B) ( C) char b10;strcpy(b,“Hello!“); ( D) char b10=“Hello!“; 31 下面程序的输出是 _。 main() int x=3,y=6,a=0; while(x+!=(y-=1) a+=1 if(y x)break; printf(“x=%d,y=%d,=%dn“,x,y,a); ( A) x=4,y=4,a=1 ( B) x=5,y=5,a=1 ( C) x=5,y=4,a=3 ( D) x=5,y=4,a=1 32 若有程序 fun(in

12、t a,int b) static int c=0 c+=a+b; retum c; main () int x=5,y=3,z=7,r; r=fun(y,x+y),z); r=fun(x,y); printf(“%dn“,r); 上面程序的输出 结果 _。 ( A) 23 ( B) 15 ( C) 19 ( D) 18 33 下面程序的输出是 _。 main() char*s=“12134211“; int v1=0,v2=0,v3=0,v4=0,k; for (k=0;sk;k+) switch(sk) defaultv4+; case1:v1+; case3:v3+; case2:v2+

13、; printf(“v1=%d,v2=%d,v3=%d,v4=%dn“,v1,v2,v3,v4); ( A) v1=4,v2=2,v3=1,v4=1 ( B) v1=4,v2=9,v3=3,v4=1 ( C) v1=5,v2=8,v3=6,v4=1 ( D) v1=8,v2=8,v3=8,v4=8 34 fgetc函数的作用是从指定文件读入 个字符,该文件的打开 方式必须是_。 ( A)只读 ( B)追加 ( C)读或读写 ( D)以上均正确 35 若有下面的说明和定义,则 sizeof(struct aa)的值是 _。 struct aa int r1;double r2;float r3;

14、 union uuchar ul5long u22ua; mya; ( A) 30 ( B) 29 ( C) 24 ( D) 22 36 下面程序的输出是 _。 main() int k=11; printf(“k=%d,k=%o,k=%xn“,kkk); ( A) k=11,k=12,k=11 ( B) k=11,k=13,k=13 ( C) k=11,k=013,k=0xb ( D) k=11,k=13,k=B 37 下面程序段中 c的二进制值是 _。 char a=3,b=6,c; c=ab 1; ( A) 1011 ( B) 1111 ( C) 11110 ( D) 11100 38

15、以下叙述中正确的是 _。 ( A) C语言比其他语言高级 ( B) C语言可以不用编译就能被计算机识别执行 ( C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 ( D) C语言出现的最晚,具有其他语言的 切优点 39 下列可用于 C语言用户标识符的 组是 _。 ( A) void define WORD ( B) a3_b3 _123 Car ( C) For-abc IFCase ( D) 2a DO sizeof 40 以下程序运行后,输出结果是 _。 main() char*d=“ab“, “cde“; printf(“%x“,d1); ( A) cde ( B)字符

16、c的 ASC 的值 ( C)字符 c的地址 ( D)出错 41 数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 _。 42 在关系模型中,二维表的行称为 _。 43 数据库系统其内部分 为三级模式,即概念模式、内模式和外模式。其中,_是用户的数据视图,也就是用户所见到的数据模式。 44 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、_和选择排序。 45 栈的 3种基本运算是:入栈、退栈和 _。 46 阅读下面程序,则执行后的输出结果是【 】。 #include “stdio.h“ main()

17、int x, y, z; x=1; y=2; z=3; if(x y)if(x z)printf(“%d“, x); else printf(“%d“, y); printf(“%dn“, z); 47 设变量已正确定义为整型,则表达式 n=i=2, +i, i+的值为【 】。 48 以下程序的输出结果是【 】。 #include stdio h main() int i; for(i=a; i f; i+, i+)printf(“%c“, i-a+A); printf(“n“); 49 下面程序的运行结果是【 】。 #include stdio h #define SIZE 12 main(

18、) char sSIZE; int i; for(i=0; i SIZE; i+) si=A+i+321; sub(s, 7, SIZE-1); for(i=0; i SIZE; i+) printf(“%c“, si); printf(“n“); sub(char *a, int t1, int t2) char ch; while(t1 t1) ch=*(a+t1); *(a+t1) *(a+t2); *(a+t2) ch; t1+; t2-; 50 mystrlen函数的功能是计算 str所指字符串的长度,并作为函数值返回。请填空。 int mystrlen(char *str) int

19、 i; for(i=0;【 】 ! 0; i+); return(i); 51 设有定义 “struct int a; float b; char c; abc, *p_abc=此时, x的值已为4,判断 y x不成立,继续执行循环;第二次 while循环;条件为假,此时 x的值已为 5,退出 while循环,执行 printf。 32 【正确答案】 A 【试题解析】 static 声明的外部变量只限于被本文件引用,而不能被其他文件引用 static来声明 个变量的作用有: 对局部变量用 static声明,则为该变量分配的空间在整个程序执行期间始终存在; 全部变量用 static声明,则该变量

20、的作用域只限于本文件模块 (即被声明的文件中 )。调用第 个 fun,其两个实参的值为(3,5+3)与 7即 8与 7,在函数 fun执行结束返回 15。第二次调用 fun时,由于static为静态类型,其值保留 ,执行 fun(5,3)后,其返回值为 23,故选 A。 33 【正确答案】 C 【试题解析】 当 switch后面括弧内的表达式的值与某 个 case后面的常量的表达式的值相等时,就执行此 case后面的语句,若所有的 case中的常量表达式的值都没有与表达式的值匹配的,就执行 default后面的语句。 34 【正确答案】 D 【试题解析】 fgetc 函数是指从指定的文件读入

21、个字符,该文件必须是以读或读写方式打开的。 fgetc 函数的调用形式为: ch=fgetc(fp);。 35 【正确答案 】 D 【试题解析】 结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的成员的长度。结构体变量 aa中,成员 r1占 2个字节, r2占 8个字节, r3占 4个字节,共用体 ua占 8个字节,所以共占用 2+8+4+8=22个字节。 36 【正确答案】 D 【试题解析】 在 C语言格式字符的输出中, “%d”是以带符号的十进制形式输出整数; “%60”是以 8进制无符号形式输出整数 (不输出前导符 o);

22、“%x”是以 16进制无符号形式输出整数 (不输出前导 符 Ox)。 37 【正确答案】 B 【试题解析】 C语言提供六种位运算符,按优先级由高到低的顺序分别为:取反( )、左移 ( )和右移 ( )、按位与 (&)、按位异或 ( )、按位或 (|)。所以表达式 c=ab 1先运算 b 1得二进制值为 00001100,再运算 a 00001100,最后得二进制值 00001111。 38 【正确答案】 C 【试题解析】 计算机语言分为低级语言、汇编语言和高级语言, C语言属于高级语言,但并不是说 C语言比其他语言高级,所以选项 A错误:除了低级语言外其他各 种语言都必须编译成能被计算机识别的

23、二进制数才能执行,选项 B错误; C语言出现在 1972年到 l973年间,并不是出现最晚的语言,所以选项 D也是错误的。 39 【正确答案】 B 【试题解析】 C语言规定标识符只能由字母,数字和下划线 3种字符组成,且第个字符必须为字母或下划线,所以排除 C和 D。 C语言还规定标识符不能为 C语言的关键字,从而选项 A(void是关键字 )也是错误的。 40 【正确答案】 C 【试题解析】 指针数组中的每 个元素都相当于 个指针变量。 维指针数组的定义形式为:类型名 *数 组名 数组长度 ,在本题 main函数中定义指针数组 d,它有两个元素,其初值分别是 “ab、 “cdc的首地址。 d

24、1的值为 “cde”的首地址。 %x是指以十六进制数形式输出整数。 41 【正确答案】 物理独立性 【试题解析】 数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性其中物理独立性是指数据的物理结构 (包括存储结构、存取方式 )改变时,不需要修改应用程序。而逻辑独立性是指当逻辑结构改变时,不需要修改应用程序。 42 【正确答案】 元组 【试题解析】 在关系型数据 库中,用二维表来表示关系,二维的表名即关系名,二维表的行称为关系的元组,二维表的列,称为关系的属性。 43 【正确答案】 外模式 【试题解析】 数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据

25、库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述:外模式是用户的数据视图,也就是用户所见到的数据模式。 44 【正确答案】 交换样序 【试题解析】 所谓排序是指将一个无序序列整理成按值非递减顺序排列成的有序序列,常用的排序方法有;交换排序、插入排序 和选择排序。其中交换排序包括冒泡排序和快速排序,插入排序包括简单插入排序和希尔排序,选择排序包括直接选择排序和堆排序。 45 【正确答案】 读栈顶元素 【试题解析】 栈的基本运算有 3种:入栈、退栈和读取栈顶元素。其中,入栈是指在栈顶插入一个新的元素:退栈是指取出栈顶元素并赋值给一个变量;读栈顶元素是将栈顶元素赋值给一个指定

26、的变量,不删除栈顶元素。 46 【正确答案】 3 【试题解析】 C语言的语法规定: else子句总是与前面最近的不带 else的 if相结合。因为 x不大于 y,所以执行 printf(“%dn“, z);语句。 47 【正确答案】 3 【试题解析】 本题考查的是 C语言逗号表达式的相关知识。程序在计算逗号表达式时,从左到右计算由逗号分隔各表达式的值,整个逗号表达式的值等于其中最后一个表达式的值。本题中,首先 i被赋值为 2,再自加 1,最后 i+的值计算为 3。 48 【正确答案】 ACE 【试题解析】 在本题中, for循环体每执行完一次,变量 i的值自加两次。 i的初值为 “a”,执行一

27、次循环后变为 “c”,之后再变成 “e”,当其变为 “g”时,循环条件若不满足,循环终止,故 本题共输出 3个字符。表达式 “i-a+A”即表示输出 i对应的大写字母,结果为 ACE。 49 【正确答案】 a b c d e f g l k j i h 【试题解析】 本题主要考查了字符变量可参与的运算。因为字符在计算机中是以ASCII码的形式存放的,所以字符变量可看作整型变量来处理,如参与算术运算等,某字符的大写字母的 ASCII码值比它对应的小写字母 ASCII码值小 32。 50 【正确答案】 *(str+i) 或 stri 【试题解析】 str是指针变量,它指向字符型数据,在 循环过程中,可以用。(str+i)来访问字符串中的第 i个元素,判断是否为结束标志,如果不是, i i+1,继续取下一个元素进行判断,直到 *(str+i)的值为 0为止,也可以用下标的方式引用字符,如 *(str +i)相当于 stri。 51 【正确答案】 - 【试题解析】 若结构体变量 abc有成员 a,并有指针 p_abc指向结构变量 abc,则引用变量 abc成员 a的标记形式有 abc.a和 p_abc- a。

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

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

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