ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:147KB ,
资源ID:502955      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-502955.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级(C语言)机试模拟试卷20及答案与解析.doc)为本站会员(figureissue185)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

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