【计算机类职业资格】二级C语言笔试-427及答案解析.doc
《【计算机类职业资格】二级C语言笔试-427及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-427及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-427 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:40,分数:60.00)1.对长度为 n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为 _。A) log2n B) n/2 C) n D) n+l(分数:2.00)A.B.C.D.2.下列选项中,不是一个算法的基本特征的是( )。A) 完整性 B) 可行性 C) 有穷性 D) 拥有足够的情报(分数:2.00)A.B.C.D.3.下列叙述中正确的是( )。A栈是“先进先出”的线性表B队列是“先进后出”的线性表C循环队列是非线性结构D有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分
2、数:1.00)A.B.C.D.4.“商品”与“顾客”两个实体集之间的联系一般是( )。A) 一对一 B) 一对多 C) 多对一 D) 多对多(分数:1.00)A.B.C.D.5.常采用的两种存储结构是( )。A) 顺序存储结构和链式存储结构B) 散列方法和索引方式C) 链表存储结构和数组D) 线性存储结构和非线性存储结构(分数:2.00)A.B.C.D.6.下列叙述中正确的是_。(A) 一个逻辑数据结构只能有一种存储结构(B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构(C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率(D) 一个逻辑数据结构可以有多种存储结
3、构,且各种存储结构影响数据处理的效率(分数:2.00)A.B.C.D.7.下列关于二叉树的叙述中,正确的是( )。A)叶子结点总是比度为 2的结点少一个B)叶子结点总是比度为 2的结点多一个C)叶子结点数是度为 2的结点数的两倍D)度为 2的结点数是度为 1的结点数的两倍(分数:2.00)A.B.C.D.8.对于长度为 n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。A) 冒泡排序为 n/2 B) 冒泡排序为 n C) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:1.00)A.B.C.D.9.设计程序时,应采纳的原则之一是( )。A)程序的结构应有助于读者的
4、理解 B)限制 GOTO语句的使用C)减少或取消注释行 D)程序越短越好(分数:2.00)A.B.C.D.10.数据流图中带有箭头的线段表示的是( )。A控制流 B事件驱动C模块调用 D数据流(分数:1.00)A.B.C.D.11.在 E-R图中,用来表示实体的图形是( );A) 矩形 B) 椭圆形 C) 菱形 D) 三角形(分数:1.00)A.B.C.D.12.数据处理的最小单位是( )。A) 数据 B) 数据元素 C) 数据项 D) 数据结构(分数:1.00)A.B.C.D.13.有 3个关系 R、S 和 T,如下:(分数:2.00)A.B.C.D.14.简单的交换排序方法是( )。A)
5、快速排序 B) 选择排序 C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D.15.c语言的基本单位是( )。A) 函数 B) 过程 C) 子程序 D) 子函数(分数:2.00)A.B.C.D.16.C语言规定,在一个 C程序中,main()函数的位置( )。 A) 必须在系统调用的库函数之后 B) 必须在程序的开始 C) 必须在程序的最后 D) 可以在任意位置(分数:1.00)A.B.C.D.17.下列程序的输出结果是_。#define A 100main()int i=0,sum=0;do if(i(i/2)*2)continue;sum+=i;while(+iA);print(
6、“%d/n“,sum);A) 2500 B) 2050 C) 4 D) 0(分数:1.00)A.B.C.D.18.sizeof(char)是( )。 A) 一种函数调用 B) 一个整型表达式 C) 一个字符型表达式 D) 一个不合法的表达式(分数:1.00)A.B.C.D.19.若要求从键盘读入含有空格字符的字符串,应使用函数A) getc() B) gets() C) getchar() D) scanf()(分数:1.00)A.B.C.D.20.出下列程序执行后的输出结果是 _。mare()int m3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i0;i3;i+)pr
7、intf(“%d“,mki);A) 456 B) 258 C) 369 D) 789(分数:1.00)A.B.C.D.21.设有定义:intk1,m2;noat f7;则下列选项中错误的表达式是( )。A) kkk B) -k+C) k%int(f) D) kfm(分数:1.00)A.B.C.D.22.下列叙述中正确的是_。A) break语句只能用于 switch语句B) 在 switch语句中必须使用 defaultC) break语句必须与 switch语句中的 case配对使用D) 在 switch语句中不一定使用 break语句(分数:1.00)A.B.C.D.23.若变量已正确定义
8、为 int型,要通过语句 scanf(“%d,%d“,”则对 a数组的第 i行第 j列元素的正确引用为( )。A) *(*(a+i)+j) B) (a+i)j C) *(a+i+j) D) *(a+i)+j(分数:2.00)A.B.C.D.29.设变量 x和 y均已正确定义并赋值。下列 if语句中,在编译时将产生错误信息的是A) ifx+); B) it(xyC) if(x0)x- D) if(y0);else y+; else x+;(分数:2.00)A.B.C.D.30.以下能正确定义一维数组的选项是 _。A) int num;B) #define N 100int numN;C) int
9、 num0100;D) int N=100;int numN;(分数:2.00)A.B.C.D.31.有下列程序:main()int k=5,n=0;doswitch(k)case 1: case 3:n+=1;k-;break;default:n=0;k-;case 2: case 4;n+=2;k-;break;printf(“%d“,n);while(k0 程序运行后的输出结果是( )。A) 235 B) 0235 C) 02356 D) 2356(分数:2.00)A.B.C.D.32.下列合法的字符型常量是( )。A) /x13 B) /081 C) 65 D) “/n/(分数:2.0
10、0)A.B.C.D.33.若有语句:char *line5;,以下叙述中正确的是_。(A) 定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量(B) 定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组(C) 定义 line是一个指针数组,语句中的*号称为间址运算符(D) 定义 line是一个指向字符型函数的指针(分数:2.00)A.B.C.D.34.若输入“abcdef”、“abdef”,以下程序的输出结果为( )。 #includestdio.h #lncludestring.h main() int n; char s120,s220,p1,*p2
11、; scanf(“%s“,s1); scanf(“%s“,s2); P1=s1; p2=s2; n=strcmp(p1,p2); printf(“%d/n“,n); A) -1 B) 0 C) “abcdef“ D) “abdef/(分数:2.00)A.B.C.D.35.若有程序fun(int a,int b)static int c=0c+=a+b;retum c;main()int x=5,y=3,z=7,r;r=fun(y,x+y),z);r=fun(x,y);printf(“%d/n“,r);上面程序的输出结果_。A) 23 B) 15 C) 19 D) 18(分数:2.00)A.B.
12、C.D.36.若有定义:float x=1.5;int a=1,b=3,c=2; 则正确的 switch语句是( )。A) switch(x)case 1.0: printf(“*/n“);case 2.0: printf(“ * * /n“ );B) switch(iht)x);case 1: printf(“ * /n“ );case 2: printf(“ * * /n“ );C) switch(a +b)case 1: printf(“ * /n“ );case 2 + 1: printf(“ * * /n“ );D) switch(a + b)case 1: pfintf(“ * /
13、n“ );case c: pfintf(“ * * /n“);(分数:1.00)A.B.C.D.37.定义结构体数组:struct stuint num;char name20;x5;1,“L1“,2,“ZHAO“,3,“WANG“,4,“ZHANG“,5,“LIU“;for(i=1;i5;i+)printf(“%d%c“,xi.num,xi.name2);以上程序段的输出结果为( )。A) 2A3N4A5U B) 1I2A3H4I C) 1A2N3A4U D) 2H3A4H5I(分数:2.00)A.B.C.D.38.有以下定义和语句struct workersint nnm;charname
14、20;charc;structint day;int month;int year;s;struct workers w,*pw;pw=printf(“%d“,a);main()int c=20;fun(c);a+=c+;printf(“%d/n“,a);(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。main()char c;int n=100;loat f=10;double x;x=f*=n/=(c=50);printf(“%d%f/n“,n,x);(分数:2.00)填空项 1:_47.下列程序段的输出结果是_。int n=c;switch(n+)default:pr
15、intf(“error“);break;case a: printf(“good“);break;case c: printf(“morning“);case d: printf(“class“);(分数:2.00)填空项 1:_48.以下程序的运行结果是_。#include stdio.hlong fib(int g)switch(g)case 0:return 0;case 1:case 2:return 1;return(fib(g-1) +fib(g-2);main( )long k;k=fib(5);printf(“k=%51d/n“,k);(分数:2.00)填空项 1:_49.用高
16、级语言编写的程序称为 1 程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。(分数:2.00)填空项 1:_50.若定义#define PI 3.14159,则执行完下列程序后输出结果是_。#define PI 3.14159;printf(“PI=%f“,PI);(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是_。#includestdio.hvoid fun(int *a)a0=a1; main()int a10=10, 9, 8, 7, 6, 5, 4, 3, 2, 1, i;for(i=2; i=0; i-) fun(
17、for(i=0; i10; i+) printf(“%d“, ai);printf(“/n“);(分数:2.00)填空项 1:_52.若变量 a,b 已定义为 int类型并分别赋值 21和 55,要求用 printf函数以 a=21,b=55 的形式输出,请写出完整的输出语句行:U /U。(分数:2.00)填空项 1:_53.以下程序的输出结果是_。 #define PR(ar)printf(“ar=%d”,ar) main() int j,a=1,8,3,7,6,13,17,15,*p=a+5; for(j=3;j;j-) switch(j) case 1: case 2:PR(*p+);b
18、reak; case 3:PR(*(-p); (分数:2.00)填空项 1:_54.以下程序的输出结果是U /U。#include stdioh#define MAX(x,y)(x),(y)?(x):(y)main()int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(“%d/n“,t);(分数:2.00)填空项 1:_55.若给 fun函数的形参 s传送字符串“6354abc“(其中表示空格字符),则函数的返回值是U /U。long fun(char s)long n; int sign;for(;isspace(*s);s+);sign=(*s=-
19、)? -1:1;if(*s=+|*s=-) s+;for(n=0;isdigit(*s);s+)n=10*n+( *s-0);return sign*n;(分数:2.00)填空项 1:_二级 C语言笔试-427 答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:40,分数:60.00)1.对长度为 n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为 _。A) log2n B) n/2 C) n D) n+l(分数:2.00)A.B.C. D.解析:解析 顺序查找的最坏情况是所找的元素在线性表的最后,因此查找的比较次数是线性表的长度,即 n。2.下列选项中,不是一个算法
20、的基本特征的是( )。A) 完整性 B) 可行性 C) 有穷性 D) 拥有足够的情报(分数:2.00)A. B.C.D.解析:解析 作为一个算法,一般应该具有下列 4个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的:有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。3.下列叙述中正确的是( )。A栈是“先进先出”的线性表B队列是“先进后出”的线性表C循环队列是非线性结构D有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数:1.00)A.B.C.D. 解析:解析 本题考查了栈、队列、循环队列的基本概念,栈的特点是先进后出,
21、队列的特点是先进先出,根据数据结构申各数据元素之间的复杂程度,将数据结构分为线性结构与非线性结构两类。有序线性表既可采用顺序存储结构,也可以采用链式存储结构。4.“商品”与“顾客”两个实体集之间的联系一般是( )。A) 一对一 B) 一对多 C) 多对一 D) 多对多(分数:1.00)A.B.C.D. 解析:解析 由于一个顾客可以购买多种商品,同一种商品可以有多个顾客购买,所以商品和顾客之间是多对多的联系。5.常采用的两种存储结构是( )。A) 顺序存储结构和链式存储结构B) 散列方法和索引方式C) 链表存储结构和数组D) 线性存储结构和非线性存储结构(分数:2.00)A. B.C.D.解析:
22、解析 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。6.下列叙述中正确的是_。(A) 一个逻辑数据结构只能有一种存储结构(B) 数据的逻辑结构属于线性结构,存储结构属于非线性结构(C) 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率(D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:2.00)A.B.C.D. 解析:7.下列关于二叉树的叙述中,正确的是( )。A)叶子结点总是比度为 2的结点少一个B)叶子结点总是比度为 2的结点多一个C)叶子结点数是度为 2的结点数的两倍D)度为 2的结点数是度为 1的结点数的两倍(分数:
23、2.00)A.B. C.D.解析:解析 由二叉树的性质可以知道在二叉树中叶子结点总是比度为 2的结点多一个。8.对于长度为 n的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。A) 冒泡排序为 n/2 B) 冒泡排序为 n C) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:1.00)A.B.C.D. 解析:解析 快速排序的最坏情况是当序列已排序时,选取序列的第一个值作为基准值,分成的两个子序列长度为 1与 n-1,这样必须经过 n-1趟才能完成排序。因此,总的比较次数为 n(n-1)/2。9.设计程序时,应采纳的原则之一是( )。A)程序的结构应有助于读者的理解
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 427 答案 解析 DOC
