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

下载本文档

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

文档简介

2008 年(春)笔试试卷参考答案及解析第一部分计算机基础知识(1)D)【解析】IC 卡又称集成电路卡,它是一个塑料卡片,其大小与磁卡一样,但比磁卡要厚且硬。在卡片的正面可以看到一块小金属片,在金属片的下面是一块半导体芯片。这种芯片可以是存储器或微处理器(CPU)。带着存储器的 IC 卡又称存储卡,带着 CPU 的 IC 卡又称智能卡或 CPU。(2)C)【解析】数据传输速率是描述数据传输系统的重要技术指标之一。数据传输速率在数值上等于每秒钟传输构成数据代码的二进制比特数,单位为比特/秒(bit/second),记作 bps。(3)B)【解析】CPIJ 的运算速度与许多因素有关,提高 CPIJ 速度的有效措施有增加 CPU 中寄存器的数目;提高 CPU 的主频;增加 CPU 中高速缓存(Cache)的容量。(4)C)【解析】PC机常用的 4 种外设接口,其中键盘、鼠标、数码相机和移动硬盘等均能连接的接口是 USB。(5)B)【解析】对于一般家用和业余外景拍摄,200 万300万像素的相机就足够了,可以输出 19841448 高精密的图像,(按 300 万奥林巴斯 720UZ)冲印的话,200 万相机冲印 5 寸和 6 寸的照片是没有问题的,300 万冲印 7 寸也是很棒的。(6)A)【解析】转速是指硬盘内电机主轴的转动速度,单位是 rpm(每分钟旋转次数)。其转速越高,内部传输速率就越高。目前一般的硬盘转速为 5400 转/分和 7200 转/分最高的转速则可达到10000转/分以上。(7)C)【解析】自由软件,根据自由软件基金会的定义,是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。(8)C)【解析】在 Windows 操作系统多任务处理中,前台任务和后台任务都能得到 CPU 的响应。(9)A)【解析】从算法需要占用的计算机资源角度分析其优劣时,应考虑的两个主要方面是空间代价和时间代价。(10)C)【解析】接入因特网的每台计算机的 IP 地址由网络管理员或因特网服务提供商(ISP)分配。(11)B)【解析】局域网中的每个节点都有一个惟一的物理地址,称为介质访问地址(MAC地址)。(12)A)【解析】目前在网络互连中用得最广泛的是 TCP/IP 协议。事实上,TCP/IP 是一个协议系列,它已经包含了 100 多个协议。在 TCP/IP 协议中,远程登录使用的协议是 Telnet。(13)D)【解析】发邮件者和收邮件者如果同时在线,都要通过邮件服务器进行通信。(14)A)【解析】国际标准化组织(ISO)将世界各国和地区使用的主要文字符号进行统一编码的方案称为 UCS/Unicode。(15)B)【解析】存放一幅1024768像素的未经压缩的真彩色(24位)图像,大约需要1024768(24/8)字节的存储空间。图像每个点需要 1bit,1024768 的就需要 1024768 个 bit,但是我们常说的 KB,MB 的单位是字节,1B=8bit。(16)A)【解析】根据奈奎斯特(Nyquist)的采样定理:设模拟信号 f(t)的最高频率为 fm(Hz),如果对该模拟信号进行周期性采样,只要采样的频率 f满足 f2fm,则这些离散采样值可以无失真地恢复成原来的模拟信号。由题意,知 fm=3400Hz,f=1/T=8000Hz,故满足 f2fm,由 S=(1/T) log2N 式中,T为传输信息的电信号脉冲宽度,N为一个码元所取的有效离散值个数。S=1/(1250.000001)log2(128)=56000b/s 即 56KB/s。(17)C)【解析】彩色图像所使用的颜色描述方法称为颜色模型。在下列颜色模型中,主要用于彩色喷墨打印机的是 CMYK 在 PS 中,在准备用印刷颜色打印图像时,应使用 CMYK 模式。如果由 RGB图像开始,最好先编辑,然后再转换为 CMYK 模式。如以 RGB 模式输出图片直接打印,印刷品实际颜色将与 RGB 预览颜色有较大差异。(18)B)【解析】信息检索系统的主要目标是实现文本索引的快速构建,动态文档集的索引维护(Index Maintenance),短语查询(Phrase Query),Top-k 查询的快速处理(Top-k Query Process)以及各种参考答案及解析第 1 页共 5 页检索模型(IR Model)等。(19)B)【解析】对数据清单进行排序时,可以选择 3 个关键字是“主要关键字”、“次要关键字”和“第三关键字”。(20)D)【解析】Microsoft FrontPage 2000(中文版)系统提供了“绘图”工具栏,便于用户在网页中修改图。第二部分 C 语言程序设计一、选择题(21)C)【解析】C 源程序是由函数组成的。程序中大都只有一个主函数 main(),而且程序总是从 main 函数的第一条语句开始执行。但实际中程序往往由多个函数组成。函数是 C 源程序的基本模块,通过对函数模块的调用实现特定的功能。C语言中的函数相当于其他高级语言的子程序。main()函数是主函数,是所有程序运行的入口。但是 main 函数可以在 C 源程序的任意位置,并不一定在所有函数的前面。(22)B)【解析】十进制整常数没有前缀。其数码为 09。八进制整常数必须以 0 开头,即以0 作为八进制数的前缀。数码取值为 07。八进制数通常是无符号数。十六进制整常数的前缀为 0X 或 0x。其数码取值为 09,AF 或 af。整型常数的后缀:长整型数是用后缀“L”或“l”来表示的。无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。浮点数的后缀为“f”或“F”即表示该数为浮点数。转义字符是一种特殊的字符常量。转义字符以反斜线“”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。C 语言字符集中的任何一个字符均可用转义字符来表示。表中的ddd 和xhh 正是为此而提出的。ddd 和 hh 分别为八进制和十六进制的 ASCII代码。如101 表示字母“A”,102 表示字母“B”,134 表示反斜线,XOA 表示换行等。选项 C)是想表示一个字符串常量,但是字符串常量是由一对双引号括起的字符序列,此处缺少一个双引号。(23)D)【解析】选项 A)是一个打印语句,printf 里是一个选择语句:如果 i 等于 4 的话,输出4 和回车;否则输出一个 i,没有回车。选项 B)是一个选择语句,和 A 的运行结果是一样的。选项 C)是for 循环,break 语句就是循环的结束,结束的条件是 i=1。选项 D)没有循环的条件也没有循环结束的条件,所以是错误的语句。(24)B)【解析】printf 函数的格式控制中关于精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。显然这里小数点后面保留 3 位数。(25)A)【解析】选项A)中出现了一个赋值语句,根据优先级,先做“xy”得到的是一个常数,然后把2赋值给这个常数,显然是不正确的。B)是普通的关系表达式,先判断“zy”,得到-1,再判断-1x,显然也是-1。选项 C)先判断大小再比较判断值与 1 是否相等。选项 D)括号中是逗号表达式,其值是最后一个表达式的值 2,然后再判断 2 与 x 是否相等。(26)C)【解析】选项 A)、B)、D)都是将数组当前的指针向后移动四位,都是数组第五个元素的值,就是 4。选项 C)是将数组当前的指针向后移动三位,其值是 3。(27)A)【解析】选项 A)用 j 作为控制循环的指针,在前面定义的 j 是一个无符号的整型数字,所以会一直大于 0,永远符合循环的条件,所以循环不会结束,即出现无限次循环。选项 B)也是用 j 的递增控制循环,但是循环结束的条件是一个正数,所以循环可以结束。最后两个选项都是用i(有符号整型)的递增和递减控制循环,循环可以结束。(28)C)【解析】fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。其中“r+”表示读写打开一个文本文件,允许读和写。(29)B)【解析】一维数组的定义方式为:类型说明符数组名 常量表达式;其中:类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。选项 B)数组的长度用了一个变量,所以选项 B)错误。(30)D)【解析】C 语言允许用 typedef 说明一种新类型名。格式:typedef类型名标识符;“类型名”必须是在此语句之前已定义的类型标识符;“标识符”是一个用户定义标识符,用作新的类型名;参考答案及解析第 2 页共 5 页typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有类型名依然有效。如: typedef struct stu char name20; int age; char sex; STU; 定义 STU 表示 stu 的结构类型,然后可用 STU 来说明结构变量:STU body1,body2;有时也可用宏定义来代替 typedef 的功能,但是宏定义是由预处理完成的,而 typedef 则是在编译时完成的,后者更为灵活方便。二、填空题基本概念题(1)【1】double 【解析】实型也称为浮点型。实型常量也称为实数或者浮点数。在 C 语言中,实数只采用十进制。它有两种形式:十进制小数形式和指数形式。实型变量分为:单精度(float 型)、双精度(double 型)和长双精度(long double 型)三类。在 Turbo C 中单精度型占 4 个字节(32 位)内存空间,其数值范围为 3.4E-383.4E+38,只能提供七位有效数字。双精度型占 8个字节(64 位)内存空间,其数值范围为 1.7E-3081.7E+308,可提供 16 位有效数字。(2)【2】3【解析】strcpy(s1, s2)是把 s2 中的内容复制到 s1 中,在结尾处加上一个“0”。返回 s1 的首地址。这一操作之后 s1 中的内容是“A0”。(3)【3】static【解析】存储类说明符有 auto、register、static、extern 和 typedef。 auto 和 register 将声明的对象说明为自动存储类对象,这些对象仅可用在函数中。这种声明也具有定义的作用,并将预留存储空间。register说明的声明等价于 auto 说明的声明,所不同的是,register暗示了声明的对象将被频繁地访问,将尽可能存储在寄存器中。如果一个对象被声明为register,则将不能对它应用一元运算符&,声明为 register 但实际按照 auto 类型处理的对象的地址进行计算是非法的。 static 将声明的对象说明为静态存储类。这种对象可以用在函数内部或者函数外部。在函数内部,该说明符将引起存储空间的分配,具有定义的作用。在函数外部,该说明符将引起声明对象为具有内部链接。另外,若将其定义为 static 类型,则其初值默认为 0。函数内部的extern声明表明,被声明的对象的存储空间定义在其他地方。在函数外部,说明声明的对象具有外部链接。 typedef 说明符并不会为对象预留存留空间。显然这里应该是静态存储类型。(4)【4】#【解析】所有的预处理命令都是以“#”开头的。C 语言有以下 12 种预处理命令:#define;#undef;#include;#if;#else;#elif;#endif;#ifdef;#ifndef;#line;#pragma;#error。(5)【5】26 【解析】语句:e=ab? -c:+c;e 最后的值就是这个 if 语句的结果,先判断 ab,显然不成立,所以执行+c,这里 c=26,所以 e 的值也是 26。阅读程序题(6)【6】6【解析】程序的关键是这个 while 循环,循环的条件是 Count(x)即+x 不等于零。先做自加运算循环中所有自加之后的 x 的值依次是:-2,-1。所以 n-只进行两次。n 最后的结果是 6。(7)【7】2参考答案及解析第 3 页共 5 页【解析】程序从 main 函数开始执行,到“k=fun(fun(w+1,w),w);”这一语句时,进入函数 fun(w+1,w)即fun(2,1),返回-1;跳出 fun(w+1,w),进入 fun(-1,1),返回 1-(-1)=2。返回值赋值给变量 k,最后打印输出。(8)【8】23 【9】other【解析】for 循环中的循环控制变量 i 可能的取值是 0,1。所以 switch 语句执行 2 次。switch 中的常量表达式是一个逗号表达式,其值是最后一个表达式 a*c 的值。第一次执行 switch 语句,+a=1,a*c=2,进入 “ case 2:printf(2);” 语 句 , 打 印 输 出2 , 注 意 , 这 语 句 后 面 没 有break语 句 , 所 以 进 入 “ case 3:printf(3n);break;”语句,打印输出 3 之后,跳出 switch 语句,进入下一次循环,即进入下一个 switch语句。第二次执行 switch 语句,+a=2,a*c=4 进入 default:printf(othern);打印输出 other 后,跳出 switch语句,和 for 循环语句,函数运行结束。(9)【10】963 【解析】程序首先定义了一个字符串常量a,接着定义了一个指针变量指向a。接着程序进入语句“while(*+P)t*=10;”,如果+p 指向的内容不为空的话,t=t*10,这里 p 指针向后移动 2 次指向字符串结束标志,所以循环进行两次,得到 t=100,p 指向字符串结束标志。下一个语句“p-”是的指针 p 指向字符串的最后一个字符“9”。进入下一个 while 循环,循环的条件是 t/10 不等于 0,t 的初值是 100,所以循环进行三次。第一次循环:s=s+当前 p 指针指向的字符的 ASCII 与字符0的 ASCII 码的差值u24403X前 t 的值,所以 s=0+9100=900。同样的第二次循环得到的 s=900+610=960。第三次循环得到的 s=960+3*1=963。跳出循环,打印输出 s,即输出 963。(10)【11】10 【12】20【解析】在 main 函数之前定义了一个包含两个整型的变量的结构体,紧接着定义了三个大小分别为 5,2,2 的结构体数组,并对第一个数组初始化。main 函数定义完变量之后,进入 for 循环,满足循环条件的是 st 数组的 x 变量不是-1,即对数组的前四个元素进行分类操作,如果 st 数组的 x 变量可以被 2 整除的话,放到 s1 数组中,否则放到 s2 数组中。所以 s1 数组包括 st 的第一个和第三个元素,s2 数组包括 st 的第二个和第四个元素。在 main 函数的最后打印输出 s1 和 s2 的第一个元素的变量 y 的值,即 st 数组中第一个和第二个元素中变量 y 的值:10,20。(11)【13】4321 【解析】main 函数只有一个 print(4);语句,进入 print(int n)函数,n=4,进入 print_n(int n)函数,n=4,n不等于 0,运行下一条语句,打印 n,即打印 4;n1 条件满足,进入 print_n(int n)函数,此时 n=3,打印 3。n1 条件满足,进入 print_n(int n)函数,此时 n=2,打印 2。n1 条件满足,进入 print_n(int n)函数,此时n=1,打印 1。n1 条件不满足,打印回车。至此程序输出的第一行打印完毕。即 4321 回车。(12)【14】7 8 9 【15】4 5 6 【16】1 2 3【解析】子函数 sot 的第一个嵌套的 for 循环,实现找到 a 数组的最大值和最小值,最小值的行序号保存到 i0 中,最大值的列序号保存到 j1 中。第二个 for 循环实现数组的第 i0 行和最后一行的交换,第三个for 循环实现第 j1 列和最后一列的交换。第四个 for 循环实现数组的按照行优先的三行三列格式的输出。main 函数中定义了一个 33 的数组,根据上面的 sot 函数的分析:i0=0,j1=0。所以第 0 行和第 2 行交换,然后第 0 列和第 2 列交换。得到的数组是:7,8,9,4,5,6,1,2,3。(13)【17】k=7 【18】not found【解析】函数 strch 功能是查找字符串数组 s 中有没有字符 ch,如果有,则返回其在 s 中的位置序号;如果没有,则返回 0。main 函数中定义了一个字符串 s1 作为函数中的字符串 s,字符 ch 由用户输入,如果找到了 ch 则打印输出 k,如果没有找到,打印输出 not found。由题干可知,第一次输入的 2,在字符串中的第 7 位,所以打印输出 k=7。第二次的输入的 i,字符串 s 中并没有,所以打印输出“not found”。完善程序题(14)【19】char * 【20】apple 或 0【解析】数组 fruits 是一个字符串数组,所以定义的时候用 char*来表示其类型。程序代码中首先定义了一个自定义类型,用Fruit代表一个枚举类型。然后用这个自定义类型,定义了三个变量 xyz。枚举的定义枚举类型定义的一般形式为:enum 枚举名枚举值表 ;在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。枚举类型在使用中有以下规定:枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。枚举元素本身由系统定义了一个表示序号的数值,从 0 开始顺序定义参考答案及解析第 4 页共 5 页为 0,1,2。所以这里的 x 可以是数字 0,也可以是定义中的第一个枚举元素“apple”。(15)【21】t1 * odd/even

温馨提示

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

评论

0/150

提交评论