【计算机类职业资格】二级C语言笔试11及答案解析.doc
《【计算机类职业资格】二级C语言笔试11及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试11及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 11 及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.有以下程序: #include stdio.h main() 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.5102.有以下程序: main() int i; for(i=0;i3;i+) switch(i) case 0: prinft(“%d“,i);
2、Case 2: prinft(“%d“,i); default: prinft(“%d“,i); 程序运行后的输出结果是( )。(分数:1.00)A.022111B.021021C.000122D.0123.若有如下定义: int x=6,y=3,z=2; 则表达式 x=y|yz while(z-0 printf(“%d,%d,%d/n“,x,y,z); 程序执行后的输出结果是( )。(分数:1.00)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-55.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是( )。(分数:1.00)A.p=1;B.*q=2;C.q=p
3、;D.*p=5;6.设有二元关系 R 和三元关系 S,下列运算中合法的是( )。(分数:1.00)A.RUSB.RNSC.R-SD.RXS7.下面程序的功能是输出以下形式的金字塔图案: * * * * main() int i,j; for(i=1;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+28.设有以下定义: int a=0; double b=1.25; char c=A; #defi
4、ne d 2 则下面语句中错误的是( )。(分数:1.00)A.a+;B.b+;C.c+;D.d+;9.有以下程序: 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 2210.有以下程序: #include stdlib.h main() char *p,*q; p=(char*)malloc(sizeof(char)*20); q=p; scanf(“%s%s“,p,q); ptintf(“%s
5、%s/n“,p,q); 若从键盘输入 abc def回车,则输出的结果是( )。(分数:1.00)A.def defB.abc defC.abc dD.d d11.在面向对象的程序设计中,能表示类之间相似性质的机制是( )。(分数:1.00)A.继承B.封装C.分类D.动态连接12.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。(分数:1.00)A.char s10=“abcdefg“;B.char t=“abcdefg“,*s=t;C.char s10;s=“abcdefg“;D.char s10;strcpy(s,“abcdefg“);13.在一个容量为 15 的循环队
6、列中,若头指针 front=6,尾指针 rear=14,则该循环队列中元素个数为( )。(分数:1.00)A.8B.9C.14D.1514.若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于 0), s=a; for(b=1;b=c;b+) s=s+1; 则与上述程序段功能等价的赋值语句是( )。(分数:1.00)A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;15.有以下程序: void f(int a,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main() int
7、 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.软件调试的目的是( )。(分数:1.00)A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能17.设有如下程序段: x=2002,y=2003; printf(“%d/n“,(x,y); 则以下叙述中正确的是( )。(分数:1.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输
8、出B.运行时产生出错信息C.输出值为 2002D.输出值为 200318.有以下程序: main() int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(“n=%d/n“,n); 程序执行后的输出结果是( )。(分数:1.00)A.n=5B.n=2C.n=3D.n=419.有以下程序: fun (iht a,int b) if(ab)return(a); else return(b); main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(“%d/
9、n“,r); 程序运行后的输出结果是( )。(分数:1.00)A.3B.6C.8D.1220.在一个 C 程序中( )。(分数:1.00)A.main 函数必须出现在所有函数之前B.main 函数可以在任何地方出现C.main 函数必须出现在所有函数之后D.main 函数必须出现在固定位置21.有以下程序: main() int a=666,b=888; printf(“%d/n“,a,b); 程序运行后的输出结果是( )。(分数:1.00)A.错误信息B.666C.888D.666,88822.在函数调用过程中,如果函数 funA 调用了函数 funB,函数 funB 又调用了函数 funA
10、,则( )。(分数:1.00)A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C 语言中不允许这样的递归调用23.有以下程序: main() int i,s=0; for(i=1;i10;i+=2) s+=i+1; ptintf(“%d/n“,s); 程序执行后的输出结果是( )。(分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和24.有以下程序: void sort(int a,int n) int i,j,t; for(i=0;in-1;i+=2) for(j=i+2;jn;j+=
11、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,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,25.若有定义“int*p3;”,则以下叙述中正确的是( )。(分数:1.00)A.定义了一个基类型为 int 的指针变
12、量 p,该变量具有 3 个指针B.定义了一个指针数组 p,该数组含有 3 个元素,每个元素都是基类型为 int 的指针C.定义了一个名为*p 的整型数组,该数组含有 3 个 int 类型元素D.定义了一个可指向一维数组的指针变量 p,所指一维数组应具有 3 个 int 类型元素26.若以下选项中的变量已正确定义,则正确的赋值语句是( )。(分数:1.00)A.x1=26.8%3;B.1+2=x2C.x3=0x12;D.x4=1+2=3;27.有以下程序: void f(int v,int w) int t; t=v;V=W;W=t; main() int x=1,y=3,z=2; if(xy)
13、 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,128.若程序中定义了以下函数: double myadd(double a,double b) return (a+b); 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。(分数:1.00)A.double myadd(double a,;B.double myadd(double,doubl;C.double myadd
14、(double b,double ;D.double myadd(double x,double ;29.s1 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指字符串大于 s2 所指字符串时,执行语句 S;则以下选项中正确的是( )。(分数:1.00)A.if(sls2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s10)S;D.if(strcm(s1,s2)0)S;30.有以下程序段: int a10=1,2,3,4,5,6,7,8,9,10,*p= b=p5; b 中的值是( )。(分数:1.00)A.5B.6C.8D.931.以下程序试图把从
15、终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错。 #includestdio.h main() 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.函数 fopen 调用形式错误B.输入文件没有关闭C.函数 fgetc 调用形式错误D.文件指针 stdin 没有定义32.一个算法应该具有“确定性”等 5
16、 个特性,下面对另外 4 个特性的描述中错误的是( )。(分数:1.00)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性33.关系数据库的数据及更新操作必须遵循( )等完整性规则。(分数:1.00)A.实体完整性和参照完整性B.参照完整性和用户自定义完整性C.实体完整性和用户自定义完整性D.实体完整性、参照完整性和用户自定义完整性34.有以下程序: 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); 程序的执行
17、结果是( )。(分数:1.00)A.函数调用出错B.8C.9D.735.有以下程序: 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,12,3,2,1,0; printf(“%d/n“,f(a); 执行后的输出结果是( )。(分数:1.00)A.12B.11C.18D.1636.下列叙述中正确的是( )。(分数:1.00)A.C 语言中既有逻辑类型也有集合类型B.C 语言中没有逻辑类型但有集合类型C.C 语言中有
18、逻辑类型但没有集合类型D.C 语言中既没有逻辑类型也没有集合类型37.一个栈的入栈序列是 1,2,3,n,其输出序列为 P1,P 2,P 3,P n,若 p1=n,则 pi为( )。(分数:1.00)A.iB.n=iC.n-i+1D.不确定38.有以下程序: #includestdio.h main() 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
19、 %d/n“, k,n); fclose(fp); 执行后输出结果是( )。(分数:1.00)A.1 2B.123 0C.1 23D.0 039.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是( )。(分数:1.00)A.把软件划分成模块B.确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码40.规范化理论中分解( )主要是消除其中多余的数据相关性。(分数:1.00)A.关系运算B.内模式C.外模式D.视图41.有以下程序: #include string.h main(int argc, char *argv ) int i,len=0; for(i=1;i
20、argc;i+=2) len+=strlen(argvi); printf(“%d/n“,len); 经编译链接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出的结果是( )。(分数:1.00)A.14B.12C.8D.642.有以下程序: main() char *p10=“abc“,“aabdfg“,“dcdbe“,“abbd“,“cd“); printf(“%d/n“, strlen(p4); 执行后输出结果是( )。(分数:1.00)A.2B.3C.4D.543.若 x 和 y 代表整型数,以下表达式中不能正确表示数学
21、关系|x-y|10 的是( )。(分数:1.00)A.abs(x-10B.x-y-10,则合法的赋值语句是( )。(分数:1.00)A.p=100;B.p=a5C.p=a2+2D.p=a+2;45.有以下程序: struct STU char 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)
22、; 程序运行后的输出结果是( )。(分数:1.00)A.260.00B.270.00C.280.00D.285.0046.下面程序的输出结果是( )。 include stcdio.h f(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); (分数:1.00)A.720B.120C.24D.647.下列工具中,属于需求分析常用工具的是( )。(分数:1.00)A.PFDB.PADC.N-SD.DFD48
23、.一个数据元素第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是( )。(分数:1.00)A.110B.108C.100D.12049.有以下定义: #include stdio.h char a10,*b=a; 不能给数组 a 输入字符串的语句是( )。(分数:1.00)A.gets(B.gets(a10)C.gets( X=12; y=012; z=0l2; printf(“%d,%d,%d/n“,x,y,z); (分数:2.00)填空项 1:_57.若有如下定义: int=11,24,56,19,29,39),*t=s; 则不移动指针 t,且通过指针 t 引用
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 11 答案 解析 DOC
