【计算机类职业资格】二级C语言真题2013年03月-(3)及答案解析.doc
《【计算机类职业资格】二级C语言真题2013年03月-(3)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言真题2013年03月-(3)及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言真题 2013年 03月-(3)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.设数据元素的集合 D=1,2,3,4,5,则满足下列关系 R的数据结构中为线性结构的是_。(分数:1.00)A.R=(1,2),(3,4),(5,1)B.R=(1,3),(4,1),(3,2),(5,4)C.R=(1,2),(2,3),(4,5)D.R=(1,3),(2,4),(3,5)2.下列叙述中正确的是_。(分数:1.00)A.链表节点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构B.线性表的链式存储结构中,每个节点必须有指向前件
2、和指向后件的两个指针C.线性表的链式存储结构中,每个节点只能有一个指向后件的指针D.线性表的链式存储结构中,叶子节点的指针只能是空3.一个栈的初始状态为空。现将元素 A,B,C,D,E 依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为_。(分数:1.00)A.ABCB.CBAC.EDCD.CDE4.某二叉树的中序序列为 DCBAEFG,后序序列为 DCBGFEA,则该二叉树的深度(根节点在第 1层)为_。(分数:1.00)A.5B.4C.3D.25.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用、维护到停
3、止使用、退役的过程B.软件的需求分析、设计与实现C.软件的开发与管理D.软件的实现和维护6.某系统结构图如下图所示 (分数:1.00)A.1B.2C.3D.47.下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.UNIX操作系统C.汇编程序D.编译程序8.将 E-R图转换为关系模式时,E-R 图中的属性可以表示为_。(分数:1.00)A.属性B键C.关系D域9.有两个关系 R与 S如下,由关系 R和 S得到关系 T,则所使用的操作为_。 R A A1 B B1 a 0 f 3 a 0 n 2 b 1 f 3 b 1 n 2 a 1 f 4 S A A1 a 0 b 1 T B
4、B1 f 3 n 2 (分数:1.00)A并B.自然连接C除D交10.优化数据库系统查询性能的索引设计属于数据库设计的_。(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计11.结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是_。(分数:1.00)A.三种基本结构不可以嵌套使用B.顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移C.选择结构是根据不同的条件执行不同分支中的语句D.循环结构是根据条件决定是否重复、重复执行多少次循环体语句12.以下能正确表述算式 sin(2r+30)的 C语言表达式是_。(分数:1.00)A.sin(2*3.14*r
5、+3.14*30/180.0)B.sin(2*r+30)C.sin(2*3.14*r+30)D.sin(2*3.14*r+30*3.14/360.0)13.设有定义:int x=11,y=12,z=0;,以下表达式值不等于 12的是_。(分数:1.00)A.(z,x,y)B.(z=x,y)C.z=(x,y)D.z=(x=y)14.以下可以将任意一个两位整数 n的个位数与十位数对换的表达式为_。(分数:1.00)A.(n-n/1010)10+n/10B.n-n/1010+n/10C.n/10+(n-n/10)D.(n-n/10)10+(n/10)15.设有以下程序段: int y; y=rand
6、()%30+1; 则变量 y的取值范围是_。(分数:1.00)A.0y30B.0y30C.1y30D.1y3016.以下程序段中,循环次数不超过 10的是_。(分数:1.00)A.int i=10;doi=i+1;while(i0);B.int i=5;doi+=1;while(i0);C.int i=1;doi+=2;while(i!=10);D.int i=6;doi-=2;while(i!=1);17.有以下程序: #include stdio.h main() int x; scanf(“%d“, if(x10) printf(“1“); else if(x20) printf(“2“
7、); else if(x30) printf(“3“); 若运行时输入:35回车,则输出结果是_。(分数:1.00)A.123B.2C.3D.118.若要实现 total=1+2+3+4+5求和,以下程序段错误的是_。(分数:1.00)A.int i=1,total=1;while(i5) total+=i;i+=1;B.int i=1,total=0;while(i=5) total+=i;i+=1;C.int i=0,total=0;while(i5) i+=1;total+=i;D.int i=0,total=0;while(i=5) total+=i;i+=1;19.有以下程序: #i
8、nclude stdio.h main() int i=1,k=0; for( ; i6; ) switch(i%3) case 0: k+; case 1: k+; break; case 2: k+; continue; i+=1; printf(“%d/n“,k); 程序的运行情况是_。(分数:1.00)A.形成无限循环B.输出 6C.输出 5D.输出 420.以下不能输出小写字母 a的选项是_。(分数:1.00)A.printf(“%c/n“,“a“);B.printf(“%c/n“,“A“+32);C.putchar(97);D.putchar(“a“);21.有以下程序段: cha
9、r c1,c2,c3; scanf(“%c%c%c“, 若要给 c1、c2、c3 分别输入字母 A、B、C,则以下对输入形式的描述正确的是_。(分数:1.00)A.字母 A、B、C 之间可以用空格分隔B.字母 A、B、C 之间不能有分隔符C.字母 A、B、C 之间可以用回车符分隔D.字母 A、B、C 之间可以用 Tab键分隔22.有以下程序段: scanf(“%d%d%d“, if(ab)a=b; if(ac)a=c; printf(“%d/n“,a); 该程序段的功能是_。(分数:1.00)A.输出 a、b、c 中值相等的数值B.输出 a、b、c 中的最大值C.输出 a、b、c 中的最小值D
10、.输出 a的原始值23.以下程序的功能是:通过调用 calc函数,把所求得的两数之和值放入变量 add中,并在主函数中输出。#include stdio.h void calc(float x,float y,float *sum) _ = x+y; main() float x,y,add; scanf(“%f%f“, calc(x,y, printf(“x+y=%f/n“,add); calc函数中下划线处应填入的是_。(分数:1.00)A.*sumB.sumC. int i,j; for(i=0;i4; i+) ai0=ai3=“#“; for(j=1; j3; j+) a0j=a 3j
11、=“#“; if(i!=0) for(i=1;i3;i+) for(j=0; j4;j+) printf(“%2c“ ,aij); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.#o o#o o#B.# # # # o o #C.# o o # # # #D.# # # # # # #25.设有函数定义:void sub(int k,char ch) 则以下对函数 sub的调用语句中,正确的是_。(分数:1.00)A.sub(1,97);B.sub(2,“97“);C.n=sub(3,“a“);D.sub(4,“a“);26.有以下程序: #include stdio.
12、h void fun(int *x,int s,int n) int i; for(i=s; i=n; i-) *(x+i+3) = * (x+i); main() int m = 0,1,2,3,4,5,6,7,8,9,k; fun(m,10-4,3); for(k=0; k10;k+) printf(“%d“,mk); 程序的运行结果是_。(分数:1.00)A.0123456345B.0123453456C.0123456666D.012345456927.若有定义语句:int m3=1,2,3,4,5,6,7;,则与该语句等价的是_。(分数:1.00)A.int m3=1,2,3,4,5
13、,6,7;B.int m3=1,2,3,4,5,6,7;C.int m3=1,2,3,4,5,6,7;D.int m3=1,2,3,4,5,6,7;28.设有以下说明和语句:int x34,(*p)4;p=a;,则与表达式*(* p+2)等价的选项是_。(分数:1.00)A.a02B.*(a+2)0C.(*a+2)0D.a2029.以下不能将键盘输入的字符串:This is a string回车读入到 str中的程序段是_。(分数:1.00)A.char str80;scanf(“%s“,str);B.char str80;int i=0;while(stri+=getchar()!=“/n“
14、);stri=0;C.char str80;gets(str);D.char str80,*ps=str;doscanf(“%c“,ps);while(*ps+ !=“/n“);*(ps)=0;30.有以下程序: #include stdio.h main() char s10=“verygood“, *ps=s; ps+=4; ps=“nice“; puts(s); 程序的运行结果是_。(分数:1.00)A.niceB.veryniceC.nicegoodD.verygood31.有以下程序: #include stdio.h int fun(char *s) char *p=s; whil
15、e(*p !=“/0“)p+; return(p-s); main() char *p=“01234“; printf(“%d/n“,fun(p); 程序的运行结果是_。(分数:1.00)A.3B.6C.4D.532.有以下程序: #include stdio.h main() int findmax(int,int,int),m; m=findmax(a,b,e); int findmax(int x,int y,int z) 则以下叙述正确的是_。(分数:1.00)A.在 main函数中声明了 findmax函数B.在 main函数中定义了 findmax函数C.在 main函数中两次调用
16、了 findmax函数D.在 main函数内、外重复定义了 findmax函数33.有以下程序: #include stdio.h void fun(int n) int i; if(i=n/10)!=0) fun(i); putchar(n%10+“0“); main() fun(256); 程序运行后的输出结果是_。(分数:1.00)A.256B.652C.2560D.5234.有以下程序: #include stdio.h #include stdlib.h void fun(int*p1, int *s) int *t; t=(int *)malloc(2 * sizeof(int);
17、 *t=*p1 + *p1 +; *(t+1)=*p1+ *p1; s=t; main() int a2=1,2,b2=0; fun(a,b); printf(“%d,%d/n“,b0,b1); 程序运行后的输出结果是_。(分数:1.00)A.2,6B.0,0C.2,4D.1,235.有以下程序: #include stdio.h #define FNA(x) x*x #define FNB(x) x+z main() int a=2,b=4; printf(“%d,%d/n“,FNA(FNB(a),FNB(FNA(b); 程序运行后的输出结果是_。(分数:1.00)A.8,16B.16,32
18、C.8,32D.16,1636.设有如下语句: typedef struct Date int year; int month; int day; DATE; 则以下叙述中错误的是_。(分数:1.00)A.DATE是用户定义的结构体变量B.struct Date是用户定义的结构体类型C.DATE是用户说明的新结构体类型名D.struct是结构体类型的关键字37.设有如下定义: struct int n; char c; a2,*p=a; 则以下错误引用结构体成员 n的是_。(分数:1.00)A.(* a)-nB.a0.nC.p-nD.(* p).n38.有以下程序: #include stdi
19、o.h #include string.h typedef struct char name10; char sex; int age; STU; void fun(STU t) strcpy(t.name,“Tong“); t.age+; main() STU s2=t“Hua“,“m“,18,“Qin“,“f“,19; fun(s1); printf(“%s,%d,%s,%d/n“,s0.name,s0.age,s1.name,s1.age); 程序运行后的输出结果是_。(分数:1.00)A.Hua,19,Tong,19B.Hua,18,Tong,20C.Tong,19,Qin,19D.H
20、ua,18,Qin,1939.设有定义:int a=64,b=8;,则表达式(a if(fp=fopen(“test.txt“,“w“)= NULL) printf(“不能打开文件!“); exit(0); else printf(“成功打开文件!“); 若文件 test.txt已存在,则以下叙述正确的是_。(分数:1.00)A.程序运行后,文件 test.txt中的原有内容将全部消失B.程序运行时,会因文件存在而出错C.对文件 test.txt进行写操作后,可以随机进行读取D.对文件 test.txt写入的内容总是被添加到文件尾部二、程序填空题(总题数:1,分数:20.00)41.下列给定程
21、序中,函数 fun的功能是:统计带头节点的单向链表中节点的个数,并存放在形参 n所指的存储单元中。 请在程序的下画线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include stdio.h #include stdlib.h #define N 8 typedef struct list int data; struct list * next; SLIST; SLIST * creatlist(int *a); void outlist(SLIST*); vom fun(SLIST * h, int * n)
22、SLIST *p; /*found*/ 1 =0; p=h-next; while(p) (* n)+; /*found*/ p=p- 2 ; main() SLIST * head; int aN=12,87,45,32,91,16,20,48, num; head=creatlist(a); outlist(head); /*found*/ fun( 3, printf(“/nnumber=%d/n“,num); SLIST * creatlist(int a) SLIST *h,*p,*q; int i; h=p=(SLIST*)malloc(sizeof(SLIST); for(i=0
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2013 03 答案 解析 DOC
