【计算机类职业资格】二级C语言笔试-477及答案解析.doc
《【计算机类职业资格】二级C语言笔试-477及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-477及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-477 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈C) 双向链表 D) 二叉树(分数:1.00)A.B.C.D.2.在深度为 5的满二叉树中,叶子结点的个数为( )。A) 32 B) 31 C) 16 D) 15(分数:1.00)A.B.C.D.3.下列叙述中正确的是( )。 A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C) 线性表的链式存储结构所需要的存储空唰一般
2、要少于顺序存储结构 D) 上述三种说法都不对(分数:2.00)A.B.C.D.4.下列数据结构中,属于非线性的是( )。A) 线性表 B) 队列 C) 树 D) 栈(分数:2.00)A.B.C.D.5.下列工具中为需求分析常用工具的是( )。A) PAD B) PFD C) N-S D) DFD(分数:1.00)A.B.C.D.6.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序的易读性(分数:1.00)A.B.C.D.7.下列关于线性链表的描述中正确的是( )。A) 存储空间不一定连续,且各元素的存储顺序是任意的B) 存储空间不一定连
3、续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A.B.C.D.8.关于结构化程序设计原则和方法的描述错误的是( )。A)选用的结构只准许有一个入口和一个出口B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C)不允许使用 GOTO语句D)语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C.D.9.某二叉树中有 n个度为 2的结点,则该二叉树中的叶子结点数为A) n+1 B) n-1C) 2n D) n/2(分数:2.00)A.B.C.D.10
4、.软件开发的结构化生命周期方法将软件生命周期划分成( )。A) 定义、开发、运行维护 B) 设计阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计(分数:1.00)A.B.C.D.11.数据库设计中反映用户对数据要求的模式是( )。 A) 内模式 B) 概念模式 C) 外模式 D) 设计模式(分数:2.00)A.B.C.D.12.下列选项中正确的语句组是( )。A) char s8; s=“Beijing“; B) char *s; s=“Beijing“;C) char s8; s=“Beijing“; D) char *s; s=“Beijing
5、“;(分数:1.00)A.B.C.D.13.以下不能定义为用户标识符是_。(A) Main(B) _0(C) _int(D) sizeof(分数:1.00)A.B.C.D.14.下列程序的输出结果是( )。#includestdio.hmain()int a=4;printf(“%d/n“,(a+=a-=a*a);A) -8 B) 14 C) 0 D) -24(分数:2.00)A.B.C.D.15.下列程序的输出结果是( )。mainint x=8,y=8;printf(“%d%d/n“,x-,-y);A) 8 8 B) 7 7 C) 7 8 D) 8 7(分数:2.00)A.B.C.D.16
6、.下列不是合法的 C语言语句是( )。A) a5 B) int i;i+; C) ; D) ;(分数:1.00)A.B.C.D.17.若有表达(W)?(-x):(+y),则其中与 W等价的表达式是_。A) w=1 B) w=0 C) w!=1 D) w!=0(分数:1.00)A.B.C.D.18.下列能正确定义且赋初值的语句是( )。A) int n1=n2=10; B) char c=32;C) float f=f+1.1; D) double x=12.3E2.5;(分数:2.00)A.B.C.D.19.当变量 c的值不为 2、4、6 时,值也为“真”的表达式是( )。A(c=2)|(c=
7、4)|(c=6) B(c=2for(i=0; in/2; i+)t=ai; ai=an-1-1; an-1-i=t;main()int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10;int i, s=0;reverse(b, 8);for(i=6; i10; i+)s+=bi;printf(“% d/n“, s);程序运行后的输出结果是_。A) 22 B) 10 C) 34 D) 30(分数:1.00)A.B.C.D.21.以下程序运行后的输出结果是#includestdio.hmain()int i, j, m=1;for(i=1; i3; i+)for(j=3; j0
8、;j-)if(i*j3) break;m*=i*j;printf(“m=%d/n“,m);A) m=6 B) m=2 C) m=4 D) m=5(分数:1.00)A.B.C.D.22.定义如下变量和数组: int i,x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是( )。 for(i=0;i3;i+)printf(“%d“,xi2-i); A) 159 B) 147 C) 357 D) 369(分数:2.00)A.B.C.D.23.设有程序段:int k=12;while(k=1)k=k-1;则下列描述中正确的是( )。A) while循环执行 10次 B) 循环是无限循
9、环C) 循环体语句一次也不执行 D) 循环体语句执行一次(分数:2.00)A.B.C.D.24.下列语句组中,正确的是A) char *s; s=“Olympic“; B) char s7; s=“Olympic“;C) char *s; s=“Olympic“; D) char s7; s=“Olympic“;(分数:2.00)A.B.C.D.25.表达式8-2的值是( )。A) 整数 6 B) 字符 6 C) 表达式不合法 D) 字符 8(分数:2.00)A.B.C.D.26.若各选项中所用变量已正确定义,fun()函数中通过 return语句返回一个函数值,下列选项中错误的程序是( )。
10、A) main()x =fun(2,10);float fun(int a,int b) B) float fun(int a,int b) main()x =fun(i,j);C) float fun(int,int);main()x =fun(2,10);float fun(int a,int b) D) main()float fun(int I,int j);x =fun(i,j);float fun(int a,int B) (分数:2.00)A.B.C.D.27.以下数组定义中错误的是A) int x 3=0; B) int x23=1,2,3,4,5,6;C) int x 3=1
11、,2,3,4,5,6; D) int x23=1,2,3,4,5,6;(分数:2.00)A.B.C.D.28.若语句“t=fun(fun(x,y,a),(a+b,a+c),x+y+z);”对 fun函数的调用正确,则 fun函数的形参个数为( )。A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.29.有如下程序段:int *p,a=10,b=1;p= a= *p+b;执行该程序段后,a 的值为( )。A) 12 B) 11 C) 10 D) 编译出错(分数:1.00)A.B.C.D.30.有以下程序:#include stdio.h#define N 20fun(int
12、 a ,int n,int m)int i,j;for(i=m;i :n;i-) ai+1 =ai;main( )int i,aN. = 11,2.3,4,5,6,7,8,9,10;fun( a,2,9)for(i =0;i5;i + ) printf(“% d“ ,ai );程序运行后的输出结果是( )。A) 10234 B) 12344 C) 12334 D) 12234(分数:1.00)A.B.C.D.31.有以下程序#include stdio.h#include string.hmain()char a10=”abcd“;printf(“%d,%d/n“,strlen(a),size
13、of(a);程序运行后的输出结果是A) 7,4 B) 4,10C) 8,8 D) 10,10(分数:2.00)A.B.C.D.32.以下程序的输出结果是_。structHARint x,y;structHAR*p;main()h0.x=1;h0.y=2;h1.x=3;h1.y=4;h0.p=printf(“%d%d/n“,(h0.p-y);A) 12 B) 23 C) 14 D) 32(分数:2.00)A.B.C.D.33.若有说明:int*p1,*p2,n=8,m;下列均是正确赋值语句的选项是( )。A) p1=p2=*p2=p1; D) p1=p2=p1;(分数:2.00)A.B.C.D.
14、34.有以下程序:void ss(char *s,char t)while(*s)if(*s=t)*s=t-a+A;s+;main()char str1100=“abcddfefdbd“,c=d;ss(str1,c);printf(“%s/n“,str1);程序运行后的输出结果是( )。A) ABCDDEFEDBD B) abcDDfefDbDC) abcAAfefAbA D) Abcddfefdbd(分数:2.00)A.B.C.D.35.有以下程序:#includestring.hmain(int argc,char *argv)int i=1,n=0;while(iargc)n=n+str
15、len(argvi);i+)printf(“%d/n“,n);该程序生成的可执行文件名为:proc.exe,若在运行时输入命令行:proc 123 45 67则该程序的输出结果是_。A) 3 B) 5C) 7 D) 11(分数:2.00)A.B.C.D.36.以下语句或语句组中,能正确进行字符串赋值的是_。A) char*sp;*sp=“right!“;B) char s10;s=“right!“;C) char s10;*s=“right!“;D) char*sp=“right!“;(分数:2.00)A.B.C.D.37.若有下列说明,则( )不是对 strcpy库函数的正确的调用。strc
16、py 库函数用于复制一个字符串:char*str1=“abcd“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“A) strcpy(str2,str1) B) strcpy(str3,str1)C) strcpy(str4,str1) D) strcpy(str5,str1)(分数:2.00)A.B.C.D.38.有以下程序#include main()FILE *fp; int a10=1,2,3,i,n;fp=fopen(“dl.dat“,“w“);for(i=0;i3;i+) fprintf(fp,“%d“,ai);fprintf(fp,“/n“);
17、fclose(fp);fp=fopen(“dl.dat“,“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。(A) 12300(B) 123(C) 1(D) 321(分数:2.00)A.B.C.D.39.下列描述中不正确的是( )。A) 字符型数组中可以存放字符串B) 可以对字符型数组进行整体输入、输出C) 可以对整型数组进行整体输入、输出D) 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值(分数:2.00)A.B.C.D.40.若有以下结构体,则正确的定义或引用的是( )。struct Testint x;
18、int y;vl;A) Test.x=10; B) Test v2;v2.x=10;C) struet v2;v2.x=10; D) struct Test v2=10;(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.软件定义时期主要包括 1 和需求分析两个阶段。(分数:2.00)填空项 1:_42.在树形结构中,没有前件的结点是_。(分数:2.00)填空项 1:_43.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_44.测试用例包括输入值集和 1 值集。(分数:2.00)填空项 1:_45.按“先进后出”原则
19、组织数据的数据结构是 1。(分数:2.00)填空项 1:_46.下列程序的输出结果是_。main()int i;for(i=1;i+1;i+)if(i4)printf(“%d/n“,i);break;printf(“%d/n“,i+);(分数:2.00)填空项 1:_47.下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(c!=/n)if(_)n+;(分数:2.00)填空项 1:_48.在计算机中,字符的比较是对它们的 1 进行比较。(分数:2.00)填空项 1:_49.以下程序的功能是:求出数组 x中各相邻两个
20、元素的和依次存放到 a数组中,然后输出。请填空。main( )int x10,a9,i;for(i=0;i10;i+) scanf(“%d“,xi);for( 11 ;i10;i+)ai-1=xi+ 12 ;for(i=0;i9;i+) printf(“%d“,ai);printf(“);(分数:4.00)填空项 1:_50.若有定义 double a5;,则 a数组元素下标的上限为 1。(分数:2.00)填空项 1:_51.若有下列定义:int a=1,2,3,4,5,6,7,8,9,10,*p=a;,则值为 3的表达式为: 1。(分数:2.00)填空项 1:_52.以下程序运行后的输出结果
21、是_。struct NODEint hum;struct NODE *next;main()structNODE s3=1,/0,2,/0,3,/0, *p, *q, *r;int sum=0;s0next=s+1;s1.next=s+2;s2.next=s;p=S;q=p-next;r=q-next;sum+=q=next-num;sum+=r-next-next-num;printf(“%d/n“,sum);(分数:2.00)填空项 1:_53.下列程序的运行结果是_。main()int i,a10;a0=a1=1;for(i=2;i5;i+)ai=ai-2+ai-1;for(i=0;i5
22、;i+)if(i%2=0) printf(“/n“);printf(“%d“,ai);(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。struct NODEint k;struct NODE*link;main()struct NODE m5,*p=m,*q=m+4;int i=0;while(p!=q)p-k=+i;p+;q-k=i+;q-;q-k=i;for(i=0;i5;i+)printf(“%dv,mi.k);printf(“/n“);(分数:2.00)填空项 1:_55.下列程序的输出结果是_。#includestdio.hint fun(int x)int p;
23、if(x=0x=1) return 3;elsep=x-fun(x-2) ;return p;void main()printf(“/n%d“,fun(11);(分数:2.00)填空项 1:_二级 C语言笔试-477 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈C) 双向链表 D) 二叉树(分数:1.00)A.B. C.D.解析:解析栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另端是封闭的。进行插入、删除的端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 477 答案 解析 DOC
