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

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

1、国家二级 C语言机试(选择题)模拟试卷 76及答案与解析 一、选择题 1 数据结构主要研究的是数据的逻辑结构、数据的运算和 ( )。 ( A)数据的方法 ( B)数据的存储结构 ( C)数据的对象 ( D)数据的逻辑存储 2 一棵二叉树的前序遍历结果是 ABCEDF,中序遍历结果是 CBAEDF,则其后序遍历的结果是 ( )。 ( A) DBACEF ( B) CBEFDA ( C) FDAEBC ( D) DFABEC 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 关系模型允许定义 3类数据约束,下列不属于数据约束的是 ( )。 ( A)实体完整性约束 ( B)参照完整性约束 ( C)属性完整性约束 ( D)用户自定义的完整性约束

3、 9 关系表中的每一行记录称为一个 ( )。 ( A)字段 ( B)元组 ( C)属性 ( D)关键码 10 在数据库管理技术的发展中,数据独立性最高的是 ( )。 ( A)人工管理 ( B)文件系统 ( C)数据库系统 ( D)数据模型 11 以下叙述错误的是 ( )。 ( A) C语言区分大小写 ( B) C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改 ( C)整数和实数都能用 C语言准确无误地表示出来 ( D)在 C程序中,正整数可以用十进制、八进制和十六进制的形式来表示 12 有以下程序段: int i, n; for(i=0; i 8; i+) n=r

4、and() 5; switch(n) case 1: case 3: printf( d n, n); break; case2: case 4: printf( d n,n); continue; case 0: exit(0); printf( d n“,n); 以下关于程序段执行情况的叙述,正确的是 ( ) ( A) for循环语句固定执行 8次 ( B)当产生的随机数 n为 4时结束循环操作 ( C)当产生的随机数 n为 1和 2时不做任何操作 ( D)当产生的随机数 n为 0时结束程序运行 13 可在 C程序中用作用户标识符的一组标识符是 ( )。 ( A) void define

5、WORD ( B) as_b3 _123 If ( C) For -abc case ( D) 2c DO SIG 14 若变量已正确定义并赋值,则以下符合 C语言语法的表达式是 ( )。 ( A) a=a+7; ( B) a=7+b+c, a+ ( C) int(12 3 4) ( D) a=a+7=c+b 15 有以下程序段 char ch; int k; ch=a: k=12; printf(“c , d, , ch, ch, k); printf(k= d n“,k); 已知字符 a的 ASCII十进制代码为 97,则执行上述程序段后输出结果是 ( )。 ( A)因变量类型与格式描述符

6、的类型不匹配输出无定值 ( B)输出项与格式描述符个数不符,输出为零值或不定值 ( C) a,97, 12k=12 ( D) a,97,k=12 16 下列叙述中错误的是 ( )。 ( A)计算机不能直接执行用 C语言编写的源程序 ( B) C程序经 C编译程序编译后,生成后缀为 obj的文件是一个二进制文件 ( C)后缀为 obj的文件,经连接程序 生成后缀为 exe的文件是一个二进制文件 ( D)后缀为 obj和 exe的二进制文件都可以直接运行 17 有以下程序 #include stdio h void main() int a=1, b=0; printf( d, , b=(a+)+

7、(a+); printf( d n, a+b); 程序运行后的输出结果是 ( )。 ( A) 4, 6 ( B) 2, 5 ( C) 3, 5 ( D) 2, 6 18 若有代数式 , (其中 e仅代表自然对数的底数,不是变量 ),则下列能够正确表示该代数 式的 C语言表达式是 ( )。 ( A) sqrt(abs(nx+ex) ( B) sqrt(fabs(pow(n, x)+pow(x, e) ( C) sqrt(fabs(pow(n, x)+exp(x) ( D) sqrt(fabs(pow(x, n)+exp(x) 19 设有定义: int k=0;,下列选项的 4个表达式中与其他 3

8、个表达式的值不相同的是 ( )。 ( A) k+ ( B) k+=1 ( C) +k ( D) k+1 20 有下列程序,其中 u表示按无符号整数输出。 main() unsigned int x=0xFFFF; *x的初值为十六进制数 * printf( u n, x); 程序运行后的输出结果是 ( )。 ( A) -1 ( B) 65535 ( C) 32767 ( D) 0xFFFF 21 下面程序的运行结果是 ( )。 for(i=3; i 7; i+) printf(i 2) ? (* d n): (# d n), i); ( A) *3 #4 *5 *6 ( B) #3 *4 #5

9、 *6 ( C) #3 *4 #5 #6 ( D) *3 #4 *5 #6 22 设有语句: if(a=1)b=2; c=3;,以下语句中与之等价的是 ( )。 ( A) if(a=1)b=2; c=3; ( B) if(a!=1); elseb=2; c=3; ( C) if(a=1)c=3; b=2; ( D) (a=1)?b=2: a=a; c=3; 23 运行下列程序时,若输入数据为 “321”,则输出结果是 ( )。 main() int num, i,j, k, s; scanf( d, else s=1; i=num 100; j=(num-i*100) 10; k=(num-i

10、*100-j*10); switch(s) case 3: printf( d d d n, k, j, i); break; case 2: printf( d d n, k, j); case 1: printf( d n, k); ( A) 123 ( B) 1, 2, 3 ( C) 321 ( D) 3, 2, 1 24 有以下程序 #include stdio h #include string h struct A int a; char b10; double c; ; struct A f(struct A t); main() struct A a=1001,“ZhangDa

11、“,1098 0; a=f(a); printf( d, s, 6 1 f n, a a, a b, a c); struct A f(struct A t) t.a=1002; strcpy(t.b, WangPeng); t.c=1220 0; return t; 程序运行后的输出结果是 ( )。 ( A) 1001, ZhangDa, 1098 0 ( B) 1002, ZhangDa, 1220 0 ( C) 1001, WangPeng, 1098 0 ( D) 1002, WangPeng, 1220 0 25 判断 char型变量 c1是否为小写字母的正确表达式为 ( )。 (

12、A) a =c1 =z ( B) (c1 =a)j =i;j+) s+=aiajj; printf( d n, s); ( A) 3 ( B) 4 ( C) 1 ( D) 9 33 有以下程序: #inelude stdio.h #define X 5+6 main() inta=2, c; c=X*2: printf( d, c); 程序运行后的输出结果是 ( )。 ( A) 17 ( B) 22 ( C) 16 ( D) 11 34 当用 “#define F 37 5f”定义后,下列叙述正确的是 ( )。 ( A) F是 float型数 ( B) F是 char型数 ( C) F无类型

13、( D) F是字符串 35 若有定义语句: int a=3, b=2, c=1;,以下选项中错误的赋值表达式是 ( )。 ( A) a=(b=4)=3; ( B) a=b=c+1; ( C) a=(b=4)+c; ( D) a=1+(b=c=4); 36 以下说法正确的是 ( )。 ( A)宏定义是 C语句,要在行末加分号 ( B)可以使用 #undefine提前结束宏名的使用 ( C)在进行宏定义时,宏定义不能嵌套 ( D)双引号中出现的宏名也要进行替换 37 下面程序的输出结果是 ( )。 Typedef unionlong x1; int y4; char z10; M; M t: ma

14、in() printf( d n“,sizeoft); ( A) 32 ( B) 26 ( C) lO ( D) 4 38 以下程序中函数 sort的功能是对 a数组中的数据进行由大到小的排序 void sort(int a, int n) int i, j, t; for(i=0; i n-1; i+) for(j=i+1 ;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(&aa3, 5); for(i=0; j 10; i+)ptintf( d, , aai

15、); 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, 39 设 x=06l, y=016,则 z=x y的值是 ( )。 ( A) 00001111 ( B) 11111111 ( C) 00111111 ( D) 11000000 40 函数 rewind(fp)的作用是 ( )。 ( A)使 fp

16、指定的文件的位置指针重新定位到文件的开始位置 ( B)将 fp指定的文件的位置指针指向文件中所要求的特定位置 ( C)使 fp指定的文件的位置指针向文件的末尾 ( D)使 fp指定的文件的位置指针自动移至下一个字符位置 国家二级 C语 言机试(选择题)模拟试卷 76答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含 3个方面的内容,即数据的逻辑结构、存储结构和数据的运算。 2 【正确答案】 B 【试题解析】 由于该二叉树的前序遍历结果是 ABCEDF,显然 A结点为根结点,所以后序遍历时 A结点是最后遍历的,其后序遍

17、历的结果为 CBEFDA。 3 【正确答案】 B 【试题解析】 数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理 的信息载体,数据处理的最小单位是数据项。 4 【正确答案】 B 【试题解析】 内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上 (如磁盘及磁盘操作 )。 5 【正确答案】 A 【试题解析】 对象具有特征:标识惟一性,指对象是可区分的;分类性,指可以将具有相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同对象的行为

18、;封装性,从外面看只能看到对象 的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法;模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。 6 【正确答案】 D 【试题解析】 数据库管理系统 DBMS是数据库系统的核心。 DBMS是负责数据库的建立、使用和维护的软件。: DBMS建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过 DBMS。另外, DBMS还承担着数据库的安全保护工作,按照 DBA所规定的要求,保证数据库的完整性和安全性 。 7 【正确答案】 B 【试题解析】 随着计算机软

19、件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了入门难以控制软件发展的局面,即所谓的 “软件危机 ”。 8 【正确答案】 C 【试题解析】 关系模型允许 3类数据约束,它们是: 实体完整性约束 该约束要求关系的主键中属性值不能为空值,这是数据库完整性的最基本要求。 参照完整性约束:该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系 中的外键要么是所关联关系中实际存在的元组,要么就为空值。 用户定义的完整性约束:用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足

20、的语义要求。 9 【正确答案】 B 【试题解析】 在关系表中,每一列称为一个属性,对应表中的一个字段;每一行称为一个元组,对应表中的一条记录。 10 【正确答案】 C 【试题解析】 在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。 11 【正确答案】 C 【试题解析】 本题涉及 C语言最基本的 3个概念: C语言是区分大小写的, q和 Q是两个不同的变量; 变量的实质就是在内存中占据一定的存储单元,存储单元里存放的是该变量的值,变量的值可以根据需要进行修改; 整数在允许的范围内可以准确的表示出来,但不可能表示无限

21、度的实数。正整数可用二进制、十进制、八进制和十六进制表示。 12 【正确答案】 D 【试题解析】 当产生的随机数 n为 0时,执行 “case 0: exit(0)”这条语句,结束程序的运行。 13 【正确答案】 B 【试题解析】 C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线,关键字不能用作用户标识符。 14 【正确答案】 B 【试题解析】 选项 A是一个 C语句,不是表达式;选项 B是利用一个逗号表达式给 a赋值;选项 C中的 “ ”求余运算符要求两个运算对象都必须是整型;选项D中,不能用表达式给表达式赋值,但是变量可以给自身赋值,例如: a=a+1。

22、15 【正确答案】 D 【试题解析】 在用基本输出函数 printf时,格式说明与输出项的个数应该相同。如果格式说明的 个数少于输出项的个数,多余的输出项不予输出;如果格式说明个数多于输出项个数,则对于多余的格式项输出不定值或 0。 16 【正确答案】 D 【试题解析】 C源程序经过程序编译之后生成一个后缀为 “ obi”的二进制文件(称为目标文件 ),然后由称为 “连接程序 ”的软件包文件与 C语言提供的各种库函数连接起来生成一个后缀为 “ exe”的可运行文件。 17 【正确答案】 B 【试题解析】 在主函数中定义了两个整型变量 a和 b,并把它们的初值分别设置为 1和 0;在第二条语句中

23、,首先计算 b=a+a,然后 a自增两 次,因此第二句结束时, b=2, a=3,然后第三句, a+b=5。 18 【正确答案】 C 【试题解析】 n和 e的 x幂次方,要分别调用 C语言的数学库函数 “double pow(n,x)”和 “doubleexp(x)”因为这两个函数的返回值都为 double型,对两者的和计算绝对值,调用库函数 “doublefabs(pow(n,x)+exp(x)”,求出和的绝对值,再调用开平方函数 “double sqrt(fabs(pow(n,x)+exp(x)”,这样计算出的结果就是题干中表达式的值。 19 【正确答案】 A 【试题解析】 因为题中有语句

24、 “int k=0; ”,所以选项 B、 C、 D都是对 k的值加1,选项 A的语句 k+表示先利用 k的值进行运算,然后 k的值才加 1。 20 【正确答案】 B 【试题解析】 “ u”格式符表示以十进制形式输出无符号整形变量。本题中无符号整形变量 x=0xFFFF表示的是十六进制无符号整型变量的最大值 65535,所以最后输出的结果为 65535。 21 【正确答案】 D 【试题解析】 本题考查 printf函数的输出格式和条件表达式 “?: ”的使用。 printf函数输出时 “* d n”和 “# d n”中的 “#”和 “*”都是直接输出。 条件表达式的基本格式为: “a?b: c”

25、。它的运算规则为:当 a为非 0时,整个表达式的值取 b的值,当 a为 0时,整个表达式取 c的值。 22 【正确答案】 D 【试题解析】 在 C语言中,用分号表示一条语句的结束,用 把几条语句放在一块表示一个语句块,其整体表示一个功能。因而在题目给出的四个选项中,选项A、 B、 C均与题中所给不同,而选项 D相同。 23 【正确答案】 A 【试题解析】 本题考查 ifelse 语句和 switch语句。 scanf函数通过键盘读入。num的值。因为 “num=321 99”,所以 “s=3, i=3, i=2, k=1”。因为 s=3,所以执行 case 3,输出 k, i, i的值,然后通

26、过 break结束程序。 24 【正确答案】 D 【试题解析】 在主函数中定义结构体 A的变量 a,并对其赋初值,再调用函数f(a),在函数 f(a)中对结构体变量 a的各个成员重新进行了赋值操作,并把其值返回在屏幕上输出。 25 【正确答案】 D 【试题解析】 C语言规定,字符常量在程序中要用单引号括起来。首先 判断 c1是否为小写字母的主要条件 “c1 =ap和 “c1 =z”是逻辑与关系,其次选项 A的这种形式 C语言中没有,所以选项 D正确。 26 【正确答案】 B 【试题解析】 本题考查标准输入输出函数和循环语句。 gets(s)函数的作用是将输入的字符读入字符串 s,直到遇到回车。

27、而 scanf()函数接收字符串时的结束标志为回车或者空格。因此选项 B不能,选项 C和选项 D中按字符逐个读入字符串 s中,直到读入的字符是换行符为止,因此正确。 27 【正确答案】 D 【试题解析】 本题考查几个循环语句的 关系。 dowhile 语句、 while语句、for语句所实现的循环可以相互替代; dowhile 语句和 while语句的区别是dowhile 语句至少执行一次,再判断循环条件, while语句是先判断条件再执行。 28 【正确答案】 D 【试题解析】 本题考查如何通过指针引用数组元素。首先定义了一个结构体,然后定义了一个结构体变量 s3,并赋了初值。在主程序中,定

28、义了一个指向结构体变量 s的指针 p,要使表达式的值为 5,就应该引用 s1 m的值,使指针 p指向s1,抖 p可以实现将 p指针加 1,指向 s1。 29 【正确答案】 A 【试题解析】 本题中 sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组 s的第一个元素赋给 y。主程序内,首先定义了一维数组并赋初值,然后通过 for循环, 5次调用 sub(a, &x)函数,每一次调用都是将数组 a的第一个元素 1赋给 x,并输出。 30 【正确答案】 B 【试题解析】 fun(b, c)即 fun(5,6), 5!=6,所以返回 6; fun(2*a, 6)即。fun(8

29、,6), 8!=6,所以返回 6。 31 【正确答案】 A 【试题解析】 本题考查函数调用的基本概念。在函数调用时,只要符合函数的使用,程序中的各个函数间既可以直接调用其他函数,也可以递归调用其自身。 32 【正确答案】 B 【试题解析】 当外层循环为 i时,内层循环 j只能取 j=i,所以 s+=aiaj,其实就是 s+=aiaii,当 i=0时, s=s+a0a00=s+a00=1,当 i=1时s=s+a1a11=s+a11=1+l=2,当 i=2时, s=s+a2a22=s+a22=2+2=4。 33 【正确答案】 A 【试题解析】 define语句仅进行简单替换,因此 c=5+6*2=

30、17。 34 【正确答案】 D 【试题解析】 字符替换定义格式为: #define标识符 (形参表 )形参表达式。题中 F是代表形参表达式的标识符 (字符串 )。 35 【正确答案】 A 【试题解析】 这道题目主要考察赋值表达式,对于赋值表达式来说,赋值号 “=”的左边一定为变量名,右边为一个 C语言合法的表达式。 36 【正确答案】 B 【试题解析】 本题考查宏的使用 规则: 字符替换格式: #define标识符字符串,行末不加分号; 双引号中出现的宏名不替换; 如果提前结束宏名的使用,程序中可以使用 #undefine; 在进行宏定义时,宏定义能层层置换,能够嵌套。 37 【正确答案】 C

31、 【试题解析】 “联合体 ”所占用的内存空间为最长的成员所占用的空间。题中联合体的 z10成员是联合体中占空间最长的成员。 38 【正确答案】 C 【试题解析】 程序中 sort函数的功能是对数组中的数据进行从大到小的排序。主函数 main中调用函数 “sort(&aa3, 5); ”,使得数组 aa中从第 4个元素开始的5个元素进行从大到小的排序,数组 aa中的元素变为: 1, 2, 3, 8, 7, 6, 5,4, 9, 10。并输出这些元素。 39 【正确答案】 C 【试题解析】 本题主要考查按位或运算, x=061(二进制为 00110001), y=016(二进制为 00001110),进行或运算后结果为 00111111。 40 【正确答案】 A 【试题解析】 位置指针重返文件头函数 rewind()的调用形式为: rewind(fp)。其中, “fp”是指向文件的文件型指针。 rewind(fp)的功能是:使 fp指定的文件的位置指针重新定位到文件的开始位置。

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

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

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