《江苏省2011年春C语言试题及答案.doc》由会员分享,可在线阅读,更多相关《江苏省2011年春C语言试题及答案.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流江苏省2011年春C语言试题及答案.精品文档.【对此份试卷的评述】2011春江苏省C语言试卷与前几次比较,在难度上并未改变;经过仔细阅读和上机调试,本试卷存在如下几个不足之处,一、印刷上误差一处:C语言部份“选择题26题”,3 4 2错误印成了 3 4 3二、标准答案错误两处:1、填空第4题,正确答案是x=6c;而错误答案是x=108;2、阅读第10题中答案是 -1和2;而错误答案是-2 和 2。【评者简介】是苏州科技学院天平学院老师张柏雄(uuxzhang),搜集了从2005-2011年的江苏省高校计算机等级考试C语言笔试题,并编有自释放、
2、自学软件,供应学生学习已有五年。第一部份 计算机基础知识1、下列有关通信技术的叙述中,错误的是_1_。A 无论是模拟通信还是数字通信,目前都是通过载波技术实现远距离的信息传递B. 多路复用技术可以降低信息传输的成本,常用的多路复用技术有TDM和FDMC. 卫星通信属于微波通信,它是微波接力通信技术和空间技术相结合的产物D. 目前3G移动通信有多种技术标准,我国三大电信运营商均采用同一标准注释:3G存在四种标准:CDMA2000,WCDMA,TD-SCDMA,WiMAX。国内支持国际电联确定三个无线接口标准,分别是中国电信的CDMA2000,中国联通的WCDMA,中国移动的TD-SCDMA2、使
3、用存储器存储二进位信息时,存储容量是一项很重要的性能指标。存储容量的单位有多种,下面不是存储容量单位的是_2_。A. TB B. XB C. GB D. MB3、设有补码表示的两个单字节带符号整数a=01001110和b=01001111,则a-b的结果采用补码表示为_3_。A. 11111111B. 10011101C. 00111111D. 101111114、下列有关PC机主板上BIOS和CMOS的叙述中,错误的是_4_。 A. BIOS芯片是一块闪烁存储器,其存储的信息关机后不会丢失B. BIOS中包含加电自检程序、系统自举程序等 C. CMOS芯片属于易失性存储器,它使用电池供电 D
4、. CMOS中存放着与硬件相关的一些配置信息,以及CMOS设置程序5、下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,正确的是_5_。A. 目前PC机所使用的Pentium和Core2微处理器的指令系统有数百条不同的指令B. 所谓双核CPU或四核CPU,是指CPU由两个或四个芯片组成C. DDR内存条、DDR2内存条在物理结构上有所不同,例如它们的引脚不同D. 通常台式机中的内存条与笔记本电脑中的内存条不同,不能互换注释:单个封装包含两个功能完全相同的处理器(内核)进一步发展为2个内核做在同一晶片上,共享L2 cache,提高性价比2个双核晶片封装在一起成为4核处理器4个/6个内核
5、做在同一晶片上,共享L3 cache(Core i7)6、下列有关PC机I/O总线与I/O接口的叙述中,正确的是_6_。A. PC机中串行总线的数据传输速率总是低于并行总线的数据传输速率B. SATA接口主要用于连接光驱,不能连接硬盘C.通过USB集线器,一个USB接口理论上可以连接127个设备D. IEEE1394接口的连接器与USB连接器完全相同,均有6根连接线7、蓝光光盘(BD)是全高清影片的理想存储介质,其单层盘片的存储容量大约为_7_。A. 4.7GBB. 8.5GBC. 17GBD. 25GB8、下列有关PC机常用的I/O设备(性能)的叙述中,错误的是_8_。 A. 通过扫描仪扫描
6、得到的图像数据可以保存为多种不同的文件格式,例如JPEG、TIF等B. 目前数码相机的成像芯片均为CCD类型,存储卡均为SD卡 C. 刷新速率是显示器的主要性能指标参数之一,目前PC显示器刷新速率一般在60HZ以上 D. 从彩色图像输出来看,目前喷墨打印机比激光打印机有性价比优势注释:目前数码相机的成像芯片有CCD、CMOS;存储卡有SD卡、记忆棒(Sony)等9、下列有关计算机软件的叙述中,错误的是_9_。A. 软件的的主体是程序,单独的数据和文档资料不能称为软件B. 软件受知识产权(版权)法的保护,用户购买软件后仅得到了使用权C. 软件的版权所有者不一定是软件的作者(设计人员)D. 共享软
7、件允许用户对其进行修改,且可在修改后散发注释:软件按软件权益处置方式可分为:商品软件、共享软件和自由软件。只有自由软件才能允许用户进一步复制与修改的自由。10、PC机从硬盘启动Windows XP操作系统是一个比较复杂的过程。在这个过程中,它需要经过以下这些步骤:.装入并执行引导程序.读出主引导记录.装入并执行操作系统.加电自检在上述步骤中,正确的工作顺序是_10_。A. 、B. 、C. 、D. 、11、下列有关算法和程序关系的叙述中,正确的是_11_。A. 算法必须使用程序设计语言进行描述B. 算法与程序是一一对应的C. 算法是程序的简化D. 程序是算法的具体实现12、采用ADSL方式拉入因
8、特网时,ADSLModem将电话线传输信道分为三个信息通道:语音通道、上行数据通道、下行数据通道。下列有关这三个信息通道的叙述中,错误的是_12_。A. 语音通道的频带最宽、采用的频率最高,以保证电话通话的质量B. 通常上行数据通道的数据传输速率低于下行数据通道的数据传输速率C. ADSL的数据传输速率是根据线路情况自动调整的D. 这三个信息通道可以同时工作,即可以同时传输信息(数据)13、无线局域网是以太网与无线通信技术相结合的产物,其采用的网络协议主要是IEEE制订的_13_。A. IEEE 802.3 B. IEEE 802.11 C. IEEE 1394 D. IEEE 1394b14
9、、在因特网中目前主要采用IPv4协议,IP地址长度为32位,只有大约36亿个地址。新的第6版IP协议(IPv6)已经将IP地址长度扩展到_14_位,几乎可以不受限制地提供地址。A. 48 B. 64 C. 128 D.25615、因特网由大量的计算机和信息资源组成,它为网络用户提供了非常丰富的网络服务,下列与WWW服务相关的叙述中,错误的是_15_。A. WWW采用客户机/服务器工作模式B. 网页到网页链接信息由URL指出C. 浏览器是客户端应用程序D. 所有的网页均是HTML文档注释:WWW网上大多数网页是HTML文档(超文本文档)。网页文档类型:动态页:.asp/.aspx/.jsp静态页
10、:.htm/.html/.shtml16、目前Windows操作系统支持多种不同语种的字符集,即使同一语种(例如汉语)也可以有多种字符集。下列字符集中,不包括“臺”、“灣”等繁体汉字的是_16_。A. GBKB. Big 5C. GB2312D. GB1803017、下列与数字图像/图形相关叙述中,错误的是_17_。A彩色图像在数字化过程中需进行分色处理,然后对不同的基色进行取样和量化B. 如果某RGB图像的像素深度为12,则可表示的颜色的数目为236C. 数码相机常用JPEG格式保存图像文件,该格式的图像大多采用有损压缩编码D. 图形是计算机合成图像,也称矢量图形18、文件的扩展名用于标记文
11、件的类型,用户应该尽可能多地知晓各类文件的扩展名。下列文件中,属于数字视频的文件是_18_。A. ABC.RMVBB. ABC.DLLC. ABC.PDFD. ABC.MIDI19、下列几种类型信息系统软件中,不属于计算机集成制造系统(CIMS)范畴(或者说,与CIMS无直接关系)的是_19_。 A. GISB. CAMC. MRPD. ERP20、下列有关Microsoft Powerpoint 2003和Microsoft Frontpage 2003软件的叙述中,错误的是_20_。A. 利用Powerpoint软件编辑演示文稿时,可以将每张幻灯片保存为JPEG图片B. 利用Powerpo
12、int软件编辑演示文稿时,可以录制声音C. 利用Frontpage制作网页时,无法直接查看网页的HTML代码D. 利用Frontpage制作网页时背景图片可以设置为“水印”效果,第二部份 C语言程序设计一、选择题(用答题卡答题,答案依次填在2130答题号内,共10分)21、以下关于预处理命令的叙述中错误的是_(21)_。A. 预处理命令由预处理程序解释B. 程序中的预处理命令是以#开始的C. 若在程序的一行中出现多条预处理命令,这些命令都是有效的D. 预处理命令既可以出现在函数的定义的外部,也可以出现在函数体内部22、有如下一段程序:char p180= NaJing, p280= Young
13、, p380= Olympic;strcpy(p1,strcat(p2,p3);printf(%sn,p1);执行该程序后的输出是_(22)_。A. NaJingYoungOlympic B. YoungOlympicC. Olympic D. NaJing23、已知有声明“int x23=0,*p=x0;”,以下表达式中有语法错误的是_(23)_。A. x0=1 B. p0=1 C. *p=1 D. x00=1注释:A. x0代表是第一行一维数组的数组名和首地址。不允许给地址赋值会产生如下错误error C2106: = : left operand must be l-value B. p
14、0=1;系统认为给x00赋值1。依次类推,p1代表0行1列元素。p5代表1行2列元素。24、程序中已有预处理命令“#include ”和声明“char x=4,y,*z;”,以下表达式中能通过编译且无警告信息的是_(24)_。A.y=sqrt(x)%2 B. y=x C. y=x+1 D. y=&x注释:C.上机时不会产生错误信息:即给变量y赋以121。在VC+中,以“%d”输出格式,显示为121;以“%c”输出格式,显示为y。D错误原因是取地址符“&”后只能跟变量或数组元素,不准跟常量(“error C2101: & on constant”)。B. y=x错误原因是对于字符变量不准用字符串
15、赋值A. .y=sqrt(x)%2的错误原因是% : illegal, left operand has type double ,即取余运算符%左边不准用教科书P371中所有数学库函数!例如log(x)%2、pow(x,2)等都是会出现错误。25、已知有定义和声明:struct int x; a4=1,1,4,6,b;以下语句中语法正确的是_(25)_。A. if(a0=a1) b=a0; B. if(a0.x=a1.x) b=a0;C. if(a0-x=a1-x) b=a0; D. if(!(a0-a1) b=a0;注释:答案C在编译时会产生错误信息“-x : left operand h
16、as struct type, use .”。即要求x左边用结构体形式.,而非指针形式-。其他A、D引用结构体成员出错。26. 已有声明“int x,a=3,b=2;”,则执行赋值语句“x=ab?a+:b+;”后,变量x、a、b的值分别为_(26)_。A. 3 4 3 B. 3 3 4 C. 3 3 3 D. 4 3 4注释:正确答案应该是“3 4 2”这是2011春江苏省计算机计算机等级考试试卷印刷出错。(网站)27. 下面选项中可用作变量名的是_(27)_。A. Case B. a-b C. $cd D. 2ab28. 执行以下程序后的结果是_(28)_。#include void mai
17、n() int x=3; do printf(%dt,x=x-3);while(!x);A. 输出一个数:0 B. 输出一个数:3C. 输出2个数:0 和 -3 D. 无限循环,反复输出数29. 以下关于C语言函数的叙述中。正确的是_(29)_。A. 在一个函数体中可以定义另一个函数,也可以调用其他函数B. 在一个函数体中可以调用另一个函数,但不能定义其他函数C. 在一个函数体中不可以调用另一个函数,但不能定义其他函数D在一个函数体中可以定义另一个函数,但不能调用其他函数30 设有声明“int a=4,b=3,c=5;”,以下4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是:
18、_30_。A. if(ab) c=a,a=b,b=c; B. if(ab) c=a,a=b,b=c;C. if(ab) c=a;a=b;b=c; D. if(ab) c=a;a=b;b=c;二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)l 基本概念1、 除goto 语句外,在循环结构中执行_(1)_语句可提前结束本次循环直接进入下一次循环。 (continue)2、 若有程序段“int a10,*p=a,*q;q=&a5;”,则表达式q-p的值是_(2)_。(5)注释:q-p是数组元素的地址位置相减(5-0)3、执行语句列“int a,b; a=b=4; a+=b
19、%3;”后,变量a、b的值分别是_(3)_。(5 4)4、执行语句段“int x=0x6c;printf(x=%xn,x);”后输出结果为_(4)_。(x=6c)注释:若输出格式为x=%dn,则输出结果为x=108。显然2011春江苏省计算机计算机等级C语言试卷答案x=108是错误的。(网站)5、使用TURBO C系统编译C语言源程序后生成的文件名后缀是_(5)_。(obj)l 阅读程序6、以下程序运行时输出到屏幕的结果为_(6)_。#include #define L 10#define C L+Lvoid main() int Area; Area=C*L;printf(%dn,Area)
20、;(答案:(6) 110 。注释:公式展开:L+L*C)。7. 以下程序运行时输出到屏幕的结果是_(7)_。 #include enum A,B,C=4i;void main() int k=0; for(i=B;iC;i+) k+; printf(%d,k);(答案:(7) 3)8 以下程序运行时输出到屏幕的结果是_(8)_。 #include void fun(int a) printf(%d , a%10); if(a=a/10!=0) fun(a);void main() int a=-13; if(a0) printf(-); a=-a; fun(a);(答:(8) -31)9. 以
21、下程序运行时若输入“2010 10”,则输出到屏幕的结果的第一行是_(9)_,第三行是_(10)_。#include char *fun(int n) static char s20; static int c; char t10=0, i=0,j,k; while(n0) ti+=n%10+0,n=n/10; puts(t); for(j=0;ji/2;j+) k=tj, tj=ti-1-j, ti-1-j=k; strcat(s,t); if(c1) strcat(s, /); c+; else strcat(s, 0); return s;void main() int i,m; cha
22、r *p; for(i=0;i2;i+) scanf(%d, &m); p=fun(m); puts(p);(答案为(9)_0102 (10) 2010/10 )注释:从第9题可推导出一个长整型量转化为倒序的字符串量通用程序。此程序段中循环变量i变化如下: x0、 x01、 x2、 x3。字符串t初始值为。10. 以下程序运行时输出到屏幕的结果是第一行是_(11)_,第二行是_(12)_。#include #define M 3#define N 4void fun(int aMN) int i,j,p; for(i=0;iM;i+) p=0; for(j=1;jaij) p=j; print
23、f(%dn , aip);void main() int aMN=-1,5,7,4,5,2,4,3,8,2,3,0; fun(a); (答案:(11) -1 (12) 2 。)注释:此题实质是求每行最小值,依次为 -1 2 0。显然2011春江苏省计算机计算机等级C语言试卷答案(11) -2 (12) 2中(11)答案是错误的。(网站)11以下程序运行时输出到屏幕的结果中第一行是_(13)_,第二行是_(14)_。#include int f(int *x, int *y, int z) *x=*y ; *y=z; z=*x; return z;void main() int a=1,b=2,
24、c=3,d; d=f(&a,&b,c); printf(%2d%2dn %2d%2dn ,a,b,c,d);(答案:第一行(13) 2 3 第二行为(14) 3 2 注释:此题非常简单)12. 以下程序运行时输出到屏幕的结果中第一行是_(15)_,第二行是_(16)_。#include struct grade int id; char level3; int score3;char fun(struct grade *t) int i,count=0,total=0; for(i=0;ileveli= A) count+; total=total+t-scorei; total=total+
25、count; if(count=3) total+; return (total380? Y: N);void main() int i; struct grade stu3=106, AAA,130,132,115,107, BAB,113,125,104,109, AAB,128,135,114; for(i=0;i2;i+) printf(%d %cn,stui.id,fun(&stui);(答案:第一行是(15) 106 Y 第二行是(16) 107 N )13 以下程序运行时输出到屏幕的结果第一行是_(17)_,第二行是_(18)_。#include int fun(int a, i
26、nt *p) int i,n; n=*p; p=&an-1; for(i=n-2;i=0;i-) if(ai*p) p=&ai; return *p;void main() int a5=18,2,16,3,6,x=5,y; y=fun(a,&x); printf(%dn,x); printf(%dn,y);(答案: (17)是 5 (18)是 18 )l 完善程序14. 以下程序的功能是验证下列公式是否成立。请完善程序以达到要求的功能。将x取某一值时公式鹄左侧的函数值表示为f(x),等号右侧的级数值表示为g(x),若f(x)与g(x)的相对误差小于10-6,即认为f(x)与g(x)相等。计算
27、g(x)时,当最后一项的绝对值小于10-10时停止累加。f(x)与g(x)的相对误差计算公式:#include #include void main() double x,f,g,term; int n; printf(n input x(-1x1e-10) term=term*_(21)_; g=g+term; _(22)_; if(fabs(f-g)/(fabs(f)-fabs(g)1e-6) printf(ntrue x=%f,f=%f, g=%f,x,f,g); else printf(nfalse x=%f,f=%f, g=%f,x,f,g);(答案:(19):%lf (20):po
28、w(1+x,1/3.0 (21) n/(n+2) (22) n=n+3 )15. 以下程序的功能是:将输入的十进制整数转换为指定进制的字符串形式,itob函数的形参s指向的数组用于保存将形参n的值转换为base进制数后的字符串形式。请完善程序以达到要求的功能。#include void reverse( char s) int i,j; char temp; for(j=0;sj!=0;j+); for(i=0,j-;ij;_(23)_,j-) temp=si; si=sj; sj=temp;void itob(int n, char s, int base) int i=0,sign,t;
29、if(sign=n)0) t=_(24)_; if(t=10) si+=t-10+A; else si+=_(25)_; n=n/base; if(sign%s(%d进制数),n,str,base);(答案: (23):n%base (24):t+0 (25):si=0 (26):i+ )16. 存储一组整数的某单向链表结点定义为:typedef struct n int x; struct n *next;NODE;函数NODE *sort(NODE *head)采用插入法对head指向的单向链表中存储的数据按成员x的值从小到大排序。算法提示:对链表中从第2个结点开始直到最后结点范围内的每个
30、结点做以下操作:若第i个结点(i 从2开始)的成员x值大于或等于第i-1个结点的成员的x值,则保持i个结点在链表中的位置不变;否则,先将第i个结点从链表中删除(使第i-1个结点的指针域指向第i+1个结点),再将已脱离链表的原第i个结点插入到链表的前i-1个结点中,并保持插入结点后链表的前i个结点按成员x的值从小到大有序。请完善sort函数以达到要求的功能。NODE *sort (NODE *head) _(27)_*p1, *p2, *q1, *q2; p1=head; p2=p1-next; while(p2) if(p1-x=p2-x) p1=p2; _(28)_=p2-next; els
31、e p1-next=_(29)_; /*从链表中删除p2指向的结点*/ /*以下程序段实现将p2指向的结点插入到链表中*/ q1=head; q2=q1-next; if(p2-xx) p2-next=_(30)_; head=p2; else q1=head; q2=head-next; while(p2-xq2-x) q1=q2; q2=q2-next; p2-next=q2; q1-next=p2;p2=p1-next; return head;答案:(27):NODE (28):p2 (29):p2-next (30):head链表调试程序 #include typedef struc
32、t n int x; struct n *next;NODE;NODE *sort (NODE *head) NODE *p1,*p2,*q1,*q2; p1=head; p2=p1-next; while(p2) if(p1-xx) p1=p2; p2=p2-next; else p1-next=p2-next; /*从链表中删除p2指向的结点*/ /*以下程序段实现将p2指向的结点插入到链表中*/ q1=head; q2=q1-next; if(p2-xx) p2-next=p1-next; head=p2; else q1=head; q2=head-next; while(p2-xq2
33、-x) q1=q2; q2=q2-next; p2-next=q2; q1-next=p2; p2=p1-next; return head;void print(NODE *phead) /*输出链表通用函数*/ while(phead) printf(%4d, phead-x); phead=phead-next; /*移向链表下一条记录*/ printf(n);void main() NODE h1=-2,3,2,20,4, *h3; int j; for(j=0;j5;j+) h1j.next=&h1j+1; h1j-1.next=NULL; /*生成h1链表*/ print(h1); printf(n); /*输出原始链表*/ h3=sort(h1); print(h3); printf(n); /*输出从小到大有序排列的链表*/【调试结果】