【计算机类职业资格】二级C语言笔试-387及答案解析.doc
《【计算机类职业资格】二级C语言笔试-387及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-387及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-387 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.有以下程序 #includestdio.h main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“,&c1,&c2,&c3,&c4); c5=getchar();c6=getchar(); putchar(c1);putchar(c2);printf(“%c%c/n“,c5,c6); 程序运行后,若从键盘输入(从第 1 列开始) 123回车 45678回车 则输出结果是(分数:2.00)A.1267B.1256C.127
2、8D.12452.现有如下程序段 #include“stdio.h“ #include“string.h“ main() char a=“acfijk“;/*这里是有序的字符序列*/ char b=“befijklqswz“;/*这里是有序的字符序列*/ char c80,*p; int i=0,j=0,k=0; while(ai!二/0&bj!=/0) if(aibj)ck+=ai+; else if(aibj)ck+=bj+; else ck+=bj+; i+; while(ai=/0&bj!=/0) ck+=bj+; while(ai!=/0&bj=/0) ck+=ai+; ck=/0;
3、 puts(c); 则输出结果是(分数:2.00)A.acfijkbefijklqswzB.abceffiijjkklqswzC.befijklqswz acfijkD.abcefijklqswz3.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件4.具有 3 个结点的二叉树有(分数:2.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态5.以下程序的输出结
4、果是 long fun(int n) long s; if(n=1n=2)s=2; else s=n-fun(n-1); return s; main() printf(“%1d/n“,fun(3);(分数:2.00)A.1B.2C.3D.46.下列是用户自定义标识符的是(分数:2.00)A._w1B.3_xyC.intD.LINE-37.以下 4 个程序中,完全正确的是(分数:2.00)A.#includestdih main(); /*programming*/ printf(“programming!/n“);B.#includestdih main() /*/programming/*
5、/ printf(“programming!/n“);C.#includestdih main() /*/*programming*/*/ printf(“programming!/n“)D.includestdih main() /*programming*/ printf(“programming!/n“);8.下列选项中 C 语言中不合法的字符串常量的是(分数:2.00)A.“/121“B.yC.“/n/n“D.“ABCD/x6d“9.若要求从键盘读入含有空格字符的字符串,应使用函数(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()10.在软件测试
6、设计中,软件测试的主要目的是(分数:2.00)A.实验性运行软件B.证明软件正确C.找出软件中全部错误D.尽可能多地发现软件中的错误11.下列程序的输出结果为 main() union u char *name; int age; int income;s s.name=“WANGLIONG“; s.age=28; s.income=1000; printf(“%d/n“,s.age); (分数:1.00)A.28B.1000C.0D.不确定12.下列选项中不属于结构化程序设计方法的是(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用13.下列叙述中,正确的是(分数:1.00)A.
7、用 E-R 图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型14.有如下程序段 int a=14,b=15,x; char c=A; x=(a&b)&(cb); 执行该程序段后,x 的值为(分数:1.00)A.trueB.falseC.0D.115.有以下程序 int fun(int x,int n) static int sum=0,i; for(i=0;in;i+)sum+=xi; return sum; main() int
8、a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4);printf(“%d/n“,s); 程序执行后的输出结果是(分数:1.00)A.45B.50C.60D.5516.栈通常采用的两种存储结构是(分数:1.00)A.顺序存储结构和链式存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构17.下面程序段的运行结果是 char *p=“abcdefgh“; p+=3; printf(“%d/n“,strlen(strcpy(p,“ABCD“);(分数:1.00)A.8B.12C.4D.718.在下列选项中,没有构成死循环的是(
9、分数:1.00)A.int i=100; while(1) i=i%100+1; if(i100)break; B.for(;);C.int k=10000; dok+;while(k10000);D.int s=36; while(-s;19.若有定义 int a23;,则对 a 数组的第 i 行第 j 列(假设 i,j 已正确说明并赋值)元素值的正确引用为(分数:1.00)A.*(*(a+B.(a+C.*(a+i+D.*(a+j20.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为(分数:1.00)A.63B.64C.6D.721.有以下程序 main() int i
10、,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); 程序执行后的输出结果是(分数:2.00)A.x=4B.x=8C.x=6D.x=1222.以下不能对二维数组 a 进行正确初始化的语句是(分数:2.00)A.int a23=0;B.int a3=1,2,0;C.int a23=1,2,3,4,5,6;D.int a3=1,2,3,4,5,6;23.若有定义 int a9,*p=a;,则 p+5 表示(分数:2.00)A.数组元素 a5的值B.数组元素 a5的地址C.数组元
11、素 a6的地址D.数组元素 a0的值加上 524.阅读下面程序,则程序段的功能是 #include“stdio.h“ main() int c=23,1,56,234,7,0,34,i,j,t; for(i=1;i7;i+) t=ci;j=i-1; while(j=0&tcj) cj+1=cj;j-; cj+1=t for(i=0;i7;i+) printf(“%d“,ci);putchar(/n);(分数:2.00)A.对数组元素的升序排列B.对数组元素的降序排列C.对数组元素的倒序排列D.对数组元素的随机排列25.表达式 3.6-5/2+1.2+5%2 的值是(分数:2.00)A.4.3B
12、.4.8C.3.3D.3.826.以下数组定义中错误的是(分数:2.00)A.int x3=0;B.int x23=1,2,3,4,5,6;C.int x3=1,2,3,4,5,6;D.intx23=1,2,3,4,5,6;27.有以下程序 int fun1(double a)return a*=a; int fun2(double x,double y) double a=0,b=0; a=fun1(x);b=fun1(y);return(int)(a+b); main() double w;w=fun2(1.1,2.0); 程序执行后变量 w 中的值是(分数:2.00)A.5.21B.5C
13、.5.0D.0.028.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为(分数:2.00)A.EOFB.非 0 值C.0D.NULL29.下面函数调用语句含有实参的个数为 func(exp1,exp2)(exp3,exp4,exp5);(分数:2.00)A.1B.2C.4D.530.若有说明语句:char c=/72;则变量 c(分数:2.00)A.包含 1 个字符B.包含 2 个字符C.包含 3 个字符D.说明不合法,c 的值不确定31.若有定义 float x=1.5;int a=1,b=3,c=2;,则正确的 switch 语句是(分数:2.00
14、)A.swimh( 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:pfintf(“*/n“); case 2+1:pfintf(“*/n“);D.switch(a-I- case 1:pfintf(“*/n“); case c:printf(“*/n“);32.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段
15、33.运行下面程序时,从键盘输入字母 H,则输出结果是 main() char ch; ch=getchar(); swimh(ch) caseH:printf(“Hello!/n“); caseG:printf(“Good morning!/n“); default:printf(“Bye_Bye!/n“); (分数:2.00)A.Hello!B.Hello! GoodMoring!C.Hello! Good moming! Bye_ye!D.Hello! Bye_ye!34.有如下程序 main() float x=2.0,y; if(x0.0)y=0.0; else if(x10.0)y
16、=1.0/x; else y=1.0; printf(“%f/n“,y); 该程序的输出结果是(分数:2.00)A.0.000000B.0.250000C.0.500000D.1.00000035.以下不合法的用户标识符是(分数:2.00)A.j2_KEYB.DoubleC.4dD._8_36.以下正确的程序段是(分数:2.00)A.char str1=“12345“,str2=“abcdef“;B.char str10,*st=“abcde“;strcat(str,s;C.charstr10=“ “。*st=“abcde“;strcat(str,s;D.char*st1=“12345“,*s
17、t2=“abcde“;strcat(st1,st2);37.下列关于单目运算符+,-的叙述中正确的是(分数:2.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量38.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的(分数:2.00)A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法39.有以
18、下程序 void swap(char* x,char *y) char t; t= *x; *X= *y; *y=t; main() char*s1:“abc“,*s2=“123“; swap(s1,s2);printf(“%s,%s/n“,s1,s2); 程序执行后的输出结果是(分数:2.00)A.123,abcB.abc,123C.1bc,a23D.321,cba40.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是(分数:2.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca二、B填空
19、题/B(总题数:14,分数:30.00)41.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序等。(分数:2.00)填空项 1:_42.在面向对象方法中,属性与操作相似的一组对象称为 1。(分数:2.00)填空项 1:_43.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_44.程序测试分为静态分析和动态测试。其中 1 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_45.当数据的物理结构(存储结构)改变
20、时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 1。(分数:2.00)填空项 1:_46.若变量 a,b 已定义为血类型并赋值 21 和 55,要求用 printf 函数以 a=21,b=55 的形式输出,请写出完整的的输出语句 1。(分数:2.00)填空项 1:_47.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+ca。请填空。 main() float a,b,c; scanf(“%f%f%f“,&a,&b,&c
21、); if(_)printf(“YES/n“); /*a、b、c 能构成三角形*/ else printf(“NO/n“); /*a、b、c 不能构成三角形*/ (分数:2.00)填空项 1:_48.下面程序的运行结果是:_。 fun(int t,int n) int i,m; if(n=1)returnt0; else if(n=2)m=fun(t,n-1);return m; main() int a=11,4,6,3,8,2,3,5,9,2; printf(“%d/n“,fun(a,10); (分数:2.00)填空项 1:_49.设 int a=5,b=6,表达式(+a=b-)?+a:-
22、b 的值是 1。(分数:2.00)填空项 1:_50.执行下面程序段后,k 的值是_。 r=1;n=203;k=1 dok*=n%10*r;n/=10;r+;while(n);(分数:2.00)填空项 1:_51.下面程序的功能是:将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 #includestdio.h #includestring.h main() char a=“clanguage“,t; int i,j,k; k=strlen(a); for(i=0;i=k-2;i+=2) for(j=i+2;j=k;j+=2;) if(_) t=ai;ai=aj;aj=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 387 答案 解析 DOC
