【计算机类职业资格】二级C语言笔试-429及答案解析.doc
《【计算机类职业资格】二级C语言笔试-429及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-429及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-429 及答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.下列叙述中正确的是( )。A)一个逻辑数据结构只能有一种存储结构B)逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:2.00)A.B.C.D.2.算法的时间复杂度是指( )。A算法的执行时间 B算法所处理的数据量C算法程序中的语句或指令条数 D算法在执行过程中所需要的基本运算次数(分数:1.00)A.B.C.D.3.在长
2、度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是A) O(n) B) O(n2) C) O(log2n) D) O(nlog2n)(分数:2.00)A.B.C.D.4.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.5.下面关于数据库三级模式结构的叙述中,正确的是( )。A) 内模式可以有多个,外模式和模式只有一个B) 外模式可以有多个,内模式和模式只有一个C) 内模式只有一个,模式和外模式可以有多个D) 模式只有一个,外模式和内模式可以有多个(分数:2.00)A.B.C
3、.D.6.对建立良好的程序设计风格,下列描述中正确的是( )。A) 程序应该简单、清晰、可读性好 B) 符号名的命名只需要符合语法C) 充分考虑程序的执行效率 D) 程序的注释可有可无(分数:2.00)A.B.C.D.7.下列叙述中正确的是( )。A) 软件交付使用后还需要进行维护 B) 软件一旦交付使用就不需要再进行维护C) 软件交付使用后其生命周期就结束 D) 软件维护是指修复程序中被破坏的指令(分数:1.00)A.B.C.D.8.数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_。(A) 编码设计(B) 测试阶段(C) 运行阶段(D) 物理设计(分数:2.00)A.B.C.D.9.
4、在 E-R 图中,用来表示实体的图形是_。A) 矩形 B) 椭网形C) 菱形 D) 三角形(分数:2.00)A.B.C.D.10.有三个关系 R、S 利 T 如下:(分数:2.00)A.B.C.D.11.下列叙述中正确的是_。(A) 为了建立一个关系,首先要构造数据的逻辑关系(B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项(C) 一个关系的属性名表称为关系模式(D) 一个关系可以包括多个二维表(分数:2.00)A.B.C.D.12.下列不正确的转义字符是( )。A) / B) /t C) /n D) 088(分数:2.00)A.B.C.D.13.C 语言中最简单的数据类型包括A
5、) 整型、实型、逻辑型 B) 整型、实型、字符型C) 整型、字符型、逻辑型 D) 字符型、实型、逻辑型(分数:1.00)A.B.C.D.14.以下叙述中错误的是_。A) C 语句必须以分号结束B) 复合语句在语法上被看作一条语句C) 空语句出现在任何位置都不会影响程序运行D) 赋值表达式末尾加分号就构成赋值语句(分数:1.00)A.B.C.D.15.有以下程序:main()int x=3, y=2, z=1;printf(“% d/n“, x/y程序运行后的输出结果是_。A) 3 B) 2 C) -1 D) 0(分数:1.00)A.B.C.D.16.若变量均已正确定义并赋值,以下合法的 C 语
6、言赋值语句是A) x=y=5; B) x=n%2.5; C) x+n=i; D) x=5=4+1;(分数:1.00)A.B.C.D.17.能正确表示逻辑关系“a10 或 a0”的 C 语言表达式是A) a=10 or a=0 B) a=0 | a=10 C) a=10 else a+;语句功能不同的 switch 语句是A) switch(a)case 1: a=b; break;default:a+;B) switch(a=1)case 0: a=b; break;case 1:a+;C) switch(a)default: a+; break;case 1:a=b;D) switch(a=
7、1)case 1:a=b; break;case 0:a+;(分数:1.00)A.B.C.D.19.有下列程序:fun(int x, int y) return (x+y);main()int a =1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+);printf(“%d/n“, sum);执行后的输出结果是( )。A) 6 B) 7C) 8 D) 9(分数:2.00)A.B.C.D.20.已知下面的程序段,正确的判断是 _。#define A 3#define B(A) (A+1)*A) int a=3;X=3*(A+B(7);A) 程序错误,不允许嵌套定义 B) X
8、=93C) X=81 D) 程序错误,宏定义不允许有参数(分数:1.00)A.B.C.D.21.若执行下列程序时从键盘上输入 2,则输出结果是( )。#includestdio.hmain()int a;scanf(“%d“,B) while(ch=getchar()=/n)putchar(ch);C) while(ch=getchar()!=/N)putchar(ch);D) while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D.23.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。A) 地址传递B) 单向值传递C) 由
9、实参传递给形参,再由形参传递给实参D) 传递方式由用户指定(分数:2.00)A.B.C.D.24.下面程序段的运行结果是char*s=“abcde“;s+=2;printf(“%d“,s);A) cde B) 字符c C) 字符c的地址 D) 无确定的输出结果(分数:2.00)A.B.C.D.25.以下关于 return 语句的叙述中正确的是( )。A一个自定义函数中必须有一条 return 语句B一个自定义函数中可以根据不同情况设置多条 return 语句C定义成 void 类型的函数中可以有带返回值的 return 语句D没有 return 语句的自定义函数在执行结束时不能返回到调用处(分
10、数:1.00)A.B.C.D.26.以下关于 return 语句的叙述中正确的是A) 一个自定义函数中必须有一条 return 语句B) 一个自定义函数中可以根据不同情况设置多条 return 语句C) 定义成 void 类型的函数中可以有带返回值的 return 语句D) 没有 return 语句的自定义函数在执行结束时不能返同到调用处A.B.C.D.27.下列选项中,能正确定义数组的语句是A) intnum02008; B) intnum;C) int N=2008; D) #defineN 2008int numN; int numN;A.B.C.D.28.有定义语句:char s10;
11、,若要从终端给 s 输入 5 个字符,错误的输入语句是A) gets(for( )j+=ai;printf(“%d“,j-40);A) i=1;i4;+i B) i=1;i3;+i C) i=4;i2;i- D) i=2;i4;+i(分数:2.00)A.B.C.D.32.若有定义 int a10,*p=a,则 p+6 表示( )。A) 数组元素 a5的值 B) 数组元素 a5的地址C) 数组元素 a6的地址 D) 数组元素 a0的值加上 5(分数:1.00)A.B.C.D.33.下列说法正确的是( )。A) 在 C 语言中,可以使用动态内存分配技术,定义元素个数可变的数组B) 在 C 语言中,
12、数组元素的个数可以不确定,允许随机变动C) 在 C 语言中,数组元素的数据类型可以不一致D) 在 C 语言中,定义了一个数组后,就确定了它所容纳的元素的个数(分数:2.00)A.B.C.D.34.有下列程序:#includestdio.hstructstint(x,y)date2=1,10,2,20;main()structst*p=date;printf(“%d,“,p-y);printf(“%d/n“,(+p)-x);程序的运行结果是( )。A10,1 B20,1 C10,2 D20,2(分数:1.00)A.B.C.D.35.下列语句中,在字符串 s1 和 s2 相等时显示“they ar
13、e Equal“的是( )。A) if(*s1=*s2) puts(“they are Equal“);B) if(!strcmp(s1,s2)puts(“they are Equal“);C) if(s1=s2) Puts(“they are Equal“);D) if(strcmp(s1,s2) )puts(“they are Equal“);(分数:1.00)A.B.C.D.36.以下程序运行后的输出结果是#includestdio.h#define SUB(a)(a)-(a)main()int a=2, b=3, c=5, d;d=SUB(a+b)*e;printf(“%d/n“, d
14、);A) 0 B) -12 C) -20 D) 10(分数:2.00)A.B.C.D.37.有以下程序:# 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,4C) 4,3 D) 64,64(分数:2.00)A.B.C.D.38.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是A) auto 和 register B) extern 和 register C) auto 和 static D) stati
15、c 和 register(分数:2.00)A.B.C.D.39.有以下程序struct Sint n;int a20;void f(int *a,int n )int i;for(i=0;iN-1;i+)NBSP;AI+=I;main()int i;struct S s10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0;iS.N;i+)NBSP;PRINTF(“%D“,S.AI);程序运行后的输出结果是_。(A) 2,4,3,9,12,12,11,11,18,9,(B) 3,4,2,7,9,8,6,5,11,10,(C) 2,3,1,6,8,7,5,4,10,
16、9,(D) 1,2,3,6,8,7,5,4,10,9,(分数:2.00)A.B.C.D.40.若有结构体定义:struct stuint num;char sex;int age;a1,a2;则下列语句中错误的是( )。A) printf(“%d,%c,%d“,a1); B) a2.age=a1.age;C) a1.age+; D) a1.num=5;(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 1。(分数:2.00)填空项 1
17、:_42.软件工程研究的内容主要包括:软件开发技术和 1。(分数:2.00)填空项 1:_43.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_44.语句“x+;+x;x=1+x;”执行后都使变量 x 中的值增 1,请写出一条同一功能的赋值语句 1。(分数:4.00)填空项 1:_45.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是U /U。 #includestdio.h main() int a=200,b=010; printf(“%d%d/n“,a,b); (分数:2.00)填空项 1:_4
18、7.有以下程序:#include stdio.hmain()int t=1,i=5;for(;i=0;i-) t*=i;printf(“%d/n“,t);执行后的输出结果是U /U。(分数:2.00)填空项 1:_48.下列程序的功能:对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#includestdio.h#includectype.hmain()char c;int a,s=0;while(_)if(isdigit(c)a=c-0;s+=a;printf(“s=%d“,s);(分数:2.00)填空项 1:_49.下列程序段的运行结果是_。int x=0,y=0;whil
19、e(x15) y+,x+=+y;printf(“%d,%d“,y,x);(分数:2.00)填空项 1:_50.将以下程序段写成三目运算表达式:U /U。if(ab) max=a;else max=b;(分数:2.00)填空项 1:_51.请将以下程序中的函数声明语句补充完整。#includestdio.hint _;main()int x, y, (*P)();scanf(“%d%d“, p=max;printf(“%d/n“, (*P)(x, y);int max(int a, int b)return(ab ? a:b);(分数:2.00)填空项 1:_52.以下程序的功能是:借助指针变量
20、找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。 #includestdio.h main() int a10, *p, *s; for(p=a;p-a10;p+) scanf(“%d“, p); for(p=a, s=a;p-a10;p+) if(*p*s) s=p; printf(“max=%d/n“, _); (分数:2.00)填空项 1:_53.在宏定义#define P13.14159 中,用宏名 PI 代替一个 1。(分数:2.00)填空项 1:_54.以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。#include
21、stdiohmain()int a10,*p,*s;for(p=a;P-a10;p+)scanf(“%d“,p);for(p=a,s=a;p-a10;p+)if(*p*s)s=_;printf(“index=%d/n“,s-a);(分数:2.00)填空项 1:_55.在 E-R 图中,图形包括矩形框、菱形框、椭圆框,其中表示实体联系的是 1 框。(分数:2.00)填空项 1:_二级 C 语言笔试-429 答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.下列叙述中正确的是( )。A)一个逻辑数据结构只能有一种存储结构B)逻辑结构属于线性结构,存储
22、结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:2.00)A.B.C.D. 解析:解析 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。2.算法的时间复杂度是指( )。A算法的执行时间 B算法所处理的数据量C算法程序中的语句或指令条数 D算法在执行过程中所需要的基本运算次数(分数:1.00)A.B.C.D. 解析:解析 算法的时间复杂度是指算
23、法需要消耗的时间资源。一般来说,计算机算法是问题规模 n 的函数 f(n),算法的时间复杂度也因此记做 T(n)=0(f(n)因此,问题的规模 n 越大,算法执行的时间的增长率与 f(n)的增长率正相关,称做渐进时间复杂度(Asymptotic Time Complexity)。简单来说就是算法在执行过程中所需要的基本运算次数。3.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是A) O(n) B) O(n2) C) O(log2n) D) O(nlog2n)(分数:2.00)A.B.C. D.解析:解析 二分查找法也称为折半查找法。它的基本思想是:将 n 个元素分成个数大
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 429 答案 解析 DOC
