【计算机类职业资格】二级C语言笔试-420及答案解析.doc
《【计算机类职业资格】二级C语言笔试-420及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-420及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-420 及答案解析(总分:93.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.算法的空间复杂度是指A) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 执行算法需要的内存空间(分数:2.00)A.B.C.D.2.以下选项中可以作为 C语言中合法整数的是 _。A) 10110B B) 0386 C) 0Xffa D) x2a2(分数:2.00)A.B.C.D.3.下列叙述中正确的是( )。A) 线性链表的各元素在存储空间中的位置必须是连续的B) 线性链表的头元素一定存储在其他元素的前面C) 线性链表中的各元素在存储空间
2、中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D) 线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的(分数:2.00)A.B.C.D.4.在软件开发中,需求分析阶段产生的主要文档是( )。 A) 数据字典 B) 详细设计说明书 C) 数据流图说明书 D) 软件需求规格说明书(分数:1.00)A.B.C.D.5.在软件开发中,需求分析阶段产生的主要文档是_。A) 软件集成测试计划 B) 软件详细设计说明书C) 用户手册 D) 软件需求规格说明书(分数:1.00)A.B.C.D.6.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C)
3、 程序设计语言的先进性 D) 程序的易读性(分数:1.00)A.B.C.D.7.模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的类是_。A) 顺序性内聚 B) 过程性内聚 C) 逻辑性内聚 D) 功能性内聚(分数:2.00)A.B.C.D.8.从 Windows环境进入 MS-DOS方式后,返回 Windows环境的 DOS命令为_。A) EXIT B) QUIT C) RET D) MSDOS(分数:1.00)A.B.C.D.9.在数据库设计中,将 E-R图转换成关系数据模型的过程属于( )。A) 需求分析阶段 B) 逻辑设计阶段 C) 概念设计阶段 D) 物理
4、设计阶段(分数:1.00)A.B.C.D.10.下列说法正确的是( )。A) 一个 C程序可以有多个主函数B) 一个 C语言的函数中只允许有一对花括号C) C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内D) 在对 C程序进行编译时,可以发现注释行中的拼写错误(分数:2.00)A.B.C.D.11.若变量已正确定义并赋值,以下符合 C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(分数:1.00)A.B.C.D.12.若有语句:char*line5;,以下叙述中正确的是A) 定义 line是一个数组,每个数组元
5、素是一个基类型为 char的指针变量B) 定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组C) 定义 line是一个指针数组,语句中的。号称为间址运算符D) 定义 line是一个指向字符型函数的指针(分数:1.00)A.B.C.D.13.以下选项中能表示合法常量的是( )。 A) 整数:1,200 B) 实数:1.5E2.0 C) 字符斜杠:/ D) 字符串:“/007/(分数:1.00)A.B.C.D.14.下列不能正确表示代数式 2abcd的 C语言表达式是( )。A2*8-*b/c/d Ba*b/c/d*2Ca/c/d*b*2 D2*a*b/c*d(分数:1.00)
6、A.B.C.D.15.有以下程序段char ch; int kch=a; k=12;printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k);已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D.16.有定义语句:int b;char c10 ;则正确的输入语句是( )。A) seanf(“%d%s“ , B) scanf(“%d%s“,C) seanf(“%d%
7、s“,b,c); D) scanf(“%d%s“,b,(分数:1.00)A.B.C.D.17.有以下程序:#includestdio.hmain()int a=6,b=7,m=1;switch(a%2)case 0:m+;break;case 1 :m+;switch(b%2)defaut:m+;case0:m+;break;printf(“%d/n“,m);A) 1 B) 2 C) 3 D) 4(分数:1.00)A.B.C.D.18.有以下程序段int a,b,c;a=10; b=50; c=30;if(ab)a=b, b=c; c=a;printf(“a=%d b=%d c=%d/n“,a
8、,b,c);程序的输出结果是_。A) a=10 b=50 c=10 B) a=10 b=50 c=30C) a=10 b=30 c=10 D) a=50 b=30 c=50(分数:1.00)A.B.C.D.19.数字字符 0的 ASCII值为 48,若有以下程序main()char a=1,b=2;printf(“%c,“,b+);printf(“%d/n“,b-a);程序运行后的输出结果是_。(A) 3,2(B) 50,2(C) 2,2(D) 2,50(分数:2.00)A.B.C.D.20.下面程序的运行结果是#includestdio.hmain()int a=28,b;char s10,
9、*p;p=s;dob=a%16;if(b10) *p=b+48;else*p=b+55;p+;a=a/5;while(a0);*p=/0;puts(s);A) 10 B) C2 C) C51 D) /0(分数:2.00)A.B.C.D.21.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是_。A) n=0;while(chgetchar()!=/n)n+; B) n=0;while(getchar()!=/n)n+;C) for(n=0;getchar()!=/n;n+); D) n=0;for(ch=getchar();ch!=/n;n+);(分数:2.00)A.
10、B.C.D.22.有下列程序:#includestdio.hint f(int x,int y)return(y-x)*x);)main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(“%d/n“,d);程序运行后的输出结果是( )。A10 B9 C8 D7(分数:1.00)A.B.C.D.23.有以下程序:#includestdio.hvoid fun(int*s,int nl,int n2)int i,j,t;i=nl;j=n2;while(ij)t=si;si=sj;sj=t;i+;j-;main()int a10=1,2,3,4,5,6,7,8
11、,9,0,k;fun(a,0,3);fun(a,4,9);fun(a,0,9);for(k=0;k10;k+)printf(“%d“,ak);printf(“/n“);程序运行的结果是_。A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234(分数:2.00)A.B.C.D.24.设有以下语句:char str1 =“string“mstr2 8,*str3,*str4=“string“;则 _不是对库函数的正确调用。A) strcpy(str1,“HELLO1“); B) strcpy(str2,“HELLO2“);C) strcpy(
12、str3,“HELLO3“); D) strcpy(str 4,“HELLO4“);(分数:2.00)A.B.C.D.25.以下程序运行后的输出结果是main( )char s=“ABCD“,*p;for(p=s+1;ps+4;p+)printf(“%s/n“,p);A) ABCDBCDCDDB) ABCDC) BCDD) BCDCDD(分数:2.00)A.B.C.D.26.设函数 fun的定义形式为:void fun(char ch,float x)则以下对函数 fun的调用语句中,正确的是_。A) fun(“abc“,3.0); B) t=fun(D,16.5);C) fun(65,2.8
13、); D) fun(32,32);(分数:2.00)A.B.C.D.27.若有定义语句:int a410,*p,*q4;且 0i4,则错误的赋值是( )。Ap=a Bqi=aiCp=ai Dp= B) char s5+A,B,C,D,E),C) char*s;s“ABCDE“; D) char*s;printf(“%SS);(分数:2.00)A.B.C.D.31.若有下列说明,则( )不是对 strcpy库函数的正确的调用。strcpy 库函数用于复制一个字符串:char*str1=“abcdt“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“;A) st
14、rcpy(str2,str1) B) strcpy(str3,str1)C) strcpy(str4,str1) D) strcpy(str5,str1)(分数:1.00)A.B.C.D.32.有以下程序段typedef struct node(int data; struct node *next;) *NODE;NODE p;以下叙述中正确的是_。(A) P是指向 struct node结构变量的指针的指针(B) NODE p;语句出错(C) P是指向 struct node结构变量的指针(D) P是 struct node结构变量(分数:2.00)A.B.C.D.33.下列叙述中错误的是
15、( )。A) 在 C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值B) 在 C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容C) 在 C语言中,外部变量的隐含类型是自动存储类别D) 在 C语言中,函数形参的存储类型是自动(auto)类型的变量(分数:2.00)A.B.C.D.34.有以下程序:#define f(x)(x*x)main()int i1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf(“%d,%d/n“,i1,i2);程序运行后的输出结果是_。A) 64,28 B) 4,4 C) 4,3 D) 64,64(分数:2.00)A.B
16、.C.D.35.有以下程序:#includestdio.hmain()FTLE*fp;int a10=1,2,3,i,n;fp=fopen(“d1.dat“,“w“;for(i=0;i3;i+)fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。A) 12300 B) 123C) 1 D) 321(分数:2.00)A.B.C.D.36.以下函数值的类型是_。fun(float x)float y
17、;y=3*x-4;return y;A) int B) 不确定 C) void D) float(分数:2.00)A.B.C.D.37.如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是( )。 A) fp=fopen(“FILE“,“r“); B) fp=fopen(“FILE“,“a+“); C) fp=fopen(“FILE“,“w+“); D) fp=fopen(“FILE“,“r+“);(分数:2.00)A.B.C.D.38.程序中若有如下说明和定义语句char fun(char *);main()char *s=“one“,a5=0,*f1)()=fun,ch;
18、以下选项中对函数 fun的正确调用语句是_。A) (*f1)(a); B) *f1(*s); C) fun( D) ch=*f1(s);(分数:1.00)A.B.C.D.39.fscanf函数的正确调用形式是( )。A) fscanf(文件指针,格式字符串,输出表列);B) fscanf(格式字符串,输出表列,文件指针);C) fscanf(格式字符串,文件指针,输入表列);D) fscanf(文件指针,格式字符串,输入表列);(分数:1.00)A.B.C.D.40.有以下程序段:int a10=1,2,3,4,5,6,7,8,9,10,*p=b=p5;则 b中的值是( )。A) 5 B) 6
19、 C) 8 D) 9(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.结构化程序设计的 3种基本结构分别是顺序、选择和 1。(分数:2.00)填空项 1:_42.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_43.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_44.有以下程序:main()char str=“xyz“, *ps=str;while(* ps)ps+;for(ps-; ps-str=0;ps-)puts(ps);执行后的输出结果是U /U。(分数:2.00)填空项 1:_45.若 a
20、=1,b=2,c=3,d=4;则条件表达式 ab?a:cd?c:d 的结果为 1。(分数:2.00)填空项 1:_46.下列程序的输出结果是_。#includestdio.hmain()int x=1,y=1,a=1,b=1;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;printf(“a=%d,b=%d/n“,a,b);(分数:2.00)填空项 1:_47.有以下程序,若运行时从键盘输入:18,11回车,则程序的输出结果是_。main()int a,b;printf(“Enter a,
21、b:“);scanf(“%d, %d“,a,b);while(a!=b)while(ab)a-=b;while(ba)b-=a;printf(“%3d%3d“,a,b);(分数:2.00)填空项 1:_48.下列程序的运行结果是_。#includestdio.hmain()int a,b,c,n;a=2;b=0;c=1;n=1;while(n=3)c=c*a;b=b+c;+n;printf(“b=%d“,b);(分数:2.00)填空项 1:_49.下列语句的输出结果是_。char s20= “aaaa“,*sp=s;puts(strcat(sp,“AAAAA“);(分数:2.00)填空项 1:
22、_50.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。main()int t=0,s=0,i;for(i=1;i=5;i+)t=i+_;s=s+t;printf(“s=%d/n“,s);(分数:2.00)填空项 1:_51.设有定义:struct personint ID;char name12;p;请将 scanf(“%d“,_);语句补充完整,使其能够为结构体变量 p的成员 ID正确读入数据。(分数:2.00)填空项 1:_52.函数 void fun(float *sn,int n)的功能是:根据以下公式计算 s,计算结果通过形参指针 sn 传回;n通过形参传
23、入,n 的值大于或等于 0。请填空。*void fun(float *sn,int n)float s=0.0,w,f=-1.0;int i;for(i=0;i=n;i+)f=U /U * f;w=f/(2*i+1);s+=w;U /U=s;(分数:2.00)填空项 1:_53.下列程序运行后的输出结果是_。#includestdio.hmain()char s20;scanf(“%s“,s);printf(“%s“,s);运行程序,输入 HOW ARE YOU。(分数:2.00)填空项 1:_54.下面程序的功能是将一个字符串 str的内容倒序,请填空。#inelude stdioh#inc
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 420 答案 解析 DOC
