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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】国家二级(C语言)机试模拟试卷130及答案解析.doc

1、国家二级(C 语言)机试模拟试卷 130 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性2.下列叙述中正确的是( )。(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对3.软件

2、测试的目的是( )。(分数:2.00)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书5.软件生命周期是指( )。(分数:2.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程6.面向对象方法中,继承是指( )。(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类

3、之间共享属性和操作的机制7.层次型、网状型和关系型数据库划分原则是( )。(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对多D.多对一9.数据库设计中反映用户对数据要求的模式是( )。(分数:2.00)A.内模式B.概念模式C.外模式D.设计模式10.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.差C.交D.并11.计算机能直接执行的程序是( )。(分数:2.00)A.源程序B.目

4、标程序C.汇编程序D.可执行程序12.以下叙述中正确的是( )。(分数:2.00)A.C 语言规定必须用 main 作为主函数名,程序将从此开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C 语言程序将从源程序中第一个函数开始执行D.main 的各种大小写拼写形式都可以作为主函数名,如 MAIN,Main 等13.以下选项中可用做 C 程序合法实数的是( )。(分数:2.00)A.30e02B.1e0C.E9D.912E14.下列定义变量的语句中错误的是( )。(分数:2.00)A.int_int;B.double int_;C.char For;D.noat

5、US$:15.表达式:int)(double)92)一 92 的值是( )。(分数:2.00)A.0B.3C.4D.516.设变量均已正确定义,若要通过 scanf(“dcdc”,后面的语句 n+=2;k 一一;。执行 break 语句跳出 switch 判断,打印 n 的值,即2。经过第一次循环后,k 的值为 3,然后进行 k0&n0&nsex);D.scanf(“d”,ps 一age); 解析:解析:本题考查结构体的相关知识,题目中需要输入一个变量,scanf 要求参数为指针,而 D 选项中 ps 一age 为一个变量,不是指针,所以错误。36.若有以下语句:typedef struet

6、S int g;char h;T;以下叙述中正确的是( )。(分数:2.00)A.可用 S 定义结构体变量B.可用 T 定义结构体变量 C.S 是 struet 类型的变量D.T 是 struet S 类型的变量解析:解析:本题考查 typedef 重新声明一种结构体类型,那么 T 为结构体类型,而不是结构体变量,所以 B 选项正确。37.有以下程序: #include #include struet A int a; char b10; double c; ; struct A f(struet A t); main() struet A a=1001,“ZhangDa”,10980; a=

7、f(a); printf(“d,s,61fn”,aa,ab,ac); struet A f(struet A t) ta=1002; strcpy(tb,“ChangRong”); te=12020: return t; 程序运行后的输出结果是( )。(分数:2.00)A.1002,ZhangDa,12020B.1002,ChangRong,12020 C.1001,ChangRong,10980D.1001,ZhangDa,10980解析:解析:本题考查结构体变量的引用以及作为函数参数,题目虽然看似复杂,其实比较容易,f 函数的参数是结构体变量,然后对参数重新赋值并返回,所以该题目的答案为

8、B 选项。38.设有宏定义: #define IsDIV(k,n)(kn=1)?1:0) 且变量 m 已正确定义并赋值,则宏调用: IsDIV(m,5)&IsDIV(m,7)为真时所要表达的是( )。(分数:2.00)A.判断 m 是否能被 5 和 7 整除B.判断 m 被 5 和 7 整除是否都余 1 C.判断 m 被 5 或者 7 整除是否余 1D.判断 m 是否能被 5 或者 7 整除解析:解析:本题考查逻辑运算符的相关概念,逻辑与若要为真,那么两边都要为真,即 m 都能被 5 和 7整除都余 1,所以选项 B 正确。39.有以下程序: #include main() int a=1,b

9、=2,e=3,x; x=(ab)&c; prinff(“dn”,X); 程序运行后的输出结果是( )。(分数:2.00)A.3 B.1C.2 0)0解析:解析:本题考查位运算符以及相关运算,为按位或,&为按位与,那么 ab 为 3,再与 c 按位与仍然为 3,所以答案为 A 选项。40.有以下程序: #include main() FILE*fp; int k,13,a6=1,2,3,4,5,6; fp:fopen(“d2dat”,“W”); fprintf(fp,“dddn”,a0,a1,a2); fprinff(fp,“dddn”,a3,a4,a5); fclose(fp); fp=fop

10、en(“d2dat”,“r”);fscanf(fp,“dd”,&k,&n); prinff(“ddn”,k,n); fclose(fp); 程序运行后的输出结果是( )。(分数:2.00)A.1 2B.1 4C.123 4D.123 456 解析:解析:fprinff()函数向文本文件输出数据,将输出的内容按格式输出到硬盘的文本文件中。执行两次 fprinff 后,文件中的内容为“123 456”,所以 D 选项正确。二、程序填空题(总题数:1,分数:2.00)41.函数 fun 的功能是:将一副扑克牌编号为 1,2,3,53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们

11、交叉,并始终保持编号为 1 的牌在最上方,如第一次这样洗牌后的结果为:1,28,2,29,53,27,54。两次洗牌后的结果为:1,41,28,15,2,42,53,40,27,14,54。程序的功能是:输出经过 n 次这样洗牌后的结果。请在程序的下画线处填入正确的内容,并把下画线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构!试题程序: #includestdioh void fun(int a55,int lrl) int i,k; *found* int m55; for(i=0;i11;i+) for(k=1;k=

12、27;k+) b2*k 一 1=ak; *found* b一2*k=ak+27; for(k=1;k=54;k+) *found* ak=3; main() int m,a55,i; flor(i=1;i55;i+)ai=i; trintf(“请输入洗牌次数:”);scanf(“d”,&m); fun(a,m); for(i=1;i55;i H)prinff(“d,”,ai); printf(“n”); (分数:2.00)_正确答案:(正确答案:(1)b (2)2 (3)bk)解析:解析:填空 1:for 循环中使用了一个数组 b,用来临时存放交换位置后的扑克牌,C 语言中变量需要先声明后使用

13、,所以填空 (1)处需要声明一个数组 b。答案为 b。 填空 2:第二个 for 循环是将数组 a中前一半元素(即 127 编号的扑克牌)放入数组 b 的奇数位置,将数组 a 中的后一半元素(即 2854 编号的扑克牌)放人数组 b 的偶数位置,实现扑克牌的交叉洗牌。所以填空(2)处是数组 b 的起始值为 2 的偶数下标 2k,答案为 2。 填空 3:由于数组 b 属于函数中的临时变量,所以将数组 a 的元素交叉存储到数组b 后,还需要将数组 b 的元素依次赋值给数组 a,第三个 for 循环实现的功能是将数组 b 赋值给数组 a,所以填空(3)处需要填入对应下标为 k 的数组 b 的元素,答

14、案为 bk。三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中,函数 fun 的功能是:从低位开始依次取出长整型变量 s 中奇数位上的数,构成一个新数存放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为 7654321 时,t 中的数为 7531。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODllC 中,不得增行或删行,也不得更改程序的结构! #includestdioh *found* void fun(10ng s,long t) long s1=10; ,it t=s10: while(s0) s=s100; *t=s10*s1+*t

15、: *found* s1=s1*100: main() long s,t; prinff(“nPlease enter s:”);scanf(“ld”,s); fun(s,&t); prinff(“The result is:1dn”,t); (分数:2.00)_正确答案:(正确答案:(1)void fun(long s,long*t) (2)s1=s1*10;)解析:解析:函数定义,指针型变量;数值 n 和其各个位如何表示。 (1)主函数中调用函数的参数为地址,因此函数 fun 的形式参数应为指针类型。 (2)重新组合一个数,从个位开始,然后十位,依次类推,因此每增加一位数,原数值需乘以 1

16、0,即 s1=s1*10;。四、程序设计题(总题数:1,分数:2.00)43.规定输入的字符串中只包含字母和*号。请编写函数 fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用 C 语言提供的字符串函数。例如,字符串中的内容为:“*A*BC*DEF*G*”,删除后,字符串中的内容应当是:“*ABCDEFG”。注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #includestdioh void fun(char*a) main() char s81;void

17、NONO(); printf(“Enter a string:n”);gets(s); fun(s); prinff(“The string after deleted:n”);puts(s); NONO(); void NONO() *本函数用于打开文件,输人数据,调用函数,输出数据,关闭文件。* FILE,*in,*out; int i;char s81; in=fopen(“indat”,“r”); out=fopen(“outdat”,“W”); for(i=0;i10;i+) fscanf(in,“s”,s); fun(s); fprintf(out,“sn”,s); fclose(in); fclose(out); (分数:2.00)_正确答案:(正确答案:void fun(char*a) int i=0: char*p=a; while(*p&*p=*) ai=*p; i+: p+; while(*p) if(*p!=*) ai=*p;i+; p+; ai=0; )解析:解析:本题考查:指针型变量定义;while 循环语句;if 语句条件表达式;字符串结束标识0。

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