ImageVerifierCode 换一换
格式:DOC , 页数:30 ,大小:92.50KB ,
资源ID:1326258      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1326258.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C语言笔试-448及答案解析.doc)为本站会员(explodesoak291)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C语言笔试-448及答案解析.doc

1、二级 C语言笔试-448 及答案解析(总分:101.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.设有如下关系表:(分数:2.00)A.B.C.D.2.在一棵二叉树中,叶子结点共有 30个,度为 1的结点共有 40个,则该二叉树中的总结点数共有( )个。A) 89 B) 93 C) 99 D) 100(分数:2.00)A.B.C.D.3.某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为_。(假设根结点在第 1层)A) 3 B) 4 C) 6 D) 7(分数:2.00)A.B.C.D.4.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是(

2、)。 A) 顺序内聚 B) 偶然内聚 C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B.C.D.5.计算机网络的主要特点是_。A) 运算速度快 B) 运算精度高 C) 资源共享 D) 人机交互(分数:1.00)A.B.C.D.6.应用数据库的主要目的是( )。A) 解决数据保密问题 B) 解决数据完整性问题C) 解决数据共享问题 D) 解决数据量大的问题(分数:1.00)A.B.C.D.7.程序中若有如下说明和定义语句:char fun(char *);main()char * s=“one“, a5=0,(* f1)()=fun,ch;以下选项中对函数 fun的正确调用语句是( )。A

3、) (* f1)(a); B) * f1(* s); C) fun(p2+函数的功能是 _。A) 将 p1所指字符串复制到 p2所指内存空间B) 将 p1所指字符串的地址赋给指针 p2C) 对 p1和 p2两个指针所指字符串进行比较D) 检查 p1和 p2两个指针所指字符串中是否有/0(分数:2.00)A.B.C.D.17.设已有定义: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.18.以下程序运行后

4、的输出结果是#includevoid fun(int P)int d=2;P=d+; printf(“%d“, P);main()int a=1;fun(a); printf(“%d/n, a);A) 32 B) 12 C) 21 D) 22(分数:2.00)A.B.C.D.19.以下正确的函数头定义形式是A) double fun(int x,int y) B) double fun(int x;int y)C) double fun(int x,int y);D) double fun(int x,y);(分数:2.00)A.B.C.D.若有以下定义和语句:double r=99,*p=m

5、ain()int a=31;fun(5, 2, a);printf(“% d“, a);A) 0 B) 29 C) 31 D) 无定值(分数:2.00)A.B.C.D.22.若有以下定义,则对 x数组元素的正确应用是int x10, *pt=x;A) *,以下选项中对 a数组元素正确引用的是_。(A) a2!1(B) a23(C) a03(D) a12!1(分数:2.00)A.B.C.D.24.有以下程序#includestdio.hvoid fun(char *C)while (*C)if(*c=a *c=z)*c=*c-(a-A);c+;main()char s81;gets(s); fu

6、n(s); puts(s):当执行程序时从键盘上输入 Hello Beijing回车,则程序的输出结果是_。A) hello Beijing B) Hello Beijing C) HELLO BEIJING D) hELLO Beijing(分数:1.00)A.B.C.D.25.有以下程序:main()int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+)printf(“%d“,t2-ii);程序执行后的输出结果是_。A) 7 5 3 B) 3 5 7C) 3 6 9 D) 7 5 1(分数:2.00)A.B.C.D.26.下列二维数组初始化语句中,不正确的是(

7、)。A) int b2=1,2,3,4,5,6,7; B) int b35=0,0,0;C) int b4=1,2,3,4,5,6; D) int b32=(1,2),(3,4) ,(5,6);(分数:2.00)A.B.C.D.27.设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。A) f=0;for(i=1;i=n;i+)f*=i;B) f=1;for(i=1;in;i+)f*=i;C) f=1;for(i=n;i1;i+)f*=i;D) f=1;for(i=n;i =2;i-)f*=i;(分数:2.00)A.B.C.D.28.设有定义:char s8;int i=O;,以下不

8、能将行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。A) gets(s); B) white(si+=getchar()!=/n);si=/0;C) scanf(“%s“,s); D) d0scanf(“%c“,while(si+!=/n;si=/0;(分数:2.00)A.B.C.D.29.下面程序的输出是_。main()int x=3,y=6,a=0;while(x+!=(y-=1)a+=1if(yx)break;printf(“x=%d,y=%d,=%d/n“,x,y,a);A) x=4,y=4,a=1 B) x=5,y=5,a=1C) x=5,y=4,a=3 D) x

9、=5,y=4,a=1(分数:2.00)A.B.C.D.30.下列二维数组的说明中,不正确的是( )。A) floata40,1,8,5,9; B) inta34;C) #define N 5 D) inta29.5;float aN3;(分数:2.00)A.B.C.D.31.有以下程序fun(char p10)int n=0,i;for(i=0;i7;i+)if(pi0=T)n+;return n;main()char str10=“Mon“, “Tue“, “Wed“, “Thu“, “Fri“, “Sat“, “Sun“;printf(“%d/n“,fun(str);程序执行后的输出结果是

10、_。(A) 1(B) 2(C) 3(D) 0(分数:2.00)A.B.C.D.32.下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。#includestdio.hvoid sort(inta,int n)int i,j,t;for(i0;in-1;i+)for(ji+1;n;j+)if(aiaj)tai;aiaj;ajt;main()int a101,2,3,4,5,6,7,8,9,10,i;sort(for(i0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是( )。A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6

11、,5,4,3,2,1,C) 1,8,7,6,5,4,3,2,9,10, D) 1,2,10,9,8,7,6,5,4,3,(分数:2.00)A.B.C.D.33.设有定义:char p=1,2,3,*q=p;,以下不能计算出一个 char型数据所占字节数的表达是_。(A) sizeof(p)(B) sizeof(char)(C) sizeof(*q)(D) sizeof(p0)(分数:2.00)A.B.C.D.34.有以下程序:fun(char p10)int n=0,i;for(i=0;i7;i+)if(Pi0=T)n+;return n;main()char str10=“Mon“,“Tue

12、“,“wed“,“Thu“,“Fri“,“Sat“,“Sun“;printf(“%d/n“,fun(str);程序执行后的输出结果是_。A) 1 B) 2 C) 3 D) 0(分数:2.00)A.B.C.D.35.有下列程序:#includestdio.hint fun(int x,iny y)if(x=y)return(x);else return(x+y)/2);main()int a=4,b=5,c=6;printf(“%d/n“,fun(2*a,fun(b,c);程序运行后的输出结果是( )。A3 B6 C8 D12(分数:1.00)A.B.C.D.36.在 C语言中,形参的默认存储类

13、型是_。A) auto B) register C) static D) extern(分数:2.00)A.B.C.D.37.在一个 C语言源程序文件中所定义的全局变量,其作用域为( )。A所在文件的全部范围 B所在程序的全部范围C所在函数的全部范围 D由具体定义位置和 extern说明来决定范围(分数:1.00)A.B.C.D.38.如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是( )。 A) fp=fopen(“FILE“,“r“); B) fp=fopen(“FILE“,“a+“); C) fp=fopen(“FILE“,“w+“); D) fp=fopen(“F

14、ILE“,“r+“);(分数:2.00)A.B.C.D.39.函数 fseek()的正确调用形式是( )。A) fseek(位移量,起始点,文件类型指针); B) fseek(文件类型指针,位移量,起始点);C) fseek(文件类型指针,起始点,位移量); D) fseek(起始点,位移量,文件类型指针);(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:33.00)40.在深度为 7的满二叉树中,度为 2的节点个数为 1。(分数:2.00)填空项 1:_41.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_4

15、2.以下程序段的输出结果是U /U。int i=9;printf(“%o/n“,i);(分数:2.00)填空项 1:_43.数据字典是各类数据描述的集合,它通常包括 5个部分,即数据项、数据结构、数据流、U /U和处理过程。(分数:2.00)填空项 1:_44.在关系 A(S, SN, D)和关系 B(D, CN, NM)中,A 的主关键字是 S,B 的主关键字是 D,则称 1 是关系 A的外码。(分数:2.00)填空项 1:_45.以下程序运行后的输出结果是_。 main() int a,b,c; a=10;b=20;c=(a/b1)int i=1,j;,执行 j!=chc=getchar(

16、);while(c!=/n)if(_)n+;(分数:2.00)填空项 1:_48.若有如下结构体说明:struct STRU int a,b;charc:double d;struct STRU*p1,*p2; 请填空,以完成对 t数组的定义,t 数组的每个元素为该结构体类型。U /Ut20(分数:2.00)填空项 1:_49.有以下程序:#includestdio.hmain()int a33=1,2,3,4,5,6,7,8,9;int b20,i;for(j=0;j3;i+)bi=ai2+a2i;for(i=0;i3;j+)printf(“%d“,bi);printf(“/n“);程序运行

17、后的输出结果是_。(分数:4.00)填空项 1:_50.下列程序将二维数组 a的行和列元素互换后存放到另一个二维数组 b中。请填空。main()int a23=1,2,3,4,5,b32,i,j;for(i=0;i2;i+)for(j=0;j3;j+)_;(分数:2.00)填空项 1:_51.阅读下列程序,则程序的输出结果为_。#include “stdio.h“struet tyint data;char c;main( )street ty a=30,x;fun(a);printf(“%d%c“,a.data,a.c);fun(struct ty b)b.data=20;b.c=y;(分数

18、:2.00)填空项 1:_52.在宏定义#define PI 3.14159 中,用宏名 PI代替一个 1。(分数:2.00)填空项 1:_53.执行以下程序的输出结果是_。#includestdio.hmain()int i,n4=1;for(i=1;i=3;i+)n=ni-1*2+1;printf(“%d“,n);)(分数:2.50)填空项 1:_54.以下程序的输出结果是_。#includestdio.h#define M 5#define N M+Mmain()int k;k=N*N*5;printf(“%d/n“,k);(分数:2.50)填空项 1:_二级 C语言笔试-448 答案解

19、析(总分:101.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.设有如下关系表:(分数:2.00)A.B. C.D.解析:解析 仔细观察 3个表可以看到,R,S,T 具有相同的关系模式,且 T包含了 R和 S的所有元组,故 T=RS。2.在一棵二叉树中,叶子结点共有 30个,度为 1的结点共有 40个,则该二叉树中的总结点数共有( )个。A) 89 B) 93 C) 99 D) 100(分数:2.00)A.B.C. D.解析:解析 根据二叉树性质 3:对任何一棵二叉树,度为 0的结点(即叶子结点)总是比度为 2的结点多一个。所以该二叉树度为 2的结点有 29个,故

20、总结点数=30 个叶子结点+29 个度为 2的结点+40 个度为1的结点=99 个结点。3.某二叉树共有 7个结点,其中叶子结点只有 1个,则该二叉树的深度为_。(假设根结点在第 1层)A) 3 B) 4 C) 6 D) 7(分数:2.00)A.B.C.D. 解析:解析 本题考查的知识点是二叉树。只有当该二叉树的每一层上只有一个结点时,才能满足题目要求。否则,叶子结点数一定会大于 1。4.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。 A) 顺序内聚 B) 偶然内聚 C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B. C.D.解析:解析 内聚是从功能角度来衡量模块的联系

21、,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列: 偶然内聚模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。 逻辑内聚这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。 时间内聚这种模块顺序完成一类相关功能,比如初始化模块,它顺序地为变量置初值。 过程内聚如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。 通信内聚这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。 顺序内聚如果一个模块内各个处理元素和同一个功

22、能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。 功能内聚如果一个模块包括为完成某一具体任务所必需的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。5.计算机网络的主要特点是_。A) 运算速度快 B) 运算精度高 C) 资源共享 D) 人机交互(分数:1.00)A.B.C. D.解析:解析 通信和资源共享是计算机网络中最基本和最重要的特点,如果计算机网络不具备这样的基本特点,那么我们就不可能通过计算机进行信息的交流。同时,计算机网络还具有高度的可靠性和高度的多媒体化的特点。6.应用数据库的主要目的是(

23、 )。A) 解决数据保密问题 B) 解决数据完整性问题C) 解决数据共享问题 D) 解决数据量大的问题(分数:1.00)A.B.C. D.解析:解析 数据库中的数据具有“集成”与“共享”的特点,亦即数据库集中了各种应用的数据,进行统一构造与存储,从而使它们可以被不同应用程序所使用,故选项 C) 正确。7.程序中若有如下说明和定义语句:char fun(char *);main()char * s=“one“, a5=0,(* f1)()=fun,ch;以下选项中对函数 fun的正确调用语句是( )。A) (* f1)(a); B) * f1(* s); C) fun(p2+函数的功能是 _。A

24、) 将 p1所指字符串复制到 p2所指内存空间B) 将 p1所指字符串的地址赋给指针 p2C) 对 p1和 p2两个指针所指字符串进行比较D) 检查 p1和 p2两个指针所指字符串中是否有/0(分数:2.00)A. B.C.D.解析:解析 while 循环语句的功能是将 p1所指存储单元的内容赋值给 p2所指的存储单元,然后p1+、p2+,分别指向下一个存储单元,直到 p1指向符号串的结束字符/0为止。故函数的功能是将p1所指字符串复制到 p2所指内存空间。17.设已有定义:float x; 则以下对指针变量 p进行定义且赋初值的语句中正确的是_。(A) float *p=1024;(B) i

25、nt *p=(float)x;(C) float p=x;(D) float *p=x;(分数:2.00)A.B.C.D. 解析:18.以下程序运行后的输出结果是#includevoid fun(int P)int d=2;P=d+; printf(“%d“, P);main()int a=1;fun(a); printf(“%d/n, a);A) 32 B) 12 C) 21 D) 22(分数:2.00)A.B.C. D.解析:解析 调用函数 fun时将变量 a的值 1传给形参变量 p,p=d+将 2赋给 p,再执行 d+;在函数fun中,printf(“%“, p);输出 p的值 2,ma

26、in 函数中输出 a的值 1。程序的输出结果为 21。19.以下正确的函数头定义形式是A) double fun(int x,int y) B) double fun(int x;int y)C) double fun(int x,int y);D) double fun(int x,y);(分数:2.00)A. B.C.D.解析:解析 形式参数之间是以逗号“,”隔开,且每个变量均需说明其数据类型,圆括号后面不能有分号。只有选项 A符合要求。若有以下定义和语句:double r=99,*p=main()int a=31;fun(5, 2, a);printf(“% d“, a);A) 0 B)

27、 29 C) 31 D) 无定值(分数:2.00)A.B.C. D.解析:解析 函数 fun的形参是简单变量,main 函数中调用 fun时只是把实参的值传递给形参,形参的改变不影响实参,所以调用完函数 fun后 a的值不发生变化,即 a=31。22.若有以下定义,则对 x数组元素的正确应用是int x10, *pt=x;A) *,以下选项中对 a数组元素正确引用的是_。(A) a2!1(B) a23(C) a03(D) a12!1(分数:2.00)A.B.C.D. 解析:24.有以下程序#includestdio.hvoid fun(char *C)while (*C)if(*c=a *c=

28、z)*c=*c-(a-A);c+;main()char s81;gets(s); fun(s); puts(s):当执行程序时从键盘上输入 Hello Beijing回车,则程序的输出结果是_。A) hello Beijing B) Hello Beijing C) HELLO BEIJING D) hELLO Beijing(分数:1.00)A.B.C. D.解析:解析 阅读此程序可知,本题中 fun函数的作用是将字符串中的小写字母变为大写字母。所以程序输出的结果是 HELLO BEIJING。25.有以下程序:main()int i,t3=9,8,7,6,5,4,3,2,1;for(i=0

29、;i3;i+)printf(“%d“,t2-ii);程序执行后的输出结果是_。A) 7 5 3 B) 3 5 7C) 3 6 9 D) 7 5 1(分数:2.00)A.B. C.D.解析:解析 定义二维数组时第一维的长度可以不指定,该程序中 t3通过赋初值等价于 t33,并且其数组按行进行赋值,敞通过 for循环输出的分别是 t20、t11和 t02。26.下列二维数组初始化语句中,不正确的是( )。A) int b2=1,2,3,4,5,6,7; B) int b35=0,0,0;C) int b4=1,2,3,4,5,6; D) int b32=(1,2),(3,4) ,(5,6);(分数

30、:2.00)A.B.C.D. 解析:解析 在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取 0;C 语言规定,对于二维数组,只可以省略第 1个方括号中的常量表达式,而不能省略第 2个方括号中的常量表达式:赋的初值不能多于事先定义好的数组元素个数。选项 D)赋值表达式中对每一维的元素赋初值应用,而不是()。27.设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。A) f=0;for(i=1;i=n;i+)f*=i;B) f=1;for(i=1;in;i+)f*=i;C) f=1;for(i=n;i1;i+)f*=i;D) f=1;for(i=n;i =2;i-)

31、f*=i;(分数:2.00)A.B.C.D. 解析:解析 要正确计算函数 f=n!,由 n!的数学定义可知 n!=n*(n-1)*(n-2)*1。在选项 A 中,由于 f的初值为 0,在 for循环语句中,f 依次乘以 1,2,3, n。最后计算 f=n!=0,所以选项 A 不正确。在选项 B中,f 的初值为 1,在 for循环语句中,f 依次乘以 1,2, 3,(n-1)。最后计算得到 f=(n-1)!,所以选项 B不正确。在选项 C)中,f 的初值为 1,在 for循环语句中, f 依次乘以 n,n+1,n+2,,所以选项 C)不正确。在选项 D)中,f 的初值为 1,在 for循环语句中

32、,f 依次乘以 n,n-1,n-2,2。最后计算 f=n!,所以选项 D)正确。28.设有定义:char s8;int i=O;,以下不能将行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。A) gets(s); B) white(si+=getchar()!=/n);si=/0;C) scanf(“%s“,s); D) d0scanf(“%c“,while(si+!=/n;si=/0;(分数:2.00)A.B.C. D.解析:评析 本题考查的是 scanf函数格式的说明,s 代表输入一个字符数组,而不是地址,因此,选项 C不符合题意。29.下面程序的输出是_。main()i

33、nt x=3,y=6,a=0;while(x+!=(y-=1)a+=1if(yx)break;printf(“x=%d,y=%d,=%d/n“,x,y,a);A) x=4,y=4,a=1 B) x=5,y=5,a=1C) x=5,y=4,a=3 D) x=5,y=4,a=1(分数:2.00)A.B.C.D. 解析:评析 注意的是 x+中 x值的引用时,这里应当是先引用,后自加,具体执行过程如下:第次 while循环:条件为真,执行 a=a+1=1;此时,x 的值已为 4,判断 yx 不成立,继续执行循环;第二次 while循环;条件为假,此时 x的值已为 5,退出 while循环,执行 pri

34、ntf。30.下列二维数组的说明中,不正确的是( )。A) floata40,1,8,5,9; B) inta34;C) #define N 5 D) inta29.5;float aN3;(分数:2.00)A.B.C.D. 解析:解析 C 语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式;二维数组的一般定义格式:类型说明符数组名常量表达式常量表达式)。31.有以下程序fun(char p10)int n=0,i;for(i=0;i7;i+)if(pi0=T)n+;return n;main()char str10=“Mon“, “Tue“,

35、“Wed“, “Thu“, “Fri“, “Sat“, “Sun“;printf(“%d/n“,fun(str);程序执行后的输出结果是_。(A) 1(B) 2(C) 3(D) 0(分数:2.00)A.B. C.D.解析:32.下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。#includestdio.hvoid sort(inta,int n)int i,j,t;for(i0;in-1;i+)for(ji+1;n;j+)if(aiaj)tai;aiaj;ajt;main()int a101,2,3,4,5,6,7,8,9,10,i;sort(for(i0;i10;i

36、+)printf(“%d,“,ai);程序运行后的输出结果是( )。A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2,1,C) 1,8,7,6,5,4,3,2,9,10, D) 1,2,10,9,8,7,6,5,4,3,(分数:2.00)A.B.C. D.解析:解析 本程序中的函数 sort(int a,int n)实现的功能是将数组 a中的前 n个数进行从大到小排序。 sort(,以下不能计算出一个 char型数据所占字节数的表达是_。(A) sizeof(p)(B) sizeof(char)(C) sizeof(*q)(D) sizeof(p0)

37、(分数:2.00)A. B.C.D.解析:34.有以下程序:fun(char p10)int n=0,i;for(i=0;i7;i+)if(Pi0=T)n+;return n;main()char str10=“Mon“,“Tue“,“wed“,“Thu“,“Fri“,“Sat“,“Sun“;printf(“%d/n“,fun(str);程序执行后的输出结果是_。A) 1 B) 2 C) 3 D) 0(分数:2.00)A.B. C.D.解析:解析 fun()函数实现的功能为查找二维字符数组第一列中为字符 T的个数。二维数组的地址作为函数的实参。35.有下列程序:#includestdio.hi

38、nt fun(int x,iny y)if(x=y)return(x);else return(x+y)/2);main()int a=4,b=5,c=6;printf(“%d/n“,fun(2*a,fun(b,c);程序运行后的输出结果是( )。A3 B6 C8 D12(分数:1.00)A.B. C.D.解析:解析 在程序中子函数 fun(int x,int y)的功能是如果 x的值等于 y的值,则返回 x的值,否则返回这两个数的算术平均值,在主函数中首先计算 fun(5,6),其值等于 5,然后再计算 fun(8,5),其值等于 6。所以正确答案为选项 B。36.在 C语言中,形参的默认存

39、储类型是_。A) auto B) register C) static D) extern(分数:2.00)A. B.C.D.解析:解析 如果定义变量时没有声明变量的存储类型,则默认为 auto型。37.在一个 C语言源程序文件中所定义的全局变量,其作用域为( )。A所在文件的全部范围 B所在程序的全部范围C所在函数的全部范围 D由具体定义位置和 extern说明来决定范围(分数:1.00)A.B.C.D. 解析:解析 全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始到整个源文件结束止。当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用 extern对此全

40、局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从 extern说明处起,延伸到该函数末尾。38.如果需要打开一个已经存在的非空文件“FILE”并进行修改,正确的语句是( )。 A) fp=fopen(“FILE“,“r“); B) fp=fopen(“FILE“,“a+“); C) fp=fopen(“FILE“,“w+“); D) fp=fopen(“FILE“,“r+“);(分数:2.00)A.B.C.D. 解析:解析 本题考查打开文件函数 fopen(),打开文件函数 fopen()的调用形式为:fp=fopen(文件名,文件使用方式)。“文件

41、使用方式”说明:方式“r”为以输入方式打开一个文本文件;方式“a+”为以读/写方式打开一个文本文件,保留文件中原有的数据;方式“w+”为以读/写方式建立一个新的文本文件:方式“r+”为以读/写方式打开一个文本文件。39.函数 fseek()的正确调用形式是( )。A) fseek(位移量,起始点,文件类型指针); B) fseek(文件类型指针,位移量,起始点);C) fseek(文件类型指针,起始点,位移量); D) fseek(起始点,位移量,文件类型指针);(分数:1.00)A.B. C.D.解析:解析 改变文件位置的指针函数 fseek()的调用形式为:fseek(fp,offset,

42、position);。fseek函数参数说明:“fp”是指向该文件的文件型指针;“offset”为位移量,指从起始点 position到要确定的新位置的字节数。也就是以起点为基准,向前移动的字节数。ANSI C 要求该参数为长整型量:“position”为起始点,指出以文件的什么位置为基准进行移动,position 的值用整型常数表示,“0”表示文件的开头,“1”表示文件的当前位置,“2”表示文件的末尾。二、填空题(总题数:15,分数:33.00)40.在深度为 7的满二叉树中,度为 2的节点个数为 1。(分数:2.00)填空项 1:_ (正确答案:63)解析:解析 满二叉树的第 k层上有 2

43、k-1个结点,度为 k的满二叉树一共有 2k-1个结点,由二叉树的性质可知:除去第 k层上的结点,其他所有结点都是度为 2的结点,所以度为 2的结点数为 2k-1-2k-1,即27-1-27-1=63。41.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_ (正确答案:前后件关系)解析:解析 在数据存储结构中,除了要存储数据,还要存储数据的前后件关系,对于顺序存储的数据结构,前后件之间的关系,是通过存储空间的位置来实现的,而对于链式存储来说,数据元素之间的前后件关系是通过指针来实现的。42.以下程序段的输出结果是U /U。int

44、 i=9;printf(“%o/n“,i);(分数:2.00)填空项 1:_ (正确答案:11)解析:解析 “%o“是以八进制输出变量 i。i=9 1011 8。43.数据字典是各类数据描述的集合,它通常包括 5个部分,即数据项、数据结构、数据流、U /U和处理过程。(分数:2.00)填空项 1:_ (正确答案:数据存储)解析:评析 数据字典是各类数据描述的集合,它通常包括 5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程

45、。44.在关系 A(S, SN, D)和关系 B(D, CN, NM)中,A 的主关键字是 S,B 的主关键字是 D,则称 1 是关系 A的外码。(分数:2.00)填空项 1:_ (正确答案:D)解析:解析 本题考查的知识点是关系的主码和外码。关系中有若干个键称为关系的候选码或候选键。从关系的所有候选键中选取一个作为用户使用的键,称为主键或主码。关系 A中的某属性集是关系 B的键,则称该属性集为 A的外键或外码。45.以下程序运行后的输出结果是_。 main() int a,b,c; a=10;b=20;c=(a/b1)int i=1,j;,执行 j!=chc=getchar();while(c!=/n)if(_)n+;(分数:2.00)填空项 1:_ (正确答案:c=acharc:double d;struct STRU*p1,*p2; 请填空,以完成对 t数组的定义,t 数组的每个元素为该结构体类型。U /Ut20(分数:2.00)填空项 1:_ (正确答案:stmctSTRU)解析:评析 结构件类型是构造数据类型,是用户自己定义的种类型。结构件类型的定义:struct 结构体类型名 成员项表; 定义结构伸变量的的形式为:struct 结构体类型名变量 1,变量 2,其中变量包括;般变量、指针变量、数组变量等。49.有以下

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1