【计算机类职业资格】二级C语言笔试35及答案解析.doc
《【计算机类职业资格】二级C语言笔试35及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试35及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试 35及答案解析(总分:78.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.设 p1和 p2是指向同一个 int型一维数组的指针变量,k 为 int型变量,则下列不能正确执行的语句是_。(分数:1.00)A.k=*p1+*p2;B.p2=k;C.p1=p2;D.k=*p1*(*p2);2.在 C语言中,合法的长整型常数是_。(分数:1.00)A.OLB.4962710C.04312765D.0xa34b7fe3.下列程序的输出结果是_。 fun() static int x=5; if(x+5)printf(“%d“,x); else pri
2、ntf(“%d“,x+); main() fun();fun(); (分数:1.00)A.67B.69C.68D.784.以下程序的输出结果是_。 #includestdio.h main() printf(“%d/n“,NULL); (分数:1.00)A.不确定的(因变量无定义)B.0C.-1D.15.以下程序的输出结果是_。 main() int k=4,m=1,p; p=func(k,m);printf(“%d,“,p); p=func(k,m);printf(“%d/n“,p); func(int a,int B) static int m=0,i=2; i+=m+1;m=i+a+b;
3、 return(m); (分数:1.00)A.8,17B.8,16C.8,20D.8,86.下列程序的输出结果是_。 #includestdio.h main() union int k; char i2; *s,a; s= printf(“%d,%d/n“,a,B) ; (分数:1.00)A.6,1B.2,1C.6,0D.2,08.在深度为 5的满二叉树中,叶子结点的个数为_。(分数:1.00)A.32B.31C.16D.159.下面程序 main() int y=9; for(;y0;y-) if(y%30) printf(“%d“,-y); continue; 的输出是_。(分数:1.0
4、0)A.741B.852C.963D.87542110.下面函数 int funl(char*x) char *y=x; while(*y+); return(y-x-1); 的功能是_。(分数:1.00)A.求字符串的长度B.比较两个字符串的大小C.将字符串 x复制到字符串 yD.将字符串 x连接到字符串 y后面11.下列选项中非法的表达式是_。(分数:1.00)A.0=x100B.i=j=0C.(cha(65+3)D.x+1=x+112.下列四个叙述中,错误的是_。(分数:1.00)A.C语言中的关键字必须小写B.C语言中的标识符必须全部由字母组成C.C语言不提供输入输出语句D.C语言中的
5、注释行可以出现在程序的任何位置13.以下对结构体类型变量的定义中,不正确的是_。(分数:1.00)A.typedef struct aa int n; float m; aa; aa td1;B.#define aa struct aa aa int n; float m; td1;C.struct int n; float m; aa; struct aa td1;D.struct int n; float m; td1;14.下面的程序 main() int x=3,y=0,z=0; if(x=y+z)printf(“*“); else printf(“#“); _。(分数:1.00)A.
6、有语法错误不能通过编译B.输出*C.可以通过编译,但是不能通过连接,因而不能运行D.输出#15.以下程序的输出结果是_。 main() union char i2; int k; r; r.i0=2; r.i1=0; printf(“%d/n“,r.k); (分数:1.00)A.2B.1C.0D.不确定16.有如下程序 main() int n=9; while(n6) n-; printf(“%d“,n); 该程序的输出结果是_。(分数:1.00)A.987B.876C.8765D.987617.在 C语言中,要求运算数必须是整型的运算符是_。(分数:1.00)A.%B./C.D.!18.执
7、行下面的程序段 int x=35; char z=A; int B; B=(xwhile(-y); printf(“%d/n“,y-); (分数:1.00)A.-1B.1C.8D.025.若有以下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则值为 6的表达式是_。(分数:1.00)A.*p+6B.*(p+6)C.*p+=5D.p+526.以下程序调用 findmax函数求数组中值最大的元素在数组中的下标,请选择填空: #includestdio.h findmax(int*s,int t,int*k) int p; for(p=0,*k=p;pt;p+) if
8、(sps*k)_; main() int a10,i,k; for(i=0;i10;i+)scanf(“%d“,C.a=a/b=2;D.a=aa+1;二、B填空题/B(总题数:14,分数:28.00)51.设一棵完全二叉树共有 500个结点,则在该二叉树中有U 【1】 /U个叶子结点。(分数:2.00)填空项 1:_52.在最坏情况下,冒泡排序的时间复杂度为U 【2】 /U。(分数:2.00)填空项 1:_53.面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个U 【3】 /U。(分数:2.00)填空项 1:_54.软件的需求分析阶段的工作,可以概括为四个方面:U 【4】 /U、
9、需求分析、编写需求规格说明书和需求评审。(分数:2.00)填空项 1:_55.U 【5】 /U是数据库应用的核心。(分数:2.00)填空项 1:_56.若由以下定义,则不移动指针 p,且通过指针 p引用值为 98的数组元素的表达式是U 【6】 /U。int w10=23,54,10,33,47,98,72,80,61,*p=w;(分数:2.00)填空项 1:_57.以下程序的输出结果是U 【7】 /U。 #define MAX(x,y)(x)(y)?(x):(y) main() int a=5,b=2;c=3,d=3,t; t+MAX(a+,b,c+D) *10; printf(“%d/n“,
10、t); (分数:2.00)填空项 1:_58.以下程序的输出结果是U 【8】 /U。 main() unsigned short a=65536; int b; printf(“%d/n“,b=A) ; (分数:2.00)填空项 1:_59.若已经定义 int a=25,b=14,c=19;,以下三目运算符(?:)所构成的语句的执行结果是U 【9】 /U。 a+=2的功能相同,请补充完整。 if(U 【10】 /U) if(U 【11】 /U)y=2*x-1; else y=x; else y=3*x-11;(分数:2.00)填空项 1:_61.以下程序中用户由键盘输入一个文件名,然后输入一串
11、字符(用#结束输入)存放到此文件中,形成文本文件,并将字符的个数写到文件的尾部。请填空。 #includestdio.h main() FILE *fp; char ch,fname32; int count=0; printf(”Input the filename:“); scanf(“%s“,fname); if(fp=fopen(U 【12】 /U,“w+“)=NULL) printf(“Cant open file:%s/n“,fname);exit(0); printf(“Enter data:/n“); while(ch=getchar()!=#) fputc(ch,fp);co
12、unt+; fprintf(U 【13】 /U,“/n%d/n“,count); fclose(fp); (分数:2.00)填空项 1:_62.函数 void fun(float*sn,int n)的功能是:根据以下公式计算 S,计算结果通过形参指针 sn传回;n通过形参传入,n 的值大于等于 0。请补全程序。 S=1-1/3+1/5-1/7+1/(2n+1) void fun(float*sn,int n) float s=0.0,w,f=-1.0; int i=0; for(i=0;i=n;i+) f=U 【14】 /U*f; w=f/(2*i+1); s+=w; U 【15】 /U=s;
13、 (分数:2.00)填空项 1:_63.下面的函数 strcat(str1,str2)实现将字符串 str2拼接到字符串 str1后面的功能。请填空使之完整。char*strcat(str1,str2) char*str1,*str2; char*t=str1; while(U 【16】 /U)str1+; while(U 【17】 /U); return(t);(分数:2.00)填空项 1:_64.以下函数 fun用于求两个整数 a和 b的最大公约数。 fun(a,B) int a,b; int i,j,m,n; if(aB) m=a;a=b;U 【18】 /U; i=a;j=b; whil
14、e(n=U 【19】 /U)!=0) j=i;i=U 【20】 /U; return(i); (分数:2.00)填空项 1:_二级 C语言笔试 35答案解析(总分:78.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.设 p1和 p2是指向同一个 int型一维数组的指针变量,k 为 int型变量,则下列不能正确执行的语句是_。(分数:1.00)A.k=*p1+*p2;B.p2=k; C.p1=p2;D.k=*p1*(*p2);解析:评析 指针变量中只存放地址(指针),不要将个整型量(或任何其他非地址类型的数据)赋给个指针变量,所以 B 是不正确的。2.在 C语
15、言中,合法的长整型常数是_。(分数:1.00)A.OL B.4962710C.04312765D.0xa34b7fe解析:评析 在一个整常量后面加个字母 1或 L,则认为是 long int型常量。3.下列程序的输出结果是_。 fun() static int x=5; if(x+5)printf(“%d“,x); else printf(“%d“,x+); main() fun();fun(); (分数:1.00)A.67B.69C.68 D.78解析:评析 模块的代码开始运行后,使用 static语句声明的变量会直保持其值,直至该模块复位或重新启动。在第 1次调用 fun函数时,x 的初值
16、为 5,if 语句的条件不成立,执行 else printf(“%d“x+);语句,输出 6,执行后 x的值变为 7,由于 x是静态局部变量,在函数调用结束后,它并不释放,仍保留x=7。在第 2次调用 fun函数时,if 语句的条件成立,执行 printf(“%d“,x);语句,输出 8。4.以下程序的输出结果是_。 #includestdio.h main() printf(“%d/n“,NULL); (分数:1.00)A.不确定的(因变量无定义)B.0 C.-1D.1解析:评析 NULL 在 C编译器中是个值为 0的常量,它的定义在头文件“stdio.h”中,本题的程序在一开始就包含了这个
17、头文件,所以,在打印的时候,将打印出 0。5.以下程序的输出结果是_。 main() int k=4,m=1,p; p=func(k,m);printf(“%d,“,p); p=func(k,m);printf(“%d/n“,p); func(int a,int B) static int m=0,i=2; i+=m+1;m=i+a+b; return(m); (分数:1.00)A.8,17 B.8,16C.8,20D.8,8解析:评析 将 k和 m的值带入函数 func中,第次调用完 func()后,其中 m和 i的值要保留,并在第二次调用时使用,这是因为两者都是局部静态变量。所以最后的结果
18、是 8和 17。6.下列程序的输出结果是_。 #includestdio.h main() union int k; char i2; *s,a; s= printf(“%d,%d/n“,a,B) ; (分数:1.00)A.6,1B.2,1 C.6,0D.2,0解析:评析 第个表达式中,运算的方向是从左至右,所以 a的值为 2;第二个表达式中,等式右边是个逻辑表达式,由于结果为真,所以表达式的值为 1,即 b为 1。8.在深度为 5的满二叉树中,叶子结点的个数为_。(分数:1.00)A.32B.31C.16 D.15解析:评析 所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。也就
19、是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第 K层上有 2k-1个结点,且深度为 m的满二叉树有 2m个结点在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为 5,故叶子结点数为 25-1=24=16。9.下面程序 main() int y=9; for(;y0;y-) if(y%30) printf(“%d“,-y); continue; 的输出是_。(分数:1.00)A.741B.852 C.963D.875421解析:评析 “%”是求余运算符,所以 if判断语句中实际是指出只有当 y可以被 3整除时方可以继续;-y是先进行 y的自减运算,再使用 y值。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 35 答案 解析 DOC
