【计算机类职业资格】二级C语言笔试-423及答案解析.doc
《【计算机类职业资格】二级C语言笔试-423及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-423及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-423 及答案解析(总分:99.00,做题时间:90 分钟)一、选择题(总题数:40,分数:63.00)1.下列叙述中正确的是 A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D) 上述 3种说法都不对(分数:2.00)A.B.C.D.2.下列选项中,不是一个算法的基本特征的是( )。A) 完整性 B) 可行性 C) 有穷性 D) 拥有足够的情报(分数:2.00)A.B.C.D.3.一颗二叉树中共有 70个叶子结点与 80个度为
2、 1的结点,则二叉树的总结点数为_。(A) 219(B) 221(C) 229(D) 231(分数:2.00)A.B.C.D.4.源程序的文档化不包括( )。A) 符号名的命名要有实际意义 B) 正确的文档形式C) 良好的视觉组织 D) 正确的程序注释(分数:2.00)A.B.C.D.5.关于结构化程序设计原则和方法描述错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C.D.6.为了使模块尽可能独立,要求_。A) 模
3、块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:1.00)A.B.C.D.7.能将高级语言程序转换成目标语言程序的是_。A) 调试程序 B) 解释程序 C) 编译程序 D) 编辑程序(分数:1.00)A.B.C.D.8.C语言规定,在一个源程序中,main 函数的位置A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后(分数:1.00)A.B.C.D.9.下列不合法的用户标识符是
4、( )。A) j2_KEY B) Double C) 4d D) _8_(分数:1.00)A.B.C.D.10.下列选项可以正确表示字符型常量的是A) /r B) “a“ C) “/897“ D) 296(分数:1.00)A.B.C.D.11.以下程序的功能是进行位运算:main()unsigned chara,b;a=73;b= 4 break;case 1:a+;Cswitch(a)default:a+;break;case 1:a=b;Dswitch(a=1)case 1:a=b;break;case 0:a+;(分数:1.00)A.B.C.D.14.若有代数式*,(其中 P仅代表自然对
5、数的底数,不是变量),则下列能够正确表示该代数式的 C语言表达式是( )。 A) sqrt(abs(nx+ex) B) sqrt(fabs(pow(n,x)+pow(x,e) C) sqrt(fabs(pow(n,x)+exp(x) D) sqrt(fabs(pow(x,n)+exp(x)(分数:1.00)A.B.C.D.15.以下程序运行后的输出结果是 #includestdio.h main() int y=10; while(y-); printf(“y=%d/n“, y); A) y=0 B) y=-1 C) y=1 D) while构成无限循环(分数:2.00)A.B.C.D.16.
6、下列程序的输出结果是( )。main()int i=1,j=2,k=3;if(i+= =1A) 1 2 3 B) 2 3 4C) 2 2 3 D) 2 3 3(分数:2.00)A.B.C.D.17.有以下程序:#includestdio.hmain()char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c“, main()int a=3, b=4, c=5, d;d=f(f(a, b), f(a, c);printf(“%d/n“, d);A) 10 B) 9 C) 8 D) 7(分数:2.00)A.B.C.D.19.若有定义语句:int a410,*p,*q4;且 0i
7、4,则错误的赋值是A) p=a B) qi=aiC) p=ai D) p=for(i=j=0;stri!=/0;i+)if(stri!=astrj+=stri;strj=/0;void main()char str=“abcdef“;abc(str);printf(“str=%s“,str);A) str=bcdef B) str=abcdefC) str=a D) str=ab(分数:2.00)A.B.C.D.23.下列叙述错误的是( )。A) 函数名是属于用户标识符,需符合 C语言对标识符的规定B) 形参只能是变最C) 为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D)
8、函数中定义的变量可以与其他函数中的变量同名(分数:1.00)A.B.C.D.24.以下程序运行后的输出结果是int f(int n)if(n=1)return 1;else return f(n-1)+1;main( )int i,j=0;for(i=1;i3;i+) j+=f(i);printf(“%d/n“,j);A) 4 B) 3 C) 2 D) 1(分数:2.00)A.B.C.D.25.有以下函数int fun(char *x,char *y)int n=0;while(*x=*y) y+; n+;return n;函数的功能是( )。A)查找 x和 y所指字符串中是否有/0B)统计
9、x和 y所指字符串中最前面连续相同的字符个数C)将 y所指字符串赋给 x所指存储空间D)统计 x和 y所指字符串中相同的字符个数(分数:2.00)A.B.C.D.26.有如下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9的表达式是( )。A) *p+9 B) *(p+8) C) *p+=9 D) p+8(分数:1.00)A.B.C.D.27.执行以下程序后,a,b 的值分别是( )。#include stdiohmain()int a,b,k=4,m=6,*p1= B) int b35=0,0,0;C) intb4=1,2,3,4,5,6; D) int
10、 b32=(1,2) ,(3,4) ,(5,6) ;(分数:1.00)A.B.C.D.29.下列程序的运行结果是( )。#includestdio.h#includestring.hmain()char*s1=“abDuj“;char*s2=“ABdUG“;int t;t=strcmp(s1,s2);printf(“%d“,t);A) 正数 B) 负数 C) 零 D) 不确定的值(分数:2.00)A.B.C.D.30.s1和 s2已正确定义并分别指向两个字符串。若要求:当 s1所指串大于 s2所指串时,执行语句 S。则以下选项中正确的是_。A) if(s1s2)S; B) if(strcmp(
11、s1, s2)S;C) if(strcmp(s2, s1)0)S; D) if(strcmp(s1, s2)0)S;(分数:2.00)A.B.C.D.31.以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是abs(int x)if(x=0)return x;else return-x;main()int y,z,(*p)(int x)=abs;scanf(“ %d“ , printf(“%d,“,p-y);printf(“%d/n“,(+p)-x);A) 10,1 B) 20,1 C) 10,2 D) 20,2(分数:2.00)A.B.C.D.33.下列描
12、述中正确的是( )。A) 在 C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用B) 预处理指令只能位于 C源程序文件的首部C) 预处理命令可以放在程序中的任何位置D) 预处理命令结尾需要加分号(分数:1.00)A.B.C.D.34.有以下程序:#include stdio.hint a=2;int f(int *a)return (*a) +;main()int s=0;int a=5;s+=f(s+=f(printf(“%d/n“,s)执行后的输出结果是( )。A) 10 B) 9 C) 7 D) 8(分数:1.00)A.B.C.D.35.设有定义:char *c;,以下选项中能够
13、使字符型指针 c正确指向一个字符串的是A) char str=“string“;c=str;B) scarf(“%s“,c);C) c=getchar();D) *c=“string“;(分数:2.00)A.B.C.D.36.设 int x=7,则x 的值是( )。A) -8 B) -7 C) -1 D) 1(分数:1.00)A.B.C.D.37.已定义以下函数:fun(int*p)return *p; 该函数的返回值是 _。A) 不确定的值B) 形参 p中存放的值C) 形参 p所指存储单元中的值D) 形参 p的地址值(分数:2.00)A.B.C.D.38.若文本文件 filea.txt中原有
14、内容为:hello,则运行以下程序后,文件 filea.txt中的内容为#includestdio.hmain()EILE *f;f=fopen(“filea.txt“, “w“);fprintf(f, “abc“);fclose(f);A) helloabc B) abclo C) abc D) abchello(分数:2.00)A.B.C.D.39.请读程序:#include stdio.hint a=2,4,6,8,;main()int i;int *p=a;for( i=0;i4;i+) ai=*p+;priatf(“%d/n“,a2);上面程序的输出结果是( )。A) 6 B) 8
15、C) 4 D) 2(分数:2.00)A.B.C.D.40.有以下程序#includestdio.h#includestring.htypedef structchar name9;char sex;float score2;)STU;STU f(STU a)STU b=“Zhao“,in,85.0,90.0);int i;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i2;i+) a.scorei=b.scorei;return a;main()STU c=“Qian“,f,95.0,92.0,d;d=f(c);printf(“%s,%c,%2.0f,%2
16、.0f“,d.name,d.sex,d.score0,d.score1);程序的运行结果是( )。Aqian,f,95,92 Bqian,m,85,90CZhaO,m,85,90 DZhao,f,95,92(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:36.00)41.注释说明了程序的功能,它分为U /U注释和功能性注释。(分数:2.00)填空项 1:_42.在 1 个容量为 32的循环队列中,若头指针 front3,尾指针 rear2,则该循环队列中共有 2 个元素。(分数:2.00)填空项 1:_43.以下函数 rotate的功能是:将 a所指 N行 N列的二维数组中的
17、最后一行放到 b所指二维数组的第 0列中,把 a所指二维数组中的第 0行放到 b所指二维数组的最后一列中,b 所指二维数组中其他数据不变。# define N 4void rotate(int aN, int bN)int i, j;for(i=0; iN; i+)biN-1=a0i;U /U=aN-1i;(分数:2.00)填空项 1:_44.栈的 3种基本运算是:入栈、退栈和 1。(分数:2.00)填空项 1:_45.x和 y都是 double型变量,x 的初值为 4.0,y的初值为 2.0,则表达式 pow(y.fabs(x)的值为 1。(分数:2.00)填空项 1:_46.表示“整数 x
18、的绝对值大于 5”时值为“假”的 C语言表达式是 1。(分数:2.00)填空项 1:_47.设变量已正确定义为整型,则表达式 n=i=2,+i,i+的值为 1。(分数:2.00)填空项 1:_48.下列程序运行时输入 1234567CR,则输出结果是_。#includestdio.hmain()int a=1,b;scanf(“%2d%2d“,sum=count=0;for(i=0; i20; i+)scanf(“% d“,U /U);for(i=0; i20; i+)if(ai0)count+;sum+=ai;printf(“sum=% d, count=% d/n“, sum, count
19、);(分数:2.00)填空项 1:_50.已有定义如下:struct nodeint data;struct node *next;*p;以下语句调用 malloc函数,使指针 p指向一个具有 struct node类型的动态存储空间。请填空。p=(struct node *)malloc(U /U);(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是U /U。#include stdio.hmsin()int i,n=0,0,0,0,0;for(i=1;i=4;i+)ni=ni-1*2+1;printf(“%d“,ni);(分数:2.00)填空项 1:_52.有下面的程序:#i
20、nclude stdio, hmain ( )enum team my,your=4,his,her=his+10;prinff(“ % d %d %d %d /n“ ,my,your,his,her);此程序的输出结果是U /U。A) 0 1 2 3 B) 0 4 0 1 0 C) 0 4 5 1 5 D) 1 4 5 1 5(分数:2.00)填空项 1:_53.以下程序中函数 huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda,请填空。#include c
21、har *huiwen(char *str)char *p1,*p2;int i,t=0;p1=str; p2=_;for(i=0;i=strlen(str)/2;i+)if(*p1+!=*p2-)t=1;break;if(t=0)return(“yes!“);else return(“no!“);main()char str50;printf(“Input:“);scanf(“%s“,str);printf(“%s/n“, huiwen(str);(分数:2.00)填空项 1:_54.下面 rotate函数的功能是:将 n行 n列的矩阵 A转置 A,例如(分数:8.00)填空项 1:_55.
22、在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_二级 C语言笔试-423 答案解析(总分:99.00,做题时间:90 分钟)一、选择题(总题数:40,分数:63.00)1.下列叙述中正确的是 A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D) 上述 3种说法都不对(分数:2.00)A.B. C.D.解析:解析 本题考查线性表的存储结构。顺序存储结构只存储结点数据,而链式存储结构不仅要存储结点数据,还要存储指向下一个结点的指针
23、,所以线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。选项 B正确。2.下列选项中,不是一个算法的基本特征的是( )。A) 完整性 B) 可行性 C) 有穷性 D) 拥有足够的情报(分数:2.00)A. B.C.D.解析:解析 作为一个算法,一般应该具有下列 4个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完;拥有足够的情报。3.一颗二叉树中共有 70个叶子结点与 80个度为 1的结点,则二叉树的总结点数为_。(A) 219(B) 221(C) 229(D) 231(分数:2.00)A.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 423 答案 解析 DOC
