【计算机类职业资格】二级C语言笔试359及答案解析.doc
《【计算机类职业资格】二级C语言笔试359及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试359及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 359 及答案解析(总分:70.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:40.00)1.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为_。(分数:1.00)A.希尔排序B.冒泡排序C.插入排序D.选择排序2.能将高级语言程序转换成目标语言程序的是_。(分数:1.00)A.调试程序B.解释程序C.编译程序D.编辑程序3.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为_。(分数:1.00)A.2B.3C.4D.54.已知下面的程序段,正确的判断是
2、_。 #define A3 #define B(A) (A+1)*a) int a=3; X=3*(A+B(7);(分数:1.00)A.程序错误,不允许嵌套定义B.X=93C.)X=81D.程序错误,宏定义不允许有参数5.以下程序的输出结果是_。 #includesulio.h #defme SQR(x)x*x main() int a,k=3; a=+SQR(k+1); printf(“%d/n“,a) ; (分数:1.00)A.8B.9C.17D.206.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。 struct 1ink char data; node; (分数:1
3、.00)A.struct link nextB.link*nextC.sluct next linkD.struct link*next7.下列程序的执行结果是_。 #lnCludestdio.h union un int i; char c2; ; void main() union un x; x.c0=10 x.cl=1; printf(“/n%d,x.i); (分数:1.00)A.266B.11C.265D.1388.以下程序段的输出结果是_。 main() char s110,s210,s310; scanf(“%s“,s1);gets(s2);gets(s3); puts(s1);
4、puts(s2)puts(s3) 输入数据如下:(此处CR代表回车符) aaaCR bbbCR(分数:1.00)A.aaa bbbB.aaa bbbC.aaa/0bbb/0D.aaabbb9.下面程序的输出结果是_。 #inc1udestdio.h main() char*p=“BOOL“,“OPK“,“H“,“SP“; int i; for(i=3;i=0;i-,i-) prinf(“%c“,*pi); print(“/n“) (分数:1.00)A.SOB.SPC.SPOPKD.SHOB10.在数据结构中,从逻辑可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧
5、凑结构C.线性结构和非线性结构D.内部结构和外部结构11.模块本身的内聚是模块独立性的重要性度量因素之。在 7 类内聚中,具有最强内聚的项是_。(分数:1.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚12.数据的完整性是指数的正确性、有效性和_。(分数:1.00)A.可维护性B.独立性C.安全性D.相容性13.若有以下结构体定义,则_是正确的引用或定义。 struct example int x; int y; v1;(分数:1.00)A.examplx=10B.example v2.x=10C.examplx=10D.struct example v2=10;14.以下程序
6、的输出结果是_。 #includestdio.h void prt(int*x,int*y,int*z) printf(“%d,%d,%d/n“,+*x,+*y,*(z+); int a=10,b=40,c=20; main() prt( (分数:1.00)A.11,42,31 12,22,41B.11,41,20 12,42,20C.11,21,40 11,21,41D.11,41,21 12,42,2215.关系代数运算是以_为基础的运算。(分数:1.00)A.关系运算B.谓词运算C.集合运算D.代数运算16.下述程序文件输出的结果是_。 #ineludestdio.h void main
7、() FILE*fp=fopen(“TEST“,“wb“); fprintf(fp,“%d5.of%c%d“,58,76273.0,-,2278); fclose(fp); (分数:1.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278D.因文件为二进制文件而不可读17.下列程序的输出结果是_。 #define A 100 main() int i=0,sum=0; do if(i(i/2)*2)continue; sum+=i; while(+iA); print(“%d/n“,sum); (分数:1.00)A.2500B.2050C.
8、4D.018.下列程序执行后输出的结果是_。 int d=l; fun(int p) int d=5; d+=p+; printf(“%d,“,d); main() int a=3; fun(a); d+=a+; printf(“%d/n“,d); (分数:1.00)A.8,12B.9,13C.8,4D.9,519.对于 n 个结点的单向链表(无表头结点),需要指针单元的个数至少为_。(分数:1.00)A.n-1B.nC.n+1D.2n20.请读程序: #includestdio.h #includestring.h main() char*s1=“AbCdEf“,*s2=“aB“; s1+;
9、s2+; printf(“%d/n“,strcmp(s1,s2); 上面程序的输出结果是_。(分数:1.00)A.正数B.负数C.零D.不确定的值21.下面是对宏定义的描述,不正确的是_。(分数:1.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参运算求值D.宏替换只不过是字符替代而已22.若一个名部变量的定义形式为 static int x;,那么,其中 static 的作用应该是_。(分数:1.00)A.将变量存储在静态存储区B.使变量 X 可以由系统自动初始化C.使 x 只能在本文件内引用D.使 x 的值可以永
10、久保留23.下列程序的输出结果是_。 main() int i=3; switch(i) case 1: case2:printf(“%d“,i) case3: case4:break; default:printf(“OK“); (分数:1.00)A.0B.3C.OKD.没有任何输出24.设有以下语句: char strl=“string“,str28,*str,*str4=“string“; 则_不是对库函数的正确调用。(分数:1.00)A.strcpy(strl,“HELLO1“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“);D.str
11、cpy(str4,“HELLO4“);25.下列程序执行后的输出结果是_。 main() int m3=1,4,7,2,5,8,3,6,9 int i,k=2 for(i=0;i3;i+) print(“%d“,mki); (分数:1.00)A.456B.258C.369D.78926.数据存储和数据流都是_,仅仅是所处的状态不同。(分数:1.00)A.分析结果B.事件C.动作D.数据27.可以在 C 语言中用做用户标识符的是_。(分数:1.00)A.void define WORDB.as_b3 _123 IfC.for -abc casD.2c Do SIG28.已知小写字母 a 的 AS
12、CII 码为 97,大写字母 A 的 ASCII 码为 65,以下程序的结果是_。 main() unsigned int a=31,b=66; pfintf(“%c/n,a|b); (分数:1.00)A.66B.98C.bD.B29.已知字母 A 的 ASCII 码值是 65,字母 a 的 ASCII 码值是 97,以下程序_。 main() char a=A; int b=20; pxintf(“%d,%o“,(a=a+a,a+b,b) ,a+a-A,b); (分数:1.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141D.输出结果为
13、20,141,2030.在软件开发过程中,软件结构设计是描述_。(分数:1.00)A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程31.定义 int*swap()指的是_。(分数:1.00)A.个返回整型值的函数 swap()B.一个返回指向整型值指针的函 swap()C.一个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错32._是构成 C 语言程序的基本单位。(分数:1.00)A.函数B.过程C.子程序D.子例程33.若有定义:int a410;,则以下选项中对数组元素 aij引用错误的是_。 (o=i4,0=j=10(分数:1.00)A.*( 5puts(
14、s); 6strcpy(s,“hello“); 7printf(“%3S/n“,s);(分数:1.00)A.没有错B.第 1 行有错C.第 6 行有错D.第 7 行有错36.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的个出栈序列是_。(分数:1.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,137.请读程序段: char str=“ABCD“,*p=str print(“%d/n“,*(p+4); 程序段的输出结果是_。(分数:1.00)A.68B.OC.字符D的地址D.不确定的值38.以下程序输出的结果为_。 main() char*alph
15、a6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“; char*p; int i; p=alpha; for(i=0,i4;i+) prntf(“%s“,pi); (分数:1.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM39.下述函数功能是_。 int fun(char*x) char*y=x; while(*y+) retumy-x-1; (分数:1.00)A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x 连接到字符串 y 后面40.下面语句的输出结果是_。 printf(
16、“%d、n“,strlen(“/t/“/065/xff/n“);(分数:1.00)A.14B.8C.5D.输出项不合法,无正常输出二、B填空题/B(总题数:12,分数:30.00)41.对于长度为 n 的顺序存储的线性表,当随机插入和删除个元素时,需平均移动元素的个数为U 【1】 /U。(分数:2.00)填空项 1:_42.注释说明了程序的功能,它分为U 【2】 /U注释和功能性注释。(分数:2.00)填空项 1:_43.软件测试中路径覆盖测试是整个测试的基础,它是对软件U 【3】 /U进行测试。(分数:2.00)填空项 1:_44.数据库技术的主要特点为数据的集成性、数据的高U 【4】 /U
17、和低冗余性、数据独立性和数据统管理与控制。(分数:2.00)填空项 1:_45.数据元素之间U 【5】 /U的整体称为逻辑结构。(分数:2.00)填空项 1:_46.若 x 和 y 都是 double 型变量,且 x 的初值为 3.0,y 的初值为 2.0,则表达式 pow(y,fabs(x)的值为 U【6】 /U。(分数:2.00)填空项 1:_47.没有 char,a,b;,若要通过 a int fun(int x,int y) int m=3; return(x*y-m); main() int a=7,b=5; Printf(“%d/n“,fun(a,b)/m); (分数:2.00)填
18、空项 1:_49.下列执行后输出的结果是U 【9】 /U。 main() intarr10,i,k=0 for(i=0;i10;i+)atri=i for(i=1,i4;i+) k+=arri+i; printf(“%d/n“,k); (分数:2.00)填空项 1:_50.下面程序有两个 printf 语句,如果第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是U 【10】 /U main() int a10=1,2,3,4,5,6,7,8,9,0,*p; p=a printf(“%x/n“,p); printf(“%x/n“,p+9); (分数:2.00)填
19、空项 1:_51.函数 de1ete(s,i,n)的作用是从字符串 s 中删除从笫 i 个字符开始的 n 个字符,请填空。 void de1ete(chars,int i,int n) int j,k,length=O; whi1e(slength) U【11】 /U -i; j=i; if(U 【12】 /U) k=i+n; if(i+n=length) whi1e(klength) sj+=sk+; sj=/0; (分数:4.00)填空项 1:_52.下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char*s) int num=0,flag=0
20、; while(*s) if(U 【13】 /U=“) flag=0; else ifU 【14】 /Uflag=1;num+ returnU 【15】 /U;(分数:6.00)填空项 1:_二级 C 语言笔试 359 答案解析(总分:70.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:40.00)1.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为_。(分数:1.00)A.希尔排序 B.冒泡排序C.插入排序D.选择排序解析:评析 希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。2.能将高级语言程序转换成目标语言程序的
21、是_。(分数:1.00)A.调试程序B.解释程序C.编译程序 D.编辑程序解析:评析 用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由 O 和 1 组成的二进指令,所以高级语言必须先用种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”。3.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为_。(分数:1.00)A.2B.3C.4 D.5解析:评析 二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或右边子表按相同的方法继续查找。本题中,与 11 比较的关键码
22、分别为 15,8, 10,12 四个。4.已知下面的程序段,正确的判断是_。 #define A3 #define B(A) (A+1)*a) int a=3; X=3*(A+B(7);(分数:1.00)A.程序错误,不允许嵌套定义B.X=93C.)X=81 D.程序错误,宏定义不允许有参数解析:评析 本题的宏定义是合法的,宏定义展开为 3*(3+(A+1)*a)=3*(3+(7+1)*3)=815.以下程序的输出结果是_。 #includesulio.h #defme SQR(x)x*x main() int a,k=3; a=+SQR(k+1); printf(“%d/n“,a) ; (分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 359 答案 解析 DOC
