【计算机类职业资格】二级C语言笔试-392及答案解析.doc
《【计算机类职业资格】二级C语言笔试-392及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-392及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-392 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.数据结构中,与所使用的计算机无关的是数据的( )。A) 存储结构 B) 物理结构C) 逻辑结构 D) 物理和存储结构(分数:1.00)A.B.C.D.2.线性表 L=(a1, a2, a3, ., ai., an),下列说法正确的是( )。A) 每个元素都有一个直接前件和直接后件B) 线性表中至少要有一个元素C) 表中诸元素的排列顺序必须是由小到大或由大到小D) 除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件(分数:1.00)A.B.C
2、.D.3.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是( )。A) ABCED B) DCBEA C) DBCEA D) CDABE(分数:1.00)A.B.C.D.4.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序易读性(分数:1.00)A.B.C.D.5.在面向对象方法中,一个对象请求另对象为其服务的方式是通过发送( )。A) 调用语句 B) 命令 C) 口令 D) 消息(分数:1.00)A.B.C.D.6.下列描述中正确的是( )。A) 软件工程只是解决软件项目的管理问题B)
3、 软件工程主要解决软件产品的生产率问题C) 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D) 软件工程只是解决软件开发中的技术问题(分数:1.00)A.B.C.D.7.需求分析阶段的任务是确定( )。A) 软件开发方法 B) 软件开发工具C) 软件开发费用 D) 软件系统功能(分数:1.00)A.B.C.D.8.下列叙述中错误的是( )。A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库设计是指在已有数据库管理系统的基础上建立数据库D) 数据库系统需要操作系统的支持(分数:1.00)A.B.C.D.9.一个教师可讲授
4、多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是( )。A) 1:1联系 B) 1:m 联系C) m:1联系 D) m:n 联系(分数:1.00)A.B.C.D.10.把实体一联系模型转换为关系模型时,实体之间多对多联系在模型中是通过( )。A) 建立新的属性来实现 B) 建立新的关键字来实现C) 建立新的关系来实现 D) 建立新的实体来实现(分数:1.00)A.B.C.D.11.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的( )。A) 正当性 B) 可行性 C) 确定性 D) 有穷性(分数:1.00)A.B.C.D.12.以下叙述中正确的是( )。A)
5、 C程序的基本组成单位是语句B) C程序中的每一行只能写一条语句C) 简单 C语句必须以分号结束D) C语句必须在一行内写完(分数:1.00)A.B.C.D.13.以下程序的输出结果是( )。main() int a=666, b=888; printf(“%d/n“, (a, b) ); A) 错误信息 B) 666 C) 888 D) 666, 888(分数:1.00)A.B.C.D.14.x,y,z 被定义为 int型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是( )。A) INPUT x、y、z; B) scanf(“%d%d%d“, x, y, z); C) seanf(
6、“%d%d%d“, x, y, z); D) read(“%d%d%d“, x, y, z);(分数:1.00)A.B.C.D.15.在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是( )。A) (!E=0) B) (E0|E0) C) (E=0) D) (E!=0)(分数:1.00)A.B.C.D.16.有以下程序:main() int a, b, d=25; a=d/10%9; b=a(-1); printf(“%d, %d/n“, a, b); 程序运行后的输出结果是( )。A) 6, 1 B) 2, 1 C) 6, 0 D) 2, 0(分数:1.00)A.B.C.D
7、.17.设有以下程序段:int x=0, s=0; while(!x!=0) s+=+x; printf(“%d“, s); 则( )。A) 运行程序段后输出 0B) 运行程序段后输出 1C) 程序段中的控制表达式是非法的D) 程序段执行无限次(分数:1.00)A.B.C.D.18.有以下程序:#include stdio.hmain() int i=5; doif(i%3=1) if(i%5=2) printf(“*%d“, i); break; i+; while(i!=0); printf(“/n“); 程序的运行结果是( )。A) *7 B) *3*5 C) *5 D) *2*6(分数
8、:1.00)A.B.C.D.19.下列选项可以正确表示字符型常量的是( )。A) /r B) “a“ C) “/897“ D) 296(分数:1.00)A.B.C.D.20.数字字符 0的 ASCII值为 48,若有以下程序:#include stdio.hmain() char a=1, b=2; printf(“%c, “b+); printf(“%d/n“, b-a); 程序运行后的输出结果是( )。A) 3, 2 B) 50, 2 C) 2, 2 D) 2, 50(分数:1.00)A.B.C.D.21.有以下程序:#include stdio.hmain() char a=a, b;
9、printf(“%c,“, +a); printf(1%c/n“, b=a+); 程序运行后的输出结果是( )。A) b,b B) b,c C) a,b D) a,c(分数:1.00)A.B.C.D.22.以下关于函数的叙述中正确的是( )。A) 每个函数都可以被其他函数调用(包括 main函数) B) 每个函数都可以被单独编译C) 每个函数都可以单独运行D) 在一个函数内部可以定义另一个函数(分数:1.00)A.B.C.D.23.设有定义:int n1=0, n2, *p=n2, *q=n1; ,以下赋值语句中与 n2=n1; 语句等价的是( )。A) *p=*q; B) p=q; C);
10、p=n1; D) p=*q;(分数:1.00)A.B.C.D.24.以下程序的输出结果是( )。#include stdio.hvoid swap(int*a, int *b) int*t; t=a; a=b; b=t; main() int i=3, j=5, *p=i, *q=j; swap(p, q); printf(1%d %d/n, *p, *q); A) 23 B) 34 C) 35 D) 45(分数:1.00)A.B.C.D.25.若要求定义具有 10个 int型元素的一维数组 a,则以下定义语句中错误的是( )。A) #define N 10int aN; B) #define
11、 n 5int a2*n; C) int a5+5; D) int n=10, an;(分数:1.00)A.B.C.D.26.以下能正确定义_维数组的选项是( )。A) int a5=0, 1, 2, 3, 4, 5; B) char a=0, T, 2, 3, 4, 5, /0; C) char a=A, b, C; D) int a5=“0123“;(分数:1.00)A.B.C.D.27.有以下程序:#include stdio.hint f(int a) return a%2; main() int s8=1, 3, 5, 2, 4, 6, i, d=0; for(i=0; f(si);
12、 i+) d+=si; printf(“%d/n“, d); 程序运行后的输出结果是( )。A) 9 B) 11 C) 19 D) 21(分数:1.00)A.B.C.D.28.有以下程序:#include stdio.hvoid fun(int *s, int n1, int n2) int i, j, t; i=n1; j=n2; while(ij) t=si; si=sj; sj=t; i+; j-; main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, k; fun(a, 0, 3); fun(a, 4, 9); fun(a, 0, 9); for (
13、k=0; k10; k+) printf(“%d“, ak); A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234(分数:1.00)A.B.C.D.29.有以下程序:#include stdio.hmain() fchar s=“123de“; s+=2; printf(“%d/n“, s0); 执行后的结果是( )。A) 输出字符 a的 ASCII码 B) 输出字符 c的 ASCII码C) 输出字符 c D) 程序出错(分数:1.00)A.B.C.D.30.若有定义语句:char s10=“1234567/0/0“; , 则 str
14、len(s) 的值是( )。A) 7 B) 8 C) 9 D) 10(分数:1.00)A.B.C.D.31.有以下程序:#include string.h#include stdio.hmain() char p20=a, b, c, d, q=“123“, r=“123de“; strcat(p, r); strcpy(p+strlen(q), q); printf(“%d/n“, strlen(p) ); 程序运行后的输出结果是( )。A) 9 B) 6 C) 11 D) 7(分数:1.00)A.B.C.D.32.有以下程序:#include string.h#include stdio.
15、hmain() char a7=“a0/0a0/0“; int i, j; i=sizeof(A); j=strlen(A); printf(“%d%d/n“, i, j); 程序运行后的输出结果是( )。A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:1.00)A.B.C.D.33.有以下程序:#include stdio.hint f(int n) if(n=1) return 1; else return f(n-1) +1; main() inti, j=0; for(i=1; i3; i+) j+=f(i); print(“%d/n“, j); 程序运行后的输出结果是(
16、 )。A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B.C.D.34.在 C语言中,变量的隐含存储类别是( )。A) auto B) static C) extern D) 无存储类别(分数:1.00)A.B.C.D.35.以下程序运行后,输出结果是( )。#define PT 5.5#define S(x) PT*x*x#includestdio.hmain() int a=1, b=2; printf(“%4.1f/n“, S(a+b) ); A) 49.5 B) 9.5 C) 22 D) 45.0(分数:1.00)A.B.C.D.36.有以下程序段:typedef stru
17、ct NODEint num; struct NODE *next; OLD; 以下叙述中正确的是( )。A) 以上的说明形式非法 B) NODE 是一个结构体类型C) OLD是一个结构体类型 D) OLD 是一个结构体变量(分数:1.00)A.B.C.D.37.C语言结构体类型变量在程序运行期间( )。A) TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B) 所有的成员一直驻留在内存中C) 只有最开始的成员驻留在内存中D) 部分成员驻留在内存中(分数:1.00)A.B.C.D.38.有以下程序:#include stdio.hstruct stint x, y; ) data2=1,
18、10, 2, 20; main() struct st *p=data; 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.39.下面程序段的输出为( )。#include “stdio.h“main() printf(“%d/n“, 122); A) 0 B) 47 C) 48 D) 24(分数:1.00)A.B.C.D.40.有以下程序:#include stdio.hmain() FILE *fp; int a10=1, 2
19、, 3, i, n; fp=fopen(“d1.dat“, “w“); for (1=0; i3; i+) fprintf(fp, “%d“, ai); fprintf(fp, “/n“); fclose(fp); fp=fopen(“d1.dat“, “r“); fscanf(fp, “%d“, n); fclose(fp); printf(“%d/n“, n); 程序的运行结果是( )。A) 12300 B) 123 C) 1 D) 321(分数:1.00)A.B.C.D.二、程序填空题(总题数:1,分数:18.00)给定程序中,函数 fun的功能是:判定形参 a所指的 NxN(规定 N为
20、奇数)的矩阵是否是“幻方”,若是,则函数返回值为 1;若不是,则函数返回值为 0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include stdio.h#define N 3int fun (int(+a)N)int i, j, m1, m2, row, colum; m1=m2=0; for(i=0; iN; i+)j=N-i-1; m1+=aii; m2+=aij; if(m1!=m2) return 0; fo
21、r(i=0; iN; i+)/*found*/row=colum= (1) ; for(j=0; jN; j+)row+=aij; colum+=aji; /*found*/if(row!=colum) (2) (row!=m1) return 0; /*found*/return (3) ; main()int xNN, i, j; printf(“Enter number for array:/n“); for(i=0; iN; i+)for(j=0; jN; j+)scanf(“%d“, xij); printf(“Array:/n“); for(i=0; iN; i+)for(j=0;
22、 jN; j+)printf(“%3d“, xij); printf(“/n“); if(fun(x) printf(“The Array is a magic square./n“); else printf(“The Array isnt a magic square./n“); (分数:18.00)填空项 1:_填空项 1:_填空项 1:_三、程序改错题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun的功能是:传入一个整数 m,计算如下公式的值。t=1/2-1/3-1/m请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程
23、序的结构!试题程序:#include stdlib.h#includeconio.h#include stdio.hdouble fun(int m)double t=1.0; int i; for(i=2; i=m; i+)/*found*/t=1.0-1/i; /*found*/; void main()int m; printf(“/nPlease enter 1 integer number:/n“); scanf(“%d“, m); printf(“/n/nThe result is %1f/n“, fun(m); (分数:18.00)_四、程序设计题(总题数:1,分数:24.00)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 392 答案 解析 DOC
