2012年3月二级C语言笔试真题及答案
- 格式:doc
- 大小:212.92 KB
- 文档页数:36
江苏计算机等级考试二级C语言真题2012年3月(总分:60.00,做题时间:120分钟)一、说明: (总题数:1,分数:0.00)二、第一部分计算机基础知识(总题数:20,分数:20.00)1.下列有关信息产业、信息化、信息社会等相关的叙述中,错误的是________。
(分数:1.00)A.信息产业是指生产制造信息设备的制造业,不包含信息服务行业√B.信息化是一个推动人类社会从工业社会向信息社会转变的过程C.在信息社会中,信息将借助材料和能源的力量产生重要价值而成为社会进步的基本要素D.目前我国还处于工业化的中期阶段,需要大力推进信息化与工业化的融合式发展解析:2.下列有关数字技术与微电子技术的叙述中,错误的是________。
(分数:1.00)A.数字技术的处理对象是"比特",它只有两种状态(取值)B.在计算机中,经常使用称为"触发器"的双稳态电路来存储比特,一个触发器可以存储1个比特C.微电子技术以集成电路为核心,现代集成电路所使用的半导体材料主要是硅D.所有的IC卡均只能存储数据,不能处理和收发数据√解析:3.下列有关计算机发展与分类的叙述中,错误的是________(分数:1.00)A.人们通常根据计算机采用的主要电子元器件的不同,将计算机的发展划分为四代B.由于20世纪90年代计算机网络的发展,计算机应用进入了"网络计算模式"C.目前所有的服务器产品均为小型计算机、大型计算机或巨型计算机,PC机不能作为网络服务器使用√D.美国的HP、DELL和我国的联想、方正、同方等均是知名的PC机品牌解析:4.下列有关PC机CPU的叙述中,错误的是________。
(分数:1.00)A.长期以来,多数PC机采用Intel公司生产的CPU芯片B.Intel Core i7是高端的CPU产品,其中i7表示它采用7个内核的结构√C.目前部分PC机使用AMD公司的CPU芯片,它们与Intel公司的CPU芯片指令系统基本一致,因此这些PC机相互兼容D.目前我国也能设计、生产PC机的CPU芯片解析:5.下列有关PC机主板上CMOS和BIOS的叙述中.错误的是________。
全国计算机等级考试二级C语言2012年3月试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________、__________。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8;a+=a-=a*a;后,a的值是__________。
5、有如下语句:char A[]={”I am a student”};该字符串的长度是__________,A[3]=__________。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________。
“&”运算符的作用是__________。
“*”运算符的作用是__________。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。
int x=10,y=10;printf(“%d%d\n”,x--,--y);A.1010B.99C.910D.1094、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。
A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i5、选出下列标识符中不是合法的标识符的是()。
2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案2012年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A )循环队列是队列的一种链式存储结构B )循环队列是队列的一种顺序存储结构C )循环队列是非线性结构D )循环队列是一种逻辑结构(2)下列叙述中正确的是A )栈是一种先进先出的线性表B )队列是一种后进先出的线性表C )栈与队列都是非线性结构D )以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A )16B )10C )6D )4(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A )外模式B )内模式C )概念模式D )逻辑模式(5)在满足实体完整性约束的条件下A )一个关系中应该有一个或多个候选关键字B )一个关系中只能有一个候选关键字C )一个关系中必须有多个候选关键字D )一个关系中可以没有候选关键字(6)有三个关系R 、S 和T 如下:R ST 则由关系R 和S 得到关系T 的操作是A )自然连接B )并C )交D )差(7)软件生命周期中的活动不包括A )市场调研B )需求分析C )软件测试D )软件维护(8)下面不属于需求分析阶段任务的是A )确定软件系统的功能需求B )确定软件系统的性能需求C )需求规格说明书评审 A B Ca 1 2b 2 1c 3 1 A B C a 1 2d 2 1 A B C b 2 1 c 3 1整理:陈远跃D)制定软件集成测试计划(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图(10)在软件设计中不适用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图(11)以下合法的VB变量名是D)x*y A)case B)name10 C)t-name(12)设x是小于10的非负数。
《软件开发基础》摸底考试答案及分析一、选择题(11)【答案】A)【解析】简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相关文档。
(12)【答案】A)【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。
而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。
(13)【答案】B)【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。
(14)【答案】C)【解析】一个C程序有且只有一个主函数main()。
一个C 程序可以包含多个不同名字的子函数。
C程序在书写时没有严格的缩进要求。
(15)【答案】B)【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。
所以在输入时也不可以有任何间隔符号。
(16)【答案】D)【解析】字符常量有两种表示方法:一种是用该字符的图形符号,如'b' ,'y','*'。
另外还可以用字符的ASCII 码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:\odd.这里,ddd是八进制值(o可以省略)。
另一种使用字符的十六进制ASCII码值,表示为\0xhh或0Xhh这里hh是两位十六进制值。
本题中D)选项…\019'使用是八进制表示,不应该出现9,所以错误。
(17)【答案】A)【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。
然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。
C语言程序设计2012年3月全国计算机等级考试二级笔试试卷第一题在后面二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为【1】。
(2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。
现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【2】个元素。
(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是【3】。
(4)在将E-R图转换到关系模式时,实体和联系都可以表示成【4】。
(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于【5】。
(6)变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d",&a,&b); 语句分别给a和b输入1和2,则正确的数据输入内容是【6】。
(7)以下程序的输出结果是【7】。
# include <stdio.h>main( ){ int a=37;a+=a%=9; printf(%d\n”,a);}(8)设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++; 语句后,变量b的值是【8】。
(9)有以下程序段s=1.0;for (k=1; k<=n; k++) s=s+1.0/(k*(k+1));printf("%f\n",s);请填空,使以下程序段的功能与上面的程序段完全相同。
s=1.0; k=1;while ( 【9】){ s=s+1.0/(k*(k+1)); k=k+1; }printf("%f\n", s);(10)以下程序的输入结果是【10】。
# include <stdio.h>main( ){ char a,b;for (a=0; a<20; a+=7) { b=a%10; putchar(b+'0'); }}(11)以下程序的输出结果是。
全国计算机等级考试上机专用题库与笔试模拟考场——二级C 语言一、选择题(1)【答案】A) 【解析】循环队列是一种顺序存储的线性结构。
所以,“循环队列是队列的一种链式存储结构”、“循环队列是非线性结构”和“循环队列是一种逻辑结构”的说法都是错误的。
(2)【答案】D) 【解析】栈和队列都是线性结构,并且栈是后进先出,队列是先进先出,所以三种说法都不对。
(3)【答案】D) 【解析】根据公式n 0=n 2+1,叶子结点个数为5,则度为2的结点数为4,那么度为1的结点数n 1=n-n 0-n 2=25-5-4=16。
(4)【答案】A) 【解析】数据库系统在其内部具有三级模式:概念模式、内部模式与外部模式。
其中,内模式(又称物理模式)给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash 等存取方式与存取路径,内模式的物理特性主要体现在操作系统及文件级上,它还未深入到设备级(如磁盘及磁盘操作)上。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)的公共数据视图,主要描述数据的概念记录类型以及它们之间的关系,它还包括一些数据间的语义约束。
外模式(子模式或用户模式)是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出,在一般的DBMS 中都提供相关的外模式描述语言(外模式DDL)。
(5)【答案】D) 【解析】在关系R 中如记录完全函数依赖于属性(组)X,则称X 为关系R 中的一个候选关键字。
候选关键字的性质有:①在一个关系中,候选关键字可以有多个;②对于任何两条记录,候选关键字的值都是不相同的;③关键字可能由一个属性构成,也可能由多个属性构成;④在任何关系中至少有一个关键字。
所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。
(6)【答案】C) 【解析】自然连接是二元运算,其结果是得到两个关系中公共属性名字上相等的所有元组的组合;并是指将两个关系中的元素全部合并到一个新的关系之中;交是指将那些同时属于两个关系的元素组成一个新的关系;差是指将属于前一个集合但不属于后一个集合的元素组成新的2012年3月笔试参考答案及解析关系。
二级C语言真题2012年03月一、单选题1、下列叙述中正确的是( )。
A) 循环队列是队列的一种顺序存储结构B) 循环队列是队列的一种链式存储结构C) 循环队列是非线性结构D) 循环队列是一种逻辑结构2、下列叙述中正确的是( )。
A) 栈是一种先进先出的线性表B) 队列是一种后进先出的线性表C) 栈与队列都是非线性结构D) 以上三种说法都不对3、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。
A) 4 B) 6 C) 10 D) 164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
A) 内模式B) 外模式C) 概念模式D) 逻辑模式5、在满足实体完整性约束的条件下( )。
A) 一个关系中可以没有候选关键字B) 一个关系中只能有一个候选关键字C) 一个关系中必须有多个候选关键字D) 一个关系中应该有一个或多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
A) 自然连接B) 并C) 差D) 交7、软件生命周期中的活动不包括( )。
A) 软件维护B) 市场调研C) 软件测试D) 需求分析8、下面不属于需求分析阶段任务的是( )。
A) 确定软件系统的功能需求B) 确定软件系统的性能需求C) 制定软件集成测试计划D) 需求规格说明书评审9、在黑盒测试方法中,设计测试用例的主要根据是( )。
A) 程序外部功能B) 程序内部逻辑C) 程序数据结构D) 程序流程图10、在软件设计中不使用的工具是( )。
A) 系统结构图B) 程序流程图C) PAD图D) 数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤顺序正确的是( )。
A) 确定算法和数据结构、编码、调试、整理文档B) 编码、确定算法和数据结构、调试、整理文档C) 整理文档、确定算法和数据结构、编码、调试D) 确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述中正确的是( )。
2012年3月国家二级(C++)笔试真题试卷(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2nB.n2C.O(n1.5)D.n(n-1)/2正确答案:D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
2.算法分析的目的是A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进正确答案:D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。
分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。
3.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件正确答案:D解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。
4.在单链表中,增加头结点的目的是A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现正确答案:A解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。
5.软件工程的出现是由于A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展正确答案:C解析:软件工程概念的出现源自于软件危机。
2012年3月全国计算机二级C语音上机50套真题答案说明:主要找你的填空题第一道题的题干,然后后面的答案都是相对应一套一套的,如:假如你的填空题第8道题的题干和这里的第8套是一样的,那你所有题(改错、程序设计)的答案都是相对应的第8题,其他类推。
程序设计题加粗字为需输入的答案。
一、程序填空题1. t = __1__; t *= (-1.0)*x/_2__;while (_3_ >= 1e-6);2. switch(__1__) case 1: c1++; __2_;case 2: c2++; ___3___;3. if(t%2==__1__) x=__2__+t; n=__3__;4. rmax=a[i][j]; c= __1__ ; find= __2__ ;/**********found**********/__3__ ;5. void fun(char (*ss) __1__, int k)while(i< __2__) ss[i][k]=__3__;6. void fun(int (*t)___1___ )___2___ =t[i][j]+t[j][i];___3___ =0;7. int __1__ i < __2__ a[0][i] = __3__8. while(t<=__1__) s2=(__2__)%10;if(s1+s2+s3==__3__)9. /**********found**********/___1___; sum+=___2___sum+= t[i][n-i-___3___]10. __1__fun(char ch)if (ch>='0' && ___2___)return '9'- (ch-___3___)11. i=__1__; __2__;x=(2.0*i-1)/((__3__)*(2.0*i));12. while (!feof(__1__)) if (n.sno__2__sno)fseek(__3__, -(long)sizeof(STU)13. for(i=0; i< __1__ ; i++)if( strstr(ss[i], __2__) != NULL )if(find==__3__)printf("\nDon't found!\n"); 14. for(p=1; p<= __1__; p++)for(j=0; j< __2__ ; j++)a[i][N-1]= __3__;15. t = (a>b) ? (b>c? b :(a>c?c:___1___)) :((a>c)?___2___ : ((b>c)?c:___3___)); 16. if ((ch>='a')___1___(ch<='z'))return ch +'a'-___2___ return ___3___ 17. sum+= *s- __1_ __2__; return __3__ 18.f = __1__; t *= (__2__)*x/i f += __3__;19. if(n>=len) strcpy(__1__); t[j++]= __2__ ;t[j]= __3__ ;20. __1__ fun(struct student *a) __2__ += 1; return __3__ ; 21. max = min = ___1___; if (max<___2___)if (min>___3___)22. void fun(int ___1___ , int n)for(___2___; i++) t[i][n-1-i]=___3___;23. void fun(int ___1___, int n)for (i=0; ifor (j=___3___; j<="" p="">24. f = 1.0+___1___; t *= x/___2___;f += ___3___;25. t = ___1___; for (i=___2___; i<="" p="">t *= x/___3___;26. b__1__ = 10004; strcpy(b__2__, "LiJie");fun(__3__);27. k=__1__; t=__2__; k=k*__3__;28. s=__1__; for(i=1; i<=__2__; i++)s=s+(2.0*i-1)*(2.0*i+1)/__3__;29. ch=tolower(__1__); k[n]+= __2__ ;if(max<="" bdsfid="121" max="__3__" p="">30. __1__ t; for (i=0; i<__2__; i++)if (strcmp(__3__) > 0)31. if (___1___== 0) __2__ = a[i];return ___3___;32. t=*n % __1__; if(t%2!= __2__) *n=__3__;33. for(i=0; i< __1__ ; i++)if(len<= __2__) strcpy(ss[j++],__3__);34. __1__ ; flag=1; if (*s==' ') flag=__2__ ; __3__ ;35. t[j]=__1__; j++; for(i=0; i<__2__; i++)t[j+k]= __3__;36. for(i=0; i< __1__ ; i++) return __2__ ;if(n== __3__)37. lp= __1__ ; lp++; rp _2__ ; if(lp<="" __3__="" bdsfid="136" p="">38. x=__1__/4; while(x __2__ e) x=__3__/(t*t);39. for (i=0; i<___1___; i++)a[i] = a[n-1-___2___]; ___3___ = t;40. b = __1__; strcpy(__2__, "LiSi");printf("%6.2f ", b.__3__);41. for (___1___; j<="" p="">if (___2___%j == 0) if (___3___>=i)42. i=__1__; while(__2__) x=x+t*i; i=__3__;43. __1__ fun(struct student a)strcpy(__2__, "LiSi");for (i=0; i<3; i++) __3__+= 1;44. p = (n%2==0)?n/2:n/2+___1___;a[i] = a[p+___2___]; ___3___ = t;45. if (a[i]%2==__1__) a[j] = a[i]; __2__;return ___3___;46. n=__1__; while(t<=__2__) __3__;47. *(t+n)= __1__ ; n++; __2__ ;return __3__ ;48. ((___1___%t==0) && (i/t<n))< bdsfid="157" p=""></n))<> for(t=1; t< maxt*(n-1); ___2___)return ___3___;49.k= __1__ ;if(strlen(ps[k]) < strlen(__2__) ) k=j;ps[k]= __3__ ;50. for (j=a[i]*2; j<=n; j+=___1___)while (___2___==0)if (a[i]!=___3___)第01套填空题:【1】x 【2】n 【3】fabs(t)改错题:【1】for(i=1;i<=y;i++)【2】t=t%1000;第02套填空题:【1】n%10 【2】break 【3】break改错题:【1】if(t==0) 【2】*zero=count;第03套填空题:【1】0 【2】10*x 【3】n/10改错题:【1】*t=0;【2】if(d%2!=0)第04套填空题:【 1】j【2】0 [3]i++改错题:【1】for(i=2;i<=m;i++)【2】y-=1.0/(i*i);第05套填空题:【1】[M] 【2】M 【3】0改错题:【1】t=1; 【2】return(2*s);第06套填空题:【1】 [N] 【2】t[i][j] 【3】t[j][i]改错题:【1】#define FU(m,n) ((m)/(n))【2】return (value);第07套填空题:【1】k 【2】N 【3】a[k][i]改错题:【1】for(i = strlen( t )-1; i;i--)【2】if(t[j] > t[j + 1 ] )第08套填空题:【1】999 【2】t/10 【3】x改错题:【1】void fun(long s,long *t)【2】while(s>0)第09套填空题:【1】sum=0【2】t[i][i] 【3】1 改错题:【1】double r;【2】while(fabs(m-n)>0.001)第10套填空题:【1】char 【2】ch<='9' 【3】'0' 改错题:【1】b[k]=*p;【2】b[k]=' ';k++;第11套填空题:【1】0 【2】i++ 【3】2*i改错题:【1】void fun (char *s, char *t)【2】t[2*d] = 0;第12套填空题:【1】(fp) 【2】== 【3】fp改错题:【1】n=strlen( aa ) ;【2】ch=aa[i];第13套填空题:【1】N【2】substr【3】0改错题:【 1】fun(int x,int y, int z)【2】return j;第14套填空题:【 1】k【2】N-1【3】temp改错题:【1】void fun(int a[][M], int m)【2】a[j][k]=(k+1)*(j+1);第15套填空题:【1】a【2】a【3】b改错题:【1】c=tolower(c);【2】c=c+5;第16套填空题:【1】&&【2】'A'【3】ch改错题:【1】void fun(int *a)【2】a[j]=a[j-1];第17套填空题:【 1】48【2】s++【3】sum改错题:【1】if ((k%13 == 0) || (k%17 == 0))【2】}第18套填空题:【 1】1【2】-1【3】t改错题:【1】for(i=1;i<=3;i++)【2】if(k>=0&&k<=6)第19套填空题:【1】t,s【2】s[i]【3】0改错题:【 1】if(i%k==0)【2】if(k>=i) 第20套填空题:【1】struct student *【2】a->score[i]【3】a改错题:【1】char *fun( char (*sq)[M] ) 【2】return sp;第21套填空题:【1】a[i]【2】a[j] 【3】a[j] 改错题:【1】switch(g)【2】case 1: return 1; case 2:return 1; 第22套填空题:【1】t[][N] 【2】i=0;i<="" p="" 【3】s="" 改错题:【1】fun(int=""> 【2】else if(m>a[mid])第23套填空题:【1】*a【2】2【3】i+1改错题:【1】sum=0;【2】if((i+1)%5==0) 第24套填空题:【1】x【2】n【3】t改错题:【1】d=1;s=0;【2】d=d/10;第25套填空题:【1】1【2】1【3】i改错题:【1】k=i;【2】c=k;第26套填空题:【1】->sno【2】->name 【3】&t 改错题:【1】double fun(double a,double x0) 【2】if(fabs(x1-x0)>0.00001)第27套填空题:【1】1【2】2*i【3】(-1)改错题:【1】k++;【2】if(m==k)第28套填空题:【1】0【2】n【3】(t*t)改错题:【 1】for(i=0;str[i];i++)【2】if(substr[k+1]==0)第29套填空题:【1】*s【2】1【3】k[n] 改错题:【1】floatfun(int k)【2】return s;第30套填空题:【1】struct student【2】n-1【3】a[i].name,a[j].name改错题:【1】q=p+i;【2】while(q>p)第31套填空题:【1】a[i]%2【2】a[j]【3】j 改错题:【1】fun (int n)【2】if(n==1) 第32套填空题:【 1】10【2】0【3】x 改错题:【1】if (n==0)【2】result *= n-- ; 第33套填空题:【1】N【2】k【3】ss[i] 改错题:【1】int k=0;【2】while( *p || *q ) 第34套填空题:【1】n++【2】0【3】s++改错题:【1】t+=s[k];【2】*aver=ave;第35套填空题:【1】s[i]【2】k【3】0改错题:【1】while(*w)【2】if(*r==*p)第36套填空题:【1】N【2】i【3】-1改错题:【1】a2=k/10;【2】return i;第37套填空题:【1】s【2】--【3】return 0改错题:【 1】double fun (int n)【2】c=a;a+=b;b=c; 第38套填空题:【 1】3.【2】>【3】(2*i+1) 改错题:【 1】double fun(int n)【2】s=s+(double)a/b;第39套填空题:【1】n/2【2】i【3】a[n-i-1] 改错题:【1】n= *p-'0';【2】n=n*8+*p-'0'; 第40套填空题:【1】a【2】/doc/f813836864.html,【3】score[i] 改错题:【1】s[j++]=s[i];【2】s[j]=0;第41套填空题:【1】j=2【2】i【3】j改错题:【1】sum=0;j=0;【2】if(sum%4==2) 第42套填空题:【1】1【2】s【3】i*10改错题:【1】int fun(int n,int xx[][M]) 【2】printf("%d",xx[i][j]); 第43套填空题:【1】struct student【2】/doc/f813836864.html,【3】a.score[i]改错题:【1】if(p==n) return -1;【2】a[i]=a[i+1]; 第44套填空题:【1】1【2】i【3】a[p+i]改错题:【 1】float k;【2】if(*c>*a)第45套填空题:【1】1【2】j++【3】j改错题:【1】t=a;a=b;b=t;【2】return(b);第46套填空题:【1】0【2】x【3】t++改错题:【 1】int i,sl;【2】t[i]=s[sl-i-1];第47套填空题:【1】*s【2】s++【3】n改错题:【1】int j, c=0; double xa=0.;【2】if (x[j]>=xa)第48套填空题:【48.1.1】i【2】t++【3】count 改错题:【1】int fun(int a,int b,int c)【2】else return 1;第49套填空题:【1】i【2】ps[j]【3】tp改错题:【1】double fun(int n)【2】return sum;第50套填空题:【1】a[i]【2】a[i]【3】0改错题:【1】y=1;【2】d=a-i;编程题参考1、double fun(double x){int i=0;double s=1,a=1;while(fabs(a)>0.000001){a=a*(0.5-i)*x/(i+1);s+=a;i++;}return s;}2、double fun(int n){int i;double s=0,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}3、void fun(char p1[], char p2[]){while(*p1) p1++;while(*p2){*p1=*p2;p1++;p2++;}*p1=0;}4、int fun(int score[], int m, int below[]) {int i=0,s=0,n=0;for(i=0;is/=m;for(i=0;i<m;i++)< bdsfid="317" p=""></m;i++)<> {if(score[i]<s)< bdsfid="320" p=""></s)<>{below[n]=score[i];n++;}}return n;}5、void fun( char *a, int n ){/* 以下代码仅供参考 */int i=0,j,k=0;while(a[k]=='*') k++; /* k为统计*字符个数*/if(k>n){i=n;j=k;/* 以下完成将下标为k至串尾的字符前移k-n个位置 */while(a[j]){a[i]=a[j];i++;j++;a[i]=0;}}6、void fun( char *a ){i nt i=0,j=0;while(a[i]=='*') i++; while(a[i]){a[j]=a[i];i++;j++;}a[j]=0;}7、void fun( char *ss ){int i=1;while(ss[i-1]&&ss[i]) {if(ss[i]>='a'&&ss[i]<='z') ss[i]+='A'-'a';i+=2;}}8、void fun( STREC a[] )STREC tmp;int i,j;for(i = 0; i < N; i++)for(j = i+1; j < N; j++){ /* 请按题目要求完成以下代码*/ if(a[i].s<a[j].s)< bdsfid="381" p=""></a[j].s)<>{tmp=a[i];a[i]=a[j];a[j]=tmp;}}}9、void fun( char *a, char *h,char *p ) {a=h;while(h!=p){if(*h!='*'){*a=*h;a++;}h++;}while(*p){*a=*p;a++;p++;} *a=0;10、double fun( STREC *h ) {int i=0;double s=0;while(h->next){h=h->next;s+=h->s;i++;}s/=i;return s;}11、void fun(char *s, char t[]) {int i=0,j=0;while(s[i]){if(i%2==1&&s[i]%2==1) {t[j]=s[i];j++;}i++;}t[j]=0;}12、double fun( STREC *h ){double s=0;while(h->next){h=h->next;if(ss) s=h->s;}return s;}13、void fun( char *a, int n,int h,int e ){int i;for(i=0;ia[i]=0;}14、void fun(int a, int b, long *c){*c=a/10*10+a%10*1000+b/10+b%10*100; }15、double fun(int n){int i;double s=0,a=0;for(i=1;i<=n;i++){a+=sqrt(i);s+=a;}return s;}16、int fun(int n){int i,s=0;for(i=2;i<n;i++)< bdsfid="477" p=""></n;i++)<> {if(n%i==0) s+=i;}return s;}17、double fun( int n){int i,s=0;for(i=21;i<n;i++)< bdsfid="488" p=""></n;i++)<> {if(i%3==0&&i%7==0) s+=i;}return sqrt(s);}18、double fun(int n){int i;double s=1,a=1;for(i=1;i<=n;i++){a=a/i;s+=a;}return s;}19、void fun ( int x, int pp[], int *n ) {int i;for(i=1,*n=0;i<=x;i+=2){if(x%i==0){pp[*n]=i;(*n)++;}}}20、void fun(int a, int b, long *c){*c=a/10*100+a%10+b/10*10+b%10*1000; }21、void fun(STREC *a){int i;double s=0;for(i=0;is[i];a->ave=s/N;}22、void fun( char *a, char *p ){char *b=a;while(b<p)< bdsfid="537" p=""></p)<>{if(*b!='*'){*a=*b;a++;}b++;}while(*p){*a=*p;a++;p++;}*a=0;}23、double fun( STREC *a, STREC *b, int *n ) {int i;double s=0;for(i=0;is/=N;for(i=0,*n=0;i<n;i++)< bdsfid="562" p=""></n;i++)<>if(a[i].s<s)< bdsfid="565" p=""></s)<> {b[*n]=a[i];(*n)++;}}return s;}24、double fun(double x[9]){int i;double s=0;for(i=0;i<8;i++) s+=sqrt((x[i]+x[i+1])/2); return s;}25、double fun(double x[10]){int i;double s=0,x1=0;for(i=0;i<10;i++) x1+=x[i];x1/=10;for(i=0;i<10;i++) s+=(x[i]-x1)*(x[i]-x1); s=sqrt(s/10);return s;}26、double fun( STREC *a, STREC *b, int *n )int i;double s=0;for(i=0;is/=N;for(i=0,*n=0;i<n;i++)< bdsfid="601" p=""></n;i++)<>{if(a[i].s>=s){b[*n]=a[i];(*n)++;}}return s;}27、void fun(int a[], int n , int *max, int*d ){int i;for(i=1,*max=a[0],*d=0;i<n;i++)< bdsfid="617" p=""></n;i++)<>{if(*max<a[i])< bdsfid="620" p=""></a[i])<>{*max=a[i];*d=i;}}}28、double fun ( double eps){int i=1;double s=1,a=1;while(a>eps){a=a*i/(2*i+1);s+=a;i++;}return s*2;}29、double fun( int n ){int i;double s=0;for(i=1;i<=n;i++){s+=1.0/(i*(i+1));}return s;}30、int fun( STREC *a,STREC *b,int l, int h ){int i,j;for(i=0,j=0;i<n;i++)< bdsfid="656" p=""></n;i++)<> {if(a[i].s>=l&&a[i].s<=h) {b[j]=a[i];j++;}}return j;}31、void fun( char *a,int n ) {int i=0,j=0;while(a[i]){if(a[i]=='*') j++;else j=0;i++;}if(j>n){a[i-j+n]='\0';}}32、long fun ( char *p) {/* 以下代码仅供参考 */ int i,len; /* len为串长 */ long x=0;len=strlen(p);/* 以下完成数字字符串转换为一个数字。
全国计算机等级考试二级C语言机试真题2012年03月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如,若a所指数组中的数据为:1, 2, 3, 4, 5, 6, 7, 8, 9, 则调换后为:6, 7, 8, 9, 5, 1, 2, 3, 4。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!试题程序:#include <stdio.h>#define N 9void fun(int a[], int n)int i, t, P;P=(n%2==0)? n/2:n/2+______;for(i=0; i<n/2; i++)t=a[i];a[i]=a[P+______;______=t;main()int b[N]=1, 2, 3, 4, 5, 6, 7, 8, 9, i;printf("/nThe original data: /n");for(i=0; i<N; i ++)printf("% 4d", b[i]);printf("/n");fun(b, N);printf("/nThe data after moving: /n");for(i=0; i<N; i ++)printf("% 4d", b[i]);printf("/n");(分数:30.00)填空项1:__________________ (正确答案:(1)1 (2)i (3)a[p+i]或*(a+p+i))解析:[考点] 填空1:该处是判断数组元素的个数是奇数还是偶数,为奇数时要使当前位置加1,使p指向数组中间位置。
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。
1◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是计算如下公式。
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
【答案】【1】3.0 【2】> 【3】(t+1)【改错】下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【答案】int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
【答案】【1】 0【2】 n 【3】(t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
【答案】【1】for(i=0;str[i];i++) 【2】if(substr[k+1]== ′\0′)【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【答案】double s=1.0,s1=1.0;int n=1;while(s1>=eps){ s1=s1*n/(2*n+1);s=s+s1;n++;}Return 2*s3◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】给定程序中函数fun 的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
2012年3月全国计算机等级考试二级C语言真题一.选择题1.下列叙述中正确的是:A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一直逻辑结构2.下列叙述中正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.以上三种说法都不对3.一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A.4 B.6 C.10 D.164.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式5.在满足实体完整性约束的条件下A.一个关系中可以没有候选关键词B.一个关系中只能有一个候选关键词C.一个关系中必须有多个候选关键词D.一个关系中应该有一个或者多个候选关键词6.有三个关系R.S和T如下:SA B Ca 1 2b 2 1RA B Ca 1 2b 2 1c 3 1TA B Ca 2 1b 3 1则由关系R和S得到关系T的操作是A.自然连接B.并C.差D.交7.软件生命周期中的活动不包括A.软件维护B.市场调研C.软件测试D.需求分析8.下面不属于需求分析阶段任务的是A.确定软件系统的功能需求B.确定软件系统的系统的系能需求B.制定软件集成测试计划D.需求规格说明书审评9.在黑盒测试方式中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10.在软件设计中不使用的工具是A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11.针对简单程序设计,以下叙述的实施步骤正确的是A.确定算法和数据结构.编码.调试.整理文档B.编码.确定算法和数据结构.调试.整理文档C.整理文档.确定算法和数据结构.编码.调试D.确定算法和数据结构.调试.编码.整理文档12.关于C语言中数的表示,以下叙述正确的是A.只有整型数在允许范围内能精确无误的表示,实型数会有误差B.只要在在允许范围内整型和实型都能精确表示C.只有实型数在允许范围内能精确无误的表示,整型数会有误差D.只有八进制表示的数在不会有误差13.以下关于算法叙述错误的是A.算法可以用伪代码.流程图等多种形式来描述B.一个正确的算法必须有输入C.一个正确的算法必须有输出D.用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14.以下叙述错误的是A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名15.设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔16.以下选项中非法的字符常量是A.’\102’ B.’\65’ C.’\xff’ D.’\019’17.有以下程序#include <sthio.h>Main(){Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018.设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A.x++; printf((“%d\n”,x); B.n=++x; printf((“%d\n”,n);C.++x; printf((“%d\n”,x); D.n=x++; printf((“%d\n”,n);19.以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.0 20.有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A.10 B 11 C 9 D 821.有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022.若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23.有以下程序#include <sthio.h>Main(){char A,B,C;B=’1’;C=’A’For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624.设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225.fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。
2012年3月全国计算机等级考试二级C语言真题一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C程序可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main(){Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++; printf((“%d\n”,x);B、n=++x; printf((“%d\n”,n);C、++x; printf((“%d\n”,x);D、n=x++; printf((“%d\n”,n);19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C;B=’1’;C=’A’For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
2012年3月二级C 语言笔试真题及答案一、选择题1、 下列叙述中正确的是:A 、循环队列是队列的一种顺序存储结构B 、循环队列是队列的一种链式存储结构C 、循环队列是非线性结构D 、循环队列是一直逻辑结构 2、 下列叙述中正确的是A 、栈是一种先进先出的线性表B 、队列是一种后进先出的线性表C 、栈和队列都是非线性结构D 、以上三种说法都不对 3、 一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为 A 、4 B 、6 C 、10 D 、16 4、 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 A 、内模式 B 、外模式 C 、概念模式 D 、逻辑模式 5、 在满足实体完整性约束的条件下 A 、 一个关系中可以没有候选关键词 B 、 一个关系中只能有一个候选关键词 C 、 一个关系中必须有多个候选关键词D 、 一个关系中应该有一个或者多个候选关键词 6、 有三个关系R 、S 和T 如下: RA B C a 1 2 b 2 1 c31则由关系R 和S 得到关系T 的操作是A 、自然连接B 、并C 、差D 、交 7、 软件生命周期中的活动不包括A 、软件维护B 、市场调研C 、软件测试D 、需求分析 8、 下面不属于需求分析阶段任务的是A 、确定软件系统的功能需求B 、确定软件系统的系统的系能需求 B 、制定软件集成测试计划 D 、需求规格说明书审评 9、 在黑盒测试方式中,设计测试用例的主要根据是A 、程序外部功能B 、程序内部逻辑C 、程序数据结构D 、程序流程图 10、 在软件设计中不使用的工具是A 、系统结构图B 、程序流程图C 、PAD 图 D 、数据流图(DFD 图) 11、针对简单程序设计,以下叙述的实施步骤正确的是 A 、确定算法和数据结构、编码、调试、整理文档 B 、编码、确定算法和数据结构、调试、整理文档 C 、整理文档、确定算法和数据结构、编码、调试SA B C a 1 2 b21T A B C a 2 1 b31D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C程序可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main(){Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++; printf((“%d\n”,x);B、n=++x; printf((“%d\n”,n);C、++x; printf((“%d\n”,x);D、n=x++; printf((“%d\n”,n);19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C;B=’1’;C=’A’For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
在下列划线处应该填写的是#include <sthio.h>#define N 5Viod fun(int x[N]){int m;For(m=N-1;m>0;m--) scanf(“%d\n”, );}A &x[++m]B &x[m+1]C x+(m++)D x+m26、若有函数Viod fun(double a[], int *n){………}以下叙述中正确的是A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、形参a和n都是指针变量C、形参a是一个数组名,n是指针变量D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组27、有以下程序#include <sthio.h>Main(){int a,b,k,m,*p1,*p2;k=1,m=8;p1=&k,p2=&m;a=/*p1-m; b=*p1+*p2+6;printf(“%d ”,a); printf(“%d\n”,b);}编译时编译器提示错误信息,你认为出错的语句是A、a=/*p1-mB、b=*p1+*p2+6C、k=1,m=8;D、p1=&k,p2=&m;28、以下选项中有语法错误的是A char *str[ ]={“guest”}; B、char str[10 ]={“guest”};C、char *str[3] *str[1]={“guest”};D、char str[3][10];str[1]={“guest”};29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是A、int avg(int *a,int n);B、int avg(int a[10],int n);C、int avg(int a,int n);D、int avg(int a[],int n);30、有以下函数#include <sthio.h>#include <string.h>main(){ printf(“%d\n”,strren”ATS\n012\1”) );}程序运行后的输出结果是A 3B 8C 4D 931、有以下函数#include <sthio.h>main(){ char a[20],b[20],c[20];scanf(”%s%s”,a,b);get(c);printf(”%s%s\n”,a,b,c);}程序运行时从第一行开始输入this is a cat!<回车>,则输出结果是A thisisacat!B this is aC thisis a cat!D thisisa cat!32、有以下函数#include <sthio.h>viod fun(char c){if(c>’x’) fun(c-1);printf (“%c”,c);}main(){fun”z”;}程序运行输出结果是A xyzB wxyzC zyxwD zyx33、有以下函数#include <sthio.h>viod func(int n){int i;for(i=0;i<=n;i++) printf(“*”);printf(“#”);main(){ func(3); printf(“????”); func(4); printf(“\n”); }程序运行输出结果是A ****#????***#B ***#????*****#C **#????*****#D ****#????*****#34、有以下函数#include <sthio.h>viod fun(int *s){staic int j=0;do {s[j]=s[j]+s[j+1];} wihle(++j<2);}main(){int k,a[10]={1,2,3,4,5};for(K+1;k<3;k++) fun(a);for(K+1;k<5;k++) printf(“%d”,a[k]);printf(“\n”);}程序运行输出结果是A 12345B 23445C 34756D 3574535、有以下函数#include <sthio.h>#define S(x) (x)*x*2main(){int k=5,j=2;printf(“%d,”,S[k+j]); printf(“%d\n”,S(k-j)));}程序运行输出结果是A 98,18B 39,11 C39,18 D98,1136、有以下函数#include <sthio.h>Viod exch(int t[ ]){t[0]=t[5];}{int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;While(i<=4) {exch(&x[i])’i++;}for(i=0;i<5;i++) printf(“%d”,x[i]);printf(“\n”);}程序运行输出结果是A 2 4 6 8 10B 1 3 5 7 9C 1 2 3 4 5D 6 7 8 9 1037、设有以下程序段Struct MP3{char name[20];Char color;Float price;}std,*ptr;ptr=& std;若要引用结构体变量std中的color成员,写法错误的是A std.colorB ptr-> colorC std-> colorD (*ptr) .color38、有以下函数#include <sthio.h>struct stu{int mun; char name[10]; int age;};viod fun(struct stu *p){ printf(“%s\n”,p->name);}mian(){ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}}; fun(x+2);}程序运行输出结果是A zhangB zhaoC wangD 1939、有以下函数#include <sthio.h>mian(){int a=12,c;c=(a<<2)<<1;printf(“%d\n”,c):}程序运行输出结果是A 3B 50C 2D 9640、以下函数不能用于向文件写入数据的是A ftellB fwriteC fputcD fprintf二、填空题1、将长度为n的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为()。