【计算机类职业资格】二级C语言笔试-256及答案解析.doc

上传人:boatfragile160 文档编号:1326056 上传时间:2019-10-17 格式:DOC 页数:30 大小:99KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-256及答案解析.doc_第1页
第1页 / 共30页
【计算机类职业资格】二级C语言笔试-256及答案解析.doc_第2页
第2页 / 共30页
【计算机类职业资格】二级C语言笔试-256及答案解析.doc_第3页
第3页 / 共30页
【计算机类职业资格】二级C语言笔试-256及答案解析.doc_第4页
第4页 / 共30页
【计算机类职业资格】二级C语言笔试-256及答案解析.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、二级 C语言笔试-256 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.若有说明:int*p,m=5,n;以下正确的程序段是(分数:1.00)A.p =for(i=1;+i)if(i%2=0)x+;continue;if(i%5=0)y+;break;printf(“%d,%d“,x,y);程序的输出结果是( )。(分数:1.00)A.2,1B.2,2C.2,5D.5,214.有如下程序:main()int n=9;while(n6)n-;printf(“%d“,n);该程序的输出结果是(分数:1.00)A.987B.876C.8765D.

2、987615.有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向此链表中的 3个连续结点。struct nodeint data;struct node *next; *p,*q,*r;(分数:1.00)A.B.C.D.16.若有函数内部说明:int a34;则数组 a中各元素(分数:1.00)A.可在程序的运行阶段得到初值 0B.可在程序的编译阶段得到初值 0C.不能得到确定的初值D.可在程序的编译或运行阶段得到初值 017.一个 C语言程序是由(分数:1.00)A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成18.关系模型允许定义 3类数据约束,下

3、列不属于数据约束的是(分数:1.00)A.实体完整性约束B.参照完整性约束C.属性完整性约束D.用户自定义的完整性约束19.若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3,(int)(x+y)%2/4 的值是(分数:1.00)A.2.500000B.2.750000C.3.500000D.0.00000020.请选出正确的程序段(分数:1.00)A.int*p; scanf(“%d“,p); B.int*s,k;*s=100;C.int *s,k;char*p,c;s=return(fib(g-1)+fib(g-2);main()long k;k=fib(5

4、);printf(“k=%5ld/n“,k);(分数:2.00)填空项 1:_61.设有以下程序,为使之正确运行,请在下划线中填入应包含的命令行。(注:try_me()函数在a:/myfile.txt 中有定义。)【11】 main()printf(“/n“);try_me();printf(“/n“);(分数:2.00)填空项 1:_62.下述函数通过递归方法将字符串倒置,使用时需要指定字符数组的首地址、起始下标和终止下标。请填空:#includestdio.hvoid fun(char *s,int low,int high)if( 【12】 )return;elsechar t;fun(

5、 【13】 );t=slow;slow=shigh;shigh=t;(分数:4.00)填空项 1:_63.以下程序的输出结果是 【14】 。#includestdio.hfun()static int a=0;a+=2;printf(“%d“,a);main()int cc;for(cc=1;CC4;CC+)fun();printf(“/n“);(分数:2.00)填空项 1:_64.函数 fun的功能是:根据以下公式求 p的值,结果由函数值返回。m 与 n为两个正数且要求 mn。(分数:4.00)填空项 1:_65.本程序用改进冒泡法对数组 an的元素从小到大排序,请在程序空白处填空。void

6、 bubble(int a,int n)int j,k,jmax,temp;jmax= 【17】 ;do k=0;for(j=0;jjmax;j+)if(ajaj+1)temp=aj;aj=aj+1;aj+1=temp;k= 【18】 ;jmax=k;while(jmax0);(分数:4.00)填空项 1:_66.以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1 时,表示输入结束(键表头结点的 data域不放数据,表空的条件是 ph-next=NULL),请填空。#includestdio.hstruct list int data;struct list*

7、next;struct list*creatlist()struct list*p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list);p=q=ph;printf(“Input an integer number;entre-1 to end:/n“);scanf(“%d“,for(i=1;+i)if(i%2=0)x+;continue;if(i%5=0)y+;break;printf(“%d,%d“,x,y);程序的输出结果是( )。(分数:1.00)A.2,1 B.2,2C.2,5D.5,2解析:解析 本题考查了 continu

8、e和 break语句用在循环语句中的作用。break 语句的作用是结束本层循环,而 continue语句的作用是结束本次循环直接进入到下次循环。14.有如下程序:main()int n=9;while(n6)n-;printf(“%d“,n);该程序的输出结果是(分数:1.00)A.987B.876 C.8765D.9876解析:解析 该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n 的值是 9,循环体内,先经过 n-运算,n 的值变为 8,所以第一次的输出值是 8,由此可以排除选项 A)和 D)。由循环条件 n6 可以知道,最后一次循环开始时,n

9、 的值应该为 7,所以最后一次执行循环体时输出为 6,由此可以排除选项 C)。15.有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向此链表中的 3个连续结点。struct nodeint data;struct node *next; *p,*q,*r;(分数:1.00)A.B.C.D. 解析:解析 本题考查链表结点的删除。 q-next 中存放的是 r所指结点的首地址,将 r所指结点的首地址存于 p-next 中,则实现删除 q所指结点的功能,并保持链表连续,p 所指结点与 r所指结点相连。16.若有函数内部说明:int a34;则数组 a中各元素(分数:1.00)A.可在程

10、序的运行阶段得到初值 0B.可在程序的编译阶段得到初值 0C.不能得到确定的初值 D.可在程序的编译或运行阶段得到初值 0解析:解析 我们可以把二维数组的常量表达式看做是矩阵或者表格的行数与列数,要注意每个元素有两个下标,第一个是方括号中的下标代表行号,称行下标;第二个是方括号中的下标代表列号。行下标和列下标总是从 0开始的,二维数组在不赋初值时,不能得到确定。17.一个 C语言程序是由(分数:1.00)A.一个主程序和若干子程序组成B.函数组成 C.若干过程组成D.若干子程序组成解析:解析 C 程序是由函数构成的。一个 C源程序至少包括一个 main函数,也可以包含一个 main函数和若干个

11、其他函数。因此,函数是 C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数。18.关系模型允许定义 3类数据约束,下列不属于数据约束的是(分数:1.00)A.实体完整性约束B.参照完整性约束C.属性完整性约束 D.用户自定义的完整性约束解析:解析 关系模型允许定义 3类数据约束,它们是实体完整性约束、参照完整性约束及用户自定义完整性约束。其中前两种完整性约束由关系数据库系统支持,对于用户自定义完整性约束,则由关系数据库系统提供完整性约束语言,用户利用该语言给出约束条件,运行时由系统自动检查。19.若有定义:int a=7;float x=2.5,y=4

12、.7;则表达式 x+a%3,(int)(x+y)%2/4 的值是(分数:1.00)A.2.500000 B.2.750000C.3.500000D.0.000000解析:解析 x+y 的值为实型 7.200000,经强制类型转化成整型 7。a%3 的值为 1,1*7 的值为 7, 7%2值为 1。1/4 的值为 0,而非 0.25,因而为两个整数相除的结果为整数,舍去小数部分。与实型 x相加,最终得结果为 2.500000。20.请选出正确的程序段(分数:1.00)A.int*p; scanf(“%d“,p); B.int*s,k;*s=100;C.int *s,k;char*p,c;s=re

13、turn(fib(g-1)+fib(g-2);main()long k;k=fib(5);printf(“k=%5ld/n“,k);(分数:2.00)填空项 1:_ (正确答案:k=5)解析:解析 本题主要考查了函数的递归调用方法。g= 0 或 g=1或 g=2是递归的终止条件,然后用回代的方法从一个已知值推出下一个值,直到计算出最终结果。61.设有以下程序,为使之正确运行,请在下划线中填入应包含的命令行。(注:try_me()函数在a:/myfile.txt 中有定义。)【11】 main()printf(“/n“);try_me();printf(“/n“);(分数:2.00)填空项 1:

14、_ (正确答案:#include a:/myfile.txt)解析:解析 本题考查了函数的存储分类的概念。如果没有特别说明,函数的存储范围是从定义函数的位置到文件的结尾,如果其他文件想使用这个函数,需要用 #include 文件包含命令将定义函数的文件包含进来。62.下述函数通过递归方法将字符串倒置,使用时需要指定字符数组的首地址、起始下标和终止下标。请填空:#includestdio.hvoid fun(char *s,int low,int high)if( 【12】 )return;elsechar t;fun( 【13】 );t=slow;slow=shigh;shigh=t;(分数:

15、4.00)填空项 1:_ (正确答案:12low=high 13s,cow+1,high-1)解析:解析 本题考查了用指针引用一维数组元素的方法。函数 fun()通过递归调用的方式将字符串的首位和末位互换,第二位和倒数第二位互换,从而实现了字符串倒置的功能。low 和 high是字符数组的下标。63.以下程序的输出结果是 【14】 。#includestdio.hfun()static int a=0;a+=2;printf(“%d“,a);main()int cc;for(cc=1;CC4;CC+)fun();printf(“/n“);(分数:2.00)填空项 1:_ (正确答案:246)解

16、析:解析 本题考查了 for循环语句的使用,同时静态局部变量的存储和生存其特性也要注意。第一次执行 fun()函数时,a=0,所以 a+=2=2;第二次执行 fun()函数时,a 保留着上次制形式的结果 2,所以a+=2=4;同理第三次执行 fun()函数时,a=6,所以输出结果为 246。64.函数 fun的功能是:根据以下公式求 p的值,结果由函数值返回。m 与 n为两个正数且要求 mn。(分数:4.00)填空项 1:_ (正确答案:15p=p*i 16p=p/i)解析:解析 本题中,欲求 p的值,需要先求 m,n,m-n 的阶乘值,可用循环语句实现。65.本程序用改进冒泡法对数组 an的

17、元素从小到大排序,请在程序空白处填空。void bubble(int a,int n)int j,k,jmax,temp;jmax= 【17】 ;do k=0;for(j=0;jjmax;j+)if(ajaj+1)temp=aj;aj=aj+1;aj+1=temp;k= 【18】 ;jmax=k;while(jmax0);(分数:4.00)填空项 1:_ (正确答案:17n-1 18j)解析:解析 此题采用了 dowhile循环内嵌 for循环的双层循环结构来实现了数组元素的排序。数组元素通过首地址和数组下标的方式来引用的。66.以下程序建立一个带有头结点的单向链表,链表结点中的数据通过键盘输

18、入,当输入数据为-1 时,表示输入结束(键表头结点的 data域不放数据,表空的条件是 ph-next=NULL),请填空。#includestdio.hstruct list int data;struct list*next;struct list*creatlist()struct list*p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list);p=q=ph;printf(“Input an integer number;entre-1 to end:/n“);scanf(“%d“,&a);while(a!=-1)p=(struct list*)malloc(sizeof(struct list);【19】 =a;q-next=p; 【20】 =p;scanf(“%d“,&a);p-next=/0;return(ph);main()struct list * head;head=creatlist();(分数:4.00)填空项 1:_ (正确答案:19p-data 20q)解析:解析 本题考查的是链表这一数据结构对结构体变量中的数据的引用。链表的特点是结构体变量中有两个域,一个是数据,一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1