【计算机类职业资格】国家二级(C语言)机试模拟试卷148及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷148及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷148及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 148 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2.下列关于线性链表的叙述中,正确的是( )。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上说法均不正确3.一棵二叉树共有 25
2、个结点,其中 5 个是叶子结点,则度为 1 的结点数为( )。(分数:2.00)A.16B.10C.6D.44.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.外模式B.内模式C.概念模式D.逻辑模式5.在满足实体完整性约束的条件下( )。(分数:2.00)A.一个关系中应该有一个或多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字6.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.交C.除D.并7.下面描述中,不属于软件危机表现的是( )。(分数:2.00)A.软件过
3、程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高8.下面不属于需求分析阶段任务的是( )。(分数:2.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划9.在黑盒测试方法中,设计测试用例的主要根据是( )。(分数:2.00)A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图10.在软件设计中不使用的工具是( )。(分数:2.00)A.系统结构图B.PAD 图C.数据流图(DFD 图)D.程序流程图11.以下选项中关于程序模块化的叙述错误的是( )。(分数:2.00)A.可采用自底向上、逐步细化的设计方法把若干
4、独立模块组装成所要求的程序B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.把程序分成若干相对独立的模块,可便于编码和调试D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序12.以下叙述中正确的是( )。(分数:2.00)A.用 C 语言编写的程序只能放在一个程序文件中B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序中的注释只能出现在程序的开始位置和语句的后面D.C 程序书写格式自由,一个语句可以写在多行上13.以下不合法的数值常量是( )。(分数:2.00)A.80E05B.1e1C.011D.Oxabcd14.以下关于 C 语言数据类型
5、使用的叙述中错误的是( )。(分数:2.00)A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型B.若要保存带有多位小数的数据,可使用双精度类型C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型D.整数类型表示的自然数是准确无误差的15.设有定义:int k=0:以下选项的四个表达式中与其他三个表达式的值不相同的是( )。(分数:2.00)A.+kB.k+=1C.k+D.k+116.有如下程序段:int x=12:double y=3141593;printf(“d86f“,x,y);其输出结果是( )。(分数:2.00)A.123141593B.12 3141593C.
6、12,3141593D.123141593017.已知字符A的 ASCII 代码值是 65,字符变量 c1 的值是A,c2 的值是D。则执行语句printf(“d,d“,c1,c2-2);的输出结果是( )。(分数:2.00)A.65,68B.A,68C.A,BD.65,6618.以下选项中,当 x 为大于 l 的奇数时,值为 0 的表达式是( )。(分数:2.00)A.x2=0B.x2C.x2!1=0D.x2=119.有以下程序:#includestdiohmain()int x;scanf(“d“,&x):if(x=3);else if(x!=10)printf(“dn“,x);程序运行时
7、,输入的值在哪个范围才会有输出结果( )。(分数:2.00)A.小于 3 的整数B.不等于 10 的整数C.大于 3 或等于 10 的整数D.大于 3 且不等 10 的整数20.有以下程序:#includestdiohmain()int a=7;while(a-);printf(“dn“,a);程序运行后的输出结果是( )。(分数:2.00)A.0B.-1C.1D.721.有以下程序:#includestdiohmain()char b,c;int i;b=a;c=A;for(i=0;i6;i+)if(i2)putchar(i+b);else putchar(i+c);printf(“n“);
8、程序运行后的输出结果是( )。(分数:2.00)A.abcdefB.ABCDEFC.aBcDeFD.AbCdEf22.有以下程序:#includestdiohmain()int i,j,x=0;for(i=0;i2;i+)x+:for(j=0;j=3;j+)if(j2)continue;x+;x+;printf(“x=dn“,x);程序执行后的输出结果是( )。(分数:2.00)A.x=4B.x=8C.x=6D.x=1223.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。(分数:2.00)A.函数的形参和实参分别占用不同的存储单元B.形参只是形式上的存在,不占用具体
9、存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元24.设有以下函数:void fun(int n,char*s)则下面对函数指针的定义和赋值均正确的是( )。(分数:2.00)A.void(*pf)(int,char);pf=&fun;B.void*pf();pf=fun;C.void*of();*pf=fun;D.void(*pf)(int,char*);pf=fun;25.若要求定义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是( )。(分数:2.00)A.int a5+5;B.int n=10,an;C.#define n5
10、int a2*n;D.#define N10 int aN;26.有以下程序:#includestdiohmain()int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+)printf(“d“,t2-ii);程序执行后的输出结果是( )。(分数:2.00)A.3 5 7B.7 5 3C.3 6 9D.7 5 127.有以下程序:#includestdiohvoid fun(int*s,intn1,intn2)int i,j,t;i=n1;j=n2;while(ij)t=si;si=sj;sj=t;1+;j-;main()int a10=1,2,3,4,5,6,7,8
11、,9,0,k;fun(a,0,3);fun(a,4,9);fun(a,0,9);for(k=0;k10;k+)printf(“d“,ak);printf(“n“);程序运行后的输出结果是( )。(分数:2.00)A.4321098765B.5678901234C.0987654321D.098765123428.有以下程序:#includestdiohmain()int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t;for(i=0;i3;i+)for(k=i+1;k4;k+)if(aiiakk)t=aii;aii=akk;akk=t;for(i=0;i4;
12、i+)printf(“d,“,a0i);程序运行后的输出结果是( )。(分数:2.00)A.1,1,2,6,B.6,2,1,1,C.6,4,3,2,D.2,3,4,6,29.以下选项中正确的语句组是( )。(分数:2.00)A.char*s;s=“BOOK!“;B.char*s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;30.若有以下定义和语句:#includestdiohchar s110=“abcd!“,*s2=“n123“;printf(“ddn“,strlen(s1),strlen(s2);则输出结果是( )。(分数:2.00)
13、A.10 7B.10 5C.5 5D.5 831.有以下程序:#includestdiohvoid fun1(char*p)char*q;q=p;while(*q!=0)(*q)+;q+;main()char a=“Program“,*p;p=&a3;fun1(p);printf(“sn“,a);程序执行后的输出结果是( )。(分数:2.00)A.PrphsbnB.ProhsbnC.ProgsbnD.Program32.有以下函数:int aaa(char*s)char*t=s;while(*t+);t-;return(t-s);以下关于 aaa 函数功能叙述正确的是( )。(分数:2.00)
14、A.将串 s 复制到串 tB.比较两个串的大小C.求字符串 s 的长度D.求字符串 s 所占字节数33.有以下程序:#includestdiohint fun(int a,int b)if(b=0)return a;else return(fun(-a,-b);main()printf(“dn“,fun(4,2);程序运行后的输出结果是( )。(分数:2.00)A.1B.2C.3D.434.以下选项中叙述错误的是( )。(分数:2.00)A.C 程序函数中定义的自动变量,系统不自动赋确定的初值B.在 C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C 程序函数中定义
15、的赋有初值的静态变量,每调用一次函数,赋一次初值D.C 程序函数的形参不可以说明为 static 型变量35.有以下程序段:struct stint x;int*y;*pt;int a=1,2,b=3,4;struet st c2=10,a,20,b;pt=c;以下选项中表达式的值为 11 的是( )。(分数:2.00)A.+pt-xB.pt-xC.*pt-yD.(pt+)-X36.有以下程序:#includestdiohstruct Sint n;int a20;void f(int*a,int n)int1;for(i=0;in-1;i+)ai+=i;main()int i;struet
16、S s=10,2,3,1,6,8,7,5,4,10,9;f(sa,sn);for(i=0;isn;i+)printf(“d,“,sai);程序运行后的输出结果是( )。(分数:2.00)A.2,3,1,6,8,7,5,4,10,9,B.3,4,2,7,9,8,6,5,11,10,C.2,4,3,9,12,12,11,11,18,9,D.1,2,3,6,8,7,5,4,10,9,37.有以下程序:#includestdioh#includestringhtypedef struetchar name9;char sex;float score2;STU;void f(STU a)STU b=“Z
17、hao“,m,850,900;int i;strcpy(aname,bname);asex=bsex:for(i=0;i2;i+)ascorei=bseorei;main()STU c=“Qian“,f,950,920;f(c);printf(“s,c,20f,20fn“,cname,csex,cseore0,cscore1);程序运行后的输出结果是( )。(分数:2.00)A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,9238.有以下程序:#includestdioh#define f(x)x*xx*main()int a=3,s
18、,t;s=f(ft+1);t=f(a+1);printf(“d,dn“,s,t);程序运行后的输出结果是( )。(分数:2.00)A.10,64B.10,10C.64,10D.64,6439.有以下程序:#includestdiohmain()char a=4:printf(“dn“,a=a1);程序运行后的输出结果是( )。(分数:2.00)A.16B.8C.40D.440.设文件指针 fp 已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件 file 操作叙述的选项中正确的是( )。(分数:2.00)A.只能写不能读B.写操作结束后可以从头开始读C.可以在原有
19、内容后追加写D.可以随意读和写二、程序填空题(总题数:1,分数:2.00)41.给定程序中,函数 fun 的作用是:不断从终端读入整数,由变量 a 统计大于 0 的个数,用变量 c 来统计小于 0 的个数,当输入 0 时结束输入,并通过形参 pa 和 pb 把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在 BLANK1C中。不得增行或删行,也不得更改程序的结构!试题程序:#includestdiohvoid fun(int*px,int*py)*found*int【1】;scanf(“d“,&k);*found*while
20、【2】if(k0)a+;if(k0)b+;*found*【3】;*px=a;*py=b;main()intx,y;fun(&x,&y);printf(“x=d y=dn“,x,y);(分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.给定程序 MODI1C 中,函数 fun 的功能是:判断输入的任何一个正整数 n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入 100 时,输出:100=9+10+11+12+13+14+15+16100=18+19+20+21+22 请改正函数 fun 中指定部位的错误,使它能得出正确的结果。注
21、意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#includestdiohvoid fun(int n)int j,b,c,m,flag=0;for(b=1;b=n2;b+)*found*n=m;c=b;while(m!=0&m=c)*found*m=m-c;c+*found*if(m!=0)printf(“d=“,n);for(j=b;jc-1;J+)printf(“d+“,j);pfinff(“dn“,j);flag=1;if(flag=0)pfinff(“不能分解n“);main()int n;pfinff(“请输入一个整数:“);scanf(“d“,&n
22、);fun(n);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.规定输入的字符串中只包含字母和*号。请编写函数 fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用 C 语言提供的字符串函数。例如,字符串中的内容为:“*A*BC*DEF*G*”,删除后,字符串中的内容应当是:“*ABCDEFG”。注意:部分源程序在文件 PROG1C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。#includestdiohvoidfun(char*a)main()char s81;void
23、NONO();printf(“Ente ra string:n“);gets(s);fun(s);printf(“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);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 148 答案 解析 DOC
