【计算机类职业资格】二级C语言笔试-256及答案解析.doc
《【计算机类职业资格】二级C语言笔试-256及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-256及答案解析.doc(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.可在程
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 256 答案 解析 DOC
