[计算机类试卷]国家二级(C语言)笔试模拟试卷113及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷113及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷113及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 113及答案与解析 1 在数据结构中,从逻辑上可以把数据结构分为 _。 ( A)动态结构和静态结构 ( B)紧凑结构和非紧凑结构 ( C)线性结构和非线性结构 ( D)内部结构和外部结构 2 若进栈序列为 1, 2, 3, 4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。 ( A) 1, 4, 3, 2 ( B) 2, 3, 4, 1 ( C) 3, 1, 4, 2 ( D) 3, 4, 2, 1 3 排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的力法,称为 _。 ( A)希尔排序 ( B)冒泡排序 ( C)插入排序 ( D)选择
2、排序 4 在顺序表 (3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30)中,用二分法查找关键码值 11,所需的关键码比铰次数为 _。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 5 对于 n个结点的单向链表 (无表头结点 ),需要指针单元的个数至少为 _。 ( A) n-1 ( B) n ( C) n+1 ( D) 2n 6 在软件开发过程中,软件结构设计是描述 _。 ( A)数据存储结 构 ( B)软件体系结构 ( C)软件结构测试 ( D)软件控制过程 7 模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的 类是 _。
3、( A)顺序性内聚 ( B)过程性内聚 ( C)逻辑性内聚 ( D)功能性内聚 8 数据存储和数据流都是 _,仅仅是所处的状态不同。 ( A)分析结果 ( B)事件 ( C)动作 ( D)数据 9 数据的完整性是指数据的正确性、有效性和 _。 ( A)可维护性 ( B)独立性 ( C)安全性 ( D)相容性 10 关系代数运算是以 _为基础的运算。 ( A)关系运算 ( B)谓词运算 ( C)集合运算 ( D)代数运算 11 下列说法不正确的是 ( )。 ( A) C语言程序是以函数为基本单位的,整个程序由函数组成 ( B) C语言程序的一条语句可以写在不同的行上 ( C) C语言程序的注释行
4、对程序的运行功能不起任何作用,所以注释应该尽可能少写 ( D) C语言程序的每个语句都以分号结束 12 下列程序的执行结果是 ( )。 #include stdio.h main () int a, b, c ; a=b=2 ; c+=(a+)-1 ; printf (“%d, %d“, a, c); c+=-a+ (+b) ; printf (“%d, %d“, a, c); ( A) 3, 1 4, 1 ( B) 3, 1 4, 2 ( C) 2, 0 4, 1 ( D) 2, 1 4, 1 13 若 w、 x、 y、 z、 m均为 int型变量,则执行下列的语句后 m的值是 ( )。 w
5、=2, x=3, y=4, z=5; m=(w x)? w:x; m=(m z)? m:z; m=(m y)? m:y; ( A) 2 ( B) 3 ( C) 5 ( D) 4 14 若有定义: int a=4, b=5; float x=3.4,y=2.1;,则下列表达式的值为 ( )。 (float) (a+b)/2+(int)x%(int)y ( A) 5.5 ( B) 55 ( C) 5.5 ( D) 55 15 在 ASCII代码表中每一个大写字母比它相应的小写字母的 ASCII码 ( )。 ( A)小 32 ( B)小 64 ( C)大 32 ( D)大 1 16 下列不是合法的
6、C语言语句是 ( )。 ( A) a=5 ( B) int i; i+; ( C); ( D) ; 17 下列写法正确的是 ( )。 ( A) main () int i=3,j; j 5 ( B) main() int i 3; ( C) main () ( D) main() ; 18 下列程序的输出结果是 ( )。 main () int a,b,d=25; a d/10%9; b=a,则能完成 i=j赋值功能的语句是 _。 ( A) i=*p; ( B) *p=*i =0;i-)ai=10-i; printf(“%d%d%d“,aa,a5,a8); ( A) 258 ( B) 741
7、( C) 852 ( D) 369 25 以下数组定义中不正确的是 _。 ( A) int a23; ( B) int b3=0,1,2; ( C) int c100100=0; ( D) int d3=1,2,1,2,3,1,2,3,4; 26 以下程序的输出结果是 _。 main() int a44=1,3,5,2,4,6,3,5,7; printf(“%d%d%d%dn“,a03,a12,a21,a30); ( A) 650 ( B) 1470 ( C) 5430 ( D)输出值不定 27 以下程序的输出结果是 _。 main() chsr st20=“bello0t“; print(“
8、%d%fn“,strlen(st),sizeof(st); ( A) 99 ( B) 520 ( C) 1320 ( D) 2020 28 以下程序运行后的输出结果是 _。 int d=1: fun(int p) static int d=5;d+=p; printf(“%d“,d);return d; main() int a=3;printf(“%dn“,fun(a+fun(d); ( A) 699 ( B) 669 ( C) 61515 ( D) 6615 29 以下程序输出正确的是 _。 amovep(int *p,int(*a)3,int n) int i,j; for(i=0;i
9、n;i+) for(j=0;j n;j+) *p=aij;p+; main() int *p,a33=1,3,5,2,4,6; p=(int*)malloc(100); amovep(p,a,3); printf(“%d%dn“,p2,p5);free(p); ( A) 56 ( B) 25 ( C) 34 ( D)程序错误 30 以下程序的输出结果是 _。 struct HAR int x,y;struct HAR*p;h2; main() h0.x=1;h0.y=2; h1.x=3;h1.y=4; h0.p=h1.p-y); printf(“%d%dn“,(h0.p)- x,(h1.p)-
10、 y); ( A) 12 ( B) 23 ( C) 14 ( D) 32 31 以下程序的结果是 _。 int a,b; void fun() a=100;b=200; main() int a=5,b=7; fun(); printf(“%d%dn“,a,b); ( A) 100200 ( B) 57 ( C) 200100 ( D) 75 32 以下程序的输出结果是 _。 #define M(x,y,z) x*y+z main() int a=1,b=2,c=3; printf(“%dn“,M(a+b,b+c,c+a); ( A) 19 ( B) 17 ( C) 15 ( D) 12 33
11、 若有以下说明和语句: struct stint n;char *ch;; struct st a3=5,“abc“,7,“def“,9,“ghk“,*p=a; 则值为 6的 表达式是 _。 ( A) p+- n ( B) p- n+ ( C) (*p).n+ ( D) +p- n 34 整型变量 x和 Y的值相等,且为非 0值,则以下选项中结果为 0的表达式是_。 ( A) XY ( B) X|Y ( C) X int i; myf=fopen(fname,“W“); for(i=0;i strlen(st);i+)foutc(stimyf; fclose(myf); main() fun(
12、“test.t“,“new world“);fun(“test.t“,“hello,“); ( A) hello, ( B) new worldhello ( C) new world ( D) hello,rid 36 在说明语句 int *f();中,标识符 f代表的是 _。 ( A)一个用于指向整型数据 的指针变量 ( B)一个用于指向一维数组的行指针 ( C)一个用于指向函数的指针变量 ( D)一个返回值为指针型的函数名 37 下面程序的输出结果为 _。 #include string.h main() char p17=“abc“,p2=“ABC“,str50=“xyz“; strc
13、py(str,strcat(p1,p2); printf(“%s“,str); ( A) xyzabcABC ( B) abcABC ( C) xyzabc ( D) xyzABC 38 假定 int类型变量占用两个字节,若有定义: int x10=0,2,4;,则数组 X在内存中所占字节数是 _。 ( A) 3 ( B) 6 ( C) 10 ( D) 20 39 执行以下的程序段后, m的值是 _。 int a23=1,2,3,4,5,6; int m,*p; p=表达式 c+=-a+(+b)等价于 c=c+(-a+)+(+b), c=1+(-3)+3-1,此时 a=4, b=3。 13 【
14、正确答案】 A 【试题解析】 条件表达式 “a?b:c”的含义是:当 a为真时,其值等于表达式 b的值;当 a为假时,其值等于表达式 c的值。表达式运算过程:第 1个表达式: w=2 x=3为真,所以返回 w的值,即 m=w=2:第 2个表达式: m=2 z=5为真,所以返回 m的值,即 m=2;第 3个表达式; w=2 y=4为真,所以返回 m的值,即m=2。 14 【正确答案】 C 【试题解析】 在计算 (float)(a+b)/2时,由于通过强制类型转换将 (a+b)转换成了float型,所以应先将 2转换成 float型,再进行计算,得 4.500000。 在计算 (int)x%(in
15、t)y时,先将 x和 y通过强制类型转换成 int型,再进行求余运算,得 1。 又因为 4.500000是 float型,所以将 1和它相加时,先将 1换成 float型,再计算,得到 5.500000。 注意:类型转换的一般规则是:低级类型服从高级类型,并进行相应的转换。数据类型的级别由低到高的排序表示为: char intu nsignedlongfloatdouble 。 15 【正确答案】 A 【试题解析】 本题考查大小写字母的 ASCII码值的关系。大写字母比它相应的小写字母的 ASCII码小 32。 16 【正确答案】 A 【试题解析】 选项 A)是一个表达式,它后面没有分号结尾
16、(C语言中规定语句必须以分号结束 ),所以它不是语句;选项 B)用一个花括号把几条语句括起来了,这是一个复合语句;选项 C)中只有一个分号,是一个空语句;选项 D)是个复合语句,也是一个空语句。 17 【正确答案】 D 【试 题解析】 本题考查语句的基本构成。选项 A)中 j=5后面少了一个分号:选项 B)中少了 “”;选项 C)不是一个完整的函数定义格式,一个完整的函数定义格式还包括一对花括号:选项 D)正确,是一个空语句。 18 【正确答案】 B 【试题解析】 算术运行符 “/”、 “%”的优先级处于同一级,并且两者的结合性都是从左到右。所以算术表达式运算过程为: a=25/10%9=2%
17、9=2:当逻辑运算符“&”两边的值都是非零时,逻辑表达式的值才为真 (即为 1)。所以 b=2&(-1)1。 19 【正确答案】 C 【试题解析】 本题考查 if语句。第一个 if语句,先判断条件,发现 a b不成立,不再执行下列的语句,直接执行最后的 printf输出语句,然后结束程序,整个过程 c的值没有发生变化。 20 【正确答案】 D 【试题解析】 在 C语言程序中,可以用一个符号名来代表一个常量,称为符号常量。这个符号名必须在程序中进行特别的 “指定 ”,并符合标识符的命令规则。在本题中圆周率 是一个符号常量,但在程序中并没有指定其值,所以编译器找不到其值就会报错。所以选项 D)正确
18、。 21 【正确答案】 A 【试题解析】 C语言中如果函数前不加任何数据类型时,默认函数的类型为整型,函数的类型就是函数返回值的类型。 22 【正确答案】 C 【试题解析】 #define宏名的有效范围为定义命令之后到本源文件结束,可以在程序中使用 #undef命令终止宏定义的作用域。本题由 #undef的作用,使 a的作用范围在 #define a 100到 #undefa之间,故答案为 C。 23 【正确答案】 B 【试题解析】 指针是一种用来存放变量地址的特殊变量。本题中指针变量 P用于存放整型变量 i的地址,改变 *P的值即为改变 i的值。又因为 “&”和 “*”两个运算符的优先级别相
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 113 答案 解析 DOC
