【计算机类职业资格】二级C语言笔试-97及答案解析.doc
《【计算机类职业资格】二级C语言笔试-97及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-97及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-97 及答案解析(总分:108.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:struct sint x,y;) data2=10,100,20,200;main()struct s *p=data;printf(%d/n“,+p-x);程序运行后的输出结果是()。(分数:2.00)A.10B.11C.20D.212.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )。(分数:2.00)A.c1c2B.c1c2C.c2D.c1|c23.有以下程序:fun(int x,int y)(return (x+y)
2、;)main()int a=1,b=2,c=3,sum;sum=fun(a+,b+,a+b),c+);printf(“%d/n“,sum);执行后的输出结果是()。(分数:2.00)A.6B.7C.8D.94.以下程序的输出结果是( )。long fun(int n)long S;if(n=1|n=2)s=2;else s=n-fun(n-1);return s;main()printf(“% 1d/n“ ,fun(3);(分数:2.00)A.1B.2C.3D.45.设有定义:int a; float b;,执行 scanf(“%2d%f“,a,b);语句时,若从键盘输入 876 543.0回
3、车,a 和 b的值分别是( )。(分数:2.00)A.876和 543.000000B.87和 6.000000C.87和 543.000000D.76和 543.0000006.以下程序的输出结果是( )。main()int a=666,b=888;prinf(%d/n“,(a,b);(分数:2.00)A.错误信息B.666C.888D.666, 8887.以下选项中,能定义 s为合法的结构体变量的是( )。(分数:2.00)A.typedef struct abcdouble a;char b10;s;B.structdouble a;char b10;s;C.struct ABCdoub
4、le a;char b10;ABC s;D.typedef ABCdouble a;char b10;ABC s;8.以下选项中,值为 1的表达式是( )。(分数:2.00)A.1-0B.1-/0C.1-0D./0-09.以下程序的输出结果是( )。int f()static int i=0;int s=1;S+=i;i+:return s;main()int i,a=0;for(i=0;15;i+)a+=f();printf(“%d/n“,(分数:2.00)A.;A) 20B) 24C) 25D)10.有以下程序:void sum(int a1)a0=a-1+a1;)main()int a1
5、0=(1,2,3,4,5,6,7,8,9,10;suma2);printf(“%d/n“,a2):程序运行后的输出结果是()。(分数:2.00)A.6B.7C.5D.811.下列叙述中正确的是( )。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率12.下面能正确进行字符串赋值操作的是( )。(分数:1.00)A.char s5=“ABCDE“;B.char s5=A,b,C,D,E;C.
6、char *s;s=“ABCDE“;D.char *s;scanf(“%s“,s);13.下面概念中,不属于面向对象方法的是( )。(分数:1.00)A.对象B.继承C.类D.过程调用14.有以下结构体说明和变量定义,如下图所示,指针 p、 q、r 分别指向一个链表中的三个连续结点。struct nodeint data;struct node *next;)*p,*q,*r; data next data next data next(分数:1.00)A.rnext=q;qnext=rnext;p next;r;B.qnext=rnext;pnext=r;rnext=q;C.pnext=r;
7、qnext=rnext;rnext=q;D.qnext=rnext;rnext=q;pnext=r;15.有以下程序:#includestdio.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回车则输出结果是()。(分数:1.00)A.1267B.1256C.1278D.124516.有以下程序:main()int
8、 k=5;while(-k)printf(“%d“,k-=3);printf(“/n“):执行后的输出结果是()。(分数:1.00)A.1B.2C.4D.死循环17.在设计程序时,应采纳的原则之一是( )。(分数:1.00)A.不限制 goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解18.以下叙述中正确的是( )。(分数:1.00)A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用 C语言编写的程序只能放在一个程序文件中19.下列关于队列的叙述中正确的是(
9、)。(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表20.在结构化方法中,软件功能分解属于下列软件开发中的( )阶段。(分数:1.00)A.详细设计B.需求分析C.总体设计D.编程调试21.有定义语句:char s10;,若要从终端给 s输入 5个字符,错误的输入语句是( )。(分数:2.00)A.gets(s0);B.scanf(“%s“,s+1);C.gets(s);D.scanf(“%s“,s1);22.有以下程序:# include string.hmain()char p20=(a,b,c,d),q=“abc“,r
10、=“abcde“:strcat(p,r);strcpy(p+strlen(q),q);printf(“%d/n“,strlentp);程序运行后的输出结果是()。(分数:2.00)A.9B.6C.11D.723.若变量均已正确定义并赋值,以下合法的 C语言赋值语句是( )。(分数:2.00)A.x=y;B.x=n%52.5;C.x+n=i;D.x=5=4+1;24.单个用户使用的数据视图的描述称为( )。(分数:2.00)A.外模式B.概念模式C.内模式D.存储模式25.对关系 S和关系 R进行集合运算,结果中既包含 S中元组也包含 R中元组,这种集合运算称为( )。(分数:2.00)A.并运
11、算B.交运算C.差运算D.积运算26.有以下程序: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(k0 n5);程序运行后的输出结果是()。(分数:2.00)A.235B.0235C.02356D.235627.若有说明语句:double*p, a;则能通过 scanf语句正确给输入项读入数据的程序段是( )(分数:2.00)A.*p=a;scanf(“%“,p);B.*p=a;scanf(“%f“,
12、p);C.p=a;scanf(“%lf“,*p);D.p=a;scanf(“%lf“,p);28.C源程序中不能表示的数制是( )。(分数:2.00)A.二进制B.八进制C.十进制D.十六进制29.以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。(分数:2.00)A.只能是整数 0或 1B.只能是整数 0或非 0整数C.可以是结构体类型的数据D.可以是任意合法的表达式30.以下程序运行后,输出结果是( )。#define PT 5.5#define S(x)PT*x*x#includestdio.hmain()int a=1,b=2;prinf(“%4.1f/n“,S(a+b);(分数:
13、2.00)A.49.5B.9.5C.22D.45.031.若程序中定义了以下函数:double myadd(double a,double b)return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。(分数:2.00)A.double myadd(double a,b);B.double myadd(double,double);C.double myadd(double b,doublea);D.double myadd(double x,double y);32.下列条件语句中,功能与其他语句不同的是( )。(分数:2.00)A.if
14、(a)printf(“%d/n“,x);else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y);else printf(“%d/n“,x);C.if(a!=0)printf(“%d/n“,x);else printf(“%d/n“,y);D.if(a=0)printf(“%d/n“,x);else printf(“%d/n“,y);33.有以下函数:int aaa(char *s)char *t=s:while(*t+):t-;return(t-s);以下关于 aaa函数的功能的叙述正确的是()。(分数:2.00)A.求字符串 s的长度B.比较两个串的大
15、小C.将串 s复制到串 tD.求字符串 s所占字节数34.在 C语言中,变量的隐含存储类别是( )。(分数:2.00)A.autoB.staticC.externD.无存储类别35.以下程序的输出结果是( )。main()int a,i;a=0;for(i=1; i5:i+)switch(i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;prinf(“%d/n“,a;(分数:2.00)A.31B.13C.10D.2036.设有定义:int a,+pa=a;,以下 scanf语句中能正确为变量 a读入数据的是( )。(分数:2.00)A.s
16、canf(“%d“,pa);B.scanf(“%d“,a);C.scanf(%d“,pa);D.scanf(“%d“,*pa);37.为了提高流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为( )。(分数:2.00)A.PAD图B.N-S图C.结构图D.数据流图38.数据流图用于抽象描述一个软件的逻辑模型,由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。(分数:2.00)A.控制流B.加工C.数据存储D.源和潭39.具有 3个结点的二叉树有( )。(分数:2.00)A.2种形态B.4种形态C.7种形态D.5种形态40.算法中,
17、对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的( )。(分数:2.00)A.正当性B.可行性C.确定性D.有穷性二、填空题(总题数:13,分数:38.00)41.希尔排序法属于 1 排序法。(分数:2.00)填空项 1:_42.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、 1 遍历和后序遍历。(分数:2.00)填空项 1:_43.为了便于对照检查,测试用例应由输入数据和预期的 1 两部分组成。(分数:2.00)填空项 1:_44.在数据库设计的 4个阶段中,每个阶段都有自己的设计内容。“为哪些表、在哪些字段上、建立什么样的索引”,这些设计内容应
18、该属于 1 设计阶段。(分数:2.00)填空项 1:_45.用 1 结构表示实体及实体之间联系的数据模型称为关系模型。(分数:2.00)填空项 1:_46.执行以下程序后的输出结果是_。main()int a=10;a-(3*5,a+4);printf(“a=%d/n“,a);(分数:2.00)填空项 1:_47.有以下程序:main()int m,n,p:scanf(“m=%dn=%dp=%d“,m,n,p);printf(“%d%d%d/n“,m,n,p);若想从键盘上输入数据,使变量 m中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是_。(分数:2.00)填空
19、项 1:_48.有以下程序:#include stdio.hmain()char a30b30;scanf(“%s“,a);gets(b);printf(“%s/n%s/n“,a,b);程序运行时若输入:how are you?I am fine回车则输出结果是_。(分数:2.00)填空项 1:_49.有以下程序段:int k=0,a=1,b=2,c=3;k=ab? b:a;k=kc? c:k:执行该程序段后,k 的值是_。(分数:2.00)填空项 1:_50.有以下程序:main()int a=0,b=0,c=0,d=0;if(a=1)b=1;c=2;else d=3;printf(“%d,
20、%d,%d,%d/n“,ab,c,d);程序输出_。(分数:2.00)填空项 1:_以下程序的功能是:输出 100以内(不含 100)能被 3整除且个位数为 6的所有整数,请填空。main()int i,j:for(i=0; (11) ;i+)j=i*10+6;if (12) lconfinue;prinf(“%d“,j);(分数:8.00)填空项 1:_填空项 1:_51.有以下程序:main()int a10=1,2,3,4,5,6,7,8,9,10,*p=a3,*q=p+2;prinf(“%d/n“,*p+*q);程序运行后的输出结果是_。(分数:2.00)填空项 1:_以下程序的功能是
21、:求出数组 x中各相邻两个元素的和依次存放到 a数组中,然后输出。请填空。main()int x10,a9,i;for (i=0;i10;i+)scanf(“%d“,xi);for (14) 10;i+)ai-1=xi+ (15) :for (i=0;19;i+)printf(“%d“,ai);printf(“/n“);(分数:8.00)填空项 1:_填空项 1:_二级 C语言笔试-97 答案解析(总分:108.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:struct sint x,y;) data2=10,100,20,200;main()stru
22、ct s *p=data;printf(%d/n“,+p-x);程序运行后的输出结果是()。(分数:2.00)A.10B.11 C.20D.21解析:解析 本题的考查点是结构体变量的初始化。该题是一个对外部存储类型的结构体变量进行的初始化。初始化后,x 的值为 10,y 的值为 100。+(px)中首先 px 是把 p指向结构体变量 s中的 x成员,此+(px)就相当于+x,这时 x先自增,再使用,所以此时 x的值为 11。故本题答案为 B) 。2.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )。(分数:2.00)A.c1c2 B.c1c2C.c2D.c1|c
23、2解析:解析 本题考的是位运算。“是按位异或运算,当对应位上的二进制数值相同时,异或的结果为 0,对应位上的二进制数值不同时,异或的结果为 1,因为 c1、c2 的值相同,所以异或的结果为 0,所以 A)为正确答案。3.有以下程序:fun(int x,int y)(return (x+y);)main()int a=1,b=2,c=3,sum;sum=fun(a+,b+,a+b),c+);printf(“%d/n“,sum);执行后的输出结果是()。(分数:2.00)A.6B.7C.8 D.9解析:解析 本题考查的知识点是逗号表达式。因为整个逗号表达式的值为其最右边一个子表达式的值,所以程序中
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 97 答案 解析 DOC
