【计算机类职业资格】二级C语言笔试-377及答案解析.doc
《【计算机类职业资格】二级C语言笔试-377及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-377及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-377 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.具有 3个结点的二叉树有( )。A) 2种形态 B) 4 种形态 C) 7 种形态 D) 5 种形态(分数:1.00)A.B.C.D.2.设有下列二叉树:(分数:1.00)A.B.C.D.3.下列数据结构中,能用二分法进行查找的是( )。A) 顺序存储的有序线性表 B) 线性链表C) 二叉链表 D) 有序线性链表(分数:1.00)A.B.C.D.4.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序易读性(分数:
2、1.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.在软件设计中,不属于过程设计工具的是( )。A) PDL(过程设计语言) B) PAD 图C) N-S图
3、D) DFD 图(分数:1.00)A.B.C.D.8.用树形结构来表示实体之间联系的模型称为( )。A) 关系模型 B) 层次模型 C) 网状模型 D) 数据模型(分数:1.00)A.B.C.D.9.关系数据库管理系统所管理的关系是( )。A) 若干个二维表 B) 一个 DBF文件C) 一个 DBC文件 D) 若干个 DBC文件(分数:1.00)A.B.C.D.10.设有如下三个关系表:(分数:1.00)A.B.C.D.11.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的( )。A) 正当性 B) 可行性 C) 确定性 D) 有穷性(分数:1.00)A.B.C.D.12
4、.以下叙述中错误的是( )。A) 用户所定义的标识符允许使用关键字B) 用户所定义的标识符应尽量做到“见名知意”C) 用户所定义的标识符必须以字母或下划线开头D) 用户定义的标识符中,大、小写字母代表不同标识(分数:1.00)A.B.C.D.13.以下选项中可作为 C语言合法常量的是( )。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:1.00)A.B.C.D.14.若整型变量 a、b、c、d 中的值依次为:1、4、3、2,则条件表达式 ab? a:cd? c:d 的值是( )。A) 1 B) 2 C) 3 D) 4(分数:1.00)A.B.C.D.15.有以下程
5、序:#include stdio.hmain() int x=1, y=0, a=0, b=0; switch(x) case 1:switch(y) case 0: a+; break; case 1:b+:break; case 2:a+; b+; break; case 3:a+; b+; printf(“a=%d, b=%d/n“, a, b); 程序的运行结果是( )。A) a=1, b=0 B) a=2, b=2 C) a=1, b=1 D) a=2, b=1(分数:1.00)A.B.C.D.16.以下程序的输出结果是( )。#includestdio.hmain() int a=
6、15, b=21, m=0, switch(a%3) case 0:m+; break; case 1:m+; switch(b%2) default:m+; case 0:m+; break; printf(“%d/n“,m); A) 1 B) 2 C) 3 D) 4(分数:1.00)A.B.C.D.17.有如下程序:#includestdio.hmain() int i; for(i=0; i3; i+) switch(i) case 0:printf(“%d“, i+); case 2:printf(“%d“, i); default: printf(“%d“, i); 程序运行后的输出
7、结果是( )。A) 022111 B) 021021 C) 000122 D) 01122(分数:1.00)A.B.C.D.18.下面程序的运行结果是( )。#includestdio.hmain() int i; for(i=1; iif(i%3=0) break; printf(“%d“, i); A) 123 B) 12 C) 23 D) 12345(分数:1.00)A.B.C.D.19.有以下程序:#includestdio.hmain() int i, j, x=0; for(i=0; i2; i+) x+; for(j=0; j=3; j+) if(%2) continue; x+
8、; x+; printf(“x=%d/n“, x); 程序执行后的输出结果是( )。A) x=4 B) x=8 C) x=6 D) x=12(分数:1.00)A.B.C.D.20.若变量已正确定义,以下 while循环不断输出读入的字符,当读入回车符时结束循环,正确的程序段是( )。A) while(ch=getchar() =/n) putchar(ch); B) while(ch=getchar() ) =/n) putchar(ch); C) while(ch=getchar() !=/n) putchar(ch); D) while(ch=getchar() !=/n) putchar
9、(ch);(分数:1.00)A.B.C.D.21.有如下程序:#include stdio.hmain() char c1, c2, c3, c4, c5, c6; scanf(“%c%c%c%c“, c1, c2, c3, c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c/n“, c5, c6); 程序运行后,若从键盘输入(从第 1列开始) :123回车45678回车则输出结果是( )。A) 1267 B) 1256 C) 1278 D) 1245(分数:1.00)A.B.C.D.22.若程序中定义
10、了以下函数:double myadd(double a, double b) return(a+b); 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。A) double myadd(double a, b); B) double myadd(double, double); C) double myadd(double b, double a); D) double myadd(double x, double y);(分数:1.00)A.B.C.D.23.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。A) 函数的实参和其对
11、应的形参共占同一存储单元B) 形参只是形式上的存在,不占用具体存储单元C) 同名的实参和形参占同一存储单元D) 函数的形参和实参分别占用不同的存储单元(分数:1.00)A.B.C.D.24.若有定义语句:int k23, *pk3; ,则以下语句中正确的是( )。A) pk=k; B) pk0=k12; C) pk=k0; D) pk1=k;(分数:1.00)A.B.C.D.25.若有以下说明和语句:int c45, (*p)5; p=c; 能够正确引用 c数组元素的是( )。A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p0+2)(分数:1.00)A.B.C.D.26.
12、有以下程序:#include stdio.h#include string.hvoid f(char p10, int n) /*字符串从小到大排序*/char t10; int i, j; for (i=0; in-1; i+) for(j=i+1; jn; j+) if (strcmp(pi, pj) 0) strcpy(t, pi); strcpy(pi, pj); strcpy(pj, t); main() char p510=“123“, “aabdfg“, “abbd“, “dcdbe“, “cd“; f(p, 5); printf(“% d/n “, strlen(p0) );
13、A) 2 B) 4 C) 6 D) 3(分数:1.00)A.B.C.D.27.有以下程序:#include stdio.hvoid fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for (i=0; i10; i+=2) fun(ci, ci+1); for (i=0; i10; i+) printf(“%d, “, ci); printf(“/n“); 程序的运行结果是( )。A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, B) 2, 1, 4,
14、3, 6, 5, 8, 7, 0, 9, C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, D) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,(分数:1.00)A.B.C.D.28.下列函数的运行结果是( )。#include stdio.hmain() int 1=2, p; int j, k; j=i; k=+i; p=f(j, k); printf(“%d“, p); int f(int a, int b) int c; if(ab) c=1; else if(a=b) c=0; else c=-1; return(c); A) -1 B) 1 C) 2 D
15、) 编译出错,无法运行(分数:1.00)A.B.C.D.29.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。A) scanf() B) getchar() C) gets() D) getc()(分数:1.00)A.B.C.D.30.有以下程序:#include stdio.h#include string.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
16、) 6 C) 11 D) 7(分数:1.00)A.B.C.D.31.设已执行预编译命令#includestring.h,以下程序段的输出结果是( )。(分数:1.00)A.B.C.D.32.阅读下列程序,则在执行后,程序的运行结果为( )。#include stdio.h#include string.hmain() char a30=“nice to meet you!“strcpy(a+strlen(a) /2, “ you“); printf(“%s/n“, a); A) nice to meet you you B) nice toC) meet you you D) nice to
17、you(分数:1.00)A.B.C.D.33.有以下程序:#include stdio.hint fun(int n) if(n=1) return 1; elsereturn(n+fun(n-1) ); main() int x; scanf(“%d“, x); x=fun(x); printf(“%d/n“, x); 执行程序时,给变量 x输入 10,程序的输出结果是( )。A) 55 B) 54 C) 65 D) 45(分数:1.00)A.B.C.D.34.有以下程序:#include stdio.hvoid f(int n, int *r) int r1=0; if (n%3=0) r
18、1=n/3; else if (n%5=0) r1=n/5; else f(-n, r1); *r=r1; main() int m=7, r; fm, r); printf(“%d/n“, r); 程序运行后的输出结果是( )。A) 2 B) 1 C) 3 D) 0(分数:1.00)A.B.C.D.35.有以下程序:#include stdio.hint fun(int a, int b) if (b=0) return a; else return (fun(-a, -b) ); main() printf(“%d/n“, fun(4, 2) ); 程序的运行结果是( )。A) 1 B)
19、2 C) 3 D) 4(分数:1.00)A.B.C.D.36.以下叙述中正确的是( ) A) static型局部变量,只能在编译时赋予值,程序运行期间不能更改B) static型局部变量,可以在程序运行期间更改其值C) 全局变量说明为 static存储类,其作用域将被扩大D) 形参可以使用的存储类说明符与局部变量完全相同(分数:1.00)A.B.C.D.37.有以下程序:#include stdio.h#include stdlib.hint fun(int n) int *p; p=(int*) malloc(sizeof(int) ); *p=n; return*p; main() int
20、 a; a=fun(10); printf(“%d/n“, a+fun(10) ); 程序的运行结果是( )。A) 0 B) 10 C) 20 D) 出错(分数:1.00)A.B.C.D.38.有以下程序:#include stdio.h#include string.htypedef struct char name9; char sex; float score2; STU; void f(STU a) STU b=“Zhao“, m, 85.0, 90.0; int i; strcpy(a.name, b.name); a.sex=b.sex; for (i=0; i2; i+) a.s
21、corei=b.scorei; main() STU c=“Qian“, f, 95, 92; f(c); printf(“%s, %c, %f, %f“, c.name, c.sex, c.score0, c.score1); 程序的运行结果是( )。A) Qian, f, 95.000000, 92.000000 B) Qian, m, 85.000000, 90.000000C) Zhao, f, 95.000000, 92.000000 D) Zhao, m, 85.000000, 90.000000(分数:1.00)A.B.C.D.39.若 x=2,y=3,则 xy 的结果是( )。
22、A) 0 B) 2 C) 3 D) 5(分数:1.00)A.B.C.D.40.有以下程序:#includestdio.hmain() FILE *fp; int k, n, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2. dat“, “w“); fprintf(fp, “%d%d%d% d/n“, a0, a1, a2); fprintf(fp, “%d%d% d/n“, a3, a4, a5); fclose(fp); fp=fopen(“d2.dat“, “r“); fscanf(fp, “%d%d“, k, n); printf(“%d%d/n“, k, n); f
23、close(fp); 程序运行后的输出结果是( )。A) 1 B) 12 4 C) 123 4 D) 123 456(分数:1.00)A.B.C.D.二、程序填空题(总题数:1,分数:18.00)给定程序中,函数 fun的功能是:求出形参 ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有 M个字符串,且串长小于 N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include stdio.h#include string.h#define
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 377 答案 解析 DOC
