【计算机类职业资格】二级C语言笔试-334及答案解析.doc
《【计算机类职业资格】二级C语言笔试-334及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-334及答案解析.doc(38页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-334 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.有以下程序:main()int i;for(i=0;i3;i+)switch(i)case 0: prinft(“%d“,i);Case 2: prinft(“%d“,i);default: prinft(“%d“,i);程序运行后的输出结果是( )。(分数:1.00)A.022111B.021021C.000122D.0122.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )。(分数:1.00)A.把软件划分成模块B.确定模块之间的调用关系C.确
2、定各个模块的功能D.设计每个模块的伪代码3.有以下程序:#include stdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;*q=*(p+5);printf(“%d %d /n“,*p,*q);程序运行后的输出结果是( )。(分数:1.00)A.运行后报错B.66C.611D.5104.若 x和 y代表整型数,以下表达式中不能正确表示数学关系|x-y|10 的是( )。(分数:1.00)A.abs(x-y)10B.x-y-10for(b=1;b=c;b+) s=s+1;则与上述程序段功能等价的赋值语句是( )。(分数:1.
3、00)A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;6.有以下程序:main()char *p10=“abc“,“aabdfg“,“dcdbe“,“abbd“,“cd“);printf(“%d/n“, strlen(p4);执行后输出结果是( )。(分数:1.00)A.2B.3C.4D.57.有以下程序:fun (iht a,int b)if(ab)return((分数:1.00)A.;else return(B.;b=p5;b中的值是( )。(分数:1.00)A.5B.6C.8D.99.下面程序的功能是输出以下形式的金字塔图案:*main()int i,j;for(i=1;
4、i=4;i+)for(j=1;j=4-i;j+)printf(“ “);for(j=1;j=( );j+)printf(“*“);printf(“/n“);在下划线处应填入的是( )。(分数:1.00)A.iB.2*-1C.2*i+1D.i+210.在面向对象的程序设计中,能表示类之间相似性质的机制是( )。(分数:1.00)A.继承B.封装C.分类D.动态连接11.有以下程序:int f(int b4)int i,j,s=0;for(j=0;i4;i+)i=j;if(i2) i=3-j;s+=bij;return s;main()int a44=1,2,3,4,0,2,4,6,3,6,9,1
5、2,3,2,1,0;printf(“%d/n“,f((分数:1.00)A.);不能给数组 a输入字符串的语句是( )。(分数:1.00)A.gets(a)B.gets(a10)C.gets(if(ij)t=ai;ai=aj;aj=t;f(a,i+1,j-1);main()int i,aa5=1,2,3,4,5;f(aa,0,4);for(i=0;i5;i+) printf(“%d,“,aai);printf(“/n“);执行后输出结果是( )。(分数:1.00)A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,16.有以下程序:void f(int
6、 v,int w)int t;t=v;V=W;W=t;main()int x=1,y=3,z=2;if(xy) f(x,y);else if(yz) f(y,z);else f(x,z);printf(“%d,%d%d/n“,x,y,Z);执行后输出结果是( )。(分数:1.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,117.s1和 s2已正确定义并分别指向两个字符串。若要求:当 s1所指字符串大于 s2所指字符串时,执行语句 S;则以下选项中正确的是( )。(分数:1.00)A.if(sls2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s10)
7、S;D.if(strcmp)(s1,s2)0)S;18.若程序中定义了以下函数:double myadd(double a,double b)return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。(分数:1.00)A.double myadd(double a,b);B.double myadd(double,double);C.double myadd(double b,doublea);D.double myadd(double x,double y);19.有以下程序:main()int i,s=0;for(i=1;i10;i+
8、=2) s+=i+1;ptintf(“%d/n“,s);程序执行后的输出结果是( )。(分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和20.有以下程序:main()int i,n=0;for(i=2;i5;i+)doif(i%3) continue;n+;while(!i);n+;printf(“n=%d/n“,n);程序执行后的输出结果是( )。(分数:1.00)A.n=5B.n=2C.n=3D.n=421.C语言中用于结构化程序设计的 3种基本结构是( )。(分数:1.00)A.顺序结构、选择结构、循环结构B
9、.if、switch、breakC.for、while、do-whileD.if、for、continue22.设有如下程序段:x=2002,y=2003;printf(“%d/n“,(x,y);则以下叙述中正确的是( )。(分数:1.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 200323.规范化理论中分解( )主要是消除其中多余的数据相关性。(分数:1.00)A.关系运算B.内模式C.外模式D.视图24.一个数据元素第一个元素的存储地址是 100,每个元素的长度为 2,则第 5个元素的地址是( )。(分数:1.
10、00)A.110B.108C.100D.12025.有以下程序:main()unsigned char a,b,c;a=0x3; b=a|0x8; c=b1;printf(“%d%d/n“,b,C);程序运行后的输出结果是( )。(分数:1.00)A.-11 12B.-6 -13C.12 24D.11 2226.设有以下定义:int a=0; double b=1.25; char c=A;#define d 2则下面语句中错误的是( )。(分数:1.00)A.a+;B.b+;C.c+;D.d+;27.在函数调用过程中,如果函数 funA调用了函数 funB,函数 funB又调用了函数 fun
11、A,则( )。(分数:1.00)A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用28.有以下程序:void sort(int a,int n)int i,j,t;for(i=0;in-1;i+=2)for(j=i+2;jn;j+=2)if(aiaj)t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(aa,10);for(i=0;i10;i+) printf(“%d“,aai);printf(“/n“);其输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7
12、,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.9,2,7,4,5,6,3,8,1,10,D.1,10,3,8,5,6,7,4,9,2,29.以下程序试图把从终端输入的字符输出到名为 abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错。#includestdio.hmain()FILE *fout; char ch;fout=fopen(abc.txt,W);ch=fgetc(stdin);while (ch!=#)fputc (ch,fout);ch=fgetc(stdin);fclose (fout);出错的原因是( )。(分数:1.00)A.函
13、数 fopen调用形式错误B.输入文件没有关闭C.函数 fgetc调用形式错误D.文件指针 stdin没有定义30.有以下程序:struct STUchar num10; float score3;);main()struct stu s3=“20021“,90,95,85,“20022“,95,80,75,“20023“,100,95,90,*p=s;int i; float sum=0;for(i=0;i3,i+)sum=sum+p-scorei;printf(“%6.2f/n“,sum);程序运行后的输出结果是( )。(分数:1.00)A.260.00B.270.00C.280.00D.
14、285.0031.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。(分数:1.00)A.char s10=“abcdefg“;B.char t=“abcdefg“,*s=t;C.char s10;s=“abcdefg“;D.char s10;strcpy(s,“abcdefg“);32.下面程序的输出结果是( )。include stcdio.hf(int b,int n)int i,r;r = 1;for(i=0;i=n;i+)r=r*bi;return r;main()int x,a=2,3,4,5,6,7,8,9;x=f(a,3);printf(“%d/n“,x);(分
15、数:1.00)A.720B.120C.24D.633.有以下程序:main()int x=0,y=5,z=3;while(z-0printf(“%d,%d,%d/n“,x,y,z);程序执行后的输出结果是( )。(分数:1.00)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-534.下列工具中,属于需求分析常用工具的是( )。(分数:1.00)A.PFDB.PADC.N-SD.DFD35.在一个 C程序中( )。(分数:1.00)A.main函数必须出现在所有函数之前B.main函数可以在任何地方出现C.main函数必须出现在所有函数之后D.main函数必须出现在固定位置36.
16、软件调试的目的是( )。(分数:1.00)A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能37.若有定义“int*p3;”,则以下叙述中正确的是( )。(分数:1.00)A.定义了一个基类型为 int的指针变量 p,该变量具有 3个指针B.定义了一个指针数组 p,该数组含有 3个元素,每个元素都是基类型为 int的指针C.定义了一个名为*p 的整型数组,该数组含有 3个 int类型元素D.定义了一个可指向一维数组的指针变量 p,所指一维数组应具有 3个 int类型元素38.设有二元关系 R和三元关系 S,下列运算中合法的是( )。(分数:1.00)A.RUSB.RNSC.R-SD.
17、RXS39.若有如下定义:int x=6,y=3,z=2;则表达式 x=y|yzp=(char*)malloc(sizeof(char)*20); q=p;scanf(“%s%s“,p,q); ptintf(“%s%s/n“,p,q);若从键盘输入 abc def回车,则输出的结果是( )。(分数:1.00)A.def defB.abc defC.abc dD.d d41.关系数据库的数据及更新操作必须遵循( )等完整性规则。(分数:2.00)A.实体完整性和参照完整性B.参照完整性和用户自定义完整性C.实体完整性和用户自定义完整性D.实体完整性、参照完整性和用户自定义完整性42.已有定义:i
18、nt i,a10,*p;,则合法的赋值语句是( )。(分数:2.00)A.p=100;B.p=a5C.p=a2+2D.p=a+2;43.有以下程序:#includestdio.hmain()FILE *fp; int i,k=0,n=0;fp=fopen(“d1.dat“,“w“);for(i=1;i4;i+) fprintf(fp,“%d“,i);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“, printf(“%d %d/n“, k,n);fclose(fp);执行后输出结果是( )。(分数:2.00)A.1 2B.123 0C.1 2
19、3D.0 044.下列叙述中正确的是( )。(分数:2.00)A.C语言中既有逻辑类型也有集合类型B.C语言中没有逻辑类型但有集合类型C.C语言中有逻辑类型但没有集合类型D.C语言中既没有逻辑类型也没有集合类型45.有以下程序:#include string.hmain(int argc, char *argv )int i,len=0;for(i=1;iargc;i+=2) len+=strlen(argvi);printf(“%d/n“,len);经编译链接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行ex abcd efg h3 k44执行后输出的结果是( )。(分数
20、:2.00)A.14B.12C.8D.646.有以下程序:main()int a=666,b=888;printf(“%d/n“,a,b);程序运行后的输出结果是( )。(分数:2.00)A.错误信息B.666C.888D.666,88847.有以下程序:char fun(char x,char y)if(xy) return x;return y;main()int a=9,b=8,c=7;printf(“%c/n“,fun(fun(a,b),fun(b,c);程序的执行结果是( )。(分数:2.00)A.函数调用出错B.8C.9D.748.设有定义:int n=0,*p=,则以下选项中,正
21、确的赋值语句是( )。(分数:2.00)A.p=1;B.*q=2;C.q=p;D.*p=5;49.一个算法应该具有“确定性”等 5个特性,下面对另外 4个特性的描述中错误的是( )。(分数:2.00)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性50.一个栈的入栈序列是 1,2,3,n,其输出序列为 P1,P 2,P 3,P n,若 p1=n,则 pi为( )。(分数:2.00)A.iB.n=iC.n-i+1D.不确定二、填空题(总题数:19,分数:40.00)51.如下图所示的二叉树后序遍历序列是 【1】 。(分数:2.00)填空项 1:_52.数据结构分为逻辑结构与存储结构,
22、带链的栈属于 【2】 。(分数:2.00)填空项 1:_53.在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。可行性研究阶段采用的是 【3】 。(分数:2.00)填空项 1:_54.数据库是指按照一定的规则存储在计算机中的 【4】 的集合,它能被各种用户共享。(分数:2.00)填空项 1:_55.实体联系模型是一种常用的高级概念数据模型,而 【5】 是实体联系模型中的核心。(分数:2.00)填空项 1:_56.下列程序的运行结果为 【6】 。main()int x,y,z;X=12;y=012;z=0l2;printf(“%d,%d,%d/n“,x,y,z);(
23、分数:2.00)填空项 1:_57.若有如下定义:int=11,24,56,19,29,39),*t=s;则不移动指针 t,且通过指针 t引用数组中值为 29的元素的表达式是 【7】 。(分数:2.00)填空项 1:_58.执行下面程序段时输出 suet,请填空。main()static char a=“student“;char *p;for(p=a;p 【8】 ;p+=2)putchar(*p);(分数:2.00)填空项 1:_59.有以下程序:#include stdio.hmain()char c;while(c=getchar()!=?) putchar(-c);程序运行时,如果从键
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 334 答案 解析 DOC
