【计算机类职业资格】二级C语言笔试-297及答案解析.doc
《【计算机类职业资格】二级C语言笔试-297及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-297及答案解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-297 及答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.设有以下定义和语句:int a3 2=1,2,3,4,5,6, * p3;p0 =a1;则(P0+1)所代表的数组元素是( )。(分数:1.00)A.a01B.a10C.s11D.a122.下列选项中,不能用作标识符的是( )。(分数:1.00)A._1234_B._1_2C.int_2_D.2_int_3.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请填空。#include stdlib.hstuct nodech
2、ar data; struet node * next; ;stntct node * CreatList(char * s)struet node *h,*p,*q;h = (struct node * ) malloc(sizeof(struct node) );p=q=h;while( * s! =/0)p = (struct node *) malloc ( sizeof(struct node) );p - data = ( )q- next=p;q=p;a+;p- next =/0;return h;main( )char str = “link list“;struet node
3、 * head;head = CreatList(str);(分数:1.00)A.*sB.sC.*s+D.(*s)+4.下列条件语句中,功能与其他语句不同的是( )。(分数:1.00)A.if(a) printf(“%d /n“ ,x); else printf(“% d /n“ ,y);B.if(a =0) printf( “% d /n“ ,y); else printf( “% d /n“ ,x);C.if (a! =0) printf(“%d /n“,x); else printf(“%d /n“,y); ,D.if(a=O) printf(“%d /n“,x); else print
4、f(“%d /n“,y);5.以下能正确定义二维数组的是( )。(分数:1.00)A.int a3;B.int a3 =2*3;C.int a3 =;D.int a23 =1,2,3,4:6.下列对于线性链表的描述中正确的是( )。(分数:1.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的7.有以下程序:#include stdio.hmain( )chars =“Yes/n/No“,*ps=s;puts(ps +4); *
5、 (pa +4) =0;puts(s);程序运行后的输出结果是( )。(分数:1.00)A.n/NoYes/NoB./NoYesC./NOYes/NoD.n/NoYes8.有以下程序:#include stdio, hmain( )int m =0256,n =256;printf( “% o % o /n“ ,m,n);程序运行后的输出结果是( ) 。(分数:1.00)A.0256 0400B.0256 256C.256 400D.400 4009.若 x和 y代表整型数,以下表达式中不能正确表示数学关系|xy|10 的是( )。(分数:1.00)A.abs(x-y)10B.x-y -10p
6、=e;能够正确引用 c数组元素的是( )。(分数:1.00)A.p+1B.*(p+3)C.*(p+1)+3D.*(p0+2)11.设有定义语句:charc1=92,c2=92;则以下表达式中值为零的是( )。(分数:1.00)A.c1c2B.c1c2C.c2D.c1|c212.有如下程序:#include stdio.hmain ( )FILE* fpl;fp1 = fopen(“f1. txt“ ,“w“);fpfinff( fp1 ,“ abc“ );fclose ( fp1 );若文本文件 f1.txt中原有内容为:good,则运行以上程序后文件 f1.txt中的内容为( )。(分数:1
7、.00)A.goodabcB.abcdC.abcD.abegood13.有以下程序:#include stdio, hmain ( )int a =666,b =888;printf( “%d /n“, a,b);程序运行后的输出结果是( )。(分数:1.00)A.错误信息,B.666C.888D.666,88814.有以下程序:#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.运行后
8、报错觉B.6 6C.6 11D.5 1015.数据的存储结构是指( )。(分数:1.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示16.有以下程序:#include stdio. hmain ( )inti=0.s=0;for(;)if( i = = 3 i = = 5 ) continue;if (i =6) break;i+; s+ =i;printf(“ % d /n“ ,s);程序运行后的输出结果是( )。(分数:1.00)A.10B.13C.21D.程序进入列循环17.设有定义语句:int x6 = 2,4,6,
9、8,5,7 , * p=x,i;要求依次输出 x数组 6个元素中的值,不能完成此操作的语句是( )。(分数:1.00)A.for(i=0; i 6;i+) printf(“%2d“,* (p+);B.for(i =0;i 6;i + ) printf( “%2d“ , * (p +i);C.for(i =0;i 6;i + ) printf(“ %2d“ , * p + );D.for(i =0;i 6;i + ) printf(“%2d“ ,( * p) + );18.有以下程序:#include stdio.hmain( )char a,b,e,d;seanf(“% e,% e,% d,%
10、 d“ ,printf(“% c,% c,% e,% c /n“ ,a,b,c,d);若运行时从键盘上输入:6,5,65,66 回车,则输出结果是( )。(分数:1.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,619.结构化程序由三种基本结构组成,三种基本结构组成的算法( )。(分数:1.00)A.可以完成任何复杂的任务B.只能完成部分复杂的任务C.只能完成符合结构化的任务D.只能完成一些简单的任务20.s1和 s2已正确确定义并分别指向两个字符串。若要求:当 s1所指字符串大于 s2所指字符串时,执行语句 S;则以下选项中正确的是( )。(分数:1.00)
11、A.if(s1 s2) S;B.if(strcmp(s1,s2) S;C.if(strcmp(s2,s1)0) S;D.if(stremp(s1,s2)0) S;21.有以下程序: #include stdio. hmain ( )char a :a,b;printf( “% c,“ , + +(分数:1.00)A.;for(i =0;i 3 ;i + )switch (i)case 0: printf(“ % d“ ,i);case 2: printf(“ % d“ , i);default: printf( “% d“ , i);程序运行后的输出结果是( )。(分数:1.00)A.0221
12、11B.021021C.000122D.01224.在函数调用过程中,如果函数 funA调用了函数 funB,函数 funB又调用了函数 funA,则 ( )。(分数:1.00)A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用25.有以下程序:#include stdio, hvoid fun(iht * a,int i,int j)int t;if(i j)t=ai;ai =aj ;aj=t;i+;j-;fun(a,i,j);main ( )int x : 2,6,1,8 ,i;fun(x,0,3);for( i=0;i 4;i +
13、) printf( “%2d“ ,xi );printf(“ /n“);(分数:1.00)A.1268B.8621C.8162D.861226.有以下程序:#include stdio. hmain( )unsigned int a;int b=-1;a=b;printf(“ % u“,(分数:1.00)A.;程序运行后的输出结果是( )27.已有定义:int i,a10,*p;则合法的赋值语句是( )。(分数:1.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;28.下列描述中正确的是( )。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是
14、逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合29.对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。(分数:1.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/230.有以下程序:#include stdio. h main ( )char s = “ABCD“, * p;for(p=s+1;ps+4;p+) pfintf(“ % s /n“ ,p);(分数:1.00)A.ABCDBCDCDDB.ABCC.BCDD.BCDCDD31.有以下程序:#include stdio. h main( )eh
15、ar str 10 = “China“ ,“ Beijing“ , * p = stro;printf( “% s /n“, p + 10);程序运行后的输出结果是( )。(分数:1.00)A.ChinaB.BeijingC.ngD.ing32.有以下程序:#include stdio. h main( )int m =3,n =4,x;x= -m+;x=x+8/+n;prinff(“ % d /n“ ,x);程序运行后的输出结果是( )。(分数:1.00)A.3B.5C.-1D.-233.有以下程序:#include stdio.hmain( )int a=7,b=8,* p,*q, *r;
16、p=q=r=p; p=q;q=r;printf(“ % d,% d,% d,% d /n“, * p, * q.a,b);程序运行后的输出结果是( )。(分数:1.00)A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8,8,734.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指( )。(分数:1.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对35.有以下程序:#include stdio. hint f(int(分数:1.00)A.36.线性表 L=(a1,a2,a3,ai,an),下列说法
17、正确的是( )。(分数:1.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个旦只有一个直接前件和直接后件37.有定义语句doubld a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。(分数:1.00)A.a=a+b=b+B.w%(int) a+b)C.(c+w)%(int)aD.w=a=b;38.与十进制数 200等值的十六进制数为( );(分数:1.00)A.A8B.A4C.C8D.C439.以下叙述中正确的是( )。(分数:1
18、.00)A.局部变量说明为 static存储类,其生存期将得到延长B.全局变量说明为 static存储类,其作用域将被扩大C.任何存储类的变量在未赋初值时,其值都是不确定的D.形参可以使用的存储类说明符与局部变量完全相同40.在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。(分数:1.00)A.63B.64C.6D.741.以下定义语句中正确的是( )。(分数:1.00)A.char a=A b=B;B.float a=b=10.0;C.int a=10, *b= char num8 ;struct student stu 3 = 20, “200401“ , 21
19、, “200402“ , 19, “200403“ ;stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是( )。(分数:1.00)A.(p+) -numB.p- numC.( *p).numD.stu3.age43.程序中对 fun函数有如下说明:void *fun();此说明的含义是( )。(分数:1.00)A.fun函数无返回值B.fun函数的返回值可以是任意的数据类型C.fun函数的返回值是无值型的指针类型D.指针 fun指向一个函数,该函数无返回值44.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结
20、点中,请为下划线处选择正确的选项。#include stdlib. h stuct nodechar data; struct node * next; ;( ) CreatList(char * s)struet node * h, * p, * q;h = (struet node * ) maloc(sizeof(struct node) );p=q=h;while( * s! =/0)p = ( struct node * ) maloc ( sizeof( struct node) );p- data= *s; q- next=p; q=p;s+;p- next =/0;return
21、 hmain( )char str = “link list“;struet node * head;head = CreatList (str);(分数:1.00)A.char *B.struet nodeC.struct node *D.char45.有以下程序:#include stdio. hmain ( )int x = 1,3,5,7,2,4,6,0 ,i,j,k;for(i =0;i3;i + )for (j =2;j = i;j )if( xj + 1 xj ) k = xj ;xj = xj + 1 ;xj + 1 = k; for (i =0;i3;i+)for(j =4;
22、j 7-i;j +)if(xj xj+1) k=xj;xj =xj+1;xj+1 =k;for (i=0;i8;i +) printf(“%d“ ,xi);prinff(“/n“ );程序运行后的输出结果是( )。(分数:1.00)A.75310246B.01234567C.76310462D.1357024646.有以下程序:#include stdio. h main ( )int a=3,b=4,c=5,d=2;if(ab)if(bc)printf(“%d“,d+ +1);else printf( “% d“, + + d + 1 );printf( “% d /n“ ,d);程序运行后
23、的输出结果是( )。(分数:1.00)A.2B.3C.43D.4447.若变量已正确定义,要求程序段完成求 5! 的计算,不能完成此操作的程序段是( )。(分数:1.00)A.for(i=1,p=1;i=5;i+) p* =i;B.for(i=1;i=5;i+) p=1; p* =i;C.i=1;p=1;while(i=5)p* =i; i+;D.i=1;p=1;dop* =i; i+; while(i=5);48.下列关于栈的描述中错误的是( )。(分数:1.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针49.为了使模块尽可能
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 297 答案 解析 DOC
