【计算机类职业资格】二级C语言笔试-153及答案解析.doc
《【计算机类职业资格】二级C语言笔试-153及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-153及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-153 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.已知 int a;float b;所用的 scanf调用语句格式为:scanf(“a/%d,b=%f“,&a,&b);为了将数据 3和 25.08分别赋给 x和 y,正确的输入应当是(分数:1.00)A.3,25.08EnterB.a=3,b=25.08EnterC.a/3.b=25.08EnterD.a/3Enterb=25.08Enter2.有如下定义#define D2int x=5;float y=3.83;char C=D;则下面选项中错误的是(分数:1.00
2、)A.x+;B.y+;C.c+;D.D+;3.以下不正确的定义语句是(分数:1.00)A.double x5=2.0,4.0,6.0,8.0,10.0;B.int y5=0,1,3,5,7,9;C.char cl=1,2,3,4,5;D.char c2=/x10,/xa,/x8;4.若有以下说明和定义union dtint a;char b;double c;data;以下叙述中错误的是(分数:1.00)A.data的每个成员起始地址都相同B.变量 data所占内存字节数与成员 c所占字节数相等C.程序段:data.a=5;printf(“%f/n“,data.c);输出结果为 5.00000
3、0D.data可以作为函数的实参5.下列叙述中,不属于软件需求规格说明书的作用的是(分数:1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析6.SQL语言又称为(分数:1.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言7.下面程序段的运行结果是char*s=“abcde“;s+=2;printf(“%d“,s);(分数:1.00)A.cdeB.字符cC.字符c的地址D.无确定的输出结果8.在设计程序时,应采纳的原则之一是(分数:1.00)A.不限制 go
4、to语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解9.在 C语言中,运算对象必须是整型数的运算符是(分数:1.00)A.%B./C.%和/D.*10.以下程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai; ai=an-1-i;an-1-i=t;main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);(分数:1.00)_11.在 C程序中,判逻辑值时,用“非 0
5、”表示逻辑值“真”,又用“0”表示逻辑值“假”。在求逻辑值时,逻辑真和逻辑假可分别表示为(分数:1.00)A.1 0B.0 1C.非 0非 0D.1 112.设函数 fun的定义形式为void fun(char ch,float x)则以下对函数 fun的调用语句中,正确的是(分数:1.00)A.fun(“abc“,3.0);B.t=fun(D,16.5);C.fun(65,2.8);D.fun(32,32);13.设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(“%d“,s);则(分数:1.00)A.运行程序段后输出 0B.运行程序段后输出 1C.程序
6、段中的控制表达式是非法的D.程序段执行无限次14.下列选项中不是结构化程序基本结构的是(分数:1.00)A.顺序结构B.跳转分支结构C.选择结构D.循环结构15.下列程序执行后的输出结果是main()int a33, *p,i;p=&a00;for(i=1;i9;i+)pi=i+1;printf(“%d/n“,a12);(分数:1.00)A.3B.6C.9D.随机数16.C语言结构体类型变量在程序运行期间(分数:1.00)A.TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B.所有的成员一直驻留在内存中C.只有最开始的成员驻留在内存中D.部分成员驻留在内存中17.阅读下面程序段,则执行后输
7、出的结果是#include“stdio.h“main()char fun(char,int);char a=A;int b=13;a=fun(a,b);putchar((分数:1.00)A.;char fun(char a,intB.&n18.设有以下语句:char X=3,y=6,z;z=xy2;则 2的二进制值是(分数:1.00)A.00010100B.O0011011C.00011100D.0001100019.以下程序的运行结果是#define MIN(x,y)(x)(y)?(x):(y)main()int i=10,j=15,kk=10*MIN(i,j);printf(“%d/n“,
8、k);(分数:1.00)A.10B.15C.100D.15020.将 E-R图转换到关系模式时,实体与联系都可以表示成(分数:1.00)A.属性B.关系C.键D.域21.设有以下说明语句typedef structint n;char ch8;PER;则下面叙述中正确的是(分数:1.00)A.PER是结构体变量名B.PER是结构体类型名C.typedef struct是结构体类型D.struct是结构体类型名22.如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是(分数:1.00)A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意顺序23.程序设计语
9、言的基本成分是数据成分、运算成分、控制成分和(分数:1.00)A.对象成分B.变量成分C.语句成分D.传输成分24.函数 fun的返回值是fun(char*a,char*b)int num=0,n=0;while(*(a+num)!=/0)num+;while(bn) *(a+num)=bn;num+;n+;return num;(分数:1.00)A.字符串 a的长度B.字符串 b的长度C.字符串 a和 b的长度之差D.字符串 a和 b的长度之和25.阅读下列程序,当运行函数时,输入 asd af aa z67,则输出为#includestdio.h#includectype.h#includ
10、estring.hint fun(char*str)int i,j=0;for(i=0;stri!=/0;i+)if(stri!=)strj+=stri;strj=/0;main()char str81;int n;clrscr();printf(“Input a string:“);gets(str);puts(str);fun(str);printf(“%s/n“,str);(分数:1.00)A.asdafaaz67B.asdafaaz67C.asdD.z6726.以下不正确的叙述是(分数:1.00)A.在 C程序中,逗号运算符的优先级最低B.在 C程序中,APH 和 aph是两个不同的变
11、量C.若 a和 b类型相同,在计算了赋值表达式 a=b后 b中的值将放入 a中,而 b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值27.有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9的表达式是(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+828.已知一棵二叉树前序遍历和中序遍历分别为 ABDEGCFH和 DBGEACHF,则该二叉树的后序遍历为(分数:1.00)A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG29.阅读下列程序,则执行后的结果为#in
12、clude“stdio.h“main()int c4=1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56;printf(“%x,%x/n“,c22,*(*(c+1)+1);(分数:1.00)A.3e,6B.62,5C.56,5D.3E,630.树是结点的集合,它的根结点数目是(分数:1.00)A.有且只有 1B.1或多于 1C.0或 1D.至少 231.已有变量定义和函数调用语句:int a=25;print_value(&(分数:1.00)A.;下面函数的正确输出结果是32.请选出以下语句的输出结果Printf(“%d/n“,strlen(“/t/“/065/x
13、ff/n“);(分数:1.00)A.5B.14C.8D.输出项不合法,无正常输出33.单个用户使用的数据视图的描述称为(分数:1.00)A.外模式B.概念模式C.内模式D.存储模式34.若说明 int*p,n;则通过语句 scanf能够正确读入数据的程序段是(分数:1.00)A.p=&n;scanf(“%d“,&p);B.p=&n;scanf(“%d“,*p);C.scanf(“%d“,n);D.p=&n;scanf(“%d“,p);35.以下选项中,不能作为合法常量的是(分数:1.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e036.假定以下程序经编译和
14、连接后生成可执行文件 PROGEXE,如果在此可执行文件所在目录的 DOS提示符下键入:PROG ABCDEFGH IJKL回车,则输出结果为main(int argc,char*argv0)while(-argc0)printf(“% s“,argvargc);printf(“/n“);(分数:1.00)A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH37.已有定义:char a=“xyz“,b=x,y,z;,以下叙述中正确的是(分数:1.00)A.数组 a和 b的长度相同B.a数组长度小于 b数组长度C.a数组长度大于 b数组长度D.上述说法都不对38
15、.利用 fseek函数可以实现的操作是(分数:1.00)A.改变文件的位置指针B.文件的顺序读写C.文件的随机读写D.以上答案均正确39.若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是(分数:1.00)A.(exp=0)B.(exp!=0)C.(exp=1)D.(exp!=1)40.下面判断正确的是(分数:1.00)A.char*a=“china“;等价于 char*a;*a=“china“;B.char str5=“china“;等价于 char str=“china“;C.char*s=“china“;等价于 char*s;s=“china“;D.ch
16、ar c4=“abc“,d4=“abc“;等价于 char c4=d4=“abc“;41.若已定义:int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9,则对 a数组元素不正确的引用是(分数:1.00)A.ap-aB.*(&ai)C.piD.a1042.下列不属于软件工程的 3个要素的是(分数:1.00)A.工具B.过程C.方法D.环境43.下列说法中错误的是(分数:1.00)A.只能在循环体内使用 break语句B.在循环体内使用 break语句可以使流程跳出本层循环体,从而提前结束本层循环C.在 while和 do.while循环中,continue 语句并没有使
17、整个循环终止D.continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断44.有如下定义语句:int aa3=12,23,34,4,5,6,78,89,45;,则 45在数组 aa中的行列坐标各为(分数:1.00)A.3,2B.3,1C.2,2D.2,145.下面函数的功能是将指针 t2所指向的线性链表,链接到 t1所指向的链表的末端。假定 t1所指向的链表非空struct nodefloat x;struct node*next;connect(struct node*t1,struct node*t2)if(t1-next=NULL)t1-next
18、=t2;else connect(_,t2);要实现此功能则应该填入的选项是(分数:1.00)A.t1.nextB.+t1.nextC.t1-nextD.+t1-next46.在 C语言中,int,char 和 short三种类型数据在内存中所占用的字节数(分数:1.00)A.由用户自己定义B.均为 2个字节C.是任意的D.由所用机器的机器字长决定47.若有说明:int a3=1,2,3,4,5,6,7;则 a数组第一维的大小是(分数:1.00)A.2B.3C.4D.无确定值48.已知函数的调用形式:fread(buf,size,count,fp),参数 buf的含义是(分数:1.00)A.一
19、个整型变量,代表要读入的数据项总数B.一个文件指针,指向要读的文件C.一个指针,指向要读入数据的存放地址D.一个存储区,存放要读的数据项49.下面程序段中,输出*的个数是char*s=“/ta/018bc“;for(;*s!=/0;s+)printf(“*“);(分数:1.00)A.9B.5C.6D.750.请选出可用作 C语言用户标识符的是(分数:1.00)A.void,define,WORDB.a3_b3,_123,IFC.FOR,-abc,CaseD.2a,Do,Sizeof二、填空题(总题数:18,分数:40.00)51.数据结构分为逻辑结构与存储结构,线性链表属于 【1】 。(分数:
20、2.00)填空项 1:_52.在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。(分数:2.00)填空项 1:_53.耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。(分数:2.00)填空项 1:_54.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 【4】 的联系。(分数:2.00)填空项 1:_55.数据库设计分为以下 6个设计阶段:需求分析阶段、 【5】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_56.如下程序片段:in a,b,c;printf
21、(“input a,b,c:“);scanf(“a=%d,b=%d,c=%d“,&a,&b,&c);欲使输出结果为 1、2、3(分别对应于 a、b、c),输入数据的正确形式为 【6】 。(分数:2.00)填空项 1:_57.以下程序的运行结果是 【7】 。#define MAX(a,b)(ab?a:b)+1main()int i=6,j=8,k;printf(“%d/n“,MAX(i,j);(分数:2.00)填空项 1:_58.以下程序输出的结果是 【8】 。main()int a=5,b=4,c=3,d;d=(abc);printf(“%d/n“,d);(分数:2.00)填空项 1:_59.
22、以下程序段的输出结果是 【9】 。main()int a=2,b=3,c=4;a*=16+(b+)-(+c);printf(“%d“,a);(分数:2.00)填空项 1:_60.阅读下面语句,则执行后的输出结果为 【10】 。#include“stdio.h“main()char a,b;for(a=0,b=9;ab;a+,b-)printf(“%c%c“,a,b);printf(“/n“);(分数:2.00)填空项 1:_61.如下语句 printf(“%c/n“,B+40);在执行后的输出结果是 【11】 。(分数:2.00)填空项 1:_62.以下程序的功能是:删去一维数组中所有相同的数
23、,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。请填空。#includestdio.h#define N 80in fun(int a,int n)int i,j=1;for(i=1;in;i+)if(aj-1 【12】 ai)aj+=ai;【13】 ;main()int aN=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,i,n=19;printf(“
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 153 答案 解析 DOC
