【计算机类职业资格】二级C语言笔试-467及答案解析.doc
《【计算机类职业资格】二级C语言笔试-467及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-467及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-467 及答案解析(总分:100.50,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.下列选项中,不符合良好程序设计风格的是A) 源程序要文档化 B) 数据说明的次序要规范化C) 避免滥用 goto语句 D) 模块没计要保证高耦合、高内聚(分数:2.00)A.B.C.D.2.下列数据结构中,属于非线性结构的是A) 循环队列 B) 带链队列C) 二叉树 D) 带链栈(分数: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,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是A) ABCED B) DCBEA C) DBCEA D)
3、CDABE(分数:2.00)A.B.C.D.6.冒泡排序在最坏情况下的比较次数是( )。An(n+1)/2 Bnlog 2nCn(n-1)/2 Dn/2(分数:1.00)A.B.C.D.7.数据的完整性是指数据的正确性、有效性和 _。A) 可维护性 B) 独立性 C) 安全性 D) 相容性(分数:2.00)A.B.C.D.8.设 R是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。A) R-S B) RS C) RS D) RS(分数:2.00)A.B.C.D.9.有以下程序:main()int i=1, j=2, k=3;if(i+=1程序运行后的输出结果是_。A) 1 2 3
4、 B) 2 3 4 C) 2 2 3 D) 2 3 3(分数:2.00)A.B.C.D.10.以下程序的输出结果是( )。main()int a=3;printf(“%d/n“,(a+a-=a*a);A-6 B12 C0 D-12(分数:1.00)A.B.C.D.11.设有定义:int x=2;,以下表达式中,值不为 6的是_。A) x*=x+1 B) x+,2*x C) x*=(1+x) D) 2*x,x+=2(分数:2.00)A.B.C.D.12.若有“double a;”,则正确的输入语句是( )。A) scanf(“%lf“,A) ; B) scanf(“%f“, C) scanf(“
5、%lf“,(分数:2.00)A.B.C.D.13.下列程序的输出结果是( )。main()int a,b,d=25;a=d/10%9;b=aA) 6,1 B) 2,1 C) 6,0 D) 2,0(分数:2.00)A.B.C.D.14.若执行下列的程序时,从键盘上输入 1和 2,则输出结果是( )。#includestdio.hmain()int a,b,s;scanf(“%d%d“,if(i+= =1A) 1 2 3 B) 2 3 4C) 2 2 3 D) 2 3 3(分数:2.00)A.B.C.D.17.下列程序的输出结果是( )。int f1(int x,int y)return xy?x
6、:y;int f2(int x,int y)return xy?y:x;main( )int a=4,b=3,c=5,d=2,e,f,g;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);A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:2.00)A.B.C.D.18.若 i、j 已定义成 int型,则以下程序段中内循环体的总执行次数是( )。 for(i=6;i0;i-) for(j=0;j4j+) A) 20 B) 24 C) 25 D) 3
7、0(分数:2.00)A.B.C.D.19.在执行完下列的 C语句段之后,则 B的值是( )。char a=A;int b;B=(34A) 0 B) 1 C) TRUE D) FALSE(分数:2.00)A.B.C.D.20.有下列函数定义:fun(float h)printf(“%f,%f/n”,h,h*h);该函数的类型是( )。A) int类型 B) float 类型C) void类型 D) 函数无类型说明,定义有错(分数:2.00)A.B.C.D.21.若有说明 int a3=0,0;,则不正确的叙述是( )。A) 数组 a的每个元素的初值都是 0B) 数组 a的第一维大小为 1C) 数
8、组 a的行数为 1D) 只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 0(分数:2.00)A.B.C.D.22.有以下程序#inlucdemain()int n,*p=NULL;*p=n;printf(“Input n:“); scanf(“%d“,p); printf(“output n:“); printf(“%d/n“,p);该程序试图通过指针 p为变量 n读入数据并输出,但程序有多处错误,以下语句正确的是_。(A) int n,*p=NULL;(B) *p=n;(C) scanf(“%d“,p)(D) printf(“%d/n“,p);(分数:2.00)A.B.C.D
9、.23.有以下程序:void change(int k)k0=k5;main()int x10=1,2,3,4,5,6,7,8,9,10),n=0;while(n=4)change(xn);n+;for(n=0;n5;n+)printf(“%d“,xn);printf(“/n“);程序运行后的输出结果是_。A) 6 7 8 9 10 B) 1 3 5 7 9C) 1 2 3 4 5 D) 6 2 3 4 5(分数:2.00)A.B.C.D.24.以下程序的输出结果是 _。#includestdio.hvoid prt(int*x,int*y,int*z)printf(“%d,%d,%d/n“,
10、+*x,+*y,*(z+);int a=10,b=40,c=20;main()prt(,以下叙述中正确的是_。A) 定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量B) 定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组C) 定义 line是一个指针数组,语句中的*号称为间址运算符D) 定义 line是一个指向字符型函数的指针(分数:2.00)A.B.C.D.27.若 fp是指向某文件的指针,且通过该文件指针读数据已读到文件末尾,则函数 feof(fp)的返回值是( )。A) EOF B) -1 C) 1 D) NULL(分数:1.00)A.B.C.
11、D.28.下列选项中,值为 1的表达式是( )。A) 1-0 B) 1-/0 C) 1-0 D) /0,0(分数:1.00)A.B.C.D.29.下列二维数组的说明中,不正确的是( )。A) floata40,1,8,5,9; B) inta34;C) #define N 5 D) inta29.5;float aN3;(分数:2.00)A.B.C.D.30.以下能正确定义字符串的语句是_。(A) char str=/064;(B) char str=“kx43“;(C) char str=“;(D) char str=“/0“;(分数:2.00)A.B.C.D.31.下列程序的运行结果是(
12、)。#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.32.以下程序(strcat 函数用以连接两个字符串)运行后的输出结果是 #includestdio.h #includestring.h main() char a20=“ABCD/OEFG/0“, b=“IJK“; strcat(a, b); printf(“%s/n:, A); A) ABCD
13、/0FG/0IJK B) ABCDIJK C) IJK D) EFGIJK(分数:2.00)A.B.C.D.33.有以下程序#includestdio.hint fun()static int x=1;x*=2;return x;main()( int i, s=1;for(i=1; i=3; i+)s*=fun();printf(“%d/n“, s);程序运行后的输出结果是_。A) 0 B) 10 C) 30 D) 64(分数:1.00)A.B.C.D.34.以下程序运行后的输出结果是#includestdio.hint b=2;int fun(int *k)b=*k+b; return(b
14、);main()int a10=1, 2, 3, 4, 5, 6, 7, 8, i;for(i=2; i4; i+)b=fun( printf(“%d“, b);printf(“/n“);A) 10 12 B) 8 10 C) 10 28 D) 10 16(分数:2.00)A.B.C.D.35.有以下程序#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
15、(“%d,“,yi);printf(“/n“);程序的运行结果是_。A) 1,2,3,4, B) 1,0,7,0, C) 1,4,5,9, D) 3,4,8,10,(分数:2.00)A.B.C.D.36.有以下程序#includestdio.h#includestring.htypedef structchar name9;char sex;float score2;)STU;void f(STU a)STU b=“Zhao“,m,85.0,90.0);int i;strcpy(a.name,b.name);a.sex=b.sex:for(i=0;i2;i+)ascorei=b.scorei;
16、main()STU c=“Qian“,f,95.0,92.0;f(c):printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1);程序的运行结果是( )。AQian,f,95,92 BQian,m,85,90CZhao,f,95,92 DZhao,m,85,90(分数:1.00)A.B.C.D.37.下列程序的运行结果为( )。#define MAX(x,y)(x)(y)?(x):(y)main()int a=2,b=3,c=1,d=3,t;printf(“%d/n“,(MAX(a+b,c+d)*100);A) 500 B) 5
17、C) 4 D) 400(分数:1.00)A.B.C.D.38.调用 gets和 puts函数时,必须包含的头文件是( )。A) stdio.h B) stdlib.h C) define D) 以上都不对(分数:1.00)A.B.C.D.39.若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )。A) EOF B) -1 C) 非零值 D) 0(分数:2.00)A.B.C.D.40.读取二进制文件的函数调用形式为:fread(buffer, size, count, pf);,其中 buffer代表的是_。A) 一个文件指针,指向待读取的文件B) 一个整型变
18、量,代表待读取的数据的字节数C) 一个内存块的首地址,代表读入数据存放的地址D) 一个内存块的字节数(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.50)41.对于长度为 n的顺序存储的线性表,当随机插入和删除个元素时,需平均移动元素的个数为U /U。(分数:2.00)填空项 1:_42.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_43.在面向对象方法中,对象之间进行通信的构造称为 1。(分数:2.00)填空项 1:_44.测试用例包括输入值集和 1 值集。(分数:2.00)填空项 1:_45.在两种基本测试方法中, 1 测试
19、的原则之。一是保证所测模块中每一个独立路径至少要执行一次。(分数:2.00)填空项 1:_46.数据的逻辑结构在计算机存储空间中的存放形式称为数据的U /U。(分数:2.00)填空项 1:_47.数据库设计分为以下六个设计阶段:需求分析阶段、U /U、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_48.以下程序的功能是从键盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束。请填空。#include stdiohmain()float x,amax,amin;scanf(“%f“,while(!x);(分数:2.00)填空项 1:_50.以下
20、程序的运行结果是_。#includestdio.hlong fib(int g)switch(g)case 0:return 0;case 1:case 2:return 1;return(fib(g-1)+fib(g-2);main()long k;k=fib(5);printf(“k=%51d/n“,k);(分数:2.00)填空项 1:_51.以下程序运行后的输出结果是U /U。main()int a, b, c;a=25;b=025;c=0x25;printf(“% d % d % d/n“, a, b, c);(分数:2.00)填空项 1:_52.以下程序的输出结果是_。 #inclu
21、de main() int a5=2,4,6,8,10, *p; p=a; p+; printf(“%d“,*p); (分数:2.00)填空项 1:_53.以下程序的输出结果是_。#includestdio.h#includestring.hchar*fun(char*t)char*p=t;return(p+strlen(t)/2);main()char*str=“abcdefgh“;str=fun(str);puts(str);(分数:2.50)填空项 1:_54.以下程序的功能是:将值为三位正整数的变量 X中的数值按照个位、十位、百位的顺序拆分并输出。请填空#includestdio.hm
22、ain()int x=256;printf(“%d-%d-%d/n“,_,x/10%10,x/100);(分数:4.00)填空项 1:_55.在使用报表向导创建报表时,如果数据源包括父表和子表,应该选取 1 报表向导。(分数:2.00)填空项 1:_二级 C语言笔试-467 答案解析(总分:100.50,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.下列选项中,不符合良好程序设计风格的是A) 源程序要文档化 B) 数据说明的次序要规范化C) 避免滥用 goto语句 D) 模块没计要保证高耦合、高内聚(分数:2.00)A.B.C.D. 解析:解析 编程风格是在不影响性能的
23、前提下,有效地编排和组织程序,以提高可读性和可维护性。更直接地说,风格意味着要按照规则进行编程。这些规则包括:程序文档化。就是程序文档包含恰当的标识符、适当的注解和程序的视觉组织等。数据说明。出于阅读理解和维护的需要,最好使模块前的说明语句次序规范化。此外,为方便查找,在每个说明语句的说明符后,数据名应按照字典顺序排列。功能模块化。即把源程序代码按照功能划分为低耦合、高内聚的模块。注意 goto语句的使用。合理使用goto语句可以提高代码的运行效率,但 goto语句的使用会破坏程序的结构特性。因此,除非确实需要,否则最好不使用 goto语句。2.下列数据结构中,属于非线性结构的是A) 循环队列
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 467 答案 解析 DOC
