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

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

1、国家二级( C语言)机试模拟试卷 150及答案与解析 一、选择题 1 线性表常采用的两种存储结构是 ( )。 ( A)散列方法和索引方式 ( B)链表存储结构和数组 ( C)顺序存储结构和链式存储结构 ( D)线性存储结构和非线性存储结构 2 软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和 ( )。 ( A)阶段性报告 ( B)需求分析 ( C)需求总结 ( D)都不正确 3 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 ( )。 ( A)需求分析 ( B)详细设计 ( C)软件设计 ( D)概要设计 4 对建立良好的程序设计风

2、格,下面描述正确的是 ( )。 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 5 下列工具中,不属于结构化分析的常用工具的是 ( )。 ( A)数据流图 ( B)数据字典 ( C)判定树 ( D) N-S图 6 在软件生产过程中,需求信息的来源是 ( )。 ( A)程序员 ( B)项目经理 ( C) 设计人员 ( D)软件用户 7 对关系 S和 R进行集合运算,结果中既包含 S中的所有元组也包含 R中的所有元组,这样的集合运算称为 ( )。 ( A)并运算 ( B)交运算 ( C)差运算 ( D)积运算 8 设

3、有关键码序列 (Q, G, M, Z, A, N, B, P, X, H, Y, S, T, L, K, E),采用堆排序法进行排序,经过初始建堆后关键码值 B在序列中的序号是 ( )。 ( A) 1 ( B) 3 ( C) 7 ( D) 9 9 数据库的故障恢复一般是由 ( )来执行恢复。 ( A)电脑用户 ( B)数据 库恢复机制 ( C)数据库管理员 ( D)系统普通用户 10 下列选项中,不属于数据模型所描述的内容的是 ( )。 ( A)数据类型 ( B)数据操作 ( C)数据结构 ( D)数据约束 11 程序设计的任务包括 ( )。 ( A)编写程序代码并上机调试 ( B)确定所用数

4、据结构 ( C)确定所用算法 ( D)以上选项均正确 12 下列合法的标识符是 ( )。 ( A) 123 ( B) #256 ( C) a 55 ( D) abhj1_2_3 13 以下程序的运行结果是 ( )。 #include main() int a=3, b=4, c=8, d=4, m=1, n=3; printf(“ d n“, (m=ab)&(n=cd); ( A) 0 ( B) 1 ( C) 2 ( D) 3 14 以下选项中,能用作数据常量的是 ( )。 ( A) 018 ( B) ol 1 ( C) 0 8e2 5 ( D) 25L 15 有下列程序: main() in

5、t m, n, p; scanf(“m= dn= dp= d“, &m, &n, &p); printf(“0 d d d n“, m, n, p); 若想从键盘上输入数据,使变量 m中的值为 123, n中的值为 456, P中的值为789,则正确的输入是 ( )。 ( A) m=123n=456p=789 ( B) m=123 n=456 p=789 ( C) m=123, n=456 p=789 ( D) 123 456 789 16 以下关于 long、 int和 short类型数据占用内存大小的叙述中正确的是 ( )。 ( A)均占 4个宁节 ( B)根据数据的大 小来决定所占内存的

6、字节数 ( C)由用户自己定义 ( D)由 C语言编译系统决定 17 有以下程序 #include main() int k=5, n=0; while(k0) switch(k) default: break; case 1 : n+=k; case 2 : case 3 : n+=k; k-; printf(“ d n“, n); 程序运行后的输 出结果是 ( A) 0 ( B) 4 ( C) 6 ( D) 7 18 有以下程序段 int j; float y; char name50; scanf(“ 2d f s“, &j, &y, name); 当执行上述程序段,从键盘上输入 555

7、66 7777abc后, y的值为 ( )。 ( A) 55566 0 ( B) 566 0 ( C) 7777 0 ( D) 566777 0 19 若变量已正确定义,有以下程序段: i=0: do printf(“ d, “, i); while(i+); printf(“ d n“, i); 其输出结果是 ( )。 ( A) 0, 0 ( B) 0, 1 ( C) 1, 1 ( D)程序进入无限循环 20 设有条件表达式: (EXP)?i+; j-,则以下表达式中 (EXP)完全等价的是 ( )。 ( A) (EXP=0) ( B) (EXP!=0) ( C) (EXP=1) ( D)

8、(EXP!=1) 21 有以下程序 #include main() int y=9; for(; y0; y-) if(y 3=0)printf(“ d“, -y); 程序的运行结果是 ( )。 A)741 B)963 C)852 D)875421 ( A) 741 ( B) 963 ( C) 852 ( D) 875421 22 若要求从键盘读入含有空格字符的字符串,应使用函数 ( )。 ( A) getc() ( B) gets() ( C) getchar() ( D) SCallf() 23 当 a=4, b=5, c=7, d=6时,执行下面一 段程序: if(a main() vo

9、id reverse(int a, int n) int b10=10, 9, 8, 7, 6, 5, 4, 3, 2, 1; int i, s=0; int i, t; reverse(b, 10); for(i=0; im ( C) *(p+)-n ( D) (p+) (*m) 28 在下列叙述中,错误的是 ( )。 ( A) C语言中,二维数组或多维数组是按行存放的 ( B)赋值表达式 b12=a23是正确的 ( C) char a1; a0=A与 int a1; a0=A等价 ( D)数组名后的方括号内可以为常量表达式,也可以为变量 29 若已包括头文件 和 ,运行下面程序的输出结果是

10、 ( )。 char sl10=“12345“, s210=“089“, s3=“67“; strcat(strcpy(s1, s2), s3); puts(s1); ( A) 08967 ( B) 0894567 ( C) 089567 ( D) 089567 30 下列说法正确的是 ( )。 ( A) auto和 register将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外 ( B)将变量其定义为 static类型,则其初值默认为随机值 ( C) typedef说明符并不会为对象预留存留空间 ( D)如果一个对象被声明为 register,则对它应用一元运算符 &,意在取

11、得其存储的地址 31 以下有关宏的描述不正确的是 ( )。 ( A)宏定义不做语法检查 ( B)双引号中出现的宏名不进行替换 ( C)宏名无类型 ( D)宏名必须用大写字母表示 32 以下程序段的输出结果为 ( )。 static char a=“programme“; char*p; p=a; for(p=a; p void main() void fun(int*s, int*p) int a=2, 3, 4, 5, k, x; static int t=3; for(k=0; k main() struct st p=aa; int x; int*y; *p; printf(“ d n“

12、, +(p-x); int dt4=1, 2, 3, 4; struct st aa4=2, &dt0, 3, &dt0, 4, &dt0, 5, &dt0, ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 38 有以下定义和语句: struct students int num; char name20; char c; struct int gradel; int grade2; s; ; struct students w *pw; *pw=w; 下列赋值语句不正确的是 ( )。 ( A) w num=1002; ( B) w gradel=85; ( C) pw-num=1

13、002; ( D) w s grade2=85; 39 设有以下语句: char x=3, y=6, z; z=xy main() FILE*pf; ch8r*s1=“China“, *s2=“Beijing“; pf=fopen(“abc dat“, “wb+“); fwrite(s2, 7, 1, pf); rewind(pf); *文件位置指针回到文件开头 * fwrite(s1, 5, 1, pf); fclose(pf); 以上程序执行后 abc dat文件的内容是 ( )。 ( A) China ( B) Chinang ( C) ChinaBeijing ( D) Beijing

14、China 二、程序填空题 41 给定程序中,函数 fun的功能是:在形参 SS所指字符串数组中查找与形参 t所指字符串相同的串,找到后返回该串在字符串数组中的位置 (下标值 ),未找到则返回 -1。 ss所指字符串数组中共有 N个内容不同的字符串,且串长小于 M。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include #include #define N 5 #define M 8 int fun(char(*ss)M, char*t) int i; *fou

15、nd* for(i=0; i int fun(int m) int k=2; while(k #define N 16 typedef struct char num10; int s; )STREC; int fun(STREC*a, STREC*b) main() STREC sN=“GA05“, 85, “GA03“, 76, “GA02“, 69, “GA04“,85, “GA01“, 91, “GA07“, 72, “GA08“, 64), “GA06“, 87, “GA015“, 85, “GA013“, 91,“GA012“, 64, “GAOl4“, 91, “GA011“,

16、91), “GA017“, 64, “GA018“, 64, “GA016“, 72; STREC bN; int i, n; FILE*out; n=fun(s, h); printf(“The d lowest score: n“, n); for(i=0; ix引用了结构体数组 aa0的第一个成员 2; +(p-x)是将 p识的值加 l,所以输出结果为3。 38 【正确答案】 B 【试题解析】 本题主要考查的是结构体变量的嵌套定义,也就是说一个结构体变量也 可以是一个结构体。在本题中 student这个结构体中包含了结构体 s。所以对结构体变量 w中 gradel成员的引用是 w s gradel或 w-s-gradel。 39 【正确答案】 B 【试题解析】 本题考查的是位运算符的应用。 x和 y写成二进制表示分别为x=00000011, y=00000110,由于左移位运算符 “ai s) j=0; bj+=ai; min=ai s; else if(min=ai s) bj+=ai; return j; 【试题解析】 (1)要把最低分数的学生数据放在数组中,首先求出最低分数,再使用一个 for循环把所有的成绩进行比较,找出最低的分数来。 (2)找出所有与最低分数相等的学生,并将最低分数的人数累加。

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

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

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