【计算机类职业资格】二级C语言笔试91及答案解析.doc
《【计算机类职业资格】二级C语言笔试91及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试91及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 91 及答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.有以下程序:#include string .hvoid f(char *s, char *t) char k; k=*s; *s=*t; *t=k; s+; t- -; if(*s) f(s, t);main() char str10=“abcdefg“,*p; p=str+strlen(str)/2+ 1; f(p,p-2); printf(“%s/n“, str);程序运行后的输出结果是( )。(分数:1.00)A.abcdcfgB.gfedcbaC.gbc
2、defaD.abedcfg2.以下 4 组用户定义标识符中,全部合法的一组是( )。(分数:1.00)A._main enclude sinB.If -max turboC.txt REAL 3COMD.int K_2 _0013.有以下程序段: struct stint x; int *y; *pt;int a=1,2, b=3,4;struct st c2=10,a,20,b;pt=c; 以下选项中表达式的值为 11 的是( )。(分数:1.00)A.*pt-yB.pt-xC.+pt-xD.(pt+)-x4.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(
3、分数:1.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系5.下列叙述中正确的是( )。(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述 3 种说法都不对6.有以下程序:mare()int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2) s+=* (t+ i); printf (“%d/n“,s);程序执行后的输出结果是( )。(分数:1.00)A.45B.20C.25D.367.有以
4、下程序:int *flint *x, int *y) if(*x*y) return x; else return y;main() int a=7,b=8,*p,*q,*r; p= q= r=f(p, q); printf(“%d, %d, %d/n“,*p,*q,*r);执行后输出结果是( )。(分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,88.以下程序中函数 f 的功能是将 n 个字符串按由大到小的顺序进行排序。#include string. hvoid f(char p10,int n) chart20;int i,j; for(i=0;in-1;i+) f
5、or(j=i+1;jn; j+) if(strcmp(pi,pj0) strcpy(t, pi); strcpy(pi,pj);strcpy(pj,t);main() char p10=“abc“, “aabdfg“, “abbd“, “dcdbe“, “cd“; int i; f(p,5); printf(“%d/n“, strlen(p0); 程序运行后的输出结果是( )。(分数:1.00)A.6B.4C.5D.39.有以下程序:street STU char num10; float score3; ;main() struct STU s3= “20021“,90,95,85, “20
6、022“,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.285.0010.若变景均已正确定义井赋值,以下合法的 C 语言赋值语句是( ),(分数:1.00)A.x=y=5;B.x=n%2.5;C.x+ n=i;D.x=5=4+1;11.有定义语句:“int a=1,b=2,c=3,x;”,则以下选项中各程序段执行后
7、,x 的值不为 3 的是( )。(分数:1.00)A.if(cx=1; else if (b x=2; else x=3;B.if(a3)x=3; else if (a2) x=2; else x=1;C.if(a3) x=3; if (a2) x=2; if (a1) x=1;D.if(ax=b; if (b x=c; if (c x=a;12.有以下程序:main () int i, s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%d/n“, s); 程序执行后的输出结果是( )。(分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自
8、然数 19 中奇数之和D.自然数 110 中偶数之和13.下列关于队列的叙述中正确的是( )。(分数:1.00)A.在队列中只能插入数据B.在队列小只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表14.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof (fp)的返回值为( )。(分数:1.00)A.EOFB.非 0 值C.0D.NULL15.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。(分数:1.00)A.大写字母B.连接符C.数字字符D.下划线16.有以下程序: main() int a=1,b; for(b=1 ;b=10;
9、b+) if(a=8) break; if(a%2=1) a+=5; continue; a-=3; printf(“%d/n“, b); 程序运行后的输出结果是 ( )。 A) 3 B) 4 c) 5 D) 6(分数:1.00)A.B.C.D.17.有以下程序:main() int k=5; while(-k) printf(“%d“, k-=3); printf(“/n“); 执行后的输出结果是( )。(分数:1.00)A.1B.2C.4D.死循环18.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:1.00)A.软件测试B.概要设计C.软件维护D.详细设计19.下列叙述中正确
10、的是( )。(分数:1.00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的20.下列叙述中正确的是( )。(分数:1.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构21.以下叙述中正确的是( )。(分数:1.00)A.C 语言的源程序不必通过编译就可以直接运行B.C 语言中的每条叫执行语句最终都
11、将被转换成二进制的机器指令C.C 源程序经编译形成的二进制代码可以直接运行D.C 语言中的函数不可以单独进行编译22.程序中头文件 type1.h 的内容是#define N 5#define M1 N*3 程序如下:#define “type1.h“#define M2 N*2main () int i; i=M1+M2; printf(“%d/n“, i);) 程序编译后运行的输出结果是( )。(分数:1.00)A.10B.20C.25D.3023.下列叙述中正确的是( )。(分数:1.00)A.黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征B.黑箱(盒)测试方法主要考虑程序的内部结
12、构和内部特征C.白箱(盒)测试不考虑程序内部的逻辑结构D.上述 3 种说法都不对24.以下选项中,与 k=n+完全等价的表达式是( )。(分数:1.00)A.k=n, n=n+1B.n=n+1,k=nC.k=+nD.k+=n+125.有以下程序:main () int x=102,y=012; printf(“%2d,%2d/n”,x,y); 执行后输出结果是( )。(分数:1.00)A.10,01B.02,12C.102,10D.02,1026.以下不合法的用户标识符是( )。(分数:1.00)A.j2_KEYB.DoubleC.4dD._8_27.有以下程序:int f(int b4) i
13、nt i, j, s=0; for(j=0j4;j+) 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.1628.有以下程序:main() char *p=“3697“,“2584“; int i, j; long num=0; for(i=0;i2;i+) j=0; while(pij!=/0) if(pilj -0)%2) num=10*num+
14、pij -0; j+=2; printf(“%d/n“, num);程序执行后的输出结果是 ( )。(分数:1.00)A.35B.37C.39D.397529.若有定义:int x=0, *p=, 则语句 printf(“%d/n“,*p);的输出结果是 ( )。(分数:1.00)A.随机值B.0C.x 的地址D.p 的地址30.有如下程序:#include stdio. hmain () FILE *fp1; fp1=fopen (“fl.txt“, “w“); fprintf(fp1,“abc“); fclose (fp1);若文本文件 f1.txt 中原有内容为:good,则运行以上程序
15、后文件 f1txt 中的内容为( )。(分数:1.00)A.goodabcB.abedC.abcD.abcgood31.若以下定义:struct link int data; struck link *next;a,b,c,*p,*q;且变量 a 和 b 之间已有下图所示的链表结构: (分数:1.00)A.next=c; next=b;B.next=q; next= next;C.p-next= q-next=pnext;D.(*.next=q;(*.next= while (*t+); return (t-s); 该函数的功能是( )(分数:1.00)A.比较两个字符串的大小B.计算 s 所
16、指字符串占用内存字节个数C.计算 s 所指字符串的长度D.将 s 所指字符串自制到字符串 t 中33.以下叙述中正确的是( )。(分数:1.00)A.周部变量说明为 static 存储类,其生存期将碍到延长B.全局变量说明为 static 存储类,其作用域将被扩大C.任何存储类的变量在未赋初值时,其值都是不确定的D.形参可以使用的存储类说明符与局部变量完全相同34.有以下程序:main() union unsigned int n; unsigned char c; u1; u1.c=A; printf(“%c/n“,u1.n);执行后输出结果是 ( )。(分数:1.00)A.产生语法错B.随
17、机值C.AD.6535.若要说明一个类型名 STP,使得定义语句 STP 轧等价于 char*s;,以下选项中正确的是( )。(分数:1.00)A.typedef STP char*s;B.typedef *char STP;C.typedef STP *char;D.typedef char* STP;36.有以下程序:main()int i, j, x=0; for(i=0; i2; i+) x+; for( j=0; j=3; j+) if(j%2) continue; x+; x+; printf(“x=%d/n“, x);程序执行后输出结果是( )。(分数:1.00)A.x=4B.x
18、=8C.x=6D.x=1237.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的 switch 语句是( )。(分数:1.00)A.switch( case 1.0: printf(“*/n“); case 2.0: printf(“*/n“);B.switch(in; case 1: printf(“*/n“); case 2: printf(“*/n“);C.switch(a + case 1: printf(“*/n“); case 2+1: printf(“*/n“);D.switch(a+ case 1: printf(“*/n“); case c: pri
19、ntf(“*/n“);38.有以下程序:void sum(int *a) a0=a1; main() int aa10=1,2,3,4,5,6,7,8,9,10, i; for(i=2;i=0;i-) sum( printf(“%d/n“, aa0);执行后的输出结果是( )。(分数:1.00)A.4B.3C.2D.139.以下程序的输出的结果是( )。int x=3;main() int i;for(i=1;ix;i+)incre();incre() staic int x=1; x*=x+1; printf(“ %d“, x);(分数:1.00)A.33B.22C.26D.2540.若 x
20、 和 y 代表整型数,以下表达式中不能正确表示数学关系x-y10 的是( )。(分数:1.00)A.abs(x-10B.x-y-10 t=*x,*x=*y;*y=t;main()char* s1=“abc“,*s2=“123“; swap(s1,s2); printf(“%s,%s/n“,s1,s2);程序执行后的输出结果是( )。(分数:1.00)A.123,abcB.abc,123C.1bc,a23D.321,cba43.设 a 和 b 均为 double 型变量,且 a=5.5、b=2.5,则表达式(int) a +b/b 的值是( )。(分数:1.00)A.6.500000B.6C.5
21、.500000D.6.00000044.下列描述中正确的是( )。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合45.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。(分数:1.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元46.以下程序中函数 f 的功能是: 当 flag 为 1 时,进行由小到大排序;当 flag 为 0 时,进行由大到小排序。void
22、f(int b, int n, int flag)int i, j, t; for (i=0; in-1; i+) for (j=i+1; jn; j+) if(flag ? b!j: bibj) t=bi; bi=bj; bj=t; main () int a10=5,4,3,2,1,6,7,8,9,10, i; f( f(a, 5, 1), for (i=0; i10; i+) printf(“%d,“, ai);程序运行后输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,
23、10,D.10,9,8,7,6,5,4,3,2,1,47.若在定义语句:int a, b, c,*p=c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:1.00)A.scanf(“%d”a, b, ;B.scanf(“%d%d%d”,a, b, ;C.scanf(“%d”,;D.scanf(“%d”,;48.下列选项中不符合良好程序设计风格的是( )。(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚49.下列选项中正确的语句是( )。(分数:1.00)A.chars 8;s=“Beijing“;B.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 91 答案 解析 DOC
