【计算机类职业资格】二级C语言真题(3)及答案解析.doc
《【计算机类职业资格】二级C语言真题(3)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言真题(3)及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言真题(3)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关2.下列叙述中正确的是_。(分数:1.00)A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D.以上说法均错误3.某二叉树共
2、有 12 个节点,其中叶子节点只有 1 个,则该二叉树的深度为(根节点在第 l 层)_。(分数:1.00)A.3B.6C.8D.124.对长度为 n 的线性表作快速排序,在最坏情况下,比较次数为_。(分数:1.00)A.nB.n-1C.n(n-1)D.n(n-1)/25.结构化程序设计中,下面对 goto 语句使用描述正确的是_。(分数:1.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句D.以上说法均错误6.下面不属于软件测试实施步骤的是_。(分数:1.00)A.集成测试B.回归测试C.确认测试D.单元测试7.下面不属于软件需求分析阶段主要工
3、作的是_。(分数:1.00)A.需求变更申请B.需求分析C.需求评审D.需求获取8.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的_。(分数:1.00)A.记录B.行C.属性D.元组9.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 c 3 1 T A B C a 1 2 b 2 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.选择B.差C.交D.并10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司表 C(公司号,公司名,地址,注册资本,法
4、人代表,员工数),职员表 S(职员号,姓名,性别,年龄,学历),工作表 W(公司号,职员号,工资),则表 W 的键(码)为_。(分数:1.00)A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资11.以下叙述中正确的是_。(分数:1.00)A.每个后缀为.C 的 C 语言源程序都可以单独进行编译B.每个后缀为.C 的 C 语言源程序都应该包含一个 main 函数C.在 C 语言程序中,main 函数必须放在其他函数的最前面D.在 C 语言程序中,只有 main 函数才可单独进行编译12.C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是_。(分数:1.0
5、0)A.关键字可用做用户标识符,但失去原有含义B.预定义标识符可用做用户标识符,但失去原有含义C.在标识符中大写字母和小写字母被认为是相同的字符D.用户标识符可以由字母和数字任意顺序组成13.以下选项中合法的常量是_。(分数:1.00)A.9 9 9B.2.7eC.0XabD.123E 0.214.C 语言主要是借助以下哪种手段来实现程序模块化的?_。(分数:1.00)A.定义函数B.定义常量和外部变量C.使用丰富的数据类型D.使用三种基本结构语句15.以下叙述中错误的是_。(分数:1.00)A.数值型常量有正值和负值的区分B.常量可以用一个符号名来代表C.定义符号常量必须用类型名来设定常量的
6、类型D.常量是在程序运行过程中值不能被改变的量16.若有定义和语句: int a,b; scanf(“%d,%d,“, 以下选项中的输入数据,不能把值 3 赋给变量 a、5 赋给变量 b 的是_。(分数:1.00)A.3,5,4B.3,5C.3,5,D.3,517.C 语言中 char 类型数据占字节数为_。(分数:1.00)A.1B.2C.3D.418.下列关系表达式中,结果为“假”的是_。(分数:1.00)A.3=4B.(34)=1C.(3+4)6D.(3!4)219.若以下选项中的变量 a,b,y 均已正确定义并赋值,则语法正确的 switch 语句是_。(分数:1.00)A.switc
7、h(a*a+b*b) default : break;case 3 : y=a+b; break;case 2 : y=a-b; break;B.switch( a+b )case1 : case3 : y=a+b; break;case0 : case4 : y=a-b;C.switch (a+9)case a : y=a-b;case b : y=a+b;D.switch a * b case 10 : y=a+b;default : y=a-b;20.有以下程序: #include stdio.h main( ) int a=-2,b=0; while(a+ printf(“%d,%d/
8、n“, a,b); 程序运行后输出的结果是_。(分数:1.00)A.0,2B.0,3C.1,3D.1,221.设有定义: int x=0, *p; 紧接着的赋值语句正确的是_。(分数:1.00)A.*p=NULL;B.p=NULL;C.p=x;D.*p=x;22.下列叙述中正确的是_。(分数:1.00)A.空字符串不占用内存,其内存空间大小是 0B.两个连续的单引号(“)是合法的字符常量C.可以对字符串进行关系运算D.两个连续的双引号(“)是合法的字符串常量23.有以下程序: #include stdio.h main( ) char a=“H“; a=(a=“A“ printf(“%c/n“
9、,a); 程序运行后的输出结果是_。(分数:1.00)A.HB.hC.AD.a24.有以下程序: #include stdio.h int f(int x); main( ) int a,b=0; for(a=0;a3;a+=1) b+=f(a); putchar(“A“+b); int f(int x) return x*x+1; 程序运行后的输出结果是_。(分数:1.00)A.ABEB.BCDC.BDID.BCF25.设有定义: int x23; 则以下关于二维数组 X 的叙述错误的是_。(分数:1.00)A.元素 x0可看做是由 3 个整型元素组成的一维数组B.数组 x 可以看做是由 x
10、0和 x1两个元素组成的一维数组C.可以用 x0=0;的形式为数组所有元素赋初值 0D.x0和 x1是数组名,分别代表一个地址常量26.设 p 是指针变量,语句 p=NULL;等价于_。(分数:1.00)A.P=“0“;B.p=“;C.p=“;D.p=0;27.有以下程序: #include stdio.h main( ) int a=10,20,30,40, *p=a,i; for(i=0;i=3;i+)ai=*p;p+; printf(“%d/n“,a2); 程序运行后的输出结果是_。(分数:1.00)A.10B.20C.30D.4028.有以下程序: #include stdio.h #
11、define N 3 void fun(int aN,int b) int i,j; for(i=0;iN;i+) bi=ai0; for(j=1;jN;j+ +) if (biaij )bi=aij; main( ) int xNN=1,2,3,4,5,6,7,8,9,yN,i; fun(x,y); for(i=0;iN;i+) printf(“%d,“,yi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.3,5,7B.1,3,5,C.2,4,8,D.3,6,9,29.有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数): #incl
12、ude stdio.h #include string.h main( ) char a10=“abc“,b10=“012“,c10=“xyz“; strcpy(a+1,b+2); puts(strcat(a,c+1); 程序运行后的输出结果是_。(分数:1.00)A.a12xyzB.bc2yzC.a2yzD.12yz30.以下选项中,没有编译错误的是_。(分数:1.00)A.char str3=“d“,“e“,“b“,“u“,“g“,“0“;B.char str15=“pass“,str6;str2=str1;C.char name10;name=“china“;D.char str4;st
13、r4=“hello world“;31.有以下程序: #include stdio.h main( ) char *s=“12134“; int k=0,a=0; while(sk+1) k+; if(k%2=0) a=a+(sk-“0“+1); continue; a=a+(sk-“0“); printf(“k=%d a=%d/n“,k,a); 程序运行后的输出结果是_。(分数:1.00)A.k=5 a=15B.k=4 a=12C.k=6 a=11D.k=3 a=1432.有以下程序: #include stdio.h main( ) char a510=“one“,“two“,“three
14、“,“four“,“five“; int i,j; char t; for(i=0;i2;i+) for(j=i+1;j5;j+) if(ai0aj0) t=ai0; ai0=aj0; aj0=t; puts(a1); 程序运行后的输出结果是_。(分数:1.00)A.owoB.fwoC.twoD.fix33.有以下程序: #include stdio.h int a=1,b=2; void fun1(int a,int b) printf(“%d%d“,a,b); void fun2() a=3;b=4; main( ) fun1(5,6);fun2(); printf(“%d%d/n“,a,
15、b); 程序运行后的输出结果是_。(分数:1.00)A.5 6 1 2B.3 4 5 6C.1 2 5 6D.5 6 3 434.有以下程序: #include stdio.h void func(int n) static int num=1; num+=n; printf(“%d“,num); main( ) func(3); func(4); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.4 5B.4 8C.3 5D.3 435.有以下程序: #include stdio.h #include stdlib.h void fun(int*p1,int*p2,
16、int*s) s=(int *)calloc(1,sizeof(int); *s=*p1+*p2; free(s); main( ) int a2=1,2,b2=40,50,*q=a; fun(a,b,q); printf(“%d/n“,*q); 程序运行后的输出结果是_。(分数:1.00)A.42B.41C.1D.036.有以下程序: #include stdio.h struct STUchar Name9; char sex; int score2; ; void f(struct STU a) struct STU b=“Zhao“,“m“,85,90; a1=b; main( ) s
17、truct STU c2=“Qian“,“f“,95,92,“Sun“,“m“,98,99; f(C); printf(“%s,%c,%d,%d,“,c0.name,co.sex,co.score0,c0.score1); printf(“%s,%c,%d,%d/n“,c1.name,c1.sex,c1.score0,c1.score1); 程序运行后的输出结果是_。(分数:1.00)A.Qian,f,95,92,Sun,m,98,99B.Qian,f,95,92,Zhao,m,85,90C.Zhao,m,85,90,Sun,m,98,99D.Zhao,n1,85,90,Qian,f,95,9
18、237.以下叙述中错误的是_。(分数:1.00)A.用 typedef 可以说明一种新的类型名B.typedef 的作用是用一个新的标识符来代表已存在的类型名C.可以用 typedef 说明的新类型名来定义变量D.typedef 说明的新类型名必须使用大写字母,否则会出编译错误38.以下叙述中错误的是_。(分数:1.00)A.只要类型相同,结构体变量之间可以整体赋值B.函数的返回值类型不能是结构体类型,只能是简单类型C.可以通过指针变量来访问结构体变量的任何成员D.函数可以返回指向结构体变量的指针39.若有定义语句: int b=2; 则表达式(b2)/(3 | b)的值是_。(分数:1.00
19、)A.0B.2C.4D.840.有以下程序: #include stdio.h main( ) FILE *fp; int i,a6=1,2,3,4,5,6; fp =fopen(“d2.dat“,“w+“); fbr(i=0;i6;i+) fprintf(fp,“%d/n“,ai); rewind(fp); for (i=0;i6;i+) fscanf(fp,“%d“, fclose(fp); for(i=0;i6;i+) printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.1,2,3,4,5,6,B.6,5,4,3,2,1,C.4,5,6,1,2,3,D.1
20、,2,3,3,2,1,二、程序填空题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:从形参 ss 所指字符串数组中,删除所有串长超过 k 的字符串,函数返回剩余字符串的个数。ss 所指字符串数组中共有 N 个字符串,且串长小于 M。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1.C 中,不得增行或删行,也不得更改程序的结构! #include stdio.h #include string.h #define N 5 #define M 10 int fun(char(* ss)M,int k) int i
21、,j=0,len; /* * * * * * * * * *found* * * * * * * * * */ for(i=0;i 1;i+) len=strlen(ssi); /* * * * * * * * * *found* * * * * * * * * */ if(len= 2) /* * * * * * * * * *found* * * * * * * * * */ strcpy(ssj+, 3); return j; main( ) char xNM=“Beijing“,“Shanghai“,“Tianjin“,“Nanjing“,“Wuhan“; int i,f; print
22、f(“/nThe original string/n/n“); for(i=0;iN;i+) puts(xi); printf(“/n“); f=fun(x,7); printf(“The string witch length is less than or equal to 7“/n“); for(i=0;if;i+)puts(xi); printf(“/n“); (分数:18.00)三、程序修改题(总题数:1,分数:18.00)42.下列给定程序中函数 fun 的功能是:逐个比较 p、q 所指两个字符串对应位置上的字符,并把 ASCII 值大或相等的字符依次存放到 c 所指的数组中,形成
23、一个新的字符串。 例如,若主函数中 a 字符串为“aBCDeFgH”,b 字符串为“Abcd”,则 c 中的字符串应为“aBcdeFgH”。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1.C 中,不得增行或删行,也不得更改程序的结构! #include stdio.h #include string.h void fun(char *p,char *q,char*c) /* * * * * * * * * * * *found* * * * * * * * * * * */ int k=1; /* * * * * * * * * * * *found* * *
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 答案 解析 DOC
