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

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

1、国家二级 C语言机试(选择题)模拟试卷 85及答案与解析 一、选择题 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 void main

4、() int a=1, b=0; printf(“ d, “, b=(a+)+(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

5、) 19 设有定义: int k=0;,下列选项的 4个表达式中与其他 3个表达式的值不相同的是 ( )。 ( 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;i99) s=3: else if(num9) s=2: else s=

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

7、) struct A a=1001,“ZhangDa“, 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 判断 c

8、har型变量 c1是否为小写字母的正确表达式为 ( )。 ( A) a=a)&(c1=a)&(c1m ( B) *(p+)-m ( C) (*p) m ( D) *(+p)-m 29 下列程序的运行结果是 ( )。 #include void sub(int*s, int*y) static int m=4; *y=s0; m+: void main() int a=1, 2, 3, 4, 5, k; int x; printf(“ n“); for(k=0; k int fun(int x, int y) if(x!=y)return(y); else return(x+y) 2); mai

9、n() int a=4, b=5, c=6; printf(“ d n“, fun(2*a, fun(b, c); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 6 ( C) 8 ( D) 12 31 C语言中规定,程序中各函数之间 ( )。 ( A)既允许直接递归调用也允许间接递归调用 ( B)不允许直接递归调用也不允许间接递归调用 ( C)允许直接递归调用不允许间接递归调用 ( D)不允许直接递归调用允许间接递归调用 32 以下程序的输出结果是 ( )。 #include main() int a33=0, 1, 2, 0, 1, 2, 0, 1, 2, i, j, s=1;

10、for(i=0; i #define X 5+6 main() int a=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无类型 ( D) F是字符串 35 若有定义语句: int a=3, b=2, c=1;,以下选项中错误的赋值表达式是 ( )。 ( A) a=(b=4)=3; ( B) a=b=c+1; ( C) a=(b=

11、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; main() printf(“ d n“, sizeof(t); ( A) 32 ( B) 16 ( C) 10 ( D) 4 38 以下程序中函数 sort的功能是对 a数组中的数据进行由大到小的排序

12、void sort(int a, int n) int i, j, t; for(i=0; i99”,所以 “s=3, i=3, j=2, k=1”。因为 s=3,所以执行 case 3,输出 k, i, i的值,然后通过 break结束程序。 24 【正确答案】 D 【试题解析】 在主函数中定义结构体 A的变量 a,并对其赋初值,再调用函数f(a),在函数 f(a)中对结构体变量 a的各个成员重新进行了赋值操作,并把其值返回在屏幕上输出。 25 【正确答案】 D 【试题解析】 C语言规定,字符常量在程序中要用单引号括起来。首先判断 c1是否为小写字母的主要条件 “c1=a”和 “c1=z”是

13、逻辑与关系,其次选项 A)的这种形式 C语言中 没有,所以选项 D)正确。 26 【正确答案】 B 【试题解析】 本题考查标准输入输出函数和循环语句。 gets(s)函数的作用是将输入的字符读入字符串 s,直到遇到回车。而 scanf()函数接收字符串时的结束标志为回车或者空格。因此选项 B)不能,选项 C)和选项 D)中按字符逐个读入字符串 s中,直到读入的字符是换行符为止,因此正确。 27 【正确答案】 D 【试题解析】 本题考查几个循环语句的关系。 dowhile 语句、 while语句、for语句所实现的循环可以相互替代; dowhile 语句 和 while语句的区别是dowhile

14、 语句至少执行一次,再判断循环条件, while语句是先判断条件再执行。 28 【正确答案】 D 【试题解析】 本题考查如何通过指针引用数组元素。首先定义了一个结构体,然后定义了一个结构体变量 s3,并赋了初值。在主程序中,定义了一个指向结构体变量 s的指针 p,要使表达式的值为 5,就应该引用 sl m的值,使指针 p指向sl, +p可以实现将 p指针加 1,指向 s1。 29 【正确答案】 A 【试题解析】 本题中 sub(int*s,int*y)函数 的参数是两个指针型变量,在函数体内将数组 s的第一个元素赋给 y。主程序内,首先定义了一维数组并赋初值,然后通过 for循环, 5次调用

15、sub(a,&x)函数,每一次调用都是将数组 a的第一个元素 1赋给 x,并输出。 30 【正确答案】 B 【试题解析】 fun(b, c)即 fun(5,6), 5!=6,所以返回 6; fun(2*a, 6)即 fun(8,6), 8!=6,所以返回 6。 31 【正确答案】 A 【试题解析】 本题考查函数调用的基本概念。在函数调用时,只要符合函数的使用,程序中的各个函数间既可以直 接调用其他函数,也可以递归调用其自身。 32 【正确答案】 B 【试题解析】 当外层循环为 i时,内层循环 j只能取 j=i,所以 s+=aiajj,其实就是 s+=aiaii,当 i=0时, s=s+a0a0

16、0=s+a00=1,当 i=1时s=s+a1a11=s+a11=1+1=2,当 i=2时,s=s+a2a22=s+a22=2+2=4。 33 【正确答案】 A 【试题解析】 define语句仅进行 简单替换,因此 c=5+6*2=17。 34 【正确答案】 D 【试题解析】 字符替换定义格式为: #define标识符 (形参表 )形参表达式。题中 F是代表形参表达式的标识符 (字符串 )。 35 【正确答案】 A 【试题解析】 这道题目主要考察赋值表达式,对于赋值表达式来说,赋值号 “=”的左边一定为变量名,右边为一个 C语言合法的表达式。 36 【正确答案】 B 【试题解析】 本题考查宏的使

17、用规则: 字符替换格式: #define标识符字符串,行末不加分号; 双引号中出现的宏名不替换; 如 果提前结束宏名的使用,程序中可以使用 #underfine; 在进行宏定义时,宏定义能层层置换,能够嵌套。 37 【正确答案】 C 【试题解析】 “联合体 ”所占用的内存空间为最长的成员所占用的空间。题中联合体的 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