【计算机类职业资格】二级C语言笔试-393及答案解析.doc
《【计算机类职业资格】二级C语言笔试-393及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-393及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-393 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.数据处理的最小单位是( )。A) 数据 B) 数据元素 C) 数据项 D) 数据结构(分数:1.00)A.B.C.D.2.下列叙述中正确的是( )。A) 线性表是线性结构 B) 栈与队列是非线性结构C) 线性链表是非线性结构 D) 二叉树是线性结构(分数:1.00)A.B.C.D.3.下列关于栈的叙述中正确的是( )。A) 在栈中只能插入数据 B) 在栈中只能删除数据C) 栈是先进先出的线性表 D) 栈是先进后出的线性表(分数:1.00)A.B.C.D.4.在设计程
2、序时,应采纳的原则之一是( )。A) 不限制 goto 语句的使用B) 减少或取消注解行C) 程序越短越好D) 程序结构应有助于读者理解(分数: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) 详细设计 B) 软件编码 C) 软件测试 D) 软件维护(分数:1.00)A.B.C.D.8
3、.数据库、数据库系统和数据库管理系统之间的关系是( )。A) 数据库包括数据库系统和数据库管理系统B) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统D) 三者没有明显的包含关系(分数:1.00)A.B.C.D.9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。A) 可重用性差 B) 安全性差 C) 非持久性 D) 冗余性(分数:1.00)A.B.C.D.10.下列叙述中,正确的是( )。A) 用 E-R 图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B) 用 E-R 图只能表示实体集之间一对一的联系C) 用 E-R 图只能
4、表示实体集之间一对多的联系D) 用 E-R 图表示的概念数据模型只能转换为关系数据模型(分数:1.00)A.B.C.D.11.计算机能直接执行的程序是( )。A) 源程序 B) 目标程序 C) 汇编程序 D) 可执行程序(分数:1.00)A.B.C.D.12.以下 4 个程序中,完全正确的是( )。A) #include stdio.hmain(); /*programming*/printf(“programming!/n“); B) #include stdio.hmain() /*/programming/*/printf(“programming!/n“); C) #include s
5、tdio.hmain() /*/*programming*/*/printf(“programming!/n“); D) include stdio.hmain() /*programming*/printf(“programming!/n“);(分数:1.00)A.B.C.D.13.有以下程序段:char ch; int k; ch=a; k=12; printf(“%c, %d, “, ch, ch); printf(“k=%d/n“, k); 已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是( )。A) 因变量类型与格式描述符的类型不匹配,输出无定值B) 输出项与
6、格式描述符个数不符,输出为零值或不定值C) a, 97, 12k=12D) a, 97, k=12(分数:1.00)A.B.C.D.14.有定义语句:int x, y; 。若要通过 scanf(“%d, %d“, x, y); 语句使变量 x 得到数值 11,变量y 得到数值 12,下面四组输入形式中,错误的是( )。A) 11 12 B) 11, 12 C) 11, 12, D) 11,12(分数:1.00)A.B.C.D.15.当把以下四个表达式用作 if 句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。A) k%2 B) k%2=1 C) (k%2) !=0 D)
7、!k%2=1(分数:1.00)A.B.C.D.16.若执行下面的程序时,从键盘输入 5 和 2,则输出结果是( )。#include stdio.hmain() int a, b, k; scan(“%d, %d“, a, b); k=a; if(ab) k=a%b; else k=b%a; printf(“%d/n“,k); A) 5 B) 3 C) 2 D) 0(分数:1.00)A.B.C.D.17.有如下程序:#include stdio.hmain() int n=9; while(n6) n-; printf(“%d“,n); 该程序的输出结果是( )。A) 987 B) 876 C
8、) 8765 D) 9876(分数:1.00)A.B.C.D.18.有以下程序:main() int k=5, n=0; doswitch(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(k0n5); 程序运行后的输出结果是( )。A) 235 B) 0235 C) 02356 D) 2356(分数:1.00)A.B.C.D.19.以下选项中不属于字符常量的是( )。A) C B) “C“ C) /xCC D) /072(分数:1.0
9、0)A.B.C.D.20.若有说明语句:char c=/72; ,则变量 c( )。A) 包含 1 个字符 B) 包含 2 个字符C) 包含 3 个字符 D) 说明不合法,c 的值不确定(分数:1.00)A.B.C.D.21.已有定义:char c; ,程序前面已在命令行中包含 ctype.h 文件,不能用于判断 c 中的字符是否为大写字母的表达式是( )。A) isupper(C) B) A=c=ZC) A=cc=Z D) c=(z-32) (a-32) =c(分数:1.00)A.B.C.D.22.C 语言规定,在一个源程序中,main 函数的位置( )。A) 必须在最开始B) 必须在系统调
10、用的库函数的后面C) 可以任意D) 必须在最后(分数:1.00)A.B.C.D.23.若有定义:int x=0, *p=x; ,则语句 printf(“%d/n, *p); 的输出结果是( )。A) 随机值 B) 0 C) x 的地址 D) p 的地址(分数:1.00)A.B.C.D.24.设有定义:int a, *pa=a; ,以下 scanf 语句中能正确为变量 a 读入数据的是( )。A) seanf(“%d“, pa); B) seanf(“%d“, a); C) scanf(“%d“, pa); D) scanf(“%d“, *pa);(分数:1.00)A.B.C.D.25.若要求定
11、义具有 10 个 int 型元素的一维数组 a,则以下定义语句中错误的是( )。A) #define N 10int aN; B) #define n 5int a 2*n; C) int a5+5; D) int n=10, an;(分数:1.00)A.B.C.D.26.以下叙述中错误的是( )。A) 对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出B) 数组名代表的是数组所占存储区的首地址,其值不可改变C) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D) 可以通过赋初值的方式确定数组元素的个数(分数:1.00)A.B.C.D
12、.27.现有如下程序段:#include stdio.hmain() int k30=12, 324, 45, 6, 768, 98, 21, 34, 453, 456; int count=0, i=0; while(ki) if(ki%2=0|ki%5=0) count+; i+; printf(“%d, %d/n“, count, i); 则程序段的输出结果为( )。A) 7, 8 B) 8, 8 C) 7, 10 D) 8, 10(分数:1.00)A.B.C.D.28.以下不正确的定义语句是( )。A) double x5=2.0, 4.0, 6.0, 8.0, 10.0; B) in
13、t y5=0, 1, 3, 5, 7, 9; C) char c1=1, 2, 3, 4, 5; D) char c2=/x10, /xa, /x8;(分数:1.00)A.B.C.D.29.有以下程序:#include stdio.hmain() int a=2, 4, 6, 8, 10, y=0, x, *p; p=a1; for(x=1; x3; x+) y+=px; printf(“%d/n“, y); 程序运行后的输出结果是( )。A) 10 B) 11 C) 14 D) 15(分数:1.00)A.B.C.D.30.已有定义:char a=“xyz“, b=x, y, z; ,以下叙述
14、中正确的是( )。A) 数组 a 和 b 的长度相同 B) a 数组长度小于 b 数组长度C) a 数组长度大于 b 数组长度 D) 以上说法都不对(分数:1.00)A.B.C.D.31.有以下程序:#include stdio.hmain() char s=“ABCD“, *p; for(p=s+1; ps+4; p+) printf(“%s/n“, p); 程序运行后的输出结果是( )。A) ABCDBCDCDDB) ABCDC) BCDD) BCDCDD(分数:1.00)A.B.C.D.32.设有如下程序段:char s20=“Beijing“, *p; p=s; 执行 p=s; 语句后
15、,以下叙述正确的是( )。A) 可以用*p 表示 s0B) s 数组中元素的个数和 p 所指字符串长度相等C) s 和 p 都是指针变量D) 数组 s 中的内容和指针变量 p 中的内容相同(分数:1.00)A.B.C.D.33.以下程序的输出结果是( )。#includestdio.hint fun(int n, int *s) int f1, f2; if(n=0|n=1) *s=1; elsefun(n-1, f1); fun(n-2, f2); *s=f1+f2; void main() int x; fun(6, x); printf(“/n% d“, x); A) 7 B) 13 C
16、) 9 D) 10(分数:1.00)A.B.C.D.34.阅读下列程序,则运行结果为( )。#include stdio.hfun() static int x=5; x+; return x; main() fint i, x, for(i=0; i3; i+) x=fun(); printf(“%d/n“, x); A) 5 B) 6 C) 7 D) 8(分数:1.00)A.B.C.D.35.以下程序的运行结果是( )。#define MAX(A, B) (A) (B) ?(A):(B) #define PRINT(Y) printf(“Y=%d/t“, Y) main() int a=1
17、, b=2, c=3, d=4, t; t=MAX(a+b, c+d); PRINT(t); A) Y=3 B) 存在语法错误C) Y=7 D) Y=0(分数:1.00)A.B.C.D.36.设有如下说明:typedef struct STlong a; int b; char c2; NEW; 则下面叙述中正确的是( )。A) 以上的说明形式非法 B) ST 是一个结构体类型C) NEW 是一个结构体类型 D) NEW 是一个结构体变量(分数:1.00)A.B.C.D.37.设有以下语句:typedef struct S(int g; char h; ) T; 则下面叙述中正确的是( )。A
18、) 可用 S 定义结构体变量B) 可以用 T 定义结构体变量C) S 是 struct 类型的变量D) T 是 struct s 类型的变量(分数:1.00)A.B.C.D.38.在 16 位 IBM-PC 上使用 C 语言,若有如下定义:struct datafint i; char ch; double f:b; 则结构变量 b 占用内存的字节数是( )。A) 1 B) 2 C) 7 D) 11(分数:1.00)A.B.C.D.39.设有定义语句:char c1=92, c2=92; ,则以下表达式中值为零的是( )。A) c1c2 B) c1c2 C) c2 D) c1|c2(分数:1.
19、00)A.B.C.D.40.如果需要打开一个已经存在的非空文件“Demo”进行修改,下面选项中正确的是( )。A) fp=fopen(“Demo“, “r“); B) fp=fopen(“Demo“, “ab+“); C) fp=fopen(“Demo“, “w+“); D) fp=fopen(“Dem0“, “r+“)(分数:1.00)A.B.C.D.二、程序填空题(总题数:1,分数:18.00)下列给定程序中,函数 fun 的功能是:将形参 s 所指字符串中下标为奇数的字符取出,并按 ASCII 码大小递增排序,将排序后的字符存入形参 p 所指的字符数组中,形成一个新串。请在下划线处填入正
20、确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#includestdio.hvoid fun(char*s, char *p)int i, j, n, x, t; n=0; for(i=0; si!=/0; i+)n+; for(i=1; in-2; i=i+2)/*found*/(1) ; /*found*/for(j= (2) +2; jn; j=j+2)if(stsD)t=j; if(t!; i)x=si; si=stst=x; for(i=1, j=0; in; i-i+2, j+)pj=si; /*found*
21、/pj= (3) ; main()char s80=“baawrskjghzlicda“, p50; printf(“/nThe original string is:%s/n“, s); fun(s, p); printf(“/nThe result is:%s/n“, p); (分数:18.00)填空项 1:_填空项 1:_填空项 1:_三、程序改错题(总题数:1,分数:18.00)41.下列给定程序中,函数 fun 的功能是:用下面的公式求 的近似值,直到最后一项的绝对值小于指定的数(参数 num)为止。(分数:18.00)_四、程序设计题(总题数:1,分数:24.00)42.编写函数
22、fun,其功能是:删除一个字符串中指定下标的字符。其中,a 指向原字符串,删除指定字符后的字符串存放在 b 所指的数组中,n 放指定的下标。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:#includestdio.h#includeconio.h#define LEN 20void fun(char a, char b, int n)void main()char str1LEN, str2LEN; int n; printf(“Enter the string:/n“); gets(str1); pri
23、ntf(“Enter the position of the string deleted:“); scanf(“%d“,n); fun(str1, str2, n); printf(“The new string is:%s/n“, str2); (分数:24.00)_二级 C 语言笔试-393 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.数据处理的最小单位是( )。A) 数据 B) 数据元素 C) 数据项 D) 数据结构(分数:1.00)A.B.C. D.解析:解析 数据处理的最小单位是数据项;由若干数据项组成数据元素;数据是指能够被
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 393 答案 解析 DOC
