【计算机类职业资格】二级C语言笔试-365及答案解析.doc
《【计算机类职业资格】二级C语言笔试-365及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-365及答案解析.doc(38页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-365 及答案解析(总分:103.00,做题时间:90 分钟)一、选择题(总题数:50,分数:68.00)1.以下选项中,能定义 s 为合法的结构体变量的是A) typedef struct ABCdouble a; char b10; s; B) structdouble a; char b10; s; C) struct ABCdouble a; char b10; ABC s; D) typedef ABCdouble a; char b10; ABC s;(分数:2.00)A.B.C.D.2.对两个数组 a 和 b 进行下列初始化:char m=“1234567“;
2、char n=1,2,3,4,5,6,7; 则下列叙述正确的是( )。A) 数组 m 与数组 n 完全相同 B) 数组 m 与数组 n 长度相同C) 数组 m 比数组 n 长 1 D) 数组 m 与数组 n 中都存放字符串(分数:1.00)A.B.C.D.3.有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向此链表中的三个连续节点。struct nodeint data;struct node*next;*P,*q,*r;现要将 q 所指节点从链表中删除,同时要保持链表的连续,(分数:2.00)A.B.C.D.4.有以下程序:main()int a=0,b=0;a=10; /*给
3、 a 赋值b=20; /*给 b 赋值*/printf(“a+b=%d/n”,a+b);/*输出计算结果*/程序运行后的输出结果是( )。A) a+b=10 B) a+b=30 C) 30 D) 出错(分数:1.00)A.B.C.D.5.下列对于软件测试的描述中正确的是_。A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能地多发现程序中的错误D) 软件测试的目的是使程序符合结构化原则(分数:2.00)A.B.C.D.6.在 16 位编译系统上,若有定义 int a=10,20,30,*p=while(iN)scanf(“%d“, _);在
4、下划线处应填入的是A) x+i B) scanf(“%c,%c,%d,%d“,printf(%c,%c,%c,%c/n“,a,b,c,d);若运行时从键盘上输入 6,5,65,66回车。则输出结果是( )。A) 6,5,A,B B) 6,5,65,66 C) 6,5,6,5 D) 6,5,6,6(分数:1.00)A.B.C.D.9.以下 4 个程序中,完全正确的是( )。A) #include stdio.hmain(); /*programming*/printf(“programming!/n“); B) #include stdio.hmain() /*/programming/*/pr
5、intf(“programming!/n“); C) #include stdio.hmain() /*/*programming*/*/printf(“programming!/n“); D) include stdio.hmain() /*programming*/printf(“programming!/n“);(分数:1.00)A.B.C.D.10.有以下程序main()char s=“/n123/“;printf(“%d,%d/n“,strlen(s),sizeof(s);执行后输出结果是A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,6(分数:1.00)A.B.C.
6、D.11.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为_。A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.12.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ( )A) 地址传递 B) 单向值传递C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定(分数:1.00)A.B.C.D.13.下列叙述中,错误的是。A) 数据的存储结构与数据处理的效率密切相关B) 数据的存储结构与数据处理的效率无关C) 数据的存储结构在计算机中所占的空间不一定是连续的D) 一种数据
7、的逻辑结构可以有多种存储结构(分数:1.00)A.B.C.D.14.下面程序的功能是输出以下形式的金字塔图案:*#include stdio.hmain()int i,j;for(i=1;i=4;i+)for(j=1;j=4-i;j+) printf(“ “);for(j=1;j=_;j+) printf(“*“);printf(“/n“);在下划线处应填入的是( )。A) i B) 2*i-1 C) 2*i+1 D) i+2(分数:1.00)A.B.C.D.15.属于 C 语言中合法的常量是_。A) 1.52e B) 100 C) x D) “xt“y(分数:1.00)A.B.C.D.16.
8、有定义语句:iht b;char c10;,则正确的输入语句是A) scanf(“%d%s“,printf(“%d“,j-40);A) i=1;i4;+i B) i=1;i3;+i C) i=4;i2;i- D) i=2;i4;+i(分数:1.00)A.B.C.D.18.下列程序的输出结果是( )。main()int a=1,b=2;printf(“%d,%d/n“,-a,+b);A) 1,2 B) 1,3 C) 0,2 D) 0,3(分数:1.00)A.B.C.D.19.下列叙述中正确的是( )。A) 数据库系统是一个独立的系统,不需要操作系统的支持B) 数据库技术的根本目标是要解决数据的共
9、享问题C) 数据库管理系统就是数据库系统D) 以上三种说法都不对(分数:1.00)A.B.C.D.20.下面程序的运行结果是( )。#include“stdio.h“main()int i;for(i=1;i=5;i+)if(i%2)printf(“*“);elseprintf(“#“);A) *#*#* B) #*#*#* C) *#*# D) #*#*(分数:2.00)A.B.C.D.21.有以下程序:#includestdio.hvoid fun (int *a, int n)/ *fun 函数的功能是将 a 所指数组元素从大到小排序*/int t, i, j;for(i=0; in-1
10、; i+)for(j=i+1; jn; j+)if(aiaj) t=ai; ai=aj; aj=t;main()int c10=(1, 2, 3, 4, 5, 6, 7, 8, 9, 0),i;fun(c+4, 6);fori=0; i10; i+) printf(“%d, “, ci);printf(“/n“);程序的运行结果是( )。A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, B) 0, 9, 8, 7, 6, 5, 1, 2, 3, 4, C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, D) 1, 2, 3, 4, 9, 8, 7, 6, 5, 0
11、,(分数:2.00)A.B.C.D.22.以下程序的输出结果是main()int a=0,i;for(i=1;i5 i+)switch(i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;printf(“%d/n“,A) ;A) 31 B) 13 C) 10 D) 20(分数:1.00)A.B.C.D.23.以下变量 x、y、z 均为 double 类型且已正确赋值,不能正确表示数学式子 x/(y*2)的 C 语言表达式是_。A) x/y*2 B) x*(1/(y*z) C) x/y*1/z D) x/y/z(分数:1.00)A.B.C.D
12、.24.有定义语句:int *P4; ,以下选项中与此语句等价的是 A) int p4; B) int *P; C) int *(P4); D) int(*P)4;(分数:2.00)A.B.C.D.25.数据库的故障恢复一般是由 ( )A) 数据流图完成的 B) 数据字典完成的 C) DBA 完成的 D) PAD 图完成的(分数:1.00)A.B.C.D.26.有以下程序: #includestdio.h main() int x; scanf (“%d“,t=c00;c00=c10;c10=t;void swap2 (int *c0,int *c1)int t;t-*c0;*c0=*c1;*
13、c1=t;main()int a2=3,5, b2=3,5swapl(a,a+1);swap2(printf(“%d %d %d %d/n“,a0,a1,b0,b1);程序运行后的输出结果是A) 3 5 5 3 B) 5 3 3 5 C) 3 5 3 5 D) 5 3 5 3(分数:1.00)A.B.C.D.33.有以下程序:main()char str10=“China“,“Beijing“),*P=str;printf(“%s/n“,p+10);程序运行后的输出结果是 _。A) China B) Beijing C) ng D) ing(分数:2.00)A.B.C.D.34.下面的 for
14、 语句:for(int x=0, y=10; (y0)(x4); x+, y-) ; 则下面叙述中正确的是( )。A) 是无限循环 B) 循环次数不定C) 循环执行 4 次 D) 循环执行三次(分数:1.00)A.B.C.D.35.请读程序:#includestdio.h#includestring.hmain()char*s1=“AbCdEf“,*s2=“aB“;s1+;s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是_。A) 正数 B) 负数 C) 零 D) 不确定的值(分数:1.00)A.B.C.D.36.如果进栈序列为 A,B,C,D,则可能的出栈序
15、列是( )。 A) C,A,D,B B) B,D,C,A C) C,D,A,B D) 任意顺序(分数:2.00)A.B.C.D.37.数据库系统的核心是( )。A) 数据模型 B) 数据库管理系统C) 数据库 D) 数据库管理员(分数:2.00)A.B.C.D.38.以下不合法的数值常量是( )。A) 011 B) lel C) 8.0E0.5 D) 0xabcd(分数:1.00)A.B.C.D.39.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为_。(假设根结点在第 1 层)A) 3 B) 4 C) 6 D) 7(分数:2.00)A.B.C.D.40.以下关于字符串的
16、叙述中正确的是A) C 语言中有字符串类型的常量和变量B) 两个字符串中的字符个数相同时才能进行字符串大小的比较C) 可以用关系运算符对字符串的大小进行比较D) 空串一定比空格打头的字符串小(分数:1.00)A.B.C.D.41.有以下程序:#include stdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;*q=*(p+5);printf(“%d %d /n“,*p,*q);程序运行后的输出结果是( )。A) 运行后报错 B) 66 C) 611 D) 510(分数:1.00)A.B.C.D.42.有三个关系 R、S 和
17、 T 如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系 R 和 S 通过运算得到关系 T,则所使用的运算为A) 并 B) 自然连接 C) 笛卡尔积 D) 交(分数:2.00)A.B.C.D.43.以下程序运行时若要正确输出函数的入口地址和输入数的绝对值,应在程序空缺处填入的正确选项是 ( )。abs(int x)if(x=0)return x:else return -x;main()int y,z,(*p)(int x)=abs;scanf(“ d“ , float s;seanf(“%d“,s=*r*r;printf(
18、“s=%f/n“,s);出错的原因是( )。A) 注释语句书写位置错误B) 存放圆半径的变量 r 不应该定义为整型C) 输出语句中格式描述符非法D) 计算圆面积的赋值语句中使用了非法变量(分数:2.00)A.B.C.D.49.下列选项可以正确表示字符型常量的是A) /r B) “a“ C) “/897“ D) 296(分数:1.00)A.B.C.D.50.下列不是合法的 C 语言语句是( )。A) a=5 B) int i;i+;C) ; D) ;(分数:2.00)A.B.C.D.二、填空题(总题数:19,分数:35.00)51.下列程序的输出结果是_。#includestdio.hint t
19、(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;main()int a=1,b=8,c=7,d=9;t(a,b,c,d);printf(“%d %d/n“,c,d);(分数:2.00)填空项 1:_52.数据字典是各类数据描述的集合,它通常包括 5 个部分,即数据项、数据结构、数据流、 1 和处理过程。(分数:1.00)填空项 1:_53.以下程序运行后的输出结果是_。#include stdio.hmsin()int i,n=0,0,0,0,0;for(i=1;i=4;i+)ni=ni-1*2+1;printf(“%d“,ni);(分数:2.
20、00)填空项 1:_54.在算法的 4 个特征中,算法必须能在执行有限个步骤之后终止,指的是算法的 1 性。(分数:2.00)填空项 1:_55.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。main()int t=0,s=0,i;for(i=1;i=5;i+)t=i+_;s=s+t;printf(“s=%d/n“,s);(分数:2.00)填空项 1:_56.软件结构是以 1 为基础而组成的一种控制层次结构。(分数:1.00)填空项 1:_57.#define 命令出现在程序中函数的外面,宏名的有效范围为 1。(分数:2.00)填空项 1:_58.软件设计模块化的目
21、的是 1。(分数:2.00)填空项 1:_59.数据库系统在三级模式之间提供了两层映像,这两层映像是外模式/模式映像和 1。(分数:2.00)填空项 1:_60.设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置),尾指针 rear=29(指向队尾元素),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_61.有以下定义和语句,则 sizeof(a)的值是_,而 sizeof(a.share)的值是_。struct dateint day;int mouth;int year;unionint share1;float share2;share;a;(分数
22、:4.00)填空项 1:_62.在 scanf()函数调用语句中,可以在格式字符和%号之间加上一个星号,它的作用是跳过对应的输入数据;当输入以下数据时,100 200 300 400 500回车,下面语句的执行结果为_。main()int a,b,C;scanf(“%d%*d%d%d“,b5=0;printf(“%s/n“,b);(分数:1.00)填空项 1:_二级 C 语言笔试-365 答案解析(总分:103.00,做题时间:90 分钟)一、选择题(总题数:50,分数:68.00)1.以下选项中,能定义 s 为合法的结构体变量的是A) typedef struct ABCdouble a;
23、char b10; s; B) structdouble a; char b10; s; C) struct ABCdouble a; char b10; ABC s; D) typedef ABCdouble a; char b10; ABC s;(分数:2.00)A.B. C.D.解析:解析 本题的考查点是结构体变量的定义。定义一个结构体类型的变量,可采用 3 种方法:先定义结构体类型再定义变量;在定义类型的同时定义变量;直接定义结构体类型变量,即不出现结构体名。选项 B)符合第 3 种定义方法。2.对两个数组 a 和 b 进行下列初始化:char m=“1234567“;char n=1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 365 答案 解析 DOC
