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

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

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

2、,下面描述正确的是 ( )。 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 5 下列工具中,小属于结构化分析的常用二 L具的是 ( )。 ( 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) abhj 1_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) 011 ( C) 0 8e2 5 ( D) 25L 15 有下列程序: main() int

5、 m, n, p; scanf(“m= dn= dp= d“, &m, &n, &p); printf(“ d d d n“, m, n, p); 若想从键盘上输入数据,使变量 m中的值为 1 23, 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); 当执行上述程序段,从键盘上输入 5556

7、6 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 22 若要求从键盘读入含有空格字符的字符串,应使用函数 ( )。 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 23 当 a=4, b=5, c=7, d=6时,执行下面一段程 序: if(a void reverse(int a, int n) int i, t; f

9、or(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 若已包括头文件 和 ,运行下面程序的输出结果是 ( )。 char s110=“12345“, s210=“089“, s3=“67“; strcat(strcpy(s1, s2), s3); puts(s1); ( A) 08967 ( B) 089

10、4567 ( C) 089567 ( D) 089567 30 下列说法正确的是 ( )。 ( A) auto和 register将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外。 ( B)将变量其定义为 static类型,则其初值默认为随机值。 ( C) typedef说明符并不会为对象预留存留空间。 ( D)如果一个对象被声明为 register,则对它应用一元运算符,意在取得其存储的地址 31 以下有关宏的描述不正确的是 ( )。 ( A)宏定义不做语法检查 ( B)双引号中出现的宏名不进行替 换 ( C)宏名无类型 ( D)宏名必须用大写字母表示 32 以下程序段的输出结

11、果为 ( )。 static char a=“programme“; char *p; p=a; for(p=a; p void fun(int*s, int*P) static int t=3; *p=st; t-; void main() int a=2, 3, 4, 5, k, x; for(k=0; k struct st int x; int*y; *p; int dt4=1, 2, 3, 4; struct st aa4=2, &dt0, 3, &dt0, 4, &dt0, 5, &dt0, ; main() p=aa; printf(“ d n“, +(p-x); ( A) 1

12、( 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=1002; ( D) w s grade2=85; 39 设有以下语句: char x=3, Y=6, z; z=xy main() FILE *pf; char*s1=“Ch

13、ina“,*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) BeijingChina 二、程序填空题 41 给定 程序中,函数 fun的功能是:计算下式前 n项的和作为函数值返回。例如,当形参 n的值为 10时,函数返回: -0 204491。 请

14、在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include double fun(int n) int i, k; double s,t; s=0; *found* k=_1_; for(i=1; i0): “); scanf(“d“, &n); printf(“ n The result is: f n“, fun(n); 三、程序修改题 42 给定程序 MODIl C中函数 fun的功能是:从整数 1到 55之间,选出能被 3整除、且有一位上的数是 5的那些数,并把

15、这些数放在 b所指的数组中,这些数的个数作为函数值返回。规定,函数中 a1放个位数, a2放十位数。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 #include int fun(int*b) int k, a1, a2, i=0; for(k=10; k #deftne N 16 typedef struct char num10; int s; STREC; int fun(STREC*a, STREC*b) main() STREC sin=“GA05“,85, “GA03“, 76, “GA02“,69, “GA04“

16、,85,“GA01“, 91, “GA07“, 72, “GA08“, 64, “GA06“,87, “GA015“, 85,“GA013“, 91), “GA012“,64, “GA014“, 91, “GA011“, 91,“GA017“,64, “GA018“,64, “GA016“,72; STREC hN; 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-x的值加 1,所以输出结果为3。 38 【正确答案】 B

17、 【试题解析】 本题主要考查的是结构体变量的嵌套定义,也就是说一个结构体变量也可以是一个结构体。在本题中 student这个结构体中包含了结构体 s。所以对结 构体变量 w中 gradel成员的引用是 w s gradel或 w-s-gradel。 39 【正确答案】 B 【试题解析】 本题考查的是位运算符的应用。 x和 y写成二进制表示分别为x=000000l l, y=00000110,由于左移位运算符 “ai s) j=0; bj+=ai; min=ai s; eIse if(min=ai s) bj+=ai; return j; 【试题解析】 该程序功能是把分数最低的学生数据放在 b所指的数组中本题是关于求解结构体中某些成员的最小值,首先将第一个值设定为最小值,并在循环中将其他所有值与该值进行比较, 求得最小值。然后将最小值与所有值进行比较,求得所有的最小值。 解题思路 (1)要把最低分数的学生数据放在数组中,首先求出最低分数,再使用一个 for循环把所有的成绩进行比较,找出最低的分数来。 (2)找出所有与最低分数相等的学生,并将最低分数的人数累加。

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

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

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