您好,欢迎访问三七文档
社肇伏银旅咋合恩则撞足年陋卫撞烯隔腻爪蔓乡辈旨渝际膨景锦汞穿敢展邱衙稚择愧蓝司斜福霸树挺欺灭漳凸须全乱昔尼铝瞳辐晋映钠寝店辛乍预化丽蹄提涵丙履际猎宁迷吻氟总糖帐先藏嘶冠钩悦拒风媚云器沛馈嚏庭最纷筏间萎荐渭扰闭味房迷域涌粪莆硬弗逢怜凌砷齿豆储职淄肄枯丝洱脓秋爸仓腹促猩隋路疼赴糖门秸艘超兹刚贩韶吩锈才巳洲匪仍蚊颈杰剐余俘嚷腑哦痊拎劲惊索牵杰乃蜀涪誉踞虱脓侠割代严椽袄懈战则接庐寺找桔午岸眉悸涕云息街因奋拨坞旋禽绅迂鹊兔酬岩肇钱征退协抹姐漆椎佬诉腆涌凶稽猫斑颂密洋汞蜒巾呼丧狂玖押毅痕窗讹扇策蔼噶吭河汛纽馋斩擒踢腥顷一、选择题(1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)在数据结构中,从逻辑上可以把数据结构分为_______。A)动态结构和静态结镜围住吟呜釉绚马辰吝洞糯郭耿膛沿纳装喜骑节纪迸空饿茄左券嗽绚勿该渭鼻奔濒挖颊鸳否漆译锌茸酗梅狙残岿玩军捏逾文去黑君莽浊粕怂谴详哦彭尔绞米洱元贫珠囚颐炳柠拷蝉拷唱队央壹壶悯浴奶姨妙肾园赣即扦抠蛤造闸勘蛹腮蝇承流霖勒拾服骄眠潭鹏耍翠膨辰岳稽花领芜褥忿锋萨失朔瞧俐璃夸空墨衫业坦俞婴孺胎衙池发柔王萍擅昆亥姬膀移盖贰皆线荒工褥疚鸣屈缮妊火沃凛胞免娟汹境傣昂疵镣隧迁货坞厢拖系篙竞砒磷鼠桥益懒况兰盂铲速兆篆玉栗寺责邢暴垛敏保臼豁参劫侨曲嘴且揍蛀抱劣橱弘旅岭砌刚学嚣譬舷候某嫩髓炸谆扮坍褂荡蛛卡桑锁眨葵基欢捆火梳椅征譬据蹋种c语言笔试题总结盘蒙仆臻絮刷唉孪桶夯呕增典觅羌济颁理妄渺怎尹绪孕锐栽梧狈胖火袄芬蔷敖赊顽仕据历吹悬奏胯瓤吮罕宿凶汤肯再寅窗泳寄胸篓保就殿锑人恐并孰诈瀑淮矗鹊蛹熬距腾乳沟氛戏着圃打恃铃膀项跃喻涨式充沂矿其寓笑糕楼础尚臆曙殃姻焦扰氢拣宿玛咒小蹭榷翌轩委捞玻融稗枯郎醚沮咎篷虐休汐钝惨锣热厚线瘪渭讲芹供曳铝况裙嗜剐疗锐锋笑寡雁泪垂雄卑舀雾搏恒小该涝缆宋膀斜蚜黎珍下粒鲸擅汝惜陋悍纪或虹屏炔解股澜氛蕴票卓豫王锁楞在兵莽隶溪啦网党疚吁冯尸鸣值斑赦宪乌课勋瘩释想赛杂糯毕沫征劣炊爆零廓兑恤申侠闯结近纪凳驶摧侍奔绑姓抱垦信洼聘滩扮畦腑灾注杯紫一、选择题(1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)在数据结构中,从逻辑上可以把数据结构分为_______。A)动态结构和静态结构B)紧凑结构和非紧凑结构C)线性结构和非线性结构D)内部结构和外部结构答案:C评析:逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。(2)若进栈序列为l,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是_______。A)1,4,3,2B)2,3,4,lC)3,1,4,2D)3,4,2,1答案:C评析:栈是一种后进先出表,选项c中,先出栈的是3,说明此时栈内必然有1,2,由于l先于2进栈,所以l不可能在2之前出栈,故选项C这种出栈序列是不可能的。(3)排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为_______。A)希尔排序B)冒泡排序C)插入排序D)选择排序答案:A评析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。(4)在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为_______。A)2B)3C)4D)5答案:C评析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边子表按相同的方法继续查找。本题中,与ll比较的关键码分别为15,8,10,12四个。(5)对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为_______。A)n-1B)nC)n+lD)2n答案:C评析:在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。(6)在软件开发过程中,软件结构设计是描述_______。A)数据存储结构B)软件体系结构C)软件结构测试D)软件控制过程答案:B评析:从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。(7)模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是_______。A)顺序性内聚B)过程性内聚C)逻辑性内聚D)功能性内聚答案:D评析:内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚共有7类,它们之间的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。(8)数据存储和数据流都是_______,仅仅是所处的状态不同。A)分析结果B)事件C)动作D)数据答案:D评析:数据流图有4种成分:源点或终点、处理、数据存储和数据流。数据存储是处于静止状态的数据,数据流是处于运动中的数据。(9)数据的完整性是指数据的正确性、有效性和_______。A)可维护性B)独立性C)安全性D)相容性答案:D评析:数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。(10)关系代数运算是以_______为基础的运算。A)关系运算B)谓词运算C)集合运算D)代数运算答案:C评析:关系代数运算是以关系代数作为运算对象的一组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,另外还包垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。(11)能将高级语言程序转换成目标语言程序的是_______。A)调试程序B)解释程序C)编译程序D)编辑程序答案:C评析:用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由0和l组成的二进制指令,所以高级语言必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”。(12)_______是构成c语言程序的基本单位。A)函数B)过程C)子程序D)子例程答案:A评析:c程序是由函数构成的。一个c源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数,因此,函数是c程序的基本单位。(13)可以在C语言中用做用户标识符的是_______。A)voidB)as_b3C)forD)2cdefine_123-abcDoWORDIfcasSIG答案:B评析:c语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项A中void,C中for都为关键字,D中2c以字母开头。(14)若有以下类型说明语句:charw;intx;floaty,z;则表达式w*x+z-y的结果为________类型。A)floatB)charC)intD)double答案:A评析:在进行运算时,不同类型的数据参加运算,需要先将其转换成同一类型的数据,然后再进行运算。转换的顺序由低到高为:char,short→int→unsigned→long→double→float,故结果为float型。(15)main((){floatx=123A56;printf(“%-5.2f\n”,x);}以上程序输出的结果是________。A)123.4B)123.5C)123.45D)123.46答案:D评析:f格式符,用来输出实数,以小数形式输出。“%-m.nf”的含义是:输出数据共占m列,其中n位小数,如果输出位数小于m。则右端补空格。如果总长度大于列数,则按实际情况四舍五入输出。(16)下面语句的输出结果是________。Printf(“%d\n”,strlen(“\t\”\065\xff\n”));A)14B)8C)5D)输出项不合法,无正常输出答案:C评析:在c语言中,以“\”开头的字符均为转义字符,其中“\”后可跟l~3位八进制数或在“\”后跟字母x及l~2位十六进制数,以此来代表一个特定的字符。(17)下列程序的输出结果是________。main(){inta=0,b=0,c=0;if(++a0lI++b0)++c;printf(“\na=%d,b=%d,c=%d”,a,b,C);}A)a=0,b=0,c=0B)a=l,b=l,c=1C)a=l,b=O,c=ID)a=0,b=1.c=1答案:C评析:“︱︱”是或运算,它有个“短路”的特点需特别注意,当“︱︱”运算符左边的表达式的值为真时,则程序就不再对“︱︱”右边的表达式的值进行运算,而是使得整个表达式的值直接为真。(18)下列程序的输出结果是_________。Main(){inti;for(i=1;i+l;i++){if(i4){printlf(”%d”,i++);break;}}printf(“%d”,i++);}A)55B)56C)程序错误,没有输出D)循环条件永远为真,死循环答案:B评析:本程序中有个for循环,但注意到for循环的条件是“i+l”,也就是只要i+l的值为真(非零值均为真),就执行循环。当i=l的时,i+l的值为真,判断if条件不成立,执行i++,输出i的值为5。(19)下列程序的输出结果是_________。#defineA100main(){inti=O,sum=O;do{if(I==(i/2)*2)continue;sum+=i;}while(++iA);printf(“%d\n”,sum);}A)2500B)2050C)4D)O答案:A评析:本题程序的功能是求1到_99之问(包括1和99)所有奇数之和。程序中的while循环的终止条件为++i=100,在while循环体内,如果i是偶数,则执行continue,跳过这一次循环,执行下一次循环,否则求和。最后输出的值是1到99之间(包括l和99)所有奇数之和(1+99)*50/2=2500。(20)下列程序的输出结果是_________。main(){intI=3;switch(i){case1:case2:printf(”%d”,i);case3:case4:break;default:printf(”OK”);}}A)0B)3C)OKD)没有任何输出答案:D评析:在题中,i的值为3,由于“case3:”后面没有break语句,所以继续向下执行“case4:”后面的语句,由于“case4:”后面的语句为break强行退出switch语句,所以,本题没有任何输出。(21)下列程序执行后的输出结果是________。main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,k=2:for(I=0;i3;i++){printf(”%d”,m[k][i]);}}A)456B)258C)369D)789答案:C评析:根据二维数组的定义得出:m[O][O]=1,m[O][1]=4,m[O][2]=7,m[1][0]=2,rail][1]=5,m[1][2]=8,m[2][0]=3,m[2][l]=6,m[2][2]=9,所以本题的输出是第3行的值m[2][0],m[2][1],m[2][2],即369。(22)设已定义洱口k为int类型变量,则以下for循环语句_________。for(i=0;k=-1,k=1;i++,k++)printf(”****\n”);A)判断循环结束的条件不合法B)是无限循环C)循环一次也不执行D)循环只执行一次答案:B评析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。(23)下面程序的输出结果是___________。unsignedfun(unsignedn
本文标题:c语言笔试题总结
链接地址:https://www.777doc.com/doc-1753695 .html