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

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

1、国家二级( C语言)笔试模拟试卷 226 及答案与解析 1 有以下程序: main() int a=1,b=2,m=0,n=0,k; k=(n=b a)|(m=a b); printf(“%d,%dn“,k,m); 程序运行后的输出结果是 _。 ( A) 0,0 ( B) 0,1 ( C) 1,0 ( D) 1,1 2 数据库系统的核心是 ( A)数据库 ( B)数据库管理系统 ( C)模拟模型 ( D)软件工程 3 关 系数据库管理系统能实现的专门关系运算包括 ( )。 ( A)排序、索引、统计 ( B)选择、投影、连接 ( C)关联、更新、排序 ( D)显示、打印、制表 4 线性表常采用的

2、两种存储结构是 ( )。 ( A)顺序存储结构和链式存储结构 ( B)散列方法和索引方式 ( C)链表存储结构和数组 ( D)线性存储结构和非线性存储结构 5 视图设汁一般有 3种设计次序,下列不属于视图设计次序的是 ( )。 ( A)自顶而下 ( B)由内向外 ( C)由外向内 ( D)自底向上 6 下面不属于需 求分析阶段任务的是 ( A)确定软件系统的功能需求 ( B)确定软件系统的性能需求 ( C)需求规格说明书评审 ( D)制定软件集成测试计划 7 在黑盒测试方法中 ,设计测试用例的主要根据是 ( A)程序内部逻辑 ( B)程序外部功能 ( C)程序数据结构 ( D)程序流程图 8

3、二分查找一个具有 n个元素的有序表,其时间复杂度为 _。 ( A) O(n) ( B) O(n2) ( C) O(log2n) ( D) (nlog2n) 9 软件开发离不开系统环境资源的支持,其中必要的测试数据属于 ( A)硬件资源 ( B)通信资源 ( C)支持软件 ( D)辅助资源 10 下列叙述中正确的是 ( )。 ( A)黑箱 (盒 )测试方法完全不考虑程序的内部结构和内部特征 ( B)黑箱 (盒 )测试方法主要考虑程序的内部结构和内部特征 ( C)白箱 (盒 )测试不考虑程序内部的逻辑结构 ( D)上述三种说法都不对 11 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和 (

4、 )。 ( A)编码设计 ( B)测试阶段 ( C)运行阶段 ( D)物理设计 12 若已包括头文件 且已有定义 char s118, s2=“ABCDE“)和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是 ( )。 ( A) strcpy(s1, s2) ( B) strcpy(s1, “ABCDE“); ( C) s1=“ABCDE“; ( D) for(i=0; i 6; i+)s1i=s2i 13 有以下程序,其中 %u表示按无符号整数输出: main() unsigned int x=0xFFFF; /*x 的初值为十六进制数 */ printf(“%un“,

5、x); 程序运行后的输出结果是 ( )。 ( A) -1 ( B) 65535 ( C) 32767 ( D) 0xFFFF 14 当 a=1, b=3, c=5, d=4时,执行下面一段程序后, x的值为 _。 if(a b) if(c d) x=1; else if(a c) if(b d) x=2; elsex=3; elsex=6; elsex=7; ( A) 1 ( B) 2 ( C) 3 ( D) 6 15 以下叙 述中正确的是 ( A)构成 C程序的基本单位是函数 ( B)可以在一个函数中定义另一个函数 ( C) main()函数必须放在其他函数之前 ( D) C函数定义的格式是

6、 K printf(“%d,%on,m,n); 执行后输出结果是 ( )。 ( A) 32767,32767 ( B) 32767,032767 ( C) 32767,77777 ( D) 32767,077777 17 下列选项中 均属于 C语言合法的标识符是 ( )。 ( A) Int #sub break ( B) _3ab FOR Long ( C) 3a printf a_b ( D) WORD auto include 18 出下列程序执行后的输出结果是 _。 mare()int m3=1,4,7,2,5,8,3,6,9; int i,k=2; for(i0;i 3; i+) pr

7、intf(“%d“,mki); ( A) 456 ( B) 258 ( C) 369 ( D) 789 19 下列叙述中正确的是 ( )。 ( A) C程序由函数组成 ( B) C程序由主函数构成 ( C) C程序由函数和过程构成 ( D)在 C程序中无论是整数还是实数,都可以正确无误的表示出来 20 若有以下程序段( n所赋的是八进制数) int m=32767,n=032767; printf(“%d,%on“,m,n); 执行后输出结果是 ( A) 32767,32767 ( B) 32767,032767 ( C) 32767,77777 ( D) 32767,077777 21 if

8、语句的基本形式是: if(表达式 ) 语句,以下关于 “表达式 ”值的叙述中正确的是 ( A)必须是逻辑值 ( B)必须是整数值 ( C)必须是正数 ( D)可以是任意合法的数值 22 下列程序的输出结果是 ( )。 #include stdio.h main() char a= a,b,c,d,e,f,0; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%d“,i,j); ( A) 7,7 ( B) 7,6 ( C) 6,6 ( D) 6,7 23 若执行下述程序时,若从键盘输入 6和 8,结果为 ( )。 main() int a, b,s;

9、scanf(“%d%dt“, char b; double c; x=y; ( A)变量 x所占内存的长度等于成员 c的长度 ( B)变量 x的地址和它的各成员地址都是相同的 ( C)可以在定义时对 x初始化 ( D)不能对变量 x赋值,故 x=y非法 25 有以下结构说明和变量定义,指针 p、 q、 r分别指向链表中的 3个连续结点。 struct node int data; struct node*next; *p, *q, *r; 现要将 q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是 ( )。 ( A) p- next=q- next; ( B) p-n

10、ext=p- next-next; ( C) p- next=r; ( D) p=q- next; 26 数字字符 0的 ASC 值为 48,若有以下程序: main() char a=1, b=2; printf(“%c, “, b+); printf(“%dn“, b-A); 程序运行后的输出结果是( )。 ( A) 3,2 ( B) 50,2 ( C) 2,2 ( D) 2,50 27 以下程序运行后的输出结果是 _。 main() int a, b, c; a=10;b=20; c=(a%b 1)|(a/b 1); printf(“%d %d %dn“, a, b, c); ( A)

11、10 20 1 ( B) 20 10 0 ( C) 10 20 0 ( D) 10 10 0 28 以下叙述中错误的 是 ( )。 ( A)可以通过 typedef增加新的类型 ( B)可以用 tyPedef将已存在的类型用新的名字来表示 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 tyPedcf可以为各种类型起别名,但不能为变量起别名 29 fscanf函数的正确调用形式是 ( )。 ( A) fscanf(文件指针,格式字符串,输出表列 ); ( B) fscanf(格式字符串,输出表列,文件指针 ); ( C) fscanf(格式字符串,文件指针,输入表列

12、); ( D) fscanf(文件指针, 格式字符串,输入表列 ); 30 设有语句: “int a=1,b=2,*p1=”,则使指针 p1指向变量 b的赋值语句是 _。 ( A) p1=*p2 ( B) *p1=p2 ( C) p1=p2 ( D) *p1=*p2 31 以下程序段的输出结果是 _。 char *p=“abodefgh“; p+=3; printf(“%dn“,strlen(strcpy(p,“12345“); ( A) 8 ( B) 12 ( C) 5 ( D) 7 32 有以下程 序: int *f(int *x,int *y) if(*x *y)return x; el

13、se return y; main() int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%dn“,*p,*q,*r); 程序运行后输出结果是 _。 ( A) 7,8,8 ( B) 7,8,7 ( C) 8,7,7 ( D) 8,7,8 33 以下程序输出的结果是 #include stdio.h #include string.h main() char w10=“ABCD“, “EFGH“, “IJKL“, “MNOP“, k; for(k=1; k 3;k+) printf(“%sn“, i 3; i+)pi=ai*(i+1); fo

14、r(i=0; i 3;i+)k+=pi*2; printf(“%dn“,k); ( A) 20 ( B) 21 ( C) 22 ( D) 23 38 下列程序的输出结果是 _。 main() int x, y; for(x=1,y=1;x10;x+) if(y 5)break; if(y%3 1) y+=3; continue; y-=5; printf(“%dn“,x); ( A) 2 ( B) 3 ( C) 4 ( D) 5 39 如下程序的输出结果是 _。 main() static int a4=1,2,3,4; int*k,*j; j=a+1;k= 则对 x数组元素的正确引用是 _。

15、 ( A) * printf(“Enter a number : “); scanf(“%d“, printf(“Output: “); do s=n%10; printf(“%d“,s);【 】 ; while(n!=0); printf(“n“); 50 以下程序的功能是:输出 100以内 (不含 100)能被 3整除且个位数为 6的所有整数,请填空。 main() (int i,j; for(i=0;i i0;i+) j=i*10+6; if( )continue; printf(“%d“, j); 51 以下程序的输出结果是【 】。 #intclude main() int a=37;

16、 a+=a%=9;printf(“%dn”,a); 52 表示 “整数 x的绝对值大于 5”时值为 “假 ”的 C语言表达式是 _。 53 函数 YangHui的功能是把杨辉三角形的数据赋给二维数组的下 半三角,形式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 其构成规律是: (1)第 0列元素和主对角线元素均为 1 (2)其余元素为其左卜方和正上方元素之和 (3)数据的个数每行递增 1 请将程序补充完整。 #define N 6 void yanghui (int xNN) int i, j; x0 0=1; for(i=1; j N; i+) xi 0=_ =1; fo

17、r(j=1; j i; j+) xi j=_ ; 54 下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。 Void sub(float x, noat y,【 】 z) 【 】 x+y; 55 main() printf(“The sum=%dn“, SunFun(10); SunFun(int n) int x,s=0; for(x=0;x=n;x+)s+=F(【 】 ); return s; F(int x) return(【 】 );) 56 填空补充以下程序。 # define【 】 30 【 】 ; total num PRICE; printf(“total %d,

18、num %dn“,【 】 ); 57 已有定义如下: struct node int data; struct node *next; *p; 以下语句调用 malloc函数,使指针 p指向一 个具有 struct node类型的动态存储空间。请填空。 p = (struct node *)malloc(【 】 ); 国家二级( C语言)笔试模拟试卷 226 答案与解析 1 【正确答案】 C 【试题解析】 本题考查 “逻辑或 ”运算的特例。本题中执行语句 k=(n=b a)|(m=a b)时,首先计算表达式 (n=b a)| (m=a b)的值,因 b=2, a=1,所以 b a成立,即得 n

19、=1,故表达式 (n=b a)|(m=a b)的值为真,不再执行表达式 m=ab,故执行完表达式 k=(n=b2 a)|(m=a b)后, n=1、 m=0、 k=1。 2 【正确答案】 B 【试题解析】 数据库管理系统 (Database Management System,简称 DBMS)是数据库的机构 ,它是一种系统软件 ,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等 ,数据库管理系统是数据库系统的核心。 3 【正确答案】 B 【试题解析】 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。 4 【正确答案】 A 【试题解析】 线性表的存储通常要用两

20、种存储结构 :顺序存储结构和链式存储结构。 5 【正确答案】 C 【试题解析】 视图设计的设计次序分 3种:自顶向下、自底向上和由内向外。它们为视图设计提供了具体的操作方法,设计者可根据买际情况灵活掌握。 6 【正确答案】 D 【试题解析】 在软件开发的过程中 ,应该尽早的制定测试计划 ,其中在需求分析阶段制定系统测试计划 ,在概要设计阶段制定集成测试计划 ,在详细设计阶段制定单元测试计划。 7 【正确答案】 B 【试题解析】 黑盒测试法指的是根据程序的外部功能 ,把程序本身看成一个黑盒子 ,设计测试 用例来验证程序外部功能的正确性。 8 【正确答案】 C 【试题解析】 二分法中查找时间 t与

21、查找次数 m呈比例关系, 2m=n(n为极限查找个数 ), m=log2n,所以查找时间复杂度与 log2n 相关。 9 【正确答案】 D 【试题解析】 软件测试过程中,辅助资源包括测试用例 (测试数据 )、测试计划、出错统计和最终分析报告等。 10 【正确答案】 A 【试题解析】 黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能说明,检查程序的功能是否符合它的功能说明。所以 A为所选。 11 【正确答案】 D 【试题解析】 数据库设计目前一段采用生命周期法,即将整个数据库应用系统的开分解成目标独立的若干阶段,它们是:需要分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段

22、、编码阶段、测试阶段、运行阶段、进一步修改阶段。在数据库设计中采用上面几个阶段中的前四个阶段,并且重点以数据结构和模型设计为主线。 12 【正确答案】 C 【试题解析】 数纽名 s1是代表 s1数组首地址的地址常量,因为 “=”左边不能出现常量,所以 s1=“ABCDE“的方法是错误的。 13 【正确答案】 B 【试题解析】 整型常量有十进制、八进制和十六进制 3种表示:十进制整数以正号 (+)或负号 (-)开头,由首位非 0的一串十进制数字组成,正负号也可省略,表示正整数;八进制整数以数字 0开头,后面接着干个八进制数字 (0 7):十六进制整数以数字。和字母 x(大、小写均可 )开头,后面

23、接若干个十六进制数字 (数字 0 9和字母 A F,大、小写均可 )。故本题是以无符号整数形式输出一个十六进制整数 FFFF,将其转换为十进制就是 65535,故本题应该选择 B。 14 【正确答案】 B 【试题解析】 此题主要考查 if语句的嵌套,注意 if 与 else的对应关系。 a b 成立继续执行; c d 不成立,执行 else语句; a c成立继续执行; b d 成立,x=2,然后退出嵌套的 4层 if 语句。 15 【正确答案】 A 【试题解析】 本题考查 C语言的综合基础知识。构成 C程序的基本单位是函数,一个 C程序总是从 main 函数开始执行,而不论 main 函数在整

24、个程序中的位置如何。 C语言的函数定义都是互相平行、独立的,在定义函数时,一个函数内不能定义另一个函数。 C函数定义的一般格式有两种:传统格式和现代格式。传统格式也称 K,可以通过赋值语句 p=q;,把指针变量 q中的地址值赋给指针变量 p,从而使这两个指针变量指向同一地址。 31 【正确答案】 C 【试题解析】 本题主要考查 strcpy()函数, char *strcpy(char *s1,char *s2)是把指针 s2指向的串复制到指针 s1指向的存储空间。 32 【正确答案】 B 【试题解析】 f函数的功能是返回地址为 x,y的两个数中值铰的数的地址,本题输出结果是 7,8,7。 3

25、3 【正确答案】 D 【试题解析】 当 k=1时,引用的是二维数组元素 w 11,值为字符串 “FGH”;当 k=2时,引用的是数组元素 w22,即字符串 “KL”;当 k=3 时,结束程序的执行。注意:字符串数组的定义。 34 【正确答案】 B 【试题解析】 条件运算符要求有 3个操作对象,称三目 (元 )运算符,它是 C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式 17表达式 2:表达式 3其求解顺序是:先求解表达式 1,若为非 O(真 )则求解表达式 2,此时表达式2的值就作为整个条件表达式的值。若表达式 1的值为 0(假 ),则求解表达式 3,表达式 3的值就是整个条件表

26、达式的值。并且注意 +、 -的用法。 35 【正确答案】 A 【试题解析】 运算符 表示为两数 的按位异或运算,异或运算的规则是参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为 0;数不同,则该位的结果为 1。 36 【正确答案】 C 37 【正确答案】 B 【试题解析】 按照程序的流程走一遍,可以得到 p0=0, p1=2, p3=6:执行三次 k+=pi*2,相当于 k=5+0*2+2*2+6*2=21。 38 【正确答案】 B 【试题解析】 本题考查循环辅助控制语句 break 和 continue,前者退出整个 for循环,后者跳过本次循环没有执行完的若干条 语句,开

27、始下一次循环操作,建议读者采用本书推荐的列表法分析。 39 【正确答案】 B 【试题解析】 k 为指向指针变量 j的二级指针变量,输出项 *(*k+2)等价于*(j+2), i的值是元素 a1的地址, j+2则是 a3的地址, *(j+2)则是取 a3的值。 40 【正确答案】 B 【试题解析】 本题中主函数里的 x、 y, fun函数里的 abk,这些都是指针, fun函数中只是将 a、 b这两个指针交换了位置,而并没有改变主函数中变量 a、 b 的值。 41 【正确答案】 B 【试题解 析】 本题主要考查的是数组的引用,在 C语言中, 个数组不能整体引用。在选项 A中, *,计算结果 a为

28、2。 52 【正确答案】 (x -5)&(x 5) 【试题解析】 本题考查基本逻辑表达, “整数 x的绝对值大于 5”时值 为 “假 ”,即整数 x的绝对值小于等于 5,也就是整数 x要大于等于 -5且要小于等于 5。这里“且 ”用 “与 (&)”表示,所以 C语言表达式为: (x -5)&(x 5)。 53 【正确答案】 xii xi-1j-1+xi-1或 xi-1j+xi-1j-1 【试题解析】 本题考核的知识点是函数与算法结合在一起的应用。在程序中用两重循环。在第一层循环中将每行的第 0列赋值为 1,对角线上的元素赋值为 1显然在第一个空中应该填入对角线上的元素即 xii在第 2重循环中

29、给每行其他 元素赋值,而在每行中除了第 0列和对角线的元素外其他元素为其对应的上一行中同列和同列的前一列的元素相加,所以在第二个空中应该填入 xi-1j-1+xi-1j。 54 【正确答案】 float * z 55 【正确答案】 x x*x+1或 1+x*x 【试题解析】 题目中要求从 x=0开始将 f(x)的值累加起来,直到 x=10。在SunFun()函数中用了一个 for循环,每循环一次将 f(x)累加到 s 中,所以在本题的第一个空白处应该填 x,然后 x+1,共循环 10 次。 F()函数的功能应该是求数学 表达式 f(x)的值,所以其返回值应该为 x*x+1。 56 【正确答案】 PRICE int num, total total, num 57 【正确答案】 sizeof(struct node) 【试题解析】 本题考查了结点的动态申请。动态申请需用到的函数为 malloc(),malloc()中的参数应为结点占用的存储空间的大小,此题申请的结点要用来存放stmct node类型的数据,因此申请的结点大小恰好可以存放 stmct node类型的数据,而 sizeof()函数的作用是求得类型或数据占用的存储 空间的大小。

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

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

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