历年江苏省计算机二级C语言历年真题及答案(笔试)_第1页
历年江苏省计算机二级C语言历年真题及答案(笔试)_第2页
历年江苏省计算机二级C语言历年真题及答案(笔试)_第3页
历年江苏省计算机二级C语言历年真题及答案(笔试)_第4页
历年江苏省计算机二级C语言历年真题及答案(笔试)_第5页
已阅读5页,还剩182页未读 继续免费阅读

下载本文档

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

文档简介

历年江苏省计算机二级C语言历年真题及答案(笔试)历年江苏省计算机二级C语言历年真题及答案(笔试)历年江苏省计算机二级C语言历年真题及答案(笔试)历年江苏省计算机二级C语言历年真题及答案(笔试)编制仅供参考审核批准生效日期地址:电话:传真:邮编:2009年春季江苏省高校计算机等级考试考试试题第一部分计算机基础知识1.在下列有关现代信息技术的一些叙述中,正确的是1。A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生B.集成电路的集成度越来越高,目前集成度最高的已包含几百个电子元件C.目前所有数字通信均不再需要使用调制解调技术和载波技术D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘.2.最大的10位无符号二进制整数转换成八进制数是2.。A.1023B.1777C.1000D.10243.在下列有关目前PC机CPU的叙述中,错误的是3。A.CPU芯片主要是由Intel公司和AMD公司提供的B."双核"是指PC机主板上含有两个独立的CPU芯片C.Pentium4微处理器的指令系统由数百条指令组成D.Pentium4微处理器中包含一定容量的Cache存储器4.在下列有关当前PC机主板和内存的叙述中,正确的是4。A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条C.内存条上的存储器芯片属于SRAM(静态随机存取存储器)D.目前内存的存取时间大多在几个到十几个ns(纳秒)之间5.在下列有关PC机辅助存储器的叙述中,正确的是5。A.硬盘的内部传输速率远远大于外部传输速率B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度C.使用USB2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节D.CD-ROM的数据传输速率一般比USB2.0还快6.在下列PC机I/O接口中,数据传输速率最快的是6。A.USB2.0B.IEEE-1394C.IrDA(红外)D.SATA7.计算机软件可以分为商品软件、共享软件和自由软件等类型。在下列相关叙述中,错误的是7。A.通常用户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的B.共享软件通常是一种"买前免费试用"的具有版权的软件C.自由软件的原则是用户可共享,并允许拷贝和自由传播D.软件许可证是一种法律合同,它确定了用户对软件的使用权限8.人们通常将计算机软件划分为系统软件和应用软件。下列软件中,不属于应用软件类型的是8A.AutoCADB.MSNC.OracleD.WindowsMediaPlayer9.在下列有关Windows98/2000/XP操作系统的叙述中,错误的是9。A.系统采用并发多任务方式支持多个任务在计算机中同时执行B.系统总是将一定的硬盘空间作为虚拟内存来使用C.文件(夹)名的长度可达200多个字符D.硬盘、光盘、优盘等均使用FAT文件系统10.在下列有关算法和数据结构的叙述中,错误的是10。A.算法通常是用于解决某一个特定问题,且算法必须有输入和输出B.算法的表示可以有多种形式,流程图和伪代码都是常用的算法表示方法C.常用的数据结构有集合结构、线性结构、树形结构和网状结构等D.数组的存储结构是一种顺序结构11•因特网的IP地址由三个部分构成,从左到右分别代表11。A.网络号、主机号和类型号B.类型号、网络号和主机号C.网络号、类型号和主机号D.主机号、网络号和类型号12•在下列有关ADSL技术及利用该技术接入因特网的叙述中,错误的是12。A.从理论上看,其上传速度与下载速度相同B.一条电话线上可同时接听/拨打电话和进行数据传输C.利用ADSL技术进行数据传输时,有效传输距离可达几公里D.目前利用ADSL技术上网的计算机一般需要使用以太网网卡13.人们往往会用"我用的是10M宽带上网"来说明白己计算机连网的性能,这里的"10M"指的是数据通信中的13指标。A.最高数据传输速率B.平均数据传输速率C.每分钟数据流量D.每分钟IP数据包的数14•计算机局域网按拓扑结构进行分类,可分为环型、星型和14型等。A.电路交换B.以太C.总线D.对等15.网络信息安全主要涉及数据的完整性、可用性、机密性等问题。保证数据的完整性就是15。A.保证传送的数据信息不被第三方监视和窃取B.保证发送方的真实身份C.保证传送的数据信息不被篡改D.保证发送方不能抵赖曾经发送过某数据信息16.某计算机系统中,西文使用标准ASCII码、汉字采用GB2312编码。设有一段纯文本,其机内码为CBF5DOB45043CAC7D6B8,则在这段文本中含有:16。A.2个汉字和1个西文字符B.4个汉字和2个西文字符C.8个汉字和2个西文字符D.4个汉字和1个西文字符17.以下关于汉字编码标准的叙述中,错误的是17。A.GB2312标准中所有汉字的机内码均用双字节表示B.我国台湾地区使用的汉字编码标准BIG5收录的是繁体汉字C.GB18030汉字编码标准收录的汉字在GB2312标准中一定能找到D.GB18030汉字编码标准既能与UCS(Unicode)接轨,又能保护已有中文信息资源18.若波形声音未进行压缩时的码率为64kb/s,已知取样频率为8kHz,量化位数为8,那么它的声道数是A.1B.2C.4D.819.从信息处理的深度来区分信息系统,可分为业务处理系统、信息检索系统和信息分析系统等。在下列几种信息系统中,不属于业务处理系统的是19。A.DSSB.CAIC.CAMD.OA20.在下列有关信息系统开发、管理及其数据库设计的叙述中,错误的是20。A.常用的信息系统开发方法可分为结构化生命周期方法、原型法、面向对象方法和CASE方法等B.在系统分析中常常使用结构化分析方法,并用数据流程图和数据字典来表达数据和处理过程的关系C.系统设计分为概念结构设计、逻辑结构设计和物理结构设计,通常用E-R模型作为描述逻辑结构的工具D.从信息系统开发过程来看,程序编码、编译、连接、测试等属于系统实施阶段的工作第二部分C程序设计21.以下定义和声明中,语法均有错误的是____(21)_________①intj(intx){}②intf(intf){}③int2x=1;④struetfor{intx;};A.②③B.③④C.①④D.①②③④22.设有定义和声明如下:#defined2intx=5;floatY=3.83;charc='d';以下表达式中有语法错误的是_(22)______A.x++B.y++C.c++D.d++23.以下选项中,不能表示函数功能的表达式是___(23)______。A.s=(X>0)1:(X<0)-1:0B.s=X<0-1:(X>01:0)C.s=X<=0-1:(X==00:1)D.s=x>01:x==00:-124.以下语句中有语法错误的是____(24)______。A.printf("%d",0e);B.printf("%f",0e2);C.printf("%d",Ox2);D.printf("%s","0x2");25.以下函数定义中正确的是___(25)_________。A.doublefun(doublex,doubley){}B.doublefun(doublex;doubleY){}C.doublefun(doublex,doubleY);{}D.doublefun(doubleX,Y){}26.若需要通过调用f函数得到一个数的平方值,以下f函数定义中不能实现该功能的是_____(26)______。A.voidf(double*a){*a=(*a)*(*a);}B.voidf(doublea,double*b){*b=a*a;}C.voidf(doublea,doubleb){b=a*a;}D.doublef(doublea){returna*a;}27.设有声明"intP[10]={1,2},i=0;",以下语句中与"P[i]=P[i+1],i++;"等价的是____(27)_______。A.P[i]=P[i++];B.P[++i]=P[i];C.P[++i]=P[i+1];D.i++,P[i-1]=P[i];28.已知有声明"chara[]="Itismine",*p="Itismine";",下列叙述中错误的是28。A.strcpy(a,"yes")和strcpy(p,"yes")都是正确的B.a="yes"和p="yes"都是正确的C.*a等于*pD.sizeof(a)不等于sizeof(p)29.已知有声明"inta[3][3]={0},*p1=a[1],(*p2)[3]=a;",以下表达式中与"a[1][1]=1"不等价的表达式是29。A.*(p1+1)=1B.p1[1][1]=1C.*(*(p2+1)+1)=1D.p2[1][1]=130.设有结构定义及变量声明如下:structproduct{charcode[5];floatprice;}y[4]={"100",100}"以下表达式中错误的是____(30)_____。A.(*y).code[0]='2';B.y[0].code[0]='2';C.y->price=10;D.(*y)->price=10;二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)●基本概念1.在一个C语言源程序中,必不可少的是(1)。2.若有声明"intx;"且sizeof(x)的值为2,则当x值为(2)时"x+1>x"为假。3.若有声明"floaty=3.14619;intx;",则计算表达式"x=y*100+0.5,Y=x/100.0"后y的值是(3)。4.执行以下程序段中的语句"k=M*M+1"后k的值是(4)#defineN2#defineMN+1k=M*M+1:●阅读程序5.以下程序运行时输出结果是(5)#include<stdio.h>voidmain(){doublex[3]={1.1,2.2,3.3},Y;FILE*fp=fopen("d:\\a.out","wb+");fwrite(x,sizeof(double),3,fp)"fseek(fp,2L*sizeof(double),SEEK_SET);fread(&y,sizeof(double),1,fp)"printf("%.1f",y);fclose(fp)"}6.以下程序运行时输出结果是(6)。#include<stdio.h>voidmain(){intk=5,n=0;while(k>0){switch(k){case1:case3:n+=1;k--;break"default:n=0;k--;case2:case4:n+=2;k--;break;}}printf("%3d",n);}}7.以下程序运行时输出结果是(7)。#include<stdio.h>voidchange(intx,intY,int*z){intt;t=x;x=y;y=*z;*z=t;}voidmain(){intx=18,y=27,z=63;change(x,y,&z);printf("x=%d,y=%d,z=%d\n",x,y,z);}8.以下程序运行时输出结果是(8)。#include<stdio.h>intf(intx,inty){retumx+y;}voidmain(){doublea=5.5,b=2.5;printf("%d",f(a,b));}9.以下程序运行时输出结果中第-行是(9),第三行是(10)。#include<stdio.h>defineN5voidmain(){staticchara[N][N];inti,j,t,start=0,end=N-1;charstr[]="123",ch;for(t=0;t<=N/2;t++){ch=str[t];for(i=j-start;i<end;i++)a[i][j]=ch;for(j=start;j<end;j++)a[i][j]=ch;for(i=end;i>start;i--)a[i][j]=ch;for(j=end;j>start;j--)a[i][j]=ch;if(start==end)a[start][end]=ch;start++,end--;}for(i=O;i<N;i++){for(j=0;j<N;j++)printf("%c",a[i][j]);printf("\n");}}10.以下程序运行时输出结果中第一行是(11),第二行是(12)。#include<stdio.h>voidfun(intx,intP[],int*n){inti,j=O;for(i=1;i<=x/2;i++)if(x%i==0)p[j++]=i;*n=j:}voidmain(){intx,a[10],n,i;fun(27,a,&n);for(i=0;i<n;i++)printf("%5d",a[i]);printf("\n%5d",n);}11.以下程序运行时输出结果是(11)。#include<stdio.h>#include<ctype.h>intcount(chars[]){inti=0;if(s[i]=='\0')return0;while(isalpha(s[i]))i++;while(!isalpha(s[i])&&s[i]!='\O')i++;return1+count(&s[i]);}voidmain(){charline[]="oneworld,onedream.";printf("%d",count(line));}.12.以下程序运行时输出结果中第一行是(14),第二行是(15)#include<stdio.h>intfun(char*a,char*b){intm=0,n=0:while(*(a+m)!='\0')m++;while(b[n]){*(a+m)=b[n];m++;n++;}*(a+m)='\0';returnm;}voidmain(){chars1[20]="yes",s2[5]="no";printf("%d\n",fun(s1,s2));puts(s1);}13.以下程序运行时输出结果中第-行是(16),第二行是(17),第三行是(18)#include<stdio.h>typedefstruct{intx;inty;}S;voidfun(Spp[],intn){inti,j,k;St;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if((pp[j].x<pp[k].x)||(pp[j].x==pp[k].x&&pp[j].y<pp[k].y))k=j;if(k!=i){t=pp[i];pp[i]=pp[k];pp[k]=t;}}}voidmain(){Sa[5]={{3,2},{3,1},{1,2},{2,4},{2,3}};inti,n=5;fun(a,n);for(i=0;i<n;i++)printf("%d,%d\n",a[i].x,a[i].y);}.●完善程序14?以下程序求一组整数的最大公约数。试完善程序以达到要求的功能。#include<stdio.h>intgcd(inta,intb)i{intr;while(_____(19)_______){r=a%b;a=b;(_____20_____);}returna;}voidmain(){intx,i,a[6]={12,56,48,32,16,24};x=(___21_____);for(i=1;i<6;i++)x=gcd(___(22)_____,a[i]);printf("(%d,",a[O])for(i=1;i<5;i++)printf("%d,",a[i]);printf("%d)=;d\n",a[5],x);}15.以下程序完成两个长正整数的加法运算并输出计算结果。函数add模拟手工加法运算的过程,将a和b指向的数组中存储的两个以字符串形式表示的n位正整数相加,并将运算结果以字符串形式保存到c指向的数组中。main函数中pl和p2数组分别存放被加数字符串和加数字符串,p3数组存放运算结果字符串。若p1中的字符串为"1000000001"、p2中的字符串为"9000000009",调用add函数后p3得到的是以字符串表示的这两个整数相加的结果"10000000010"。试完善程序以达到要求的功能。#include"stdio.h"#include"string.h"voidadd(chara[],charb[],charc[],__(23)____){inti,k;c[n]='\0';k=0;for(i=n-1;i>=0;i--){c[i]=(a[i]-'O')+(b[i]-'0')+k;k=______(24)______;c[i]=c[i]%10+'0';}if(k){for(i=n+1;i>O;i--)c[i]=___(25)____;c[i]=k+'0';}}voidmain(){charp1[80]="1000000001",pz[80]="9000000009",p3[80];inti,x=strlen(p1),y=strlen(p2);if(x<y){for(i=x;i>=0;i--){p1[i+y-x]=p1[i];p1[i]='0';}_____(26)______;}if(x>y)for(i=y;i>=0;i--){p2[i+x-y]=p2[i];p2[i]='0';}add(p1,p2,p3,x);puts(p3);}16.以下程序创建-个链表并实现数据统计功能。函数WORD*create(chara[][20],intn)创建-个包含n个结点的单向链表,结点数据来自a指向的数组中存储的n个单词(字符串)。函数voidcount(WORD*h)统计h指向的单向链表中不同单词各自出现的次数,将统计结果保存到局部数组c中并输出。程序运行时输出结果为"red:1green:2blue:3"试完善程序以达到要求的功能。#include"stdio.h"#include"stdlib.h"#include"string.h"typedefstructw{charword[20];structw*next:}WORD;WORD*create(chara[][20],intn){WORD*p1,*p2,*h=0;inti;for(i=0;i<n;i++){p1=(WORD*)malloc(sizeof(WORD));strcpy(___(27)___,a[i]);if(h==O)h=p2=p1:else{p2->next=p1;p2=pl;}}p2->next=_____(28)____;returnh;}voidcount(WORD*h){struct{charword[20];intnum;}c[6]={0};intm=0,i;while(h){if(m==O){strcpy(c[0].word,h->word);c[0].num=1;m++;}else{for(i=O;i<m;i++)if(strcmp(c[i].word,h->word)==0{______(29)_____;break;}if(i>=m){strcpy(c[m].word,h->word);c[m++].num=1;}}____(30)_____;}for(i=0;i<m;i++)printf("%s:%d",c[i].word,c[i].num);}voidmain(){charwords[6][20]={"red","green","blue","blue","green","blue"};WORD*head=0:head=create(words,6);count(head);}答案第一部分计算机基础知识1.D2.B3.B4.D5.B6.D7.A8.C9.D10.A11.B12.A13.A14.C15.C16.B17.C18.A19.A20.C第二部分C程序设计21.B22.D23.C24.A25.A26.C27.D28.B29.B30.D二:填空(1)main函数定义(2)32767(3)3.15(4)6(5)3.3(6)2356(7)x=18,y=27,z=18(8)7(9)11111(10)12321(11)139(12)3(13)4(14)5(15)yesno(16)1,2(17)2,3(18)2,4(19)b或b!=0(20)b=r(21)a[0](22)x(23)intn(24)c[i]/10(25)c[i-1](26)x=y(27)p1->word(28)0或NULL(29)c[i].min++(30)h=h->next2009秋季C语言笔试试卷第一部分计算机基础知识1.下列关于个人移动通信的叙述中,错误的是____A.第1代个人移动通信(简称1G)采用的通信技术是数字通信技术B.目前广泛使用的GSM手机采用的通信技术属于第2代移动通信技术(简称2G)C.第3代移动通信技术(简称3G)将无线通信与互联网、多媒体通信相结合D.3G有多个国际技术标准,其中也有我国自主制定的3G技术标准。2.在下列有关集成电路的叙述中,正确的是2。A.现代集成电路所使用的半导体材料都是硅B.所有的集成电路都是数字集成电路C.Moore定律认为单块集成电路的集成度平均每年翻一番D.Intel公司微处理器产品Core2Duo,其集成度已高达数千万个电子元件3.与十六进制数AB等值的八进制数是3。A.253B.254C.171D.1724.在下列有关PC机CPU的叙述中,错误的是4。A.CPU中包含几十个甚至上百个寄存器,用来临时存放数据、指令和控制信息B.所有PC机的CPU都具有相同的指令系统,因而PC机可使用相同的软件C.一台计算机至少包含1个CPU,也可以包含2个、4个、8个甚至更多个CPUD.Intel公司是国际上研制和生产CPU的主要公司,我国也能生产CPU5.在下列有关PC机主板上部件的叙述中,错误的是5。A.BIOS保存在主板上的一个闪存中,其内容在关机后通常不会改变B.CMOS中保存有用户设置的开机口令,关机后主板上的电池继续给CMOS供电C.启动CMOS设置程序可以重新设置CMOS中的数据,该程序是BIOS的组成部分D.网卡通常集成在主板上,由主板上独立的IC实现其功能,与芯片组无关6.从PC机存储器的层次结构来看,下列存储器中存取速度最快的是6。A.Cache存储器B.RAM和ROMC.寄存器D.硬盘和优盘7.在下列4种PC机常用I/O接口中,数据传输速率最高的是7。A.PS/2B.SATAC.IEEE-1394bD.USB2.08.在下列有关I/O操作、I/O总线和I/O接口的叙述中,错误的是8。A.I/O操作的任务是在I/O设备与内存的指定区域之间传送信息B.I/O总线传送的只能是数据信号,它不能传送控制信号和地址信号C.不同类型的I/O接口,其插头/插座以及相应的通信规程和电气特性通常各不相同D.并行总线的数据传输速率不一定比串行总线高9.在下列有关PC机I/0设备的叙述中,错误的是9。A.数码相机的成像芯片可以为CCD器件或CMOS芯片,目前大多数用CCD器件B.平板式扫描仪的分辨率通常远远高于胶片扫描仪和滚筒式扫描仪C.常见的宽屏液晶显示器的宽度与高度之比为16:9(或16:10)D.目前在银行、超市等商业部门一般采用针式打印机来打印存折和票据10.在下列有关计算机软件的叙述中,错误的是10。A.程序设计语言处理系统和数据库管理系统被归类为系统软件B.共享软件是一种具有版权的软件,它允许用户买前免费试用C.机器语言和汇编语言与特定的计算机类型有关,取决于CPUD.目前PC机只能使用Windows系列操作系统,均不能使用UNIX和Linux操作系统11.在下列常用的PC机软件中,编辑的文档(内容)能直接保存为图片类型(例如JPEG文件类型)的是11。A.MicrosoftWordB.MicrosoftExcelC.MicrosoftPowerPointD.MicrosoftFrontPage12.在下列关于以太网(局域网)的叙述中,错误的是12。A.在共享式以太网中,任何时间只允许一对计算机进行通信B.在交换式以太网中,每台计算机均独享相同的带宽,其带宽仅由交换机决定C.无论是共享式以太网还是交换式以太网,网络中的所有计算机都要安装以太网网卡D.无论是共享式以太网还是交换式以太网,它们的数据帧和MAC地址格式均相同13.连接在因特网上的每一台主机都有一个IP地址。下面不能作为IP地址的是13。A.211.256.49.68B.8C.8D.14.为了将异构的计算机网络互相连接起来,必须使用的网络设备是14。A.调制解调器B.以太网集线器c.以太网交换机D.路由器15.下列网络协议中,与发送电子邮件有关的是15。A.HttpB.FTPC.SMTPD.TELNET16.在下列有关字符集及其编码的叙述中,错误的是16。A.基本的ASCII字符集共有128个字符,每个字符使用7个二进位进行编码B.GB2312字符集中收录了6千多个汉字,每个字符在机内通常使用双字节编码C.GBK字符集中的字符也采用双字节编码,且该字符集收录了部分繁体汉字D.GB18030字符集中所有的字符均采用4字节编码,因此该字符集的代码空间很大17.目前数码相机拍摄的照片在保存时通常采用的文件类型是17。A.BMPB.GIFC.JPEGD.TIF18.MP3是数字波形声音的一种压缩编码文件格式,它采用的压缩编码标准属于18。A.MPEG-1B.MPEG-2C.MPEG-4D.DolbvAC-319.使用Macromedia公司的Flash软件制作的动画是一种矢量图形,在保存为动画文件时其文件扩展名通常为A.GIFB.SWFC.AVID.MPG。20.在计算机应用中,CAD和CAM是典型的信息系统。它们属于20。A.管理业务系统B.辅助技术系统C.信息检索系统D.信息分析系统第二部分C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)21.以下叙述中正确的是21。A.C语言系统以函数为单位编译源程序B.main函数必须放在程序开始C.用户定义的函数可以被一个或多个函数调用任意多次D.在一个函数体内可以定义另外一个函数22.以下选项中,不能用作c语言标识符的是22A.printB.FORC.&aD._0023.已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是23。A.printf("%d",32768);B.printf("%ld",32768);C.printf("%f",32768);D.printf("%c",32768);24.已知有声明"inta=3,b=4,c=5;",以下表达式中值为0的是24。A.a&&bB.a<=bC.a||b&&cD.!(!c||1)25.已知有声明"longx,y;"且x中整数的十进制表示有n位数字(4<n<10),若要求去掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中,则以下表达式中能正确实现这一功能的是25。A.y=x/(10*(n-1))B.y=x%(10*(n-1))C.y=x%(long)pow(10,n-1)D.y=x%(10^(n-1))26.已知有声明"intx,y;",若要求编写一段程序实现"当x大于等于0时y取值1,否则Y取值-1",则以下程序段中错误的是___26___。A.if(x>=0)y=1;elsey=-1;B.y=x>=0?1:-1;

C.switch()D.switch(x-abs(x)){casex>=0:y=1;break;{case0:y=1;break;default:y=-1;default:y=-1;}}27.已知有声明"intm[]={5,4,3,2,1},i=0;",下列对m数组元素的引用中,错误是___27___。A.m[++i]B.m[5]C.m[2*2]D.m[m[4]]28•已知有声明"chars[80];",若需要将键盘输入的一个不含空格的字符串保存到组中,则下列语句中正确的是A.scanf("%s",s);B.scanf("%s",s[0]);C.s=gets();D.s=getchar();29.若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是29A.实参和其对应的形参占用同一存储单元B.形参不占用存储单元C.同名的实参和形参占用同一存储单元D.形参和实参占用不同的存储单元30.已知有声明"inti,a[10],*p=a;",现需要将1--l0保存到a[0]--a[9]中,以下程序段中不能实现这一功能的是30。A.for(i=0;i<10;i++)a[i]=i+1;B.for(i=0;i<10;i++)p[i]=i+1;C.i=1;while(p<a+10)*p++=i++;D.i=1;while(p<a+10)*a++=i++;二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)●基本概念1.C语言中有!、&&、||三个逻辑运算符,其中优先级高于算术运算符的是(1)。2.若有声明"intr=2;",则执行语句"printf("%d",sizeof(2*3.14*r));"时输出(2)。3.数学表达式所对应的C语言表达式为(3)。4.若有以下声明:char*p="%d,%d\n";inta=1,b=2;则执行语句"printf(p,a,b);"时输出(4)。5.声明局部变量时若缺省存储类别,该变量的存储类别是(5)。●阅读程序6.以下程序运行时输出到屏幕的结果是(6)。#include<stdio.h>voidmain(){FILE*fp;intk,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");’fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d,%d\n",k,n);fclose(fp);}7.以下程序运行时输出到屏幕的结果是(7)。#include<stdio.h>voidmain(){inti=1,m=0;switch(i){case1:case2:m++;case3:m++;}printf("%d",m);}‘8.以下程序运行时输出到屏幕的结果中第一行是(8),第二行是(9)。#include<stdio.h>voidfun(inta[],intb[],int*x){inti,j=0;for(i=0;a[i];i++){if(i%2==0)continue;if(a[i]>10)b[j++]=a[i];}*x=j;}voidmain(){inta[10]={3,15,32,23,11,4,5,9},b[10];inti=0,x=0;fun(a,b,&x);for(i=0:i<x;i++)printf("%d\t",b[i]);printf("\n%d",x);}9.以下程序运行时输出到屏幕的结果是(10)。#include<stdio.h>intfun(int*x,intn){if(n==0)returnx[0];elsereturnx[0]+fun(x+1,n-1);}voidmain(){inta[]={1,2,3,4,5,6,7};printf("%d\n",fun(a,2));10.以下程序运行时输出到屏幕的结果是(11)。#include<stdio.h>longf(intn){staticlongs;if(n==1)returns=2;elsereturn++s;}voidmain(){longi,sum=0;for(i=1;i<4;i++,)sum+=f(i);printf("%ld",sum);}11.以下程序运行时输出到屏幕的结果中第一行是(12),第二行是(13)。#include、<stdio.h>#definef(x,y)y=x*xvoidg(intx,inty){y=x*x;}voidmain(){inta=2,b=0,c=2,d=0;f(a,b);g(c,d);printf("%d\n%d",b,d);}12.以下程序运行时输出到屏幕的结果中第一行是(14),第三行是(15)。#include<stdio.h>voidmain(){inta[3][3]={{3,8,12},{4,7,10},{2,5,11}},i,j,k,t;for(j=0;j<3;j++)for(k=0;k<2;k++)for(i=0;i<2-k;i++)if(a[i][J]>a[i+1][j])t=a[i][j],a[i][j]=a[i+1][j],a[i+1][j]=t;for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%3d",a[i][j]);printf("\n");}13.以下程序运行时输出到屏幕的结果是(16)。#include<stdio.h>#include<string.h>voidmain(){inti=0,n=0;chars[80],*p;strcpy(s,"Itisabook.");for(p=s;p!='\0';p++)if(*p=='')i=0;elseif(i==0){n++;i=1;}printf("%d\n",n);}14.以下程序运行时输_出到屏幕的结果第一行是(17),第二行是(18)。#include<stdio.h>typedefstructfact{intm,z;}FACT;FACTfun1(FACTt1,FACTt2){FACTt3;t3.m=t1.m*t2.m;t3.z=t1.z*t2.m+t2.z*t1.m;retumt3;}FACTfun2(FACTt){intm,n,k;m=t.m;n=t.z;while(k=m%n){m=n;n=k;}t.m=t.m/n;t.z=t.z/n;returnt;}voidmain(){FACTs,s1={8,4},s2={6,5};s=fun1(sl,s2);printf("%d,%d\n",s.z,s.m);s=fun2(s);printf("%d,%d",s.z,s.m);}●完善程序15.以下程序求方程的一个近似根。root函数采用二分法计算并返回方程f(x)=0在[a,b]内的一个近似根,main函数调用root函数求方程cos(x)=0在[0,3.14]内的一个近似根。试完善程序以达到要求的功能。#include<stdio.h>#include<math.h>doubleroot(doublea,doubleb,double(*f)(double)){doublex,y;if((19)){printf("Thereisnorootbetween%fand%f",a,b);return0;}do{x=(20);y=f(x);if(fabs(y)<1e-6||fabs(b-a)<le-6)break;if((21)<0)b=x;elsea=x;}while(1);returnx;}voidmain(){printf("\nx=%f",root(0,3.14,(22));16.以下程序在3-50范围内验证:大于等于3的两个相邻素数的平方之间至少有4个素数。例如,3和5是相邻素数,3^2~5^2之间有素数11、13、17、19、23。试完善程序以达到要的功能。#include<stdio.h>#include<stdlib.h)#include<math.h>intprime(intn){inti;for(i=2;i<=sqrt(n);i++)if((23))return0;return1;}voidmain(){inti,j,k=0,m,n,c,a[30]={0};for(i=3;i<50;i++)if(prime(i))(24);for(i=0;i<k-1;i++){m=a[i]*a[i];n=a[i+1]*a[i+1];c=(25);for(j=m+1;j<n;j++)if((26))c++:if(c>=4)printf("\n%d*%d-%d*%d:%d",a[i],a[i],a[i+1],a[i+1],c);else{printf("Error");exit(0);}}17.fun函数的功能是删除s指向的链表中满足以下条件的结点:该结点的编号值是奇数且存放的字母ASCII编码值也为奇数(提示:a的ASCII编码是97);将删除的结点添加到t所指向的链表尾部。试完善fun函数以达到要求的功能。例如,若删除前的s链表为:sà1aà2bà3bà4c0则删除后的s链表为:sà2bà3bà4c0#include<stdio.h>structnode{inti;/*存放结点的编号*/charc:/*存放一个字母的ASCII编码*/structnode*next;};structnode*t=NULL:structnode*fun(structnode*s){structnode*p,*q;structnode*r;p=q=s;while(p!=NULL){if(((pài)%2)&&((pàc)%2)){if(s==p)s=q=(27);else{(28);q=p->next;}if(t==NULL)t=r=p;else{r->next=p;r=r->next;}}p=(29);}if(t!=NULL)(30);returns;}答案一、选择题1.A2.D3.A4.B5.D6.C7.B8.B9.B10.D11.C12.B13.A14.D15.C16.D17.C18.A19.B20.B21.C22.C23.B24.D25.C26.C27.B28.A29.D30.D二、填空题(1)!(2)8(3)sqrt(fabs(x))!=4*a/(b*c)或sqrt(fabs(x))!=4*a/b/c(4)1,2(5)auto(6)123,456(7)2(8)1523(9)2(10)6(11)9(12)4(13)0(14)2510(15)4812(16)4(17)64,48(18)4,3(19)f(a)*f(b)>0(20)(a+b)/2(21)y*f(a)或f(x)*f(a)(22)cos(23)n%i==0或!(n%i)(24)a[k++]=i或a[k]=i,k++(25)0(26)prime(j)(27)p->next(28)q->next=p->next(29)p->next(30)r->next=NULL2010年春江苏省计算机等级二级C考试试题第一部分计算机基础知识1.下面关于通信技术的叙述中,错误的是___1___。A.任何一个通信系统都有信源、信道和信宿这三个基本组成部分,B.为了实现远距离传输信息,在模拟通信和数字通信中均采用载波技术C.为了降低传输信息的成本,在通信中广泛采用多路复用技术D.数字通信系统的一个主要性能参数是信道带宽,它指实际进行数据传输时单位时间内传输的二进位数目2.在下列有关集成电路及其应用的叙述中,错误的是___2___。A.集成电路的制造工序繁多,工艺复杂且技术难度高B.经过抛光后的硅片称为晶圆,每个晶圆最多可以制成一个合格的集成电路芯片C.IC卡分为接触式IC卡和非接触式IC卡,后者通常又称为射频卡或感应卡D.集成电路应用十分广泛,目前我国第2代居民身份证中就有集成电路芯片3.在下列有关数字技术的一些叙述中,错误的是_____3_____。A.数字技术是采用有限个状态(例如"0"和"1")来表示、处理、存储和传输信息的B.在逻辑代数中,1与1进行逻辑加(V)和逻辑乘(^)的结果相同C.任何一个十进制数,均可以精确地转换成等值的二进制数D.在PC机中,通常用原码表示正整数、用补码表示负整数4.在下列有关PC机主机的叙述中,错误的是___4___。A.BIOS和CMOS存储器安装在主板上,普通用户一般不能自己更换B.由于PC机主板的物理尺寸等没有标准化,所以不同PC机的主板均不能互换C.芯片组是PC机各组成部分相互连接和通信的枢纽,一般由2块VLSI芯片组成D.芯片组决定了主板上所能安装的内存最大容量、速度及可使用的内存条类型5.在下列4个Intel微处理器产品中,采用双核结构的是_____5_____。A.Core2DuoB.PentiumPROC.PentiumIIID.Pentium46.在下列四种PC机主存储器类型中,目前常用的是_____6_____。A.EDODRAMB.SDRAMC.RDRAMD.DDRSDRAM7.在下列有关PC机常用I/O接口的叙述中,错误的是7。A.目前显卡与显示器的接口大多采用VGA接口B.可用于连接鼠标器的USB接口和PS/2接口的数据传输方式均是串行传输方式C.USB接口连接器有4个引脚,其中1个引脚可获得由主机提供的+1.5V电源D.IEEE-1394b接口也是PC机常用的一种高速接口8.在下列有关PC机外存储器的叙述中,错误的是8。A.由于数据存取速度慢、容量小等原因,软盘存储器已逐渐被淘汰B.所有的硬盘都是由2个或2个以上盘片组成的,硬盘中的盘面数为盘片数的2倍C.目前有些优盘产品可以模拟软盘和硬盘启动操作系统D.目前常见的组合光驱(“康宝”)既有DVD只读光驱功能,又有CD光盘刻录机功能9.在下列有关光盘存储容量的叙述中,错误的是9。A.80ramCD存储容量大约为200多兆字节B.120mmCD存储容量大约为600多兆字节C.单面单层的120mmDVD存储容量大约为4.7GBD.单面单层的120mm蓝光光盘存储容量大约为17GB10.在下列有关Windows系列操作系统及其功能的叙述中,错误的是10。A.Windows操作系统采用并发多任务方式支持系统中多个任务的执行B.WindowsXP分为多个版本,它们可用于不同计算机和不同的应用C.与WindowsXP相比,WindowsVista做了许多改进,但其硬件运行环境要求较高D.无论是硬盘还是光盘,它们均采用相同的文件系统,即FAT文件系统11.在下列常用应用软件中,不能对编辑的文档设置密码的是11。A.MicrosoftWordB.MicrosoftExcelC.MicrosoftPowerPointD.MicrosoftFrontPage12.在下列关于无线局域网的叙述中,错误的是12。A.在无线局域网中,无线接入点实际上是一种无线交换机,在室内覆盖距离可达几十米B.目前无线局域网可采用的协议有Wi-Fi和蓝牙等,后者的数据传输速率比前者更高C.若某电脑贴有Intel公司的"Centrino"(迅驰)标记,则该电脑应有集成的无线网卡D.无线网卡有多种类型,例如PCI无线网卡、USB无线网卡等13.IP地址分为A、B、C、D、E五类。下列4个IP地址中,属于C类地址的是13A.B.2C.8D.814.因特网上有许多不同结构的局域网和广域网互相连接在一起,它们能相互通信并协调工作的基础是因为都采用了______14______A.ATM协议B.TCP/lP协议C.X.25协议D.NetBIOS协议15.下列有关因特网接入的叙述中,错误的是______15______。A.采用电话拨号接入时,数据传输速率只能达几十kbpsB.采用ADSL接入时,网络的下行数据传输速率通常高于上行数据传输速率.C.采用ADSL接入时,只需要ADSL调制解调器,不需要使用网卡D.采用有线电视接入时,多个终端用户将共享连接段线路的带宽16.在下列有关字符集及其编码的叙述中,错误的是______16______。A.在我国台湾地区使用的汉字编码标准主要是GBK,该标准中收录了大量的繁体汉字B.GBl8030标准中收录的汉字数目超过2万,WindowsXP操作系统支持该标准C.Unicode字符集中既收录了大量简体汉字,也收录了大量繁体汉字D.GB2312是我国颁布的第一个汉字编码标准,该字符集还收录了俄文、希腊字母等17.若一幅图像的大小为1024×768,颜色深度为16位,则该图像在不进行数据压缩时,其数据量大约为A.768KBB.1.5MBC.3MBD.12.3MB18.在下列4种类型的数字化声音文件中,不可能包含人的说话声音的是18。A.WAVB.MP3C.MIDD.WMA19.在下列有关数字视频的叙述中,错误的是19。A.PC机所使用的视频卡能将输入的模拟视频信号进行数字化B.目前使用摄像头获取视频信息时,不需要使用专门的视频卡C.数字视频在数据压缩时只能使用MPEG标准,DVD就是采用MPEG一4标准压缩的D.计算机动画是一种合成视频,这种技术是发展动漫产业的基础20.下列是几种常见的电子商务的分类方法。若将电子商务分为B-C、B-B等类型,则该分类是____20______。A.按交易的双方进行分类B.按使用的网络类型分类C.按交易商品性质分类D.按交易商品规模分类第二部分C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共lO分)21.C语言规定,在一个源程序中main函数的位置_____(21)_____。A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后22.以下选项中,______(22)______是C语言关键字A.printfB.includeC.funD.default23.已知有声明"inta=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为__(23)___。A.0B.3C.3.5D.424.设指针变量占2个字节的内存空间,若有声明"char*p="123";intc;",则执行语句"c=sizeof(p);"后,c的值为A.1B.2C.3D.425.已知有声明"inta=3,b=4;",下列表达式中合法的是(25)A.a+b=7B.a=|b|C.a=b=0D.(a++)++26.已知有声明"chars[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是(26)。A.s="Good";B.s[20l="Good";C.strcat(s,"Good");D.strcpy(s,"Good");27.已知有声明"inta[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};",若需要引用值为12的数组元素,则下列选项中错误的是(27)。A.*(a+2)+3B.*(*(a+2)+3)C.*(a[2]+3)D.a[2][3]28.已知有声明"intn;floatx,y;",则执行语句"y=n=x=3.89;"后,y的值为(28)。A.3B.3.0C.3.89D.4.029.已知有声明"inta=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为(29)A.3,1B.15,12C.15,1D.3,1230.下列叙述中,正确的是_____(30)______。A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。B.调用fopen函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。C.当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据D.无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)●基本概念1.数学式所对应的c语言表达式为pow(x,__(1)__)。2.已知有声明"charch='g';",则表达式ch=ch-'a'+'A'的值为字符(2)的编码。3.在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占_____(3)_____个字节。4.已知有声明"inta[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执行语句"printf("%d\n",*(p+4));"后的输出结果为5.已知有声明和语句"inta;scanf("a=%d",&a);",欲从键盘上输入数据使a中的值为3,则正确的输入应是●阅读程序6.以下程序运行时输出到屏幕的结果为(6)。#include#defineMAX(A,B)A>B?2*A:2*Bvoidmain(){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);printf("%d\n",t);}7.以下程序运行时输出到屏幕的结果是(7)。#includevoidmain(){inta=1,b=2;a+=b;b=a-b;a-=b;printf("%d,%d\n",a,b);}8.以下程序运行时输出到屏幕的结果是(8)。#includevoidswap(inta,intb){intt;if(a>b)t=a,a=b,b=t;}voidmain(){intx=13,y=11,z=12;if(x>y)swap(x,y);if(x>z)swap(x,z);if(y>z)swap(y,z);printf("%d\t%d\t%d\n",x,y,z);}9以下程序运行时输出到屏幕的结果第一行是(9),第二行是(10),第三行是(11)。#includeintg(intx,inty){returnx+y;}intf(intx,inty){{staticintx=2;if(y>2){x=x*x;y=x;}elsey=x+1;}returnx+y;}voidmain(){inta=3;printf("%d\n",g(a,2));printf("%d\n",f(a,3));printf("%d\n",f(a,2));}10.以下程序运行时输出到屏幕的结果是(12)。#includevoidfun(intm,intn){if(m>=n)printf("%d",m);elsefun(m+1,n);printf("%d",m);}voidmain(){fun(1,2);}11.以下程序运行时输出到屏幕的结果第二行是(13),第四行是(14)。#include#defineN6voidmain(){inti,j,a[N+1][N+1];for(i=1;i<=N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<=N;i++)for(j=2;ja[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<=N;i++){for(j=1

温馨提示

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

评论

0/150

提交评论