【计算机类职业资格】二级C语言真题2013年09月-(2)及答案解析.doc
《【计算机类职业资格】二级C语言真题2013年09月-(2)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言真题2013年09月-(2)及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言真题 2013 年 09 月-(2)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.设循环队列为 Q(1:m),其初始状态为 front=rear=m。经过一系列入队与退队运算后,front=15,rear=20。现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为_。(分数:1.00)A.4B.6C.m-5D.m-62.下列叙述中正确的是_。(分数:1.00)A.循环队列属于队列的链式存储结构B.双向链表是二叉树的链式存储结构C.非线性结构只能采用链式存储结构D.有的非线性结构也可以采用顺序存储结构3.某二叉树中有
2、 n 个叶子节点,则该二叉树中度为 2 的节点数为_。(分数:1.00)A.n+1B.n-1C.2nD.n/24.下列叙述中错误的是_。(分数:1.00)A.算法的时间复杂度与算法所处理数据的存储结构有直接关系B.算法的空间复杂度与算法所处理数据的存储结构有直接关系C.算法的时间复杂度与空间复杂度有直接关系D.算法的时间复杂度与算法程序执行的具体时间是不一致的5.软件工程的三要素是_。(分数:1.00)A.方法、工具和过程B.建模、方法和工具C.建模、方法和过程D.定义、方法和过程6.通常软件测试实施的步骤是_。(分数:1.00)A.集成测试、单元测试、确认测试B.单元测试、集成测试、确认测试
3、C.确认测试、集成测试、单元测试D.单元测试、确认测试、集成测试7.下面可以作为软件设计工具的是_。(分数:1.00)A.系统结构图B.数据字典(DD)C.数据流程图(DFD 图)D.甘特图8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于_。(分数:1.00)A.逻辑设计阶段B.需求分析阶段C.概念设计阶段D.物理设计阶段9.设有关系表学生表 S(学号,姓名,性别,年龄,身份证号),每个学生学号唯一。除属性学号外,也可以作为键的是_。(分数:1.00)A.姓名B.身份证号C.姓名,性别,年龄D.学号,姓名10.在数据库系统中,考虑数据库实现的数据模型是_。(分数:1.00)A.概
4、念数据模型B.逻辑数据模型C.物理数据模型D.关系数据模型11.以下选项中叙述正确的是_。(分数:1.00)A.结构化程序的三种基本结构是循环结构、选择结构、顺序结构B.C 语言源程序不编译也能直接运行C.使用 N-S 流程图不能描述复杂算法D.计算机能够直接运行 C 语言源程序,不必进行任何转换12.以下选项中叙述正确的是_。(分数:1.00)A.使用三种基本结构就可以实现任何复杂算法B.只要程序包含了三种基本结构中的任意一种,就是结构化程序C.程序语法错误要在运行时才能发现D.C 语言程序不需要包含 main()函数13.以下选项中,合法的 C 语言常量是_。(分数:1.00)A.1.23
5、4B.“C+“C.“/2.0D.2Kb14.以下选项中,合法的 C 语言实数是_。(分数:1.00)A.3.1e0.4B2e0C.E13D.7.12E15.设 a,b,c 是整型变量且均已赋值,则以下选项中错误的赋值语句是_。(分数:1.00)A.a=(b=3)=1;B.a=(b=2)+c;C.a=b=c+10;D.a=1+(b=c=2);16.有如下程序: #include stdio.h main() int x=072; printf(“%d/n“, x+1); 程序运行后的输出结果是_。(分数:1.00)A.59B.73C.115D.7217.有如下程序: #include stdio
6、.h main() int a=0,b=1; if (a+ else printf(“F“); printf(“a=%d,b=%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.Ta=1,b=2B.Fa=0,b=2C.Fa=1,b=1D.Ta=0,b=118.有如下程序: #include stdio.h main() int i,data; scanf(“%d“, for(i=0;i5;i+) if(idata) continue; printf(“%d,“,i); printf(“/n“); 程序运行时,从键盘输入:3回车后,程序输出结果为_。(分数:1.00)A.3,
7、4,B.1,2,3,4,C.0,1,2,3,4,5,D.0,1,2,19.有如下程序: #include stdio.h main() int i,data; scanf(“%d“, for(i=0;i5; i+) if(idata)break; printf(“%d,“,i); printf(“/n“); 程序运行时,从键盘输入:3回车后,程序输出结果为_。(分数:1.00)A.3,4,B.0,1,C.3,4,5,D.0,1,2,3,20.有如下程序: #include stdio.h main() char a=“3“,b=“A“; int i; for(i=0;i6;i+) if(i%3
8、)putchar(a+i); else putchar(b+i); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.A45D78B.ABC678C.34CD78D.34AB7821.有如下程序: #include stdio.h main() int i; for(i=0;i5;i+) putchar(“9“-i); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.54321B.98765C.“9“8“7“6“5“D.“43210“22.有如下程序: #include stdio.h main() int x = 0x13; if(x=0
9、x18) printf(“T“); printf(“F“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.TFB.TC.FD.TFT23.有如下程序: #include stdio.h int sum(int a,int b) return a+b-2; main() int i; for(i=0; i5; i+) printf(“%d“,sum(i,3); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.54321B.01234C.45678D.1234524.有如下程序: #include stdio.h int change(i
10、nt*data) return(*data)+; main() int data=123; change( printf(“%d,“,data); data = change( printf(“%d,“,data); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.124,124,B.123,124,C.124,123,D.123,123,25.有如下程序: #include stdio.h void change(int*array,int len) for(len=0;len-) arraylen+=2; main() int i,array5 = 1,2; c
11、hange(array,4); for(i=0; i4;i+) printf(“%d,“,arrayi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.2,3,4,5,B.3,4,5,6,C.3,4,2,2,D.1,2,0,0,26.以下选项中叙述正确的是_。(分数:1.00)A.char c1,c2,*c3,c440j;是合法的变量定义语句B.数组说明符的一对方括号中只能使用整型常量,而不能使用表达式C.数组下标的下限可以是负值D.若有数组定义 float array4;则语句 printf(“%f“,array3.12);是合法的27.若有函数声明: voi
12、d fun(float array,int*ptr); 以下叙述正确的是_。(分数:1.00)A.函数参数 array,ptr 都是指针变量B.函数参数 array 不是指针变量,ptr 是指针变量C.调用函数时,实参数组的值将一一复制给 array 数组D.调用函数时,array 是按值传送,ptr 是按地址传送28.设有如下程序段: int a8 = 0; int b = 0; char c2 = “ A“,“B“; char d=“AB“; 以下叙述正确的是_。(分数:1.00)A.只有 a,b,c 的定义是合法的B.a,b,c,d 的定义都是合法的C.只有 a,b 的定义是合法的D.只
13、有 c 的定义是合法的29.以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是_。(分数:1.00)A.char*str,name10;str=“Hello World“;B.char*str,name10;name=“Hello World“;C.char str110=“prog.c“,str210;str2 = str1;D.char head_line;head_line=“= = = = = = =“;30.有如下程序: #include stdio.h #include string.h main() printf(“%d/n“,strlen(“0/n011/1“); 程序
14、运行后的输出结果是_。(分数:1.00)A.6B.8C.9D.431.有如下程序: #include stdio.h void convert(char ch) if(ch“D“) convert(ch+1); printf(“%c“,ch); main() convert(“A“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.ABCDDCBAB.ABCDC.AD.DCBA32.有如下程序: #include stdio.h #include string.h main() char a=“THIS“,*b=“OK“; printf(“%d,%d,%d,%d/
15、n“, strlen(a), sizeof(a), strlen(b), sizeof(b); 程序运行后的输出结果是_。(分数:1.00)A.4,5,2,4B.4,4,2,1C.5,5,3,3D.4,5,2,333.有如下程序: #include stdio.h void get_put() char ch; ch = getchar(); if(ch !=“/n“)get_put(); putchar(ch); main() get_put(); printf(“/n“); 程序运行时,输入 1234回车,则输出结果是_。(分数:1.00)A.1234B.4321C.4444D.11113
16、4.有如下程序: #include stdio.h int sum(int data) static int int = 0; return init += data; main() int i; for(i=1;i=5;i+) printf(“%d,“, sum(i); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1,3,6,10,15,B.1,2,3,4,5,C.0,0,0,0,0,D.1,1,1,1,1,35.以下选项中的编译预处理命令行,正确的是_。(分数:1.00)A.#define PI 3.14B.#define eps 0.001C.#DEFIN
17、E TRUED.#define int INT36.设有以下程序段: struct person char name10; char sex; float weight; zhangsan,*ptr; ptr= 若要从键盘读入姓名给结构体变量 zhangsan 的 name 成员,输入项错误的是_。(分数:1.00)A.scanf(“%s“,zhangsan-name);B.scanf(“%s“,zhangsan.name);C.scanf(“%s“,ptr-name);D.scanf(“%s“,(*ptr).name);37.有如下程序: #include stdio.h struct pe
18、rson char name10; int age; main() struct person room4=“Zhang“,19,“Li“,20,“Wang“,17,“Zhao“,18; printf(“%s;%d/n“,(room+2)-name,room-age); 程序运行后的输出结果是_。(分数:1.00)A.Wang:19B.Wang:17C.Li:20D.Li:1938.有如下程序: #include stdio.h struct pair int first,second; ; struct pair get_min_max(int* array,int len) int i;
19、struct pair res; res.first=array0; res.second=array0; for(i=1;ilen; i+) if(arrayires.first) res.first=arrayi; if(arrayires.second) res.second=arrayi; return res; main() int array5=9,1,3,4; struct pair min_max=get_min_max(array,5); printf(“min=%d,max=%d/n“,min_max.first,min_max.second); 程序运行后的输出结果是_。
20、(分数:1.00)A.min=1,max=9B.min=0,max=9C.min=1,max=4D.min=0,max=439.有如下程序: #include stdio.h main() int a=8,b; b = (a2)%2; printf(“%d,%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.8,0B.4,0C.4,1D.8,140.以下选项中叙述正确的是_。(分数:1.00)A.文件指针是指针类型的变量B.文件指针可同时指向不同文件C.文件指针的值是文件在计算机磁盘中的路径信息D.调用 fscanf 函数可以向文本文件中写入任意字符二、程序填空题(总题数:
21、1,分数:20.00)41.人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数组 std 中,且编号唯一。函数 fun 的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。 请在程序的下画线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include stdio.h #include string.h #define N 8 typedef struct char num10; int year,month,day; STU; /*fo
22、und*/ 1fun(STU*std,char*num) int i; STU a=“,9999,99,99; for(i=0;iN;i+) /*fomad*/ if(strcmp( 2,num)=0) /*found*/ return( 3); return a; main() STU stdN = “111111“,1984,2,15,“222222“,1983,9,21,“333333“,1984,9,1,“444444“,1983,7,15,“555555“,1984,9,28,“666666“,1983,11,15,“777777“,1983,6,22,“888888“,1984,8
23、,19; STU p; char n10=“666666“; p=fun(std,n); if(p.num0=0) printf(“/nNot found!/n“); else printf(“/nSucceed!/n“); printf(“%s%d-%d-%d/n“,p.num,p.year,p.month,p.day); (分数:20.00)三、程序修改题(总题数:1,分数:20.00)42.下列给定程序中,函数 fun 的功能是:从 s 所指字符串中,找出 t 所指字符串的个数作为函数值返回。例如,当 s 所指字符串中的内容为“abcdabfab”,t 所指字符串的内容为“ab”,则函数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2013 09 答案 解析 DOC
