【计算机类职业资格】二级C语言-10-1及答案解析.doc
《【计算机类职业资格】二级C语言-10-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-10-1及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-10-1 及答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:43.00)1.下列语句中,不正确的是 ( ) A.staic char a“China“; B.static char a“Cina“; C.print(“%s”,a0); D.scanf(“%s”,a); (分数:1.00)A.B.C.D.2.以下选项中,能用作数据常量的是 A. o115 B. 0118 C. 1.5e1.5 D. 115L(分数:1.00)A.B.C.D.3.下列选项中不能作为 C 语言合法常量的是U /U。 A.cd B.0.1e+6 C.“/a“ D.
2、/011(分数:1.00)A.B.C.D.4.若有下列说明和语句,已知 int 型数据占 2 个字节,则下列语句的输出结果是U /U。struct st char a15;int b;double c;printf(“%d“,sizeof (struct st); A. 15 B. 8 C. 25 D. 2(分数:1.00)A.B.C.D.5.下列程序的输出结果是_。main() unionint a2;long k;char c4;un,*sp=a=0x3; b=a|0x8; c=b1;printf(“%d%d/n“,b,C);程序运行后的输出结果是( )。 A. -11 12 B. -6
3、-13 C. 12 24 D. 11 22(分数:1.00)A.B.C.D.8.有以下程序main ( ) char str =“xyz“, *ps=str;while (*ps) ps+:for (ps- ;ps-str=0 ;ps-) puts(ps);执行后输出结果是 A. yz xyz B. z yz C. z yz xyz D. x xy xyz(分数:1.00)A.B.C.D.9.以下选项中合法的用户标识符是_。 A. long B. 2Test C. 3Dmax D. A.dat(分数:1.00)A.B.C.D.10.从未排序序列中依次取出元素与已排序序列中的元素作比较,将取出的
4、元素放入已排序序列中的正确位置上,此方法称为_。 A. 归并排序 B. 选择排序 C. 交换排序 D. 插入排序(分数:2.00)A.B.C.D.11.下面不属于软件设计原则的是 A. 抽象 B. 模块化 C. 自底向上 D. 信息隐藏(分数:1.00)A.B.C.D.12.有以下程序#include stdio.h#include string.hvoid fun(char s10,int n) char t; int i j;for (i=0; in-1; i+)for 0-i+l; jn; j+)/*比较字符串的首字符大小,并交换字符串的首字符*/if(si0 sj0) t = si0;
5、 si0 = sj0; sj0 = t;main() char ss510= “bcc“, “bbcc“, “xy“, “aaaacc“, “aabcc“ ;fun(ss, 5); printf(“%s,%s/n“, ss0,ss4);程序的运行结果是 A. xy, aaaacc B. aaaacc,xy C. xcc,aabcc D. acc,xabcc(分数:1.00)A.B.C.D.13.下列叙述中正确的是U /U。 A. 软件就是程序清单 B. 软件就是存放在计算机中的文件 C. 软件应包括程序清单以及运行结果 D. 软件包括程序、数据和文档(分数:1.00)A.B.C.D.14.有如
6、下程序main() char ch25=“6937“,“8254“,*p2;int i,j,s=0;for(i=0;i2;+)pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=10*s+pij-0;printf(“%d/n“,s);该程序的输出结果是 A. 69825 B. 63825 C. 6385 D. 693825(分数:2.00)A.B.C.D.15.设有以下定义:int a=0; double b=1.25; char c=A;#define d 2则下面语句中错误的是( )。 A. a+; B. b+; C. c+; D. d+;(分数:1.00)
7、A.B.C.D.16.下列程序的输出结果是_。#includestdio.hmain()unionint k;char i2;*s,a;s=elsereturn y;main() int a=7,b=8,*p,*q,*r;p= q=r=f(p, q);printf(“%d, %d, %d/n“,*p,*q,*r);执行后输出结果是U /U。 A. 7,8,8 B. 7,8,7 C. 8,7,7 D. 8,7,8(分数:1.00)A.B.C.D.18.若有定义:“double a=22;int i=0,k=18;”,则不符合 C 语言规定的赋值语句是U /U。 A.a=a+,i+; B.i=(a
8、+k)=(i+k); C.i=a%11; D.i=!a;(分数:1.00)A.B.C.D.19.软件(程序)调试的目标是 A. 诊断和改正程序中的错误 B. 尽可能多地发现程序中的错误 C. 发现并改正程序中的所有错误 D. 确定程序中错误的性质(分数:2.00)A.B.C.D.20.现有如下程序段#include“stdio.h“#include“string.h“main() char a=“acfijk“; /*这里是有序的字符序列*/char b=“befijklqswz“; /*这里是有序的字符序列*/char c80,*p;int i=0,j=0,k=0;while(ai!=/0
9、j=19; j+=4) m+;printf(“%d/n“,m); A. 12 B. 15 C. 20 D. 25(分数:1.00)A.B.C.D.31.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是U /U。 A.编译程序 B.操作系统 C.教务管理系统 D.汇编程序(分数:1.00)A.B.C.D.32.有以下程序:main() int a=1,b;for(b=1:b=10;b+) if(a=8)break;if(a%2=1)a+=5;continue;a-=3:printf(“%d/n“,b);程序运行后的输出结果是_。 A. 3 B. 4 C. 5
10、D. 6(分数:2.00)A.B.C.D.33.以下程序的输出结果是_。int f() static int i=0;int s=1;s+=i;i+;return s;main() int i,a=0;for(i=0;i5;i+)a+=f():printf(“%d/n“,a); A. 20 B. 24 C. 25 D. 15(分数:1.00)A.B.C.D.34.若整型变量 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.35.有以下程序#includestdio.hstru
11、ct Sint a,b;data2=10,100,20,200;main() struct S p=data1;printf(“%d/n“,+(p.a);程序运行后的输出结果是_。 A.21 B.11 C.20 D.10(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:31.00)36.以下程序的输出结果是U U /U /U。 #include stdio.h #define M 5 #define N M+M main0 int k; k = NN*5; printf(“%d/n“,k); 填空项 1:_37.在一个容量为 32 的循环队列中,若头指针 front=3,
12、尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_38.下列程序的运行结果是U U /U /U。 #includestdio.h main int k=4,m=3,p; p=func(k,m); printf(“%d“,p); p=func(k,m); printf(“%d/n“,p); func(a,b) int a,b; static int m=0,i=2; i+=m+1; m=i+a+b; return(m);(分数:1.00)填空项 1:_39.若有以下程序 main() int p,a=5; if(p=a!=0) printf(“%d/n“,p)
13、; else pfintf(“%d/n“,p+2); 执行后输出结果是U U /U /U。(分数:1.00)填空项 1:_40.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_41.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_42.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_43.以下程序的输出结果是_。 #include stdio.h unsigned fun6(unslgned
14、num) unsigned k=1; dok * =mum%10;num/=10; while (num); return k; main() unsigned n=26; printf(“%d/n“,fan6(n); (分数:2.00)填空项 1:_44.设有下列程序: #includestdio.h #includestring.h main() int i; char s10,t10; gets(t); for(i=0;i2;i+) gets(s); if(strcmp(t,s)0) strcpy(t,s); printf(“%s/n“,t); 程序运行后,从键盘上输入(CR代表回车符)
15、:CDEFCRBADEFCRQTHRGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_45.以下程序运行后的输出结果是_。 #includestdio.h main() int x=10, y=20, t=0; if(x=y)t=x; x=y; y=t; printf(“%d%d/n“, x, y); (分数:2.00)填空项 1:_46.下面程序的运行结果是_。 typedef union student char name10; long sno; char sex; float score4; STU; main() STU a5; printf(“%d/n“,sizeof(
16、A) ); (分数:4.00)填空项 1:_47.写出下列程序的输出结果_。 main() int n=0; while(n+= 1); printf(“%d,“,n); printf(“%d“,n+); (分数:2.00)填空项 1:_48.设 Y 是 int 型变量,请写出判断 Y 为奇数的关系表达式U U /U /U。(分数:2.00)填空项 1:_49.以下程序统计从终端输入的字符中大写字母的个数,num0中统计字母 A 的个数,num1中统计字母B 的个数,其他依此类推。用#号结束输入,请填空。 #includestdio.h #includectype.h main() int n
17、um26=0,i;char c; while(_)!=#) if(isupper(c)numc-A=_; for(i 一 0;i填空项 1:_50.软件的需求分析阶段的工作,可以概括为四个方面:U U /U /U、需求分析、编写需求规格说明书和需求评审。(分数:2.00)填空项 1:_二级 C 语言-10-1 答案解析(总分:74.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:43.00)1.下列语句中,不正确的是 ( ) A.staic char a“China“; B.static char a“Cina“; C.print(“%s”,a0); D.scanf(“%s”
18、,a); (分数:1.00)A.B.C. D.解析:2.以下选项中,能用作数据常量的是 A. o115 B. 0118 C. 1.5e1.5 D. 115L(分数:1.00)A.B.C.D. 解析:解析 对于选项 A,“o”不符合语法要求;对于选项 B,以 0 开头代表八进制整型常量,但其后面的数字中又出现了非八进制数字 8,出错;对于选项 C,用指数形式表示实型常量,e 后面的指数部分必须为整型数,出错;对于选项 D,整数后面加字母 L 是长整型常量的表示形式。3.下列选项中不能作为 C 语言合法常量的是U /U。 A.cd B.0.1e+6 C.“/a“ D./011(分数:1.00)A.
19、 B.C.D.解析:解析 所谓常量是在程序运行过程中,其值不能被改变的量。包括整型数量、实型常量、字符常量和字符串常量等类型。选项 B 中 0.1e+6 是用指数形式表示的实型常量。C 语言的语法规定,字母 e 之前必须要有数字,后面的指数必须为整数,并且在字母 e 前后以及数字之间不得插入空格,选项 C 中用双引号括起来表示字符串/a。选项 D 中011表示用单引号括起来的转义字符八制进数 011。选项 A 中在用单引号表示的字符常量中,只能包含一介字符。4.若有下列说明和语句,已知 int 型数据占 2 个字节,则下列语句的输出结果是U /U。struct st char a15;int
20、b;double c;printf(“%d“,sizeof (struct st); A. 15 B. 8 C. 25 D. 2(分数:1.00)A.B.C. D.解析:解析 本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。题中 int b 占 2 个字节,char a15占 15 个字节,double c 占 8 个字节,所以共 25 个字节。5.下列程序的输出结果是_。main() unionint a2;long k;char c4;un,*sp=a=0x3; b
21、=a|0x8; c=b1;printf(“%d%d/n“,b,C);程序运行后的输出结果是( )。 A. -11 12 B. -6 -13 C. 12 24 D. 11 22(分数:1.00)A.B.C.D. 解析:解析 将 a 的值用二进制表示:00000011。a 与 Ox8(二进制表示为 00001000)按位或,得到结果00001011 赋值给 b,b 的值为 11。再将 b 左移一位得到:00010110,赋值给 c,c 的值为 22。所以最后输出的 b,c 的值为 11,22。8.有以下程序main ( ) char str =“xyz“, *ps=str;while (*ps)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 101 答案 解析 DOC
