【计算机类职业资格】二级C语言笔试-287及答案解析.doc
《【计算机类职业资格】二级C语言笔试-287及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-287及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-287 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下定义语句中正确的是( )。(分数:2.00)A.int a=b=0;B.char A=65+1,b=b;C.float a=1,*b=a,*c=b;D.double a=0.0;b=1.1;2.设有定义:char p=1,2,3),*q=p;,以下不能计算出一个 char 型数据所占字节数的表达式是( )。(分数:2.00)A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p0)3.算法具有五个特性,以下选项中不属于算法
2、特性的是( )。(分数:2.00)A.有穷性B.简洁性C.可行性D.确定性4.有以下程序:#include stdio.h#define N 4void fun(int aN,int b)int i;for (i=0;iN;i+)bi=aii;main)int xN=1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for (i=0;iN;i+)printf(“%d,“,yi);printf(“/n“);程序的运行结果是()。(分数:2.00)A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,5.设有部门和职员两个实体,每个职员只能属于一个部
3、门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是( )。(分数:2.00)A.mB.1:mC.m:kD.1:16.以下叙述中正确的是( )。(分数:2.00)A.C 程序的基本组成单位是语句B.C 程序中的每一行只能写一条语句C.简单 C 语句必须以分号结束D.C 语句必须在一行内写完7.以下程序执行后 x 的值是( )。main()int x,y=252,1=386,*m=y,*z=i;x=(z=m):printf(“%d“,x);(分数:2.00)A.252B.1C.OD.运行时出错,x 无定值8.以下不合法的字符常量是( )。(分数:2.00)A./018B./“C./D./
4、xcc9.有以下程序:int fun(int x,int n)static int sum=0,i;for(i=0;in;i+)sum+=xi;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(“%d/n“,s);程序执行后的输出结果是()。(分数:2.00)A.45B.50C.60D.5510.关系运算中的选择运算是( )。(分数:2.00)A.从关系中找出满足给定条件的元组的操作B.从关系中选择若干个属性组成新的关系的操作C.从关系中选择满足给定条件的属性的操作D.和 B)11.面向对象程序设
5、计中程序运行的最基本实体是( )。(分数:1.00)A.对象B.类C.方法D.函数12.下列叙述中正确的是( )。(分数:1.00)A.break 语句只能用于 switch 语句B.在 switch 语句中必须使用 defaultC.break 语句必须与 switch 语句中的 case 配对使用D.在 switch 语句中,不一定使用 break 语句13.若有语句:char *line5;,以下叙述中正确的是( )。(分数:1.00)A.定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量B.定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型
6、数组C.定义 line 是一个指针数组,语句中的*号称为间址运算符D.定义 line 是一个指向字符型函数的指针14.如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是( )。(分数:1.00)A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意顺序15.以下不正确的定义语句是( )。(分数:1.00)A.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9;C.char c1=1,2,3,4,5;D.char c2=x10,/xa,/x8;16.下列关于字符串的说法中错误的是( )。(分数:1.00)
7、A.在 C 语言中,字符串是借助于字符型一维数组来存放的,并规定以字符/0作为字符串结束标志B./0作为标志占用存储空间,计入串的实际长度C.在表示字符串常量的时候不需要人为在其末尾加入/0D.在 C 语言中,字符串常量隐含处理成以/0结尾17.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。(分数:1.00)A.k+B.k+=1C.+kD.k+118.有以下程序:int fl(int x,int y)return xy?x:y;int f2int x,int y return xy?y:x;main()int a=4,b=3,c=5,d=2,e,f,g
8、;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf“%d,%d,%d/n“,e,f,g);程序运行后的输出结果是()。(分数:1.00)A.4,3,7B.3,4,7C.5,2,7D.2,5,719.已有定义:char c;,程序前面已在命令行中包含 ctype.h 文件,不能用于判断 c 中的字符是否为大写字母的表达式是( )。(分数:1.00)A.isupper(c)B.A=c=ZC.A=c=ZD.c=(z-32)(a-32)=c20.下列对于软件测试的描述中正确的是( )。(分数:1.00)A.软件测试的目的是证明
9、程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则21.若有定义语句:char s10=“1234567/0/0“;,则 strlen(s)的值是( )。(分数:2.00)A.7B.8C.9D.1022.设有以下语句:char x=3,y=6,z;z=xy2;则 z 的二进制值是()。(分数:2.00)A.00010100B.00011011C.00011100D.0001100023.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。(分数:2.00)A.if(ab)(bc)k=1;
10、else k=0;B.if(ab)|(bc)k=1; else k=0;C.if(a=b)k=0; else if(b=c)k=1;D.if(ab)k=1;else if(bc)k=1;else k=0;24.以下程序的输出结果是()。#includestdio.hint fun(int n,int*s)int f1,f2;if(n=0)(n=1)*S=1;elsefun(n-1,f1);fun(n-2,f2);*s=f1+f2;void main()int x;fun(6,x);prinf(“/n%d“,x);(分数:2.00)A.7B.13C.9D.1025.若要求定义具有 10 个 in
11、t 型元素的一维数组 a,则以下定义语句中错误的是( )。(分数:2.00)A.#define N 10 int aN;B.#define n 5int a2*n;C.int a5+5;D.int n=10,an.;26.阅读下列程序,则在执行后,程序的运行结果为( )。#include “stdio.h“#include “string.h“main()char a30=“nice fo meet you!“;strcpy(a+strlen((分数:2.00)A./2,“ you“);printf(“% s/n“ ,a);A) n27.设有以下说明语句:typedef structint n
12、:char ch8;PER;则下面叙述中正确的是()。(分数:2.00)A.PER 是结构体变量名B.PER 是结构体类型名C.typedef struct 是结构体类型D.struct 是结构体类型名28.结构化程序由三种基本结构组成,三种基本的结构组成的算法( )。(分数:2.00)A.可以完成任何复杂的任务B.只能完成部分复杂的任务C.只能完成符合结构化的任务D.只能完成一些简单的任务29.下列数据模型中,具有坚实理论基础的是( )。(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上三个都是30.下列不属于软件工程的 3 个要素的是( )。(分数:2.00)A.工具B.过程C
13、.方法D.环境31.下列程序执行后的输出结果是( )。void func(int *a,intb)b0=*a+6;main()int a,b5;a=0; b0=3;func(a,b);printf(“%d/n“,b0);(分数:2.00)A.6B.7C.8D.932.以下程序的输出结果是( )。#includestdio.hint a33=1,2,3,4,5,6,7,8,9,*p;main()p=(int*)malloc(sizeof(int);f(p,(分数:2.00)A.;,以下正确的程序段是( )。(分数:2.00)A.p=n;scanf(“%d“,p);B.p=n;scanf(“%d“
14、,*p)C.scanf(“%d“,n);*p=n;D.p=n;*p=m;35.下列程序的输出结果是( )。main()double d=3.2;int x,y;x=1.2; y=(x+3.8)/5.0:printf“%d/n“,d*y;(分数:2.00)A.3B.3.2C.OD.3.0736.线性表 L:(a1,a2,a3,ai,an),下列说法正确的是( )。(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件37.对下述程序的判断
15、中,正确的是( )。#includestdio.hvoid main()char*p,s128;p=s;while(strcmp(s,“End“)printf(“Input a string:“);gets(s);p=s;while(*p)putchar(*p+);(分数:2.00)A.此程序循环接收字符串并输出,直到接收字符串“End”为止B.此程序循环接收字符串,接收到字符串“End”则输出,否则程序终止C.此程序循环接收字符串并输出,直到接收字符串“End”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“End”为止,输出连接在一起的字符
16、串38.数据库、数据库系统和数据库管理系统之间的关系是( )。(分数:2.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.三者没有明显的包含关系39.有以下程序:void ss(char *s,char t)while(*s)if(*s=t)*s=t-a+A;S+;main()char strl100=“abcddfefdbd“,c=d:ss(strl,c);printf(“% s/n“ ,strl);程序运行后的输出结果是()。(分数:2.00)A.ABCDDEFEDBDB.abcDDfeDbDC.abcAAf
17、efAbAD.Abcddfefdbd40.已知:int t=0;while(t=1).则以下叙述正确的是()。(分数:2.00)A.循环控制表达式的值为 OB.循环控制表达式的值为 1C.循环控制表达式不合法D.以上说法都不对二、填空题(总题数:14,分数:30.00)41.对于顺序存储的栈,因为栈的空间是有限的,在 1 运算时,可能发生栈的上溢。(分数:2.00)填空项 1:_42.在最坏情况下,堆排序需要比较的次数为 1。(分数:2.00)填空项 1:_43.在深度为 S 的满二叉树中,叶子结点的个数为 1。(分数:2.00)填空项 1:_44.结构化程序设计方法的主要原则可以概括为自顶向
18、下、逐步求精、_和限制使用 goto 语句。(分数:2.00)填空项 1:_45.在数据库管理系统提供的数据定义语言,数据操纵语言和数据控制语言中,_负责数据的模式定义与数据的物理存取构建。(分数:2.00)填空项 1:_46.若变量 a、b 已定义为 int 类型并赋值 21 和 55,要求用 printf 函数以 a=21,b=55 的形式输出,请写出完整的输出语句 1。(分数:2.00)填空项 1:_47.执行以下程序时输入 1234567CR,则输出结果是_。#include stdio.hmain()int a=1,b;scanf(“%2d%2d“,a,b);printf(“%d%d
19、/n“,a,b);(分数:2.00)填空项 1:_48.阅读下面语句,则程序的执行结果是_。#include “stdio.h“main()int a=-1,b=1,k;if(+a0)!(b-=0)printf(“%d,%d/n“,a,b);else printf(“%d,%d/n“,b,a);(分数:2.00)填空项 1:_49.下面程序的功能是输出数组 s 中最大元素的下标,请填空。main()int k,p,s=1,-9,7,2,-10,3):for(p=0,k=p;p6;p+)if(spsk)_printf(“%d/n“,k);(分数:2.00)填空项 1:_50.以下程序的输出结果是
20、_。void reverselint al,int n)int i,1;for(i=0;in/2;1+)t=ail;ai=an-1-i;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(1=6;i10;i+)s+=bi;printf(“% d/n“);(分数:2.00)填空项 1:_51.以下程序的输出结果是_。#include stdio.h#include string.hchar *fun(char*t)char *p=t;return (p+strlen(t)/2);main()char *str
21、=“abcdefgh“;str=fun(str);puts(str);(分数:2.00)填空项 1:_以下函数 rotate 的功能是:将 a 所指 N 行 N 列的二维数组中的最后一行放到 b 所指二维数组的第 0 列中,把 a 所指二维数组中的第 0 行放到 b 所指二维数组的最后一列中,b 所指二维数组中其他数据不变。#define N 4void rotade(int aN,int b1N)int i,j;for(i=0;iN;i+)biN-1= (12) ; (13) =aN-1i;(分数:4.00)填空项 1:_填空项 1:_52.下面程序的功能是:将字符数组 a 中下标值为偶数的
22、元素从小到大排列,其他元素不变。请填空。#includestdio.h#includestring.hmain()char a=“clanguage“,t;int i,j,k;k=strlen(a);for(i=0;i=k-2;1+=2)for(j=1+2;j=k;j+=2)if_ t=ai;ai=aj;aj=t;puts(a);printf(“)n“);(分数:2.00)填空项 1:_53.以下程序的输出结果是_。#include stdio. hmain()int a5=2,4,6,8,10,*p;p=a:p+:printf(“%d“,*p);(分数:2.00)填空项 1:_二级 C 语言
23、笔试-287 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.以下定义语句中正确的是( )。(分数:2.00)A.int a=b=0;B.char A=65+1,b=b; C.float a=1,*b=a,*c=b;D.double a=0.0;b=1.1;解析:解析 本题考查变量的定义方法。如果要一次进行多个变量的定义,则在它们之间要用逗号隔开,因此选项 A)和 D)错误。在选项 C)中,变量 c 是一个浮点型指针,它只能指向一个浮点型数据,不能指向指针变量 b,故选项 C)错误。2.设有定义:char p=1,2,3),*q=p;,以下不
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 287 答案 解析 DOC
