【计算机类职业资格】二级C语言笔试316及答案解析.doc
《【计算机类职业资格】二级C语言笔试316及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试316及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 316 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.在执行下述程序时,若从键盘输入 6 和 8,则结果为 main( ) int a,b,s; scanf(“%d%d“, S=a if(ab) s=b; S*=s; printf(“%d“,s); A)36 B)64 C)48 D)以上都不对(分数:2.00)A.B.C.D.2.C 语言规定,在一个源程序中,main 函数的位置(分数:2.00)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3.算法的空间复杂度是指(分数:2.00)A
2、.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间4.以下程序的输出结果是#include int a33=1,2,3,4,5,6,7,8,9,*p;main( ) p=(int *)malloc(sized(int);f(p,a) ;printf(“%d/n“,*p);free(p);f(int *s,int p 3) *s=p11;A)1 B)4 C)7 D)5(分数:2.00)A.B.C.D.5.若有说明:int *p,m=5,n;,以下正确的程序段是(分数:2.00)A.p=scanf(“%d“,&;B.p=scanf(“%d“,*C.scan
3、f(“%d:,&;*p=n;D.p=*p=m;6.有以下程序 main( ) int k=5,n=0; do switch(k) case 1: case 3:n+=1;k-;break; default:n=0;k-; case 2: case 4:n+=2;k-;break; printf(“%d“,n); while(k0 for(i=0;i4;i+) for(j=0;j3;j+) fof(k=j+1;k4;k+) if(ajiaki)t=aji;aki;aki=t;/*按列排序*/ for(i=0;i4;i+)printf(“%d,aii); 程序运行后的输出结果是(分数:2.00)A
4、.B.C.D.8.下列叙述中,不属于测试的特征的是(分数:2.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性9.请选出正确的程序段 A)int *p; scanf(“%d“,p); B)int *s,k; *s=100; C)int *s,k; char *p,c; s=k; p= *p=a; D)int *s,k; char *p,e; s= p= s=p; *s=1; (分数:2.00)A.B.C.D.10.下列有关数据库的描述,正确的是(分数:2.00)A.数据处理是将信息转化为数据的过程B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C.
5、关系中的每一列称为元组,一个元组就是一个字段D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字11.有如下程序 main() int n=9; while(n6) n-;printf(“%d“,n); 该程序的输出结果是 A)987 B)876 C)8765 D)9876(分数:1.00)A.B.C.D.12.有以下程序#include main( ) FILE *fp;int i=20,j=30,k,n;fp=fopen(“d1.dat“,“w“);fprintf(fp,“%d/n“,i);fprintf(fp,“%d/n“,j);fclo
6、se(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,k,n);printf(“%d%d/n“,k,n);fclose(fp);程序运行后的输出结果是A)20 30 B)20 50 C)30 50 D)30 20(分数:1.00)A.B.C.D.13.某二叉树中有 n 个度为 2 的结点,则该二叉树中的叶子结点数为(分数:1.00)A.n+1B.n-1C.2nD.n/214.下面程序输出的结果是 main( ) int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) printf(“%d“,a2-ii); A)1
7、 5 9 B)7 5 3 C)3 5 7 D)5 9 1(分数:1.00)A.B.C.D.15.设变量均已正确定义,若要通过 scanf(“%d%c%d%c“,语句为变量 a1 和 a2 赋数值 10和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是(注:代表空格字符)(分数:1.00)A.10X20YB.10X20YC.10X20YD.10X20Y16.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是(分数:1.00)A.x%2=1B.x/2C.x%2!=0D.x%2=017.在 C 语言中,函数返回值的类型最终取决于(分数:1.00)A.函数定
8、义时在函数首部所说明的函数类型B.return 语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型18.有以下程序 main( ) int x=0,y=0,i; for(i=1;+i) if(i%2=0)x+;continue; if(i%5=0)y+;break; printf(“%d,%d“,x,y); 程序的输出结果是 A)2,1 B)2,2 C)2,5 D)5,2(分数:1.00)A.B.C.D.19.在 C 语言中,变量的隐含存储类别是(分数:1.00)A.autoB.staticC.externD.无存储类别20.已知大写字母 A 的 ASCII 码
9、是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是(分数:1.00)A.c=(c-A)%26+aB.c=c+32C.c=c-A+aD.c=(A+%26-a21.以下合法的字符型常量是(分数:2.00)A./x13B./081C.65D.“/n“22.若执行下面的程序时,从键盘输入 5 和 2,则输出结果是 main( ) int a,b,k; scanf(“%d,%d“, k=a; if(ab)k=a%b; else k=b%a; printf(“%d/n“,k); A)5 B)3 C)2 D)0(分数:2.00)A.B.C.D.23
10、.现有如下程序段 #include “stdio.h“ main( ) int a56=23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1; int i=0,j=5; printf(“%d/n“,*( 则程序的输出结果为 A)21 B)78 C)23 D)28(分数:2.00)A.B.C.D.24.以下叙述中错误的是(分数:2.00)A.计算机不能直接执行用 C 语言编写的源程序B.C 程序经 C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件C.后缀为.obj 的文件,经连接程序生成后缀为.
11、exe 的文件是一个二进制文件D.后缀为.obj 和.exe 的二进制文件都可以直接运行25.下列叙述中,正确的是(分数:2.00)A.用 E-R 图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型26.下面程序段的运行结果是 char a =“lanuage“,*p; p=a; while(*p!=u)printf(“%c“,*p-32);p+;A)LANGUAGE B)language C)LAN D)langUAGE(分数:2.
12、00)A.B.C.D.27.在结构化程序设计中,模块划分的原则是(分数:2.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度28.下面关于对象概念的描述中,错误的是(分数:2.00)A.对象就是 C 语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的29.有以下程序 int f(int n) if(n=1) return 1; else return f(n-1) +1; main( ) int i,j=0; for(i=1;
13、i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是 A)4 B)3 C)2 D)1(分数:2.00)A.B.C.D.30.有以下程序#include main( ) char p20=a,b,c,d,q =“abc“,r =“abcde;strcat(p,r) ;strcpy(p+strlen(q),q);printf(“%d/n“,strlen(p);程序运行后的输出结果是A)9 B)6 C)11 D)7(分数:2.00)A.B.C.D.31.以下程序的输出结果是 main( ) int c=35;printf(“%d/n“,cc); A)0 B)70
14、 C)35 D)1(分数:2.00)A.B.C.D.32.以下叙述中正确的是(分数:2.00)A.构成 C 程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.C 函数定义的格式是 Kint i=0;scanf(“%s“,s);while(si!=/n) if(si=c)si-32;else if(si=c-32)si=si+32;i+;puts(s);A)ahaMa B)AbAMa C)AhAMa空格ahA D)ahAMa空格ahA(分数:2.00)A.B.C.D.34.有以下程序#include main( ) int c;while(c=g
15、etchar()!=/n) switch(c-2) case0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);case 4:putchar(c+3);break;printf(“/n“)从第一列开始输入以下数据代表一个回车符。2743程序的输出结果是A)66877 B)668966 C)6677877 D)6688766(分数:2.00)A.B.C.D.35.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是(分数:2.00)A.acbedB.decabC.deabcD.ce
16、dba36.下列关于队列的叙述中正确的是(分数:2.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表37.下列选项可以正确表示字符型常量的是(分数:2.00)A./rB.“a“C.“/897“D.29638.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10=0,1,2,3,4,5,6,7,8,9,*p=a; A)ap-a B)*(ai) C)pi D)*(*(a+i)(分数:2.00)A.B.C.D.39.有以下程序 void f(int *q) int i=0; for(;iA.B.C.D.40.设有如下三个关
17、系表 (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S二、B填空题/B(总题数:13,分数:30.00)41.设一棵完全二叉树共有 700 个结点,则在该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_42.常用的黑箱测试有等价类划分法、 1 和错误推测法 3 种。(分数:2.00)填空项 1:_43.数据库管理系统常见的数据模型有层次模型、网状模型和 13 种。(分数:2.00)填空项 1:_44.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 1。(分数:2.00)填空项 1:_45.数据库保护分为:安全性控制、 1、并发性控制和数据的恢复。
18、(分数:2.00)填空项 1:_46.执行以下程序后的输出结果是_。 main( ) int a=10; a=(3*5,a+4);printf(“a=%d/n“,a); (分数:2.00)填空项 1:_47.以下程序的输出结果是_。 #include string.h main( ) printf(“%d/n“,strlen(“IBM/n012/1/“);(分数:2.00)填空项 1:_48.已定义 char ch=$;int i=1,j;,执行 j!=ch case 1: case 2:return 1; return(fib(g-1) +fib(g-2); main( ) long k;
19、k=fib(5); printf(“k=%51d/n“,k);(分数:2.00)填空项 1:_50.下面程序的功能是输出数组 s 中最大元素的下标,请填空。 main( ) int k,p,s =1,-9,7,2,-10,3; for(p=0,k=p;p6;p+) if(spsk)_ printf(“%d/n“,k);(分数:2.00)填空项 1:_51.以下程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。 main( ) int x10,a9,i; for(i=0;i10;i+) scanf(“%d“,xi); for(U 11 /U;i10;i+)
20、 ai-1=xi+U 12 /U; for(i=0;i9;i+) printf(“%d“,ai); printf(“); (分数:4.00)填空项 1:_52.设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。(注:try_me() 函数在a:/myfile.txt 中有定义。) _ main( ) printf(“/n“); try_me( ); printf(“/n“);(分数:2.00)填空项 1:_53.以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1 时,表示输入结束(链表头结点的 data 域不放数据,表空的条件是 ph-nex
21、t=NULL),请填空。 #include stdio.h struct list int data;struct list *next; struct list *creatlist( ) struct list *p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list); p=q=ph;printf(“Input an integer number;entre-1 to end:/n“); scanf(“%d“,a); while(a!=-1) p=(struct list*)malloc(sizeof(struct list);
22、 U 14 /U=a;q-next=p;U 15 /U=p;scanf(“%d“,a); p-next=/0;return(ph); main( ) stuct list * head;head=creatlist();(分数:4.00)填空项 1:_二级 C 语言笔试 316 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.在执行下述程序时,若从键盘输入 6 和 8,则结果为 main( ) int a,b,s; scanf(“%d%d“, S=a if(ab) s=b; S*=s; printf(“%d“,s); A)36 B)64
23、 C)48 D)以上都不对(分数:2.00)A.B. C.D.解析:解析 本题中 a 的值为 6,b 的值为 8,最后 s 的值为 8,s*=s 等价于 s=s*s。2.C 语言规定,在一个源程序中,main 函数的位置(分数:2.00)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意 D.必须在最后解析:解析 不论 main 函数在整个过程中的位置如何,一个 C 程序总是从 main 函数开始执行的。3.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间 解析:解析 算法的复杂度主要包括算法的时间复
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 316 答案 解析 DOC
