C国家计算机等级二级笔试真题07年-10年_第1页
C国家计算机等级二级笔试真题07年-10年_第2页
C国家计算机等级二级笔试真题07年-10年_第3页
C国家计算机等级二级笔试真题07年-10年_第4页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

くT&S/hink&StudyDepartment思学培训部全国计算机等级考试二级培训专用资料历年笔试真题思学培训部编制目录TOC\o"1-5"\h\z\o"CurrentDocument"笔试学习方法 I\o"CurrentDocument"2007年4月全国计算机考试二级C语言笔试试卷 1\o"CurrentDocument"2007年9月全国计算机考试二级C语言笔试试卷 13\o"CurrentDocument"2008年4月全国计算机考试二级C语言笔试试卷 24\o"CurrentDocument"2008年9月全国计算机考试二级C语言笔试试卷 32\o"CurrentDocument"2009年3月全国计算机考试二级C语言笔试试卷 41\o"CurrentDocument"2009年9月全国计算机考试二级C语言笔试试卷 50\o"CurrentDocument"2010年3月全国计算机考试二级C语言笔试试卷 59\o"CurrentDocument"2010年9月全国计算机考试二级C语言笔试试卷 69\o"CurrentDocument"参考答案 79\o"CurrentDocument"2007年4月全国计算机考试二级C语言笔试答案 79\o"CurrentDocument"2007年9月全国计算机考试二级C语言笔试答案 79\o"CurrentDocument"2008年4月全国计算机考试二级C语言笔试答案 79\o"CurrentDocument"2008年9月全国计算机考试二级C语言笔试答案 80\o"CurrentDocument"2009年3月全国计算机考试二级C语言笔试答案 80\o"CurrentDocument"2009年9月全国计算机考试二级C语言笔试答案 80\o"CurrentDocument"2010年3月全国计算机考试二级C语言笔试答案 81\o"CurrentDocument"2010年9月全国计算机考试二级C语言笔试答案 81笔试学习方法二级C语言笔试时间为90分钟,40道単项选择题。其中,1〜10题与21〜40题每题2分,11〜20题每题1分:15道填空题,每题2分:共计100分,60分合格。近年来考试通过率一般在45%左右,具有一定的难度,需要一定的方法和技巧应对。学习方法因人而异,不同的人适合不同的方法。常用的通用方法如下:(1)及时复习,这是最基本的方法。每隔一段时间以后,回过头来看一下自己以前学习的内容。这种复习花费时间不多,而且随时间延续呈对数递减关系,但是作用非常大,一方面可以巩固自己以前的知识,另一方面可以加深前后知识的连贯,形成全面的知识体系结构。(2)归纳整理,注重实践。对初学者而言,应对二级C语言考试,知识点记忆是ー个难关,除了要记忆计算机基础知识、基本概念外,还需要适当记忆和C语言相关的知识点,如C语言数据类型、运算符等。如此庞大的知识点体系,采用死记硬背的方法显然不行,我们可以在理解的基础上归纳整理,适当记忆。此外,因为C语言考试中题目大多都能上机实验,所以实践非常重要。考生应在对基本知识理解的同时注意多上机实践,通过实践,将所学知识融会贯通。(3)适度模拟训练,每隔一段时间,对自己进行一次全真模拟测验,通过测试发现不足,对症下药进行解决。由于模拟测验知识手段,不是目的,所以不宜频繁进行这种测试,笔试核心还是多看教程、多总结和思考。(4)建立错题集,把自己平时模拟测试易错试题记录下来,每隔一段时间,对照错题中涉及的知识点,专门复习,效果极好,可以大幅促进学习成绩的提髙。二级C语言笔试主要测验考生对基本概念、基本原理的掌握和利用C语言初步开发程序的能力。经分析,大多数考题与大纲要求基本一致,难度不大,但内容十分广泛所以,考生备考时要全面复习,加强对基本知识点的理解的训练。同时也要研究历年试题,把握考试重点和热点,并掌握解题技巧。笔试试题知识点分布简单统计如下表L1(单位:分数)。表1.1笔试知识点历年分布情况(单位:分数)知识内容05.405.906.406.907.407.908.408.909.3总计数据结构与算法14121010101010121098程序设计基础40622442226软件工程基础61048101068870数据库设计基础681010861081076C程序设计的初步知识13149121310141112108顺序结构程序设计64424843237选择结构程序设计24657623540循环结构程序设计99136213810878函数91291110610111290指针与数组201521202015181916164编译预处理与动态存储分配33333335430结构体与联合体66266654546位运算00113122212文件操作23242242425由上表统计分析知:公共基础知识(数据结构与算法、程序设计基础、软件工程基础、数据库设计基础)分值稳定,每年均为30分。C程序设计的初步知识是C语言编程基础,分值有所下降,一般占10分左右。表明考试整体难度有所上升。指针与数组历来都是考试重点,其分值比较稳定,一般占20分左右。函数和循环结构程序设计也是考试热点,其分值变中趋稳,一般占10分左右,不容忽视。其他考点分值一般占3~5分左右,其中,顺序结构程序设计、编译预处理与动态存储分配、文件操作分值稳定,选择结构程序设计、结构体与联合体分值有起有落,位运算很少出题,但近几次考试分值稳定,一般是2分。综上所述,考试内容有侧重点,复习迎考时应该抓住重点,这样可以事半功倍,切忌眉毛胡子ー把抓,事倍功半。知道分数比例还要了解各个章节的考试难度,经过分析历年试卷,考生应该按照如下策略应对教程:公共基础知识由于是考察广度而不是深度,所以遵循、、广散网”策略,达到了解程度即可:C程序设计的初步知识、函数和循环结构程序设计要达到理解程度,要看懂主要的知识点:指针与数组要达到掌握程度,力争看懂所有的知识点;其他章节达到了解程度即可。下面讲一下选择题和填空题的做题方法和技巧。1、选择题这种考题要求考生从4个备选答案中选择ー个正确答案,应对这类试题,常用的方法是直推法和筛选法。(1)直推法:先不分析所给的4个答案之间的区别和联系,根据内容直接推出正确答案,然后从4个答案中选出相符的答案。如:有以下程序#indude<stdio.h>main(){inty=9;for(;y>0;y-)if(y%3==0printf("%d"y);)程序的运行结果是()。【2007年9月选择第22题】A.741 B.963 C.852D.875421本题考查对自减运算符的掌握。本题中的for循环执行6次判断条件时,y的取值分别为:9、7、6,4、3、1,if后的条件满足,又因为ーy是先自减1,然后再返回,所以输出的值分别为8、5、2I答案选择C。(2)筛选法:将所给的4个答案进行逐一分析、对比、去伪存真、步步筛选并逐一排除,最后确定正确答案。如:可在C程序中用做用户标识符的是()0[2007年9月选择第12题】A.and B.Date C.Hi D.case_2007 y-m-d Dr.Tom Bigl本题考查对C语言标识符命名规则的掌握。本题中,选项B中的、'-"、选项C中的''."均不是构成标识符的基本字符,所以错误。选项D中的标识符的字符组成上没有错误,但case是关键字,违反了用户标识符不能与关键字相同的原则。所以也错误。由上述对比、分析可知,本题答案应该选择A。II当然,有了方法还需要具备一定的实カ,这样オ可以在选择题中立于不败之地。选择题考査知识点广而细,考生需要有一定的概念分辨能力,这就要求考生在平时复习中多做分析和比较、多做总结。考试中选择题数量比较多,分值分散,考生应该有全局观念,保证大部分题H的得分,遇到不会的题H可以暂时先略过去,等到题H做得多了,知识轮廓打开了,前面不会的题目涉及的知识就会突然想起,这时再返冋前面做题,往往有事半功倍的效果。2、填空题填空题主要考察考生对基础知识的准确理解,这类试题一般不会太深,以基础内容为主。碰见这种题,考生应该深刻理解题意,明确题目要求,运用相关知识做出准确回答。对历年考试试卷分析发现,考生在这种题上得分差别很大,这类题目每题2分,共计15题30分,高分学生可以得到25〜30分,而有的考生得分不到10分。所以这种题往往能拉开档次,其得分直接决定考试结果,要想通过二级C语言笔试,一定要保证填空题得到18分左右。其实,填空题得到18分并不是难事,因为除了少量综合题之外,大部分试题还是考核基础知识,而且考试内容也离不开教程,所以平时多看看书,重点理解和记忆考试热点内容,只要看得细、记得牢,就不需要为此担心。考生常犯的错误有以下几个方面。(1)基础知识掌握不全面,概念理解不准确:(2)答案表述不准确,会做的题得分不多;(3)答题卡填写位置错误,答案张冠李戴,白白丢分,十分可惜;(4)知道答案是什么,但是文字写错,没有得分。考生把自己的情况和上述错误对比,发现自己的不足,及时改进,争取考试分数有一定的提高。做历年的真题很重要,模拟题再好,也达不到真题的深度和广度,不要只做模拟题,而忽视了历年真题。做历年真题有利于考生把握知识点和出题方式,从宏观上了解到底要考哪些内容和怎样考査这些内容。同时也可以巩固知识,更重要的是,二级C语言试题亜现率比较高,很多题目在以前的考试中都能看到类似影子,其实这也是必然的,因为考来考去也就那么多知识点。所以只要熟悉并理解往年试题,应对二级C语言绰绰有余。当然,还要防止思维定势,有时考试中心把以前试题的考查方式、考查内容变化一下重新出现。这些改编的试题往往存在陷阱,试题表面看起来相同,其实答案已经不同了,ー不留神就会出错,每年都有考生在熟题HI;错的事例。遇到这类试题不要认为以前见过就沾沾自喜,放松警惕,匆匆而过,一定要仔细读题,切实理解题意,切忌浮躁。书上的课后习题也十分重要,对ニ级C语言而言,课后题的难度和考试试题的难度大致差不多,如果教程上的课后题可以独立做出,那么考试也应该没有什么问题。二级C语言考试中,C语言实践题比较多,这是由二级C语言考试的重点和特点所决定的。常考类型有计算程序结果、程序填空、程序段分析等。这些内容难度一般,考生应该利用纸和笔细致地分析和模拟程序实际执行,得出最终结果,而不是仅仅依靠头脑中的想象。每年都有很多学生眼高手低,思路正确但是得不出正确结果,令人可惜。此外,做好这些题还需要考牛:具有一定的实践能力,所以考生在理解基本知识的同时,应经常上机实践,将所学知识融会贯通。自从2007年考试大纲调整以后,二级考试中基础知识考核由以前的一级难度调整为三级难度,增加了考试的难度。由数据结构与算法、程序设计基础、软件工程基础、数据库设计基础4部分组成的公共基础成为二级所有考试中不可缺少的一部分,在考卷中固定为10道选择题和5道填空题,占有30分,比車不小。其中,数据结构与算法是需要理解的内容,比较灵活,切忌死记硬背,其余3章为软件开发基础,需要理解记忆。这些知识难理解,但对软件开发具有很强的指导作用,考生如能掌握,会更好地开发程序。考试前要预先熟悉环境,最好考试前一天就到考场看一下,熟悉地点和路线。每次考试ill都有考生不能及时找到自己的考点,浪费了时间,从而影响了考试。同时考试时要提前到场,并且检査考试所需物品是否齐全。进入考场,考生要保持良好的精神状态和心态。适度紧张是必然的,也有助于集中注意カ。但是过分紧张、焦虑对整个考试非常不利,直接影响考生的临场发挥。考生在考场中要学会调整心态,如深呼吸、转移注意力等。二级考试时间为90分钟,考试形式只有选择题和填空题,时间绝对够用;而且考试是対平时学习的测评和总结,成败与否在于平时,而不是考试中的侥幸,放开心态,尽量不要受其他因素的影响。200y年4月全国计算机考试二级C语言笔试试卷(考试时间120分钟,满分!00分)ー、选择题((1)〜(10)每题2分,(11)〜(50)每题1分,共60分),下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是:A)算法的效率只与问题的规模有关,而与数据的存储结构无关。B)算法的时间复杂度是指执行算法所需要的计算工作量。C)数据的逻辑结构与存储结构是ーー对应的。D)算法的时间复杂度与空间复杂度•定相关。(2)在结构化程序设计中,模块划分的原则是:A)各模块应包括尽量多的功能。B)各模块的规模应尽量大。C)各模块之间的联系应尽量紧密。D)模块内具有高内聚度、模块间具有低耦合度。(3)下列叙述中正确的是:A)软件测试的主要目的是发现程序中的错误。B)软件测试的主要H的是确定程序中错误的位置。C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作。D)软件测试是证明软件没有错误。(4)下面选项中不属于面向对象程序设计特征的是:A)继承性 A)继承性 B)多态性(5)下列对列的叙述正确的是:A)队列属于非线性表C)队列在队尾删除数据(6)对下列ニ叉树:C)类比性 D)封闭性B)队列按、、先进后出"原则组织数据D)队列按''先进先出"原则组织数据进行前序遍历的结果为:A)DYBEAFCZX B)YDEBFZXCAC)ABDYECFXZ D)ABCDEFXYZ(7)某ニ叉树中有n个度为2的结点,则该ニ叉树中的叶子结点为:A)n+1 B)n-1 C)2n D)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是:A)并 B)交 C)投影 D)笛卡儿乘积(9)在E-R图中,用来表示实体之间联系的图形是:A)矩形 B)椭圆形C)菱形 D)平行四边形(10)ド列叙述中错误的是:

A)在数据库系统中,数据的物理结构必须与逻辑结构一致。B)数据库技术的根本目标是要解决数据的共享问题。C)数据库设计是指在一有数据库管理系统的基础上建立数据库。D)数据库系统需要操作系统的支持。(11)算法中,对需要执行的每ー步操作,必须给出清楚、严格的规定,这属于算法的:A)正当性B)可行性 〇确定性 D)有穷性(12)下列叙述中错误的是:A)计算机不能直接执行用C语言编写的源程序C程序经C编译后,生成后缀为Qbj的文件是ー个二进制文件〇后缀为.obj的文件,经连接程序生成后缀为.exe的文件是ー个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是:A)大写字母 B)连接符〇数字字符D)下划线(14)以下叙述中错误的是:A)C语言是ー种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成〇使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于ー个正常运行的C程序,以下叙述中正确的是:A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束〇程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanfC'%d%c%d%c';&al,&cl,&a2,&c2);语句为变量al和a2赋数值10和20,为变量cl和c2赋字符X和丫。以下所示的输入形式正确的是(注:口代表空格字符)B)10nX20nY〈回车〉D)10XB)10nX20nY〈回车〉D)10X〈回车〉20Y〈回车〉10aX〈回车〉20口丫〈回车〉(17)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是A)sqrt(abs(nAx+eAx)) B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x,e))) D)sqrt(fabs(pow(x,n)+exp(x)))(18)设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是A)k++ B)k+=1 C)++kDD)k+l(19)有以下程序,其中%u表示按无呼号整数输出main(){unsignedintx=0xFFFF;/*x的初值为十六进制数・/PrintfC'%u\n;x);)程序运行后的输出结果是A)-1B)65535〇32767D)0XFFFF(20)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)if(x++) B)if(x>y&y!=0);

C)if(x>y)x-- D)if(y<0){;}elsey++: elsex++;(21)以下选项中,当x为大于1的奇数时,值为〇的表达式A)x%2==l B)x/2 C)x%2!=0 D)x%2==0(22)以下叙述中正确的是A)break语句只能用于switch语句题中B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同(23)有以下程序main(){intk=5,n=0;do{switch(k){easel: case3:n+=l;break;default;n=O;k";case2:case4:n+=2;k—;break;}printfC%d';n);}while(k>0&&n<5);)程序运行后的输出结果是A)235B)0235〇02356D)2356(24)有以下程序mian(){inti,j;for(i=l;i<4;i++){for(j=i;j<4;j++)printff%d*%d=%d",i,j,i*j);printfCn)})printfCn)})程序运行后的输出结果是A)l*l=l1*2=21*3=32*1=22*2=43*1=3C)l*l=l1*2=22*2=41*3=32*3=63*3=9(25)以下合法的字符常量是A)ヘX13' B)へ081, C)'65'(26)在C语言中,函数返回值的类型最终取决于A)函数定义时在函数苜都所说明的函数类型B)return语句中表达式值的类型〇调用函数时主调函数所传递的实参类型B)l*l=l1*2=21*3=32*2=42*3=63*3=9D)l*l=l2*1=22*2=43*1=33*2=63*3=9D)’ヘn"D)函数定义时形参的类型(27)已知大写字母A的ASCII码是65,小写字母a的ASCII码是9フ。以下不能将变量c中的大写字母转换为对应小写字母的语句是A)c=(c-W)%26+'a' B)c=c+32C)c=c-'A'+'a' D)c=fA,+c)%26-'a,(28)有以下函数intfun(char*s){char*t=s;while(*t++);return(t-s);)该函数的功能是A)比较两个字符串的大小 B)计算s所指字符串占用内存字节的个数〇计算s所指字符串的长度D)将s所指字符串复制到字符串t中(29)设已有定义:floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是A)float*p=1024; B)int*p=(float)x;C)float p=&x; D)float*p=&x;(30)有以下程序#include<stdio.h>main(){intn,*p=NULL;*p=&n;printff'inputn:");scanfC'%d';&p);printfC'outputn:,z);printff'%d\n,;p);)该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误。以下语句正确的是A)intn,*p=NULL; B)*p=&n;C)scanC'%d;&p); D)printfC'%d\nz;p);(31)以下程序中函数f的功能是:当flag为4时,进行有小到大排序;当flag为〇时,进行由大到小排序。voidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(flag?b[i]>b[j]:b[i]<bU]){t=b[i];b[i]=bU];bU]=t;}}main(){inta[10]={5,4,3,2,l,6,7,8,9,10},I;f(&a[2],5,0);f(a,5,l);for(i=0;i<10;i++)printf(''%d,"a[i]);)程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)3,4,5,6,7,2,1,8,9,10,〇5,4,3,2,1,6,7,8,9,10,D)10,9,8,7,6,5,4,3,2,1,(32)有以下程序voidf(intb[])(intI;for(i=2;i<6;i++)b[i]*=2;)main(){inta[10]={l,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;i<10;i++)printfC'%d/;a[i]);)程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)1,2,6,8,10,12,7,8,9,10〇1,2,3,4,10,12,14,16,9,10,D)1,2,6,8,10,12,14,16,9,10,(33)有以下程序typedefstruct{intb,p;}A;voidf(Ac)/・注意:c是结构变量名ッ{intj;c.b+=l;c.p+=2;}main(){inti;Aa={l,2};f(a);printf(''%d,%d\n';a.b,a.p);)程序运行后的输出结果是A)2,3B)2,4C)1,4D)1,2(34)有以下程序main(){inta[4][4]={{l,4z3z2,},{8,6,5,7,},{3,7,2,5,),{4z8,6zlz)},i,j,k,t;for(i=0;i<4;i++)ford=0;j<3;j++)for(k=j+l;k<4;k++)if(a皿i]>a[k][i]){t=aU][i];a皿i]=a[k][i];a[k][i]=t;}/・按列排序・/for(i=0;i<4;i++)printfC'%d/;a[i][j]);)程序运行后的输出结果是A)l,6,5,7, B)8,731, C)4,7,5,2,D)l,6,2,l,(35)有以下程序main(){inta[4][4]={{lz4z3z2z},{8z6z5z7z}z{3z7z2z5z}z{4z8z6zlz}},izkzt;for(i=0;i<3;i++)for(k=i+i;k<4;k++)if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}for(i=0;i<4;i++)printfC'%d/^a[0][i]);)程序运行后的输出结果是A)6,2,l,l, B)6,4,3,2,C)l,1,2,6, D)2,3,4,6,(36)有以下程序voidf(int*q){inti=0;for(i<5;i++)(*q)++;)main(){inta[5]={l,2,3,4,5},i;f(a);for(i=0;i<5;i++)printff'%d,^a[i]);}程序运行后的输出结果是A)2,2,3,4,5, B)6,2,3,4,5, C)2,3,4,5,6,(37)有以下程序#include<string.h>main(){charp[20]={'a;b,,,c,,,d/},q[]=,zabc;r[]="abcde”;strcpy(p+strlen(q),r);strcat(p,q);Printf(''%d%d\nz;sizeof(p),strlen(p));)程序运行后的输出结果是A)209 B)99C)2011D)ll11(38)有以下程序#include<string.h>main()<charp[20]={'a;b;cz,zd3-,q[]=zzabcz;r[]=zzabcdezzstrcat(p,r);Strcpy(p+strlen(q),q);printfC'%d\nz;sizeof(p));)程序运行后的输出结果是A)9B)6C)llD)7(39)有以下程序#include<string.h>main(){charp[20]={,az,zb;c;dz},q[]=zzabcz;r[]=zzabcdezz;strcat(p,r);strcpy(p+strlen(q),q);printf(''%d\nz;strlen(p));)程序运行后的输出结果是A)9 B)6 C)11 D)7(40)有以下程序 voidf(intn,int*r){intrl=0;jf(n%3==0)rl=n/3;elseif(n%5==0)rl=n/5;elsef(-n,&rl);*r=rl;)main(){intm=7,r;f(m,&r);printf(''%d\nz;r);}程序运行后的输出结果是A)2 B)1(41)有以下程序C)3 D)0main(intargc,char*argv[]){intn=0,1;for(i=l;i<argc;i++)n=n*10+*argc[i]-'0z;printf(''%d\nz;n);)编译连接后生成可执行文件tt.exe。若运行时输入以下命令行tt12345678程序运行后的输出结果是A)12B)12345C)12345678 D)136(42)有以下程序 inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+a++;main(){ints=a,i=0;for(;i<2;i++〉s+=f(i);printfC'%d\nz;s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(43)有一个名为inittxt的文件,内容如下:#defineHDY(A,B)A/B#definePRINT(Y)printff'y=%d\n.,Y)有以下程序#include"init.txt”main(){inta=l,b=2,c=3,d=4,k;K=HDY(a+c,b+d);PRINT(K);)下面针对该程序的叙述正确的是

A)编译有错 B)运行出错〇运行结果为y=0D)运行结果为y=6(44)有以下程序main(){char ch[]=''uvwxyz"*pc;pc=ch;printf(''%c\nz;*(pc+5));)程序运行后的输出结果是A)zB)0(45)A)zB)0(45)有以下程序C)元素ch[5]地址 D)字符y的地址structS{intn;inta[20];};voidf(structS*p){inti,j,t;for(i=O;i<p->n-l;i++)for(j=j+l;j<p->n-l;j++)if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};printf(''%d;;s.a[i]);printf(''%d;;s.a[i]);for(i=0;i<s.n;i++))程序运行后的输出结果是:B)10,9,8,7,6,5,4,3,2,1,D)10,9,8,7,6,l,2,3,4,5,n;B)10,9,8,7,6,5,4,3,2,1,D)10,9,8,7,6,l,2,3,4,5,n;inta[20];};C)2,3,1,6,8,7,5,4,10,9,(46)有以下程序 structS{intvoidf(int*a,intn){inti;for(i=0;i<n-l;i++)a[i]+=i;}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(s.a,s.n);for(i=0;i<s,n;i++)printf(''%d/;s.a[i]);}程序运行后的输出结果是:A)程序运行后的输出结果是:A)2,4,3,9,12,12,11,11,18,9,C)2,3,1,6,8,7,5,4,10,9,(47)有以下程序段typedefstructnode{intNODEp;以下叙述中正确的是B)3,4,2,7,9,8,6,5,11,10,D)1,2,3,6,8,7,5,4,10,9,

data;structnode*next;}*NODE;p是指向structnode结构体变量的指针的指针NODEp;语句出错p是指向structnode结构变量的指针p是structnode结构体变量(48)有以下程序段 main(){unsignedchara=2,b=4,c=5,d;d=a|b;a&=c;printff'%d\n"d);}程序运行后的输出结果是A)3B)4C)5D)6(49)有以下程序#include<stdio.h>main(){FILE*fp;intk,n,a[6]={l,2,3,4,5,6);fpufopenC'dZ.datT'w)fprintf(fp//%d%d%d\n,^a[0],a[l],a[2]); fprintf(fp,,,%d%d%d\n,;a[3],a[4],a[5]);fclose(fp);fp=fopen(''d2.dat’ア。;fscanf(fp,、、%d%d\n';&k,&n);printfC'%d%d\n,;k,n);fclose(fp);)程序运行后的输出结果是A)1 2 B)14 C)1234D)123456(50)有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={l,2,3,4,5,6);fp=fopenC'd3.dat7,w+b,z);fwrite(a,size(int),6,fp);fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;i<6;i++)printfC'%d,"a[i]);}程序运行后的输出结果是A)4,5,6,4,5,6, B)1,234,5,6, C)4,5,6,l,2,3, D)6,5,4,3,2,l,二.填空题(每空2分,共40分)。请将每个空的正确答案写在答题卡[1]至【20】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须写完整。(1)在深度为7的满ニ叉树中,度为2的结点个数为【1】。(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于【2】测试。(3)在数据库系统中,实现各种数据管理功能的核心软件称为【3】。(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于【4】阶段。(5)在结构化分析使用的数据流图(DFD)中,利用【5】对其中的图形元素进行确切解释。(6)执行以下程序后的输出结果是[6】。main(){inta=10;a=(3*5,a+4);printf(''a=%d\n^a);}(7)当执行以下程序时,输入1234567890C回车〉,则其屮while循环体将执行[7]次。#include<stdio.h>main(){charch;while((ch=getchar())==’〇’)printf(''#'9;}(8)以下程序的运行结果是【8】。intk=0;voidfun(intm){m+=k;k+=m;printf(''m=%dk=%dクm,k++);}main(){inti=4;fun(i++);printfC'i=%dk=%d\n';i,k);)(9)以下程序的运行结果是[9Lmain(){inta=2zb=7zc=5;switch(a>0){casel:switch(b<0){casel:printf(''@zz);break;case2:printf(''!"z);break;}case0:switch(c==5){case0:printf(''*");break;printf(''#");break;printf(''$");break;)default:printf(''&");)printfC'\n");}(10)以下程序的输出结果是【10】。include<string.h>main()printfC%d\n';strlenC'IBM\nO12\l\\"));}(11)已定义charch="$”;inti=l,j;,执行j=!ch&&i++以后,i的值为【11】。(12)以下程序的输出结果是【12】。include<string.h>main(){chara[]={V7\2ス327\01;ioprintf(''%d%d\n"sizeof(a),srelen(a));}(13)设有定义语句:inta□[刃={{0},{1},{2}};,则数组元素a[l][2]的值为【13】。(14)以下程序的功能是:求出数组x中各相邻两个元素的和,依次存放到a数组中,然后输出,请填空。main(){intx[10],a[9],I;for(i=0;i<10;i++)scanff'%dz;&x[i]);for([14];i<10;i++)a[i-l]=x[i]+[15];for(i=0;i<9;i++)printfC'%d';a[i]);printfC'nつ;)(15)以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。请填空。main(){intxzy,z,maxz*px,*py,*pz,*pmax;scanf(''%d%d%d';&x,&y,&z);px=&x;py=&y;pz=&z;pmax=&max;[16];if(*pmax<*py)*pmax=*py;if(*pmax<*pz)*pmax=*pz;printfC'max=%d\n^max);)(16)以下程序的输出结果是【1フ】。intfun(int*x,intn){if(n==O)returnx[0];elsereturnx[O]+fun(x+lzn-l);)main(){inta[]={l,2,3,4,5,6,7};printf「%d\n:fun(a,3));}(17)以下程序的输出结果是【18】。include<stdlib.h>main()char*sl/*s2/m;sl=s2=(char*)malloc(sizeof(char));*sl=15;*s2=20;m=*sl+*s2;printfC'%d\n;m);)(18)设有说明StructDATE{intyear;intmonth;intday;};请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day依次赋初2006、10、1:【19】。(19)设有定义:FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。fw=fopen(''readme.txt^[20]);200y年9月全国计算机考试二级C语言笔试试卷(考试时间120分钟,满分!00分)(1)软件是指A)程序〇算法加数据结构(2)软件调试的目的是A)发现错误〇改善软件的性能ー、选择题((1)〜(10)每题2分,(11)〜(50)每题(1)软件是指A)程序〇算法加数据结构(2)软件调试的目的是A)发现错误〇改善软件的性能B)程序和文档D)程序、数据和相关文档的集合B)改正错误D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态〇对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二B)程序的可读性好〇程序中有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构〇程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是ーー对应的B)由于计算机存储空间是向量式的存储结构,因此数据的存储结构一定是线性结构〇程序设计语言中的数组一般是顺序存储结构,因此利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况ド的比较次数是A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2一棵ニ叉树中共有70个叶子结点与80个度为1的结点,则该ニ叉树中的总结点数为A)219 B)221 〇229 D)231(9)下列叙述中正确的是A)数据库系统是ー个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题〇数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每ー个分量还可以分成若干数据项

〇ー个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(IDC语言源程序名的后缀是A).exeB).C C).obj D).cp(12)可在C程序中用做用户标识符的ー组标识符是A)andB)DateC)HiD)case_2007 y-m-d Dr.Tom BigI(13)以下选项中,合法的ー组C语言数值常量是A)028 B)12. C).177D)0x8A.5e-3 0Xa23 4el.5 10,000-Oxf 4.5e0 Oabc3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意ー个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意ー个函数作为主函数(15)若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数〇由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(18)有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abe后,y的值为A)55566.0 B)566.0 〇7777,0D)566777.0(19)若变量已正确定义,有以下程序段i=0;doprintf("%d,",i);while(i++);printf("%d\n",i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式(20)有以下计算公式y=U>0)x<0若程序前面已在命令中包含math.h若程序前面已在命令中包含math.h文件,A)if(x>=0)y=sqrt(x);elsey=sqrt(-x);C)if(x>=0) y=sqrt(x);if(x<0) y=sqrt(-x);不能够正确计算上述公式的程序段是B)y=sqrt(x);if(x<0)y=sqrt(-x);D)y=sqrt(x>=0?x:-x);(21)设有条件表达式:(EXP)?i++;j-,则以下表达式中(EXP)完全等价的是A)(EXP==0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)(22)有以下程序#include<stdio.h>main(){inty=9;for(;y>0;y-)if(y%3==0)printf("%d",-y);)程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:charc;,程序前面已在命令行中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)'A'<=c<='Z' C)'A'<=c&&c<=ZD)c<=C2,-32)&&Ca,-32)<=c(24)有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=l;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);)程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元〇同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符‘A'的ASCH代码值是65,字符变量cl的值是A;c2的值是‘D‘。执行语句prin氓"%d,%d",cl,c2-2);后,输出结果是A)A,B B)A,68C)65,66D)65,68(27)以下叙述中错误的是A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值〇可以给指针变量赋ー个整数作为地址值D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL(28)以下正确的字符串常量是A)"\\\" B)'abc'C)OlympicGamesD)""(29)设有定义:charp[]={'l;'2','3X*q=p;,以下不能计算出ー个char型数据所占字节数的表达式是A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])(30)有以下函数intaaa(char*s)char*t=s;while(*t++);return(t-s);}以下关于aaa函数的功能叙述正确的是A)求字符串s的长度 B)比较两个串的大小〇将串s复制到串t D)求字符串s所占字节数(31)若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是A)a[0][4] B)a[l][3] C)a[0][3] D)a[l][4](32)有以下程序#include<stdio.h>voidfun(char**p){++p;printf("%s\n",*p);}main()char*a[]={"Morning","Afternoon","Evening","Night"};fun(a);)程序的运行结果是A)AfternoonB)fternoonC)MorningD)orning(33)若有定义语句:inta[2][3],*p[3];.则以下语句中正确的是A)p=a;B)p[0]=a;C)p[0]=&a[l][2]; D)p[l]=&a;(34)有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序・/{intt,i,j;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(a[i]<aU]){t=a[i];a[i]=a[j];aU]=t;})main(){intc[10]={l,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");)程序运行的结果是A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,C)0,9,8,7,6,5,4,3,2,1, D)l,2,3,4,9,8,7,6,5,0,(35)有以下程序#include<stdio.h>intfun(chars[]){intn=0;while(*s<='9'&&*s>=’〇つ{n=10*n+*s-'0';s++;}return(n);}main()<chars[10]={'6;'17*','47*797*70;'*7;printf("%d\n",fun(s));)程序运行的结果是A)9 B)61490 C)61 D)5(36)当用户要求输入的字符串中含有空格时,应使用的输入函数是A)scanf()B)getchar()C)gets() D)getc()(37)以下关于字符串的叙述中正确的是A)C语言中有字符串类型的常量和变量B)两个字符串中的字符个数相同时オ能进行字符串大小的比较〇可以用关系运算符对字符串的大小进行比较D)空串ー定比空格打头的字符串小(38)有以下程序:#include<stdio.h>voidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]="acc';aa[10]="bbxxyy";fun(ss,aa);printff,%s,%s\n';ss,aa);)程序运行结果是A)accxyy,bbxxyyB)acc,bbxxyyC)accxxyy,bbxxyyD)accbbxxyy,bbxxyy(39)有以下程序#include<stdio.h>#include<string.h>voidfun(chars[][10],intn){chart;inti,j;for(i=0;i<n-l;i++)for(j=i+l,j<n;j++)/*比较字符串的首字符大小,并交换字符串的首字符・/if(s[i][O])>sU][O]{t=s[i][O];s[i][O]=sU][O];s[j][O]=t;})main(){charss[5][10]={''bcc'7'bbcc'7'xy,7'aaaacc'7'aabcc")fun(ss,5);printf(''%s,%s\n';ss[0],ss[4]);}程序运行结果是A)xy,aaaaccB)aaaacc,xyC)xcc,aabccD)acc,xabcc(40)在ー个C语言源程序文件中所定义的全局变量,其作用域为:A)所在文件的全部范围 B)所在程序的全部范围C)所在函数的全部范围 D)由具体定义位置和extern说明来决定范围(41)有以下程序#include<stdio.h>inta=l;intf(intc)staticinta=2;c=c+l;return(a++)+c;)main()inti,k=0;for(i=0;i<2;i++){inta=3;k+=f(a);}k+=a;printf(''%d\n';k);}程序运行结果是A)14 B)15 C)16 D)17(42)有以下程序#include<stdio.h>voidfun(intn,int*p)intfl,f2;if(n==l||n==2)*p=l;else{fun(n-l,&fl);fun(n-2,&f2);*p=fl+f2;)}main(){ints;fun(3,&s);printf("%d\n",s);}程序的运行结果是A)2 B)3 C)4 D)5(43)若程序中有宏定义行:#defineN100则以下叙述中正确的是A)宏定义行中定义了标识符N的值为整数100B)在编译程序对C源程序进行预处理时用100替换标识符NC)対C源程序进行编译时用100替换标识符ND)在运行时用100替换标识符N(44)以下关于typedef的叙述错误的是A)用typedef可以增加新类型B)typedef只是将已存在的类型用ー个新的名字来代表C)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D)用typedef为类型说明一个新名,通常可以增加程序的可读性(45)有以下程序#include<stdio.h>structttintx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main()inti;P=a;for(i=l;i<=2;i++){printf("%d,",p->x);p=p->y;}}程序的运行结果是A)20,30, B)30,17 C)15,30, D)20,15,(46)有以下程序#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;floatscore[2];}STU;STUf(STUa){STUb={"Zhao",'m',85.0,90.0};inti;Strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];returna;)main(){STUc={"Qian",'f',95.0,92.0},d;d=f(c);printf("%s/%c/%2.0f;%2.0f\n"/d.sex/d.score[0]zd.score[l]);)程序的运行结果是A)Qian,£95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92(47)设有以下定义uniondata{intdl;floatd2;}demo;则ド面叙述中错误的是A)变量demo与成员d2所占的内存字节数相同B)变量demo中各成员的地址相同C)变量demo和各成员的地址相同D)若给demo.dl赋99后,demo.d2中的值是99.0(48)有以下程序#include<stdio.h>main(){inta=l,b=2,c=3,x;x=(aAb)&c;printf("%d\n",x);}程序的运行结果是A)0 B)1 C)2 D)3(49)读取二进制文件的函数调用形式为:fread(buffer;size,count,fp);,其中buffer代表的是A)ー个文件指针,指向待读取的文件B)ー个整型变量,代表待读取的数据的字节数C)ー个内存块的首地址,代表读入数据存放的地址D)一个内存块的字节数(50)有以下程序#include<stdio.h>main(){FILE*fp;inta[10]={l,2,3,0,0},i;fp=fopen("d2.dat,"wb");fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen("d2.dat","rb");fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i<10;i++)printf("%d",a);}程序的运行结果是A)l,2,3,0,0,0,0,0,0,0, B)l,2,3,1,2,3,0,0,0,0,C)123,0,0,0,0,123,0,0,0,0, D)l,2,3,0,0,1,2,3,0,0,二.填空题(每空2分,共40分)。请将每个空的正确答案写在答题卡[1]至【20】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须写完整(1)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的【1】。(2)在两种基本测试方法中,【2】测试的原则之一是保证所测模块中每一个独立路径至少要执行一次.(3)线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是ー种特殊的线性表,循环队列是队列的【3】存储结构.(4)对下列ニ叉树进行中序遍历的结果为【4】(5)在E-R图中距形表示[5](6)执行以下程序时输入1234567,则输出结果是[61#include<stdio.h>main(){inta=l,b;scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);}(7)以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。#include<stdio.h>main(){inta,b,c,tl,t2;scanf("%d%d%d",&a,&b,&c);tl=a<b?[7]t2=c<tl?[8]printf("%d\n",t2);)(8)以下程序的输出结果是[9】。#include<stdio.h>main(){intn=12345,d;while(n!=O){d=n%10;printf("%d",d);n/=10;})(9)有以下程序段,且变量已正确定义和赋值for(s=1.0,k=l;k<=n;k++)s=s+1.0/(k*(k+l));printf("s=%f\n\n",s);请填空,使下面程序段的功能为完全相同s=1.0;k=l;while([10]){s=s+1.0/(k*(k+l));[11];)printf("s=%f\n\n",s);(10)以下程序的输出结果是[12]。#include<stdio.h>main(){inti;for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');printf("\n");)(11)以下程序的输出结果是【13】。#include<stdio.h>#include<string.h>char*fun(char*t){char*p=t;return(p+strlen(t)/2);)main(){char*str="abcdefgh',;str=fun(str);puts(str);)(12)以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找岀最大最小数,将其中最小的数与第一个数对换,把最大的数与最后ー个数对换.请填空.#include<stdio.h>viodf(intx[],intn){intpO,pl,i,j,t,m;i=j=x[O];pO=pl=O;for(m=0;m<n;m++){if(x[m]>i){i=x[m];pO=m;}elseif(x[m]<j){j=x[m];pl=m;})t=x[pO];x[pO]=x[n-l];x[n-l]=t;t=x[pl];x[pl]=[14];[15]=t;}main(){inta[10],u;for(u=0;u<10;u++)scanf("%d",&a);f(a,10);for(u=0;u<10;u++)printf("%d",a);printf("\n");)(13)以下程序统计从终端输入的字符中大写字母的个数,num[0]中统计字母A的个数,num[l]中统计字母B的个数,其它依次类推.用#号结束输入,请填空.#include<stdio.h>#include<string.h>main(){intnum[26]={0},i;charc;while(([16])!='#')if(isupper(c))num[c-'A[+=[17];for(i=0;i<26;i++)printf("%c:%d\n",i+'A',num[i]);}(14)执行以下程序的输出结果是[18]。#include<stdio.h>main(){inti,n[4]={l};for(i=l;i<=3;i++){n[i]=n[i-l]*2+l;printf(”%d”,n[i]);})(15)以下程序的输出结果是【19】。#include<stdio.h>#defineM5#defineNM+Mmain(){intk;k=N*N*5;printf("%d\n",k);)(16)函数main。的功能是:在带头结点的单链表中查找数据域中值最小的结点.请填空#include<stdio.h>structnode{intdata;structnode*next;);intmin(structnode*first)/・指针first为链表头指针・/{strctnode*p;intm;p=first->next;m=p->data;p=p->next;for(;p!=NULL;p=[20])if(p->data<m)m=p->data;returnm;2008年4月全国计算机考试二级C语言笔试试卷(考试时间90分钟,满分100分)一>选择题((1)〜(10)(21)〜(40)每题2分,(11)〜(20)每题1分,共70分),下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)程序流程图中指有箭头的线段表示的是A)图元关系 B)数据流 〇控制流 D)调用关系(2)结构化程序设计的基本原则不包括A)多态性 B)自顶向下 C)模块化 D)逐步求精(3)软件设计中模块划分应遵循的准则是A)低内聚低耦合B)高内聚低耦合〇低内聚髙耦合D)高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告 B)软件需求规格说明书〇概要设计说明书 D)集成测试计划(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的〇算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-l)/2的排序方法是A)快速排序 B)冒泡排序 〇直接插入排序 D)堆排序B)栈按、、先进后出"组织数据D)不能删除数据(B)栈按、、先进后出"组织数据D)不能删除数据(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于〇逻辑设计阶段D)物理设计阶段A)需求分析阶段 〇逻辑设计阶段D)物理设计阶段(9)有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩 B)学号,成绩 C)学号,课号D)学号,姓名,成绩(11)以下叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,耍求一行内只能写一个语句C)C程序书写格式自由,ー个语句可以写在多行上D)用C语言编写的程序只能放在ー个程序文件中(12)以下选项中不合法的标识符是A)print B)FOR C)&a D)_00(13)以下选项中不属于字符常量的是A)'C B)"C" C)'\xCC D)'\072'(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+z B)int(15.8%5) C)x=y+z+5,++y D)x=25%5.0(15)以下定义语句中正确的是A)inta=b=O;B)charA=65+l,b='b';C)floata=l,*b=&a,*c=&b;D)doublea=0.0:b=l.l;(16)有以下程序段charch;intk;ch="a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)已知字母A的ASCH代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'IIkk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为、、真”的表达式是A)(c==2)II(c==4)II(c==6) B)(c>=2&&c<=6)II(c!=3)II(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=l)(19)若变量已正确定义,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include<stdio.h>main(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;b++;break;}a++;b++;break;a++;b++;)printfC'a=%d,b=%d\n"a,b);}程序的运行结果是A)a=l,b=0B)a=2,b=2C)a=l,b=l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论