ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:46.50KB ,
资源ID:1473714      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1473714.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级C语言真题2008年4月答案.doc)为本站会员(王申宇)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

二级C语言真题2008年4月答案.doc

1、二级C语言真题2008年4月答案真题 120一、选择题 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。第1题:参考答案:C答案解析:程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用矩形表示加工步骤,用菱形表示逻辑条件,第2题:参考答案:A答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。第3题:参考答案:B答案解析:耦合性和内聚性是模块独立性的两个定性标准,各模块的内聚性越强,则耦合性越弱。软件设计应该遵循高内聚低耦合。第4题:参考答案:B答案解析:需求分析

2、的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标确认,又可以作为控制软件开发进程的依据。第5题:参考答案:A答案解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。第6题:参考答案:D答案解析:各种排序方法中最坏情况下需要比较的次数分别为:冒泡排序n(n-1)/2,快速排序n(n-1)/2、简单插入排序n(n-1)/2、希尔排序O(n1.5),简单选择排序n(n-1)/2、堆排序O(nlog2n),第7题:参考答案:B答案解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶

3、,另一端称为栈底。栈是按照“先进后出”的原则组织数据的。第8题:参考答案:C答案解析:数据库的设计阶段包括需要分析、概念设计、逻辑设计和物理设计,其中将E-R图转换成关系数据模型的过程属于逻辑9V阶段。第9题:参考答案:D答案解析:关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组组成的,记为RS。第10题:参考答案:C答案解析:关键字是指属性或属性的组合,其值能够唯一地标识一个元组,而在SC中学号和课号的组合可以对元组进行唯一的标识。第11题:参考答案:C答案解析:本题主要考查的是C语言结构中的源程序书写格式这个知识点,在C语言中注释部分对程序的运行结果不产生任何影响,它可以出

4、现在任意位置;C语言书写自由,一行内可以写多个语句,一个语句可以写在多行上;由于C语言编写的程序有很好的移植性,可以放在多个程序文件中。第12题:参考答案:C答案解析:本题考查的是数据类型及其运算中标识符的定义,标识符只能由数字、字母和下画线组成,并且只能以字母和下画线开头,所以选项C)不合法。第13题:参考答案:B答案解析:字符常量是括在一对单引号内的一个字符,选项A)中C是字符常量;选项B)中C是字符串常量;选项C)中xCC是十六进制表示的转义字符:选项D)中中072是八进制表示的转义字符。第14题:参考答案:C答案解析:在赋值表达式中,赋值符号“=”的左边只能为要赋值的变量,不能为表达式

5、,右边可以为常量或者是表达式,故选项A)错误,选项C)正确:在取余运算中,运算符“%”两边都必须是整型数据,所以选项B)、D)错误。第15题:参考答案:B答案解析:本题考查的是数据类型的定义并赋值,选项A)中对变量声明类型且赋值的情况是不允许出现的,必须单独定义其类型。选项B)给实型变量赋值时不用引号,也不能将地址赋予实型变量:C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开;在计算机存储字符时将字符相应的ASCII码以其对应的二进制进行存放,选项B)中的定义是合法的,故选项B)正确。第16题:参考答案:D答案解析:在用基本输出语句pri

6、ntf时,格式说明与输出项的个数应该相同。如果格式说明的个数少于输出项的个数(正如本题的情况),多余的输出项不予输出,如果格式说明个数多于输出项个数,则对于多余的格式项输出不定值或0。故本题选项D)是正确的输出结果。第17题:参考答案:B答案解析:选项A)用逻辑与运算符来连接关系表达式A=kk和kk=Z,以此来判断kk的字母是否是大写字母。选项C)用逻辑与运算符来连接关系表达式(kk+32)=a和(kk+32)=z,以此来判断kk的字母是否是大写字母。选项D)调用函数isalpha(),首先判断kk是否为字母,接着通过与运算(kk=91)来判断比是否为大写字母;而选项B)中首先判断语句(kkA

7、),假如为真时,就不进行(kk=Z)的判断,直接进入非运算,故不能正确判断kk是否为大写字母,故选项B)符合题意。第18题:参考答案:B答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项B)中c的值不为2、4、6时,表达式的值也为真。第19题:参考答案:B答案解析:本题考查的是程序结构设计中if语句的应用,当if判断条件成立时就执行其后的相关语句,否则不执行,本题中第一个if条件不成立,故不执行“a=b”,接着执行“c=a”,此时第二个if条件也不成立,故不执行其后语句,最终c的值为3。第20题:参考答案:D答案解析:本题考查的是用switch语句实现多分支选择结构,首先进入第一

8、个switch(x)判断,进入case 1中进行嵌套判断,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接着执行case 2,a自加为2,b自加为1,遇到break,结束循环,此时a=2,b=1,故选项D)正确第21题:参考答案:D答案解析:“x-”表示先执行程序,再令x的值减1;而“-x”表示令x的值减1,再执行程序。x=8时,x%2为非0值,执行语句printtr(%d, x-); continue;),输出“8,”,此时经过x-,x的值变为7,跳出此次循环;执行x-,x=6,x%3=0,后面语句不执行,执行语句print(%d,-x);,输出“5,”:执行for语句中

9、的x-,得到x=5,输出“5,”判断x%3,输出“4,”,执行两次x-后,x=2,执行printf(d,x-);continue;后,输出“2,”;然后执行两次x-后,x=0,不符合“x0”,循环全部结束。第22题:参考答案:答案解析:选项B)中while(1)永远为真所以进入死循环,选项C)中while(n=10)同理,选项D)中for循环没有循环限定条件也将进入无限循环,只有选项A)中while(n=0)循环判定成立,循环将不进入无限循环。第23题:参考答案:D答案解析:首先定义了一个一维数组和指针,接着将数组第四个元素的地址赋予*p,进行-p使指针p指向了数组的第三个元素,通过 y=*p

10、:将数组第三个元素的值3赋予y,所以选项D)正确。第24题:参考答案:C答案解析:一维数组定义和初始化是允许省略行下标,不允许省略列下标,故选项C)定义错误。第25题:参考答案:A答案解析:程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s0;s数组中元素的个数和 p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志“0”,而p所指字符串长度不包括“0”;s是字符型数组,p是指针变量;数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址。第26题:参考答案:D答案解析:数组a23包括元素a00,a

11、01,a02,a10,a11,a12,只有选项D)是正确的引用,即引用元素a00,其他选项的引用均是下标越界。第27题:参考答案:D答案解析:选项A)调用函数gets()使得s数组从s0开始得到输入的字符;选项B)使得数组从元素s1开始得到输入的5个字符;选项C)使得s数组从s0开始得到输入的字符:而选项D)scanf(%s,s1);错误调用,应为scanf(%s,&s1);,输入项部分应该是一个地址值。第28题:参考答案:C答案解析:预处理命令行是以“#”开始的语句,预处理命令行的最后不能以分号表示结束,预处理命令行。其中宏定义的字符替换的定义格式为:#define标识符字符串,预处理命令行

12、是在系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。第29题:参考答案:答案解析:定义结构体类型的一般形式为:struct结构体名成员列表:struct结构体名后不能加“:”号,所以选项B)、C)错误,选项D)中定义无名称的结构体类型同时定义结构体变量形式应为struet t1,t2;选项A)为用户自定义类型,其为正确的定义形式。第30题:参考答案:B答案解析:本题考查的是输入输出函数的使用,gets和getchar函数用于从标准输入设备终端读八字符串和字符,并非从磁盘文件读入,fputs用于把字符串输出到文件,fwrite用于以二进制形式输出数据到文件,故选项B)描述错误。第31

13、题:参考答案:C答案解析:本题考查for语句的循环控制,首先定义了两个数组并赋予了初始值,第一个for循环语句循环12次遍历s数组的各个元素,将s中的元素值作为c数组中的下标,使相应的值自加。例如当i=0,cs0)+为c1+,其值变为1,当执行i=1,2,.11后,c1、c2、 c3、c4分别为4、3、3,2,故选项C)为正确的运行结果。第32题:参考答案:C答案解析:从题目的主函数入手,定义了一个一维数组并赋韧值,接着调用函数fun(),fun()函数的功能为使数组中的元素逆序,当调用 fun(a,0,3),将实参传递给形参实现数组a中a0-a3这4个元素逆序;同理调用fun(a,4,9)是

14、将上步排列好的a数组中a4-a9这6个元素逆序;调用fun(a,0,9)是将数组中a0-a9这10个元素在逆序,再用printf()函数输出结果为5678901234,故选项C)正确。第33题:参考答案:A答案解析:从main函数入手,定义了指向字符串的指针数组,并赋予了初始值,调用fun()函数,函数的功能是:比较数组中各个元素的长度,按元素长度从小到大排列数组元素,所以执行fun(ss,5)函数后,*ss=xy,bcc,bbcc,aabcc,aaaacc,所以调用printf函数输出ss0,ss4的值分别为xy,aaaacc。第34题:参考答案:C答案解析:主函数调用f()函数,将实参3传

15、递给x,进行if条件语句的判断不成立,接着执行y=3*3-f(1),再执行f(1)而f(1)满足if条件语句,所以f(1)的值为3,那么代入y=3*3-f(1)=9-3=6,故选项C)为正确的运行结果。第35题:参考答案:C答案解析:主函数main()定义了指向字符串的指针和一个字符数组,接着调用fun(s,t)函数,进行实参向形参传递,函数fun()第一个 while语句判断*a中的值为“*”时继续扫描,当遇到不是“*”时结束,接着第二个while循环语句,将*a中从“a”开始的后续所有字符都赋予*b,也就是t80中的内容为“a*b*”,所以此题的运行结果为选项C)。第36题:参考答案:A答

16、案解析:本题考查在结构体中函数的实参和形参的传递,调用f(C)后,实参传向形参,进行f()函数功能的实现,但程序中没有返回语句,故形参不能将值传回实参,它们值的传递具有不可逆性,所与printf输出的还是c中实参的值,故选项A)正确。第37题:参考答案:B答案解析:本题考查以读和写的方式打开文件对文件内容操作的不同,fp=fopen(d1.dat,w);以可写的方式为输出建立新文本文件,调用printf输出“123”,fp=fopen(d1,dat,r);以只读的方式打开文本文件,不能对文件内容进行操作,故运行结果为选项B)。第38题:参考答案:A答案解析:本题目要求a高4位取反,低4位不变,

17、则a变为10101101,再看选项中对位运算的操作,选项A)中a*b=10101101,选项 B)中ab=1111101,选项C)中a&b=01010000,选项D)中a4=11010000,故选项A)正确。第39题:参考答案:A答案解析:在C语言中,动态变量(auto)存储在内存中的动态存储区,在程序运行中,只有当调用变量所在的函数时,系统才临时给变量分配内存单元;全局变量(extern)一经定义,系统为其分配固定的内存单元;静态变量(static),编译系统为其分配固定的存储空间;寄存器变量(register)不保存在内存上,而是直接存储在CPU的寄存器中。第40题:参考答案:B答案解析:

18、定义语句int(*f(int)中f是指向函数的指针变量,该函数中也只有一个int型的形参。二、填空题第41题:参考答案:输出详细解答:测试用例曲测试输入数据(输入值集)和与之对应的预期输出结果(输出值集)两部分组成。第42题:参考答案:16详细解答:第43题:参考答案:24详细解答:在循环队列中因为头指针指向的是队头元素的前一个位置,所以是从第6个位置开始有数据元素,所以队列中的数据元素的个数为29-5=24。第44题:参考答案:关系详细解答:在关系数据库中,用关系也就是二维表来表示实体之间的联系。第45题:参考答案:数据定义语言详细解答:在数据库管理系统提供的数据定义语言,数据操纵语言和数据

19、控制语言中,数据定义语言负责数据的模式定义与数据的物理存取构建,数据操纵语言负责数据的操纵,包括查询及增、删、改等操作,数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、恢复等功能。第46题:参考答案:0详细解答:本题考查数据类型及其运算的逻辑运算,c为空格字符但其ASCII码不为0,所以!c=0,在逻辑与运算中,只要有一项为假,其值为0,所以b的值为0。第47题:参考答案:3详细解答:本题考查数据类型及其运算的逗号运算与逗号表达式,整个表达式的值为最后一个表达式的值,其值为3。第48题:参考答案:#2#4详细解答:本题中从k=2输出,printf中“%d”前的内容原样输出,所以第一

20、次输出#2,接着k两次自加为4,接着输出#4,接着k再两次自加为6,此时不符合循环条件,所以输出结果为“#2#4”第49题:参考答案:2详细解答:p为指向数组的指针变量,数组x1为数组x的第二个元素,值为2:第50题:参考答案:2 4 6 8详细解答:进入for循环i=0时,p0=&x1. 直到循环完毕,指针分别指向数组x中的第2、4、6、日个元素,所以空白处应填2 4 6 8第51题:参考答案:3 5详细解答:本题考查函数中实参和形参的传递,在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但没有返回值,故最终的

21、输出结果为3 5。第52题:参考答案:4详细解答:题目中定义了一个数组和指针,接着将数组的首地址给了指针,即指针p指向数组a的第一个元素,通过p+,p指向了数组a的第二个元素,所以输出结果为4。第53题:参考答案:13详细解答:此题考查的是函数的递归调用,进入主函数调用fun()函数,进行if语句的判断,当x=3时,条件成立,执行fun(x/2);语句,递归调用fun()函数本身,进行if语句条件判断,if(x/20)条件不成立,用printf输出1;返回上一次调用fun()函数,printf输出3,因此程序的最终输出结果为:13。第54题:参考答案:personi.sex详细解答:本题考查的是对结构体成员的引用,对结构体数组成员的访问是以数组元素为结构体变量的,其形式为结构体数组元素咸员名,所以题目空白处应填personi.sex。第55题:参考答案:“filea.dat”,”r”详细解答:本目要求从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上,首先打开filea.dat文件再读取字符,所以空白处应为以读的方式打开文件,所以其内容应该为filea.dat,r。更多试卷请见麦多课文库

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1