【计算机类职业资格】二级C语言笔试-356及答案解析.doc
《【计算机类职业资格】二级C语言笔试-356及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-356及答案解析.doc(40页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-356 及答案解析(总分:108.00,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.下面程序main()int x=32;printf(“%d/n“,x=x1);的输出是_。A) 100 B) 160 C) 120 D) 64(分数:2.00)A.B.C.D.2.在 Windows菜单中,暗淡(灰色)的命令项表示该命令A) 暂时不能用B) 正在执行 C) 包含下一层菜单 D) 包含对话框(分数:1.00)A.B.C.D.3.以下程序运行后,输出结果为_。main()int y=18,i=0 j,a8;doai=y%2; i+; y=y/2;while
2、(y=1);for(j=1-1;j=0;j-)printf(“%d“,aj);printf(“/n“);A) 10000 B) 10010 C) 00110 D) 10100(分数:1.00)A.B.C.D.4.下列不是合法的 C语言语句是( )。A) a=5 B) int i;i+;C) ; D) ;(分数:2.00)A.B.C.D.5.设有如下函数:fun(floatx)x*=x+;printf(“%d/n“,x);return(x);则函数的类型是_。A) float B) voidC) int D) 无法确定(分数:1.00)A.B.C.D.6.有如下程序main()int x=1,a
3、=0,b=0;switch(x)case 0:b+;case 1:a+;case2:a+;b+;printf(“a%d,b=%d/n“,a,B) ;该程序的输出结果是_。A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(分数:1.00)A.B.C.D.7.下列 4项说法中,不正确的是_。A) 数据库减少了数据冗余 B) 数据库中的数据可以共享C) 数据库避免了一切数据的重复 D) 数据库具有较高的数据独立性(分数:1.00)A.B.C.D.8.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指_。A) 数据与程序独立存放B) 不同的数据被存放在不同的
4、文件中C) 不同的数据只能被对应的应用程序所使用D) 以上三种说法都不对(分数:2.00)A.B.C.D.9.若有以下定义和语句,则输出结果是char s110=“abed!“, *s2=“/n123/“;printf(“%d %d/n“, strlen(s1), strlen(s2);A) 5 5 B) 10 5 C) 10 7 D) 5 8(分数:2.00)A.B.C.D.10.设 a和 b均为 double型变量,且 a=5.5、b=2.5,则表达式(int)a+b/b 的值是A) 6.500000 B) 6 C) 5.500000 D) 6.000000(分数:1.00)A.B.C.D
5、.11.按通信距离划分,计算机网络可以分为局域网和广域网。下列网络中属于局域网的是 ( )A) InternetB) CERNETC) NovellD) CHINANET(分数:1.00)A.B.C.D.12.下列关于线性表的叙述中,不正确的是( )。 A) 线性表可以是空表 B) 线性表是一种线性结构 C) 线性表的所有结点有且仅有一个前件和后件 D) 线性表是由 n个元素组成的一个有限序列(分数:2.00)A.B.C.D.13.下列程序的输出结果是( )。#includestdio.hmain()int a=4;printf(“%d/n“,(a+=a-=a*a);A) -8 B) 14 C
6、) 0 D) -24(分数:2.00)A.B.C.D.14.若有定义语句:int k23, *pk3; ,则以下语句中正确的是( )。A) pk=k; B) pk0=k12; C) pk=k0; D) pk1=k;(分数:1.00)A.B.C.D.15.设已有定义:float x; 则以下对指针变量 p进行定义且赋初值的语句中正确的是_。A) float *p=1024;B) int *p=(float)x;C) float p=x;D) float *p=x;(分数:2.00)A.B.C.D.16.若有下面的说明和定义,则 sizeof(struct aa )的值是_。struct aain
7、t rl; double r2; float r3;unin uuchar ul5; long u22ua;mya;A) 30 B) 29 C) 24 D) 22(分数:2.00)A.B.C.D.17.已定义以下函数:fun (Char* p2, char* p1)while (*p2=*p1) != /0) p1+;p2+; 函数的功能是( )。A) 将 p1所指字符串复制到 p2所指内存空间 B) 将 p1所指字符串的地址赋给指针 p2C) 对 p1和 p2两个指针所指字符串进行比较 D) 检查 p1和 p2两个指针所指字符串中是否有/0,(分数:1.00)A.B.C.D.18.有下列程序
8、段:int k=0,a=1,b=2,c=3;k=ab?b:a;k=kc?c=k;执行该程序段后,k 的值是( )。A) 3 B) 2 C) 1 D) 0(分数:1.00)A.B.C.D.19.有下列程序:#includestdio.hstructstint(x,y)date2=1,10,2,20;main()structst*p=date;printf(“%d,“,p-y);printf(“%d/n“,(+p)-x);程序的运行结果是( )。A) 10,1 B) 20,1 C) 10,2 D) 20,2(分数:1.00)A.B.C.D.20.C语言库函数 fgets(str,n,fp)的功能是
9、_。A) 从 fp指向的文件中读取长度 n的字符串存入 str指向的内存B) 从 fp指向的文件中读取长度不超过 n-1的字符串存入 str指向的内存C) 从 fp指向的文件中读取 n个字符串存入 str指向的内存D) 从 str读取至多 n个字符到文件 fp(分数:1.00)A.B.C.D.21.下列程序的运行结果是( )。main()int a=-5,b=1,c=1;int x=0,Y=2,z=0;if(c0)x=x+ y;if(a=0)if(b0)if(c=0)y=x-y;else if(c0)Y=x-y;else z=y;printf(“%d,%d,%d/n“,x,y,z);A) 2,
10、2,0 B) 2,2,2 C) 0,2,0 D) 2,0,2(分数:1.00)A.B.C.D.22.有下列程序:main()int k5;while(-k) printf(“%d“,k-3);printf(“/n“);执行后的输出结果是( )。A) 1 B) 2 C) 4 D) 死循环(分数:2.00)A.B.C.D.23.C语言中,组成数据文件的成分是_。A) 记录 B) 数据行 C) 数据块 D) 字符(字节)序列(分数:1.00)A.B.C.D.24.下列叙述中正确的是A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B) 顺序存储结构只针对线性结构,链式存储结构
11、只针对非线性结构C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表D) 链式存储结构比顺序存储结构节省存储空间(分数:2.00)A.B.C.D.25.以下不正确的定义语句是( )。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;(分数:1.00)A.B.C.D.26.下列程序的输出结果是#include“stdio.h“#define M(x,y) x%ymain()int a,m=12,n=100
12、;a=M(n,m);printf(“%d/n“,a-);A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.27.有以下程序#include stdio.hvoid fun(int *a, int n)/* fun 函数的功能是将 a所指数组元素从大到小排序*/int t, i,j;for (i=0; in-1 ;i+)for 0=i+l; jn; j+)if(aiaj) t=ai; ai=aj; aj=t; main()int c10= 1,2,3,4,5,6,7,8,9,0,i;fun(c+4, 6);for (i=0;i10; i+) printf(“%d,“, ci
13、);printf(“/n“);A) 1,2,3,4,5,6,7,8,9,0, B) 0,9,8,7,6,5,1,2,3,4,C) 0,9,8,7,6,5,4,3,2,1, D) 1,2,3,4,9,8,7,6,5,0,(分数:1.00)A.B.C.D.28.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码 15被放到第( )个位置。 A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.29.有以下程序:#includevoid WriteStr(char *fn,char*str)FIL
14、E*fp;fp=fopen(fn,“w“);fputs(str,fp);fclose(fp);main()WriteStr(“t1.dat“,“start“);WriteStr(“t1.dat“,“end“);程序运行后,文件 t1.dat中的内容是_。A) start B) end C) startend D) endrt(分数:2.00)A.B.C.D.30.若有以下定义和语句: ( )ints45(* ps)5;ps=s;则对 s数组元素的正确引用形式是Apsq+1B*(ps+3)Cps02D*(ps+1)+3(分数:1.00)A.B.C.D.31.有以下程序#includestdioh
15、int f(int t,int n);main()inta4=1,2,3,4,s;s=f(a,4);printf(“%d/n“,s);int f(int t,int n)if(n0)returntn-1+f(t,n-1);else return 0;程序运行后的输出结果是A) 4 B) 10 C) 14 D) 6A.B.C.D.32.以下能正确定义一维数组的选项是A) int a5=0,1,2,3,4,5 B) char a=0,1,2,3,4,5,/0;C) char a=A,B,C; D) int a5=“0123“;(分数:1.00)A.B.C.D.33.有以下程序#includestd
16、io.h#define PT3.5;#define S(x)PT*x*x;main()inta=1,b2; printf(“%4.1f/n“,S(a+b); 程序运行后的输出结果是_。A) 14.0 B) 31.5 C) 7.5 D) 程序有错无输出结果(分数:2.00)A.B.C.D.34.以下叙述中错误的是( )。A) C语言中对二进制文件的访问速度比文本文件快B) C语言中,随机文件以二进制代码形式存储数据C) 语句 FILE fp;定义了一个名为 fp的文件指针D) C语言中的文本文件以 ASCII码形式存储数据(分数:1.00)A.B.C.D.35.有以下程序:main()int x
17、,i;for(i=1;i=50;i+)x=i:if(x%2=0)if(x%3=0)if(x%7=0)printf(“%d“,i);输出结果是( )。A) 28 B) 27 C) 42 D) 41(分数:1.00)A.B.C.D.36.若有以下的说明,对初值中整数 2的正确引用方式是( )。static structchar ch;int i;double x;a23=aa,1,3,4,5,b,2,7,9,8,c,31,93;A)a01.ch B)a01.i C)a00.i D)a02.i(分数:1.00)A.B.C.D.37.若有说明语句:double*P,a;则能通过 scanf语句正确给输
18、入项读入数据的程序段是_。A) *p=a;scanf(“%lf“,p); B) *p=scanf(“%f“,p);C) p=scanf(“%lf“,*p); D) p=a;scanf(“%lf“,p);(分数:2.00)A.B.C.D.38.有以下程序:main()unsigned int a;int b=-1;a=b;printf(“%u“,a);程序运行后的输出结果是( )。A) -1 B) 65535 C) 32767 D) -32768(分数:1.00)A.B.C.D.39.已有定义“char c;”,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母
19、的表达式是( )。Aisupper(c) BA-c=ZCA=cint i,j;i=sizeof(a);j=strlen(a);printf(“%d,%d“,i,j);A) 7,7 B) 7,6 C) 6,6 D) 6,7(分数:2.00)A.B.C.D.41.以下程序有错,错误原因是main()int*p,i;char*q,ch;p=printf(“%d/n“,MA(1+a+b);A) 5 B) 6 C) 7 D) 8(分数:1.00)A.B.C.D.43.当调用函数时,实参是一个数组名,则向函数传送的是 _。A) 数组的长度 B) 数组的首地址C) 数组每一个元素的地址 D) 数组每个元素中
20、的值(分数:1.00)A.B.C.D.44.以下叙述正确的是( )。A) continue语句的作用是结束整个循环的执行B) 只能在循环体内和 switch语句体内使用 break语句C) 在循环体内使用 break语句或 continue语句的作用相同D) 从多层循环嵌套中退出时,只能使用 goto语句(分数:1.00)A.B.C.D.45.有以下程序:#include stdio.hmain()FILE *fp; int i, a6=1,2,3 ,4,5,6;fp=fopen(“d3.dat“,“w +b“);fwrite(a,sizeof(int), 6, fp);fseek(fp, s
21、izeof(int)*3, SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动 3个 int型数据*fread(a, sizeof(int), 3, fp); fclose(fp);for(i=0; i6; i+) printf(“%d,“, ai);程序运行后的输出结果是A) 4,5,6,4,5,6, B) 1,2,3,4,5,6,C) 4,5,6,1,2,3, D) 6,5,4,3,2,1,(分数:1.00)A.B.C.D.46.有以下程序fun(char p10)int n=0,i;for(i=O;i7;i)if(piO=T)n;return n;main()char st
22、r10=“Mon“,“Tue“,“Wed“,“Thu“,“Fri“, “Sat“,“Sun“;printf(“%d/n“,fun(str);A) 1 B) 2 C) 3 D) 0(分数:1.00)A.B.C.D.47.某一个汉字的区位码为(2113H),则其内码为 ( )A) (2199)10B) (C1B3H)C) (C1B3)10D) (B1B3H)(分数:1.00)A.B.C.D.48.下列程序的输出结果是 _。main()int i=3; switch(i)case 1:casc 2: printf(“%d“,i);case 3:case 4: break;defanlt:printf
23、(“OK“);A) 0 B) 3 C) OK D) 没有任何输出(分数:1.00)A.B.C.D.49.下面的函数调用语句中,func 函数的实参个数是_。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8);A) 3 B) 4 C) 5 D) 8(分数:2.00)A.B.C.D.50.对长度为 n的线性表进行顺序查找,在最坏情况下,所需要的比较次数为A) log2n B) n/2 C) n D) n+1(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:42.00)51.在长度为 n的有序线性表中进行二分查找,最坏的情况下,需要的比较次数为 1。(分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 356 答案 解析 DOC
