2008年(秋)江苏二级C语言笔试试卷参考答案及解析.doc_第1页
2008年(秋)江苏二级C语言笔试试卷参考答案及解析.doc_第2页
2008年(秋)江苏二级C语言笔试试卷参考答案及解析.doc_第3页
2008年(秋)江苏二级C语言笔试试卷参考答案及解析.doc_第4页
2008年(秋)江苏二级C语言笔试试卷参考答案及解析.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

2008 年(秋)笔试试卷参考答案及解析第一部分计算机基础知识(1)D)【解析】现代通信往往被理解为单一的电信通信、数字通信、IT 产业及电子产品制造业等高新技术通信而忽略了通信的本质。邮政通信也是现代通信的一部分,邮政通信是以实物传递为基础通过对文字、图片、实物的空间转移传递信息,是国家安全建设基础个人通信自由及隐私保护的体现。(2)C)【解析】二进制数 10111000 和 11001010 进行逻辑“与”运算结果为 10001000,结果再与 10100110 进行逻辑“或”运算结果为 10101110,最终结果的十六进制形式为 AE。(3)A)【解析】目前 PC 机所使用的大多数 CPU 均是 Intel 公司的产品。(4)C)【解析】BIOS 芯片是特殊的 ROM(Read Only Memory,只读存储器)芯片,其中的内容只能读取,若要改变,必须采用专用的软件(就是通常我们说的刷BIOS,使用诸如AWDFLSH等)。CMOS 采用互补金属氧化物半导体制作的一块 RAM(Random Access Memory,随机存取存储器)芯片,它也是固定在计算机主板上的。它用来保存当前系统的硬件配置和用户对某些参数的设定。由于是RAM芯片,它必须由主板上的电池供电来保持芯片中的数据。(5)D)【解析】硬盘容量的增加主要是靠碟片数增加和单碟容量的增加来改变。(6)A)【解析】可用于连接键盘或鼠标器的 PS/2 接口是一种串行数据传输接口。(7)A)【解析】任何软件都具有版权,但是自由软件是能随意复制和使用。(8)C)【解析】Access 2000 是 Office 办公软件中的数据库软件。(9)D)【解析】在 Windows XP 中,作为虚拟内存使用的交换文件的文件是 Win386swp。(10)C)【解析】数据结构与算法主要研究内容有:数据的逻辑结构,即数据关系之间的逻辑关系;数据的存储结构,即数据的逻辑结构在计算机中的表示;操作算法,即插入、删除、修改、查询、排序等。(11)D)【解析】FDDI网和以太网不可以直接进行互连,局域网交换机可以在以太网或令牌环网与 FDDI 主干网之间起着网桥的作用,专注于简单的帧格式的转换而避开了所有网络层复杂的处理。交换机仅以路由器一小部分的代价达到与 FDDI 主干网连接的目的。(12)D)【解析】路由器用于连接多个异构的计算机网络。网络中路由器应分配两个或两个以上的 IP 地址。(13)A)【解析】CableModem 与以往的 Modem 在原理上都是将数据进行调制后在 Cable(电缆)的一个频率范围内传输,接收时进行解调,传输机理与普通 Modem 相同,不同之处在于它是通过有线电视 CATV 的某个传输频带进行调制解调的。而普通 Modem 的传输介质在用户与交换机之间是独立的,即用户独享通信介质。CableModem 属于共享介质系统,其他空闲频段仍然可用于有线电视信号的传输。(14)B)【解析】Web 浏览器和 Web 服务器都遵循 HTTP 协议,该协议定义了浏览器和服务器的网页请求格式及应答格式。(15)B)【解析】访问控制的任务是对每个文件或信息资源规定各个(类)用户对它的操作权限。(16)B)【解析】ASCII 码只占用 1 个字节,而汉字机内码要占用 2 字节,十六进制 7451 不可能是 1 个汉字的机内码。(17)A)【解析】Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode 用数字 00x10FFFF 来映射这些字符,最多可以容纳 1114112 个字符,或者说有 1114112 个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。GB18030 标准采用单字节、双字节和四字节三种方式对字符编码。单字节部分采用 GB/T 11383 的编码结构与规则,使用 000 至 07F 码位(对应于 ASCII 码的相应码位)。双字节部分,首字节码位从 081 至 0FE,尾字节码位分别是 040 至 07E 和 080 至 0FE。四字节部分采用 GB/T 11383 未采用的 030 到 039 作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为 081308130 到 0FE39FE39。其中第一、三个字节编码码位均为 081 至 0FE,第二、四个字节编码码位均为 030 至 039。(18)B)【解析】GIF 格式的特点是压缩比高,磁盘空间占用较少,所以这种图像格式迅速得到了广泛的应用。最初的 GIF 只是简单地用来存储单幅静止图像(称为 GIF87a),后来随着技术的发展,可参考答案及解析第 1 页共 5 页以同时存储若干幅静止图象进而形成连续的动画,使之成为当时支持 2D 动画为数不多的格式之一(称为GIF89a),而在 GIF89a 图像中可指定透明区域,使图像具有非同一般的显示效果,这更使 GIF 风光十足。目前 Internet 上大量采用的彩色动画文件多为这种格式的文件,也称为 GIF89a 格式文件。(19)C)【解析】首席执行官(Chief Executive Officer,CEO)是在一个企业中负责日常经营管理的最高级管理人员,又称作行政总裁(香港和东南亚的称呼)或最高执行长(日本的称呼)。(20)D)【解析】在信息系统的结构化生命周期开发方法中,具体的程序编写属于系统实施阶段的工作。第二部分 C 语言程序设计一、选择题(21)D)【解析】在一个 C 程序中放在符号“/*”和“*/”之间的内容,称为对程序的注释。注释是对程序的说明。注释从“/*”开始到最近的一个“*/”结束,其间的任何内容都被编译程序忽略。换句话说,注释只是为了更好地看懂程序而做的标记,不对程序产生任何影响。C 程序书写格式的基本习惯有:一行内可以写几个语句,一个语句可以分写在多行上。每个语句和数据定义的最后必须由一个分号“;”结束(分号是 C 语句的一部分,不是语句之间的分隔符)。一个 C 程序总是从主函数开始执行,到 main 函数体执行完后结束,而不论 main 函数在整个程序中的位置如何。程序中可以有多个函数,但是main 函数只能有一个。(22)B)【解析】C 语言合法标识符的命名规则是:标识符由字母、数字和下划线组成;第一个字符必须为字母或下划线;大写字母与小写字母被认为是两个不同的字符区分大小写; C语言规定了一个标识符允许的字符个数,即标识符的前若干个字符有效,超过的字符将不被识别。C 语言预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他用。这些字符称为关键字。变量的命名不能包括关键字。选项 B)中的 switch 就是一个 C 语言的关键字,不能作为变量名。(23)A)【解析】下表列出了 C 语言中各类整型量所分配的内存字节数及数的表示范围。类型说明符数的范围字节数int -3276832767 即-215(215-1)2unsigned int 065535即 0(216-1)2short int -3276832767 即-215(215-1)2unsigned short int065535 即 0(216-1)2long intunsigned long -21474836482147483647 即-231(231-1)04294967295即 0(232-1)44显而易见,变量 f 只能是长整型的,即声明为 long int 型。(24)C)【解析】本小题考查的是指针变量的运算,指针变量可以进行相减,取数值运算,不能进行取地址的运算,只能对非指针变量进行取地址的运算,所以 C)是不正确的。(25)B)【解析】C 语言中的加减乘除运算符分别是:+,-,*,/。选项 A)错误在于 2*b 应该用括号括起来,选项 C)的错误:*和括号不能省略,选项 D)的错误在于sqrt 没有括号,求根函数是 C的库函数,和普通的函数一样,实际参数应该用括号括起来。(26)A)【解析】printf 语句中,变量的参数列表,指针向后移动了 10 个位置,即指向了第二个字符串,所以输出:“Beijing”。选择选项 A)。(27)C)【解析】选项 A)定义了一个长度是 2 的一维数组,没有初始化。选项 B)定义了一个整型的数组,虽然没有定义数组的长度,但是在初始化的过程中,给出了数组的长度。选项 C)定义了一个整型数组,但是初始化错误,正确的应该是:int a3=0。(28)C)【解析】结构体变量的指针可以指向结构体变量,所以选项 A)和选项 D)是正确的。选项C)想要打印输出结构体变量stu中的两个变量的值。正确的输出方式是:scanf(%s%d,&,&stu.score);。(29)A)【解析】选项 A)是与运算,第一项!a 的值就是 0,所以整个表达式的值也是零。B 是或运算,只要有一项不为零,结果就不是零,显然最后一项 C 是非零的数,所以 B 非零,同样可以得到 C和选项 D)的结果,都是非零。参考答案及解析第 2 页共 5 页(30)A)【解析】注意 sizeof 函数返回的值是数组的大小,定义时是多大,返回值就是多大。与strlen 函数是有很大区别的,strlen 求出字符串中字符的多少,确切的说是第一个0之前的字符的多少。本题中,strlen(ss)的值是 3。二、填空题基本概念题(1)【1】4【解析】return 语句后面跟着的是一个逗号表达式,逗号表达式的结果是其最后一项的结果,所以,(3,4)的值等于 4,所以 fun 函数的返回值是 4。(2)【2】4.5 【解析】考查的知识点是强制转换类型。在 C 语言的表达式中,如果运算符两边的整型类型不相同,将进行类型之间的转换。转换规则如下:当赋值运算符左边的变量为短整型变量,右边的值为长整型变量,短整型变量只能接受长整型变量低位上两个字节中的数据,高位上两个字节中的数据将丢失。当赋值运算符左边的变量为无符号整型,右边的值为有符号整型时,则把内存中的内容原样复制。右边数值的范围不应超出左边变量可以接受的数值范围。同时注意,这时负数将转换为正数。当赋值运算符左边的变量为有符号整型,右边的值为无符号整型时,复制的机制同上。这时若符号位为 1,将按负数处理。第一项(float)(a+b)/2 结果是 3.5,第二项(int)x%(int)y=4%3=1,所以最后的结果是 4.5。(3)【3】1【解析】枚举的定义枚举类型定义的一般形式为:enum 枚举名枚举值表 ;在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。枚举元素本身由系统定义了一个表示序号的数值,从 0 开始顺序定义为 0,1,2。这里 A 的值是 0,所以 A+1=1。所以打印输出 1。(4)【4】a+或at+或ab+【解析】主要考查的是常用文件使用方式及其含义。文件使用方式“r”(只读)“w”(只写)“a”(追加)“rb”(只读)“wb”(只写)“ab”(追加)“r+”(读写)“w+”(读写)“a+”(读写)“rb+”(读写)“wb+”(读写)“ab+”(读写)含义为输入打开一个文本文件为输出打开一个文本文件向文本文件尾增加数据为输入打开一个二进制文件为输出打开一个二进制文件向二进制文件尾增加数据为读/写打开一个文本文件为读/写打开一个新的文本文件为读/写打开一个文本文件为读/写打开一个二进制文件为读/写建立一个新的二进制文件为读/写打开一个二进制文件显然先读出文件中数据,后追加写入新数据,应该是a+或at+或ab+。阅读程序题(5)【5】3/5,5/8【解析】main 函数的 for 循环中,i 只能等于 1 或者 2。i=1 时,输出 2/1,2/3(回车)。i=2 时,输出 3/5,5/8(回车)。即最后一行输出的是:3/5,5/8。(6)【6】1【解析】第一次 for 循环,i=0,从 case0 开始的操作:sum+;sum+;sum-;最后的 sum=1。第二次 for 循环,i=1,从 case1 始的操作:sum+;sum+;sum-;最后的 sum=2。第三次 for 循环,i=2,没有符合的语句,没有操作。第四次 for 循环,i=3,从 case3 始的操作:sum+;sum-;最后的 sum=2。参考答案及解析第 3 页共 5 页第五次 for 循环,i=4,从 case4 开始的操作:sum-;最后的 sum=1。所以最后的结果是输出 1。(7)【7】10,20【解析】main 函数对 a 和 b 变量赋以初值,进入 func 函数,函数中对 a 和 b 分别赋以数值,但是 func函数返回 main 函数的时候,形式参数的空间得以释放,所以 func 函数中对 a 和 b 的赋值并没有保留下来。所以 main 函数最后打印 a,b 的时候,还是原来 main 函数中定义的 a 和 b 的值,即 10,20。(8)【8】3 【9】2【解析】main 函数中只有两个 printf 函数,打印函数 f1 和函数 f2 的返回值。分析 f1 函数,定义了一个静态的变量 i,第一次调用 f1,返回值 f=f*(+i)=f*1=1。第二次调用 f1 函数,f=f*(+i)=f*2=2。所以第一个 printf 函数的输出结果是 f1()+f1()=1+2=3.函数 f2 中定义的变量没有静态变量,所以每次调用的结果是相同的,返回值 f= f*(+i)=f*1=1,所以第二个 printf 函数的输出结果是:f2()+f2()=1+1=2。(9)【10】ABCxyz【解析】main 函数中定义了两个字符串数组,a 是字符串数组的首地址,指向A,a+strlen(a)指向的是 C 后面的第一个0。sf 函数的功能是把字符串 b 复制到 a 中,直到字符串 a 结束即遇到第一个0为止。所以之后的 a 就是“ABCxyz”。打印输出。(10)【11】1 1 1 【12】3 2 1【解析】main 函数定义了一个 33 的数组,行号小于列号的元素都赋值 1,其他的元素是行号减去列号加一。所以数组成为:1 1 1,2 1 1,3 2 1。最后一个嵌套的 for 循环是按照 33 的格式输出这个数组,所以第一行和第三行就是数组的第一行和第三行,即:1 1 1, 3 2 1。(11)【13】8 3 4 1【解析】main 函数中调用了 sort 函数。子函数中的外层 for 循环只能循环一次,i 只能等于 1,p=1,内层的 for 循环也只能运行一次,j 只能等于 3。aj=3aP=1,if 条件满足,所以 p=3。因为 p 不等于 i,所以 ai与 aP做一次交换,也就是 a1与 a3交换。所以数组变成 8 3 4 1。打印输出即可。(12)【14】100 101 【15】10 20【解析】首先定义了一个结构体 s,包含一个整型的变量和一个指向整型变量的指针。接着定义了一个指向结构体的指针 p,在 main 函数的外部定义了一个大小为 5 的整型的数组 d 和一个大小为 5 的结构体数组 a。main 函数中是的指针 p 指向结构体数组 a,然后打印一系列的数据。第一个 printf 函数打印输出结构体数组的第一个元素的 x 值 100,之后 x 做加加运算。第二个 printf 函数打印输出结构体数组的第一个元素的 x 值 101(第一个 printf 操作之后第一个元素的 x 的值做了变化)和回车,输出结果的第一行结束。第三个 printf 函数打印输出结构体数组的第一个元素的 y 指向的数字,*p-y= &d0,所以打印输出 d0=10。第四个printf 函数打印输出结构体数组的第二个元素的 y 指向的数字,* +p-y= &d1,所以打印输出d1=20。(13)【16】3 6 1 【17】5 2 8 【18】4 7【解析】main 函数先用一个 for 循环给 num 数组的前 13 个元素赋以初值(113)。进入 while 循环,此时 n=8,所以循环的条件是 m7。循环体中如果当前数组元素不为零,则打印输出,然后对当前数组元素置零,k 置零,如果已经输出了三个元素,则输出一个回车。数组元素指针 i 向后移动一位,如果 i 增加到 n 则 i 等于 0。第一次输出,i=3,也就是数组的第三个元素,即 3。hum2=0。同理第二次输出 i=6,,hum5=0。数组的第 6 个元素,即 6。第三次输出,i=1(i=8 时,最后一个 if 语句把 i 置零),hum0=0。输出回车,第一行输出完毕,m=2。第二行的第一次输出:从 hum0开始的不为零的第三个数字,显然是 hum4=5。之后 hum4=0。同理第二次输出从 hum4开始的第三个不为零的数,注意 i=8 的时候 i 跳回零,所以此次输出 hum1=2。之后 hum1=0。第三次输出,i=7,hum7=8,另以 hum7=0。输出回车,第二行输出完毕。m=5。第三行输出:第一次,上一次循环中 i=8,置零,所以 i 从 0 开始查找第三个不为零的数字:4(i=3),此时 m=6。第二次, i 从 3 开始查找第三个不为零的数字:7,此时 m=7,while 的循环条件不满足,循环结束,输出完毕。参考答案及解析第 4 页共 5 页完善程序题(14)【19】in 【20】fsum(&a9,6)或 fsum(a+9,6)【解析】main 函数中的“sumh=fsum(a,4);”语句,实现的功能是求 a 数组中前 4 个元素之和。所以函数 fsum 中的 n 是所要求和的元素的个数,for 循环实现的就是元素的相加,总共 n 个,所以循环结束的条件是:ixjj 【解析】main 函数中定义了一个 55 的二维数组,并对其初始化。紧接着调用了函数 fun 实现题目中所要求的功能。分析 fun 函数:用一个嵌套的 for 循环实现“将每一行中值最大的元素与该行位于主对角线处的元素交换”内层 for 循环中找到一个比当前数大的值,保存在 arc 中,if 语句之后,做对角线上元素与最大元素的交换,所以 if 语句中必须记录最大元素的位置,即列号。所以第 21 题应该是 col=j。第 22 题和其上下两行实现的是最大值与对角线上元素的交换,显然应该写:xii=xicol。第 22 题之后的这一个嵌套的 for 循环实现的是:“对主对角线上的所有元素排序使其自左上角到右下角升序排列”if 语句是两个对角线的元素的相互交换,显然 if 的条件应该是相互交换的两个对角线元素中,第一个大于第二。即:xiixjj。(16)【24】*p!= * s 【25】*(s2+p-s1)【26】replace(s,s1,s2)【解析】函数 replac

温馨提示

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

评论

0/150

提交评论