2010春江苏省计算机二级C语言试题与答案(笔试)

更新时间:2023-04-22 05:40:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2010年春江苏省计算机等级二级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. Core 2 Duo B.Pentium PRO C.Pentium III D.Pentium 4

6. 在下列四种PC机主存储器类型中,目前常用的是 _____6_____ 。

A.EDODRAM B.SDRAM C.RDRAM D.DDR SDRAM

7. 在下列有关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.80ram CD存储容量大约为200多兆字节 B.120mm CD存储容量大约为600多兆字节

C.单面单层的120mm DVD存储容量大约为4.7GB D.单面单层的120mm蓝光光盘存储容量大约为17GB

10.在下列有关Windows系列操作系统及其功能的叙述中,错误的是 10 。

A.Windows操作系统采用并发多任务方式支持系统中多个任务的执行

B.Windows XP分为多个版本,它们可用于不同计算机和不同的应用

C.与Windows XP相比,Windows Vista做了许多改进,但其硬件运行环境要求较高

D.无论是硬盘还是光盘,它们均采用相同的文件系统,即FAT文件系统

11.在下列常用应用软件中,不能对编辑的文档设置密码的是 11 。

A.Microsoft Word B.Microsoft Excel C.Microsoft PowerPoint D.Microsoft FrontPage

12.在下列关于无线局域网的叙述中,错误的是 12 。

A.在无线局域网中,无线接入点实际上是一种无线交换机,在室内覆盖距离可达几十米

B.目前无线局域网可采用的协议有Wi-Fi和蓝牙等,后者的数据传输速率比前者更高

C.若某电脑贴有Intel公司的"Centrino"(迅驰)标记,则该电脑应有集成的无线网卡

D.无线网卡有多种类型,例如PCI无线网卡、USB无线网卡等

13.IP地址分为A、B、C、D、E五类。下列4个IP地址中,属于C类地址的是 13

A. 1.110.24.2 B. 202.119.23.12 C. 130.24.35.68 D. 26.10.35.48

14.因特网上有许多不同结构的局域网和广域网互相连接在一起,它们能相互通信并协调工作的基础是因为都采用了 ______14______

A.ATM协议 B.TCP/lP协议 C.X.25协议 D.NetBIOS协议

15.下列有关因特网接入的叙述中,错误的是______15______ 。

A.采用电话拨号接入时,数据传输速率只能达几十kbps

B.采用ADSL接入时,网络的下行数据传输速率通常高于上行数据传输速率 .

C.采用ADSL接入时,只需要ADSL调制解调器,不需要使用网卡

D.采用有线电视接入时,多个终端用户将共享连接段线路的带宽

16.在下列有关字符集及其编码的叙述中,错误的是 ______16______ 。

A.在我国台湾地区使用的汉字编码标准主要是GBK,该标准中收录了大量的繁体汉字

B.GBl8030标准中收录的汉字数目超过2万,Windows XP操作系统支持该标准

C.Unicode字符集中既收录了大量简体汉字,也收录了大量繁体汉字

D.GB2312是我国颁布的第一个汉字编码标准,该字符集还收录了俄文、希腊字母等

17.若一幅图像的大小为1024×768,颜色深度为16位,则该图像在不进行数据压缩时,其数据量大约为

A.768KB B.1.5MB C.3MB D.12.3MB

18.在下列4种类型的数字化声音文件中,不可能包含人的说话声音的是 18 。

A. WAV B.MP3 C.MID D.WMA

19.在下列有关数字视频的叙述中,错误的是 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.printf B.include C.fun D.default

23.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为__(23)___ 。

A.0 B.3 C.3.5 D.4

24.设指针变量占2个字节的内存空间,若有声明"char *p="123";int c;",则执行语句"c=sizeof(p);"后,c的值为

A.1 B.2 C.3 D.4

25.已知有声明"int a=3,b=4;",下列表达式中合法的是 (25)

A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++

26.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是 (26) 。

A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good");

27.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};",若需要引用值为12的数组元素,则下列选项中错误的是( 27 ) 。

A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3]

28.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为 ( 28 ) 。

A.3 B.3.0 C.3.89 D.4.0

29.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( 29 )

A.3,1 B.15,12 C.15,1 D.3,12

30.下列叙述中,正确的是 _____(30)______ 。

A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。

B.调用fopen函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。

C.当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据

D.无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖

二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)

● 基本概念

1. 数学式 所对应的c语言表达式为pow(x, __(1)__)。

2. 已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符 (2) 的编码。

3. 在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占_____(3)_____个字节。

4. 已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执行语句"printf("%d\n",*(p+4));"后的输出结果为

5. 已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数据使a中的值为3,则正确的输入应是 ● 阅读程序

6. 以下程序运行时输出到屏幕的结果为 (6) 。

#include

#define MAX(A,B) A>B?2*A:2*B

void main()

{int a=1,b=2,c=3,d=4,t;

t=MAX(a+b,c+d);

printf("%d\n",t);

}

7.以下程序运行时输出到屏幕的结果是 (7) 。

#include

void main()

{int a=1,b=2;

a+=b;

b=a-b;

a-=b;

printf("%d,%d\n",a,b);

}

8.以下程序运行时输出到屏幕的结果是 (8) 。

#include

void swap(int a,int b)

{int t;

if(a>b)t=a,a=b,b=t;

}

void main()

{int x=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) 。 #include

int g(int x,int y)

{ return x+y;

}

int f(int x,int y)

{

{static int x=2;

if(y>2)

{ x=x*x;

y=x;

}

else y=x+1;

}

return x+y;

}

void main()

{int a=3;

printf("%d\n",g(a,2));

printf("%d\n",f(a,3));

printf("%d\n",f(a,2));

}

10.以下程序运行时输出到屏幕的结果是 (12) 。

#include

void fun(int m,int n)

{if(m>=n)

printf("%d",m);

else

fun(m+1,n);

printf("%d",m);

}

void main()

{ fun(1,2); }

11.以下程序运行时输出到屏幕的结果第二行是 (13) ,第四行是

#include

#define N 6

void main()

(14) 。

{int i,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;j

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=1;i<=N;i++)

{ for(j=1;j<=i;j++)

printf("M",a[i][j]);

printf("\n");

}

}

12.以下程序运行时输出到屏幕的结果第一行是 (15) ,第二行是

#include

void fun(char *p1,char *p2);

void main()

{int i; char a[]="54321";

puts(a+2);

fun(a,a+4);

puts(a);

}

void fun(char *p1,char *p2)

{char t;

while(p1

{t=*p1;*p1=*p2;*p2=t;

p1+=2,p2-=2;

}

}

13.以下程序运行时输出至到屏幕的结果第一行是(17) ,第二行是(18) 。

#include

typedef struct{int x,y;}direction;

int visible(direction s,direction A,direction B,direction C)

{direction p1,p2;

int d;

p1.x=B.x-A.x;

p1.y=B.y-A.y;

p2.x=C.x-A.x;

p2.y=C.y-A.y;

d=s.x*p1.x*p2.x+s.y*p1.y*p2.y;

printf("M\n",d);

return d>0;

}

void main()

{char *ss[]={"invisible","visible"};

direction s={1,1},T={1,1},A={0,0},B={2,1};

puts(ss[visible(s,T,A,B)]);

(16) 。

}

● 完善程序

14.以下程序的功能是:统计一个字符串中数字字符"0"到"9"各自出现的次数,统计结果保存在数组count中。例如,如果字符串为"lenterschar4543123564879ffgh",则统计结果为:1:2 2:1 3:2 4:35:2 6:1 7:1 8:1 9:1。试完善程序以达到要求的功能。

#include

void fun(char *t,int count[])

{ char *p=t;

while( _____(19)_____ )

{ if(*p>='0' && *p<='9')

count[_____(20)_____]++;

p++;

}

}

void main()

{char s[80]="1enterschar4543123564879ffgh";int count[10]={0},i;

fun(s,count);

for(i=0;i<10;i++)

if(count[i]) printf("%d:%d ",i,count[i]);

}

15.下列程序的功能是对a数组a[0]~a[n-1]中存储的n个整数从小到大排序。排序算法是:第一趟通过比较将n个整数中的最小值放在a[0]中,最大值放在a[n-1]中;第二趟通过比较将n个整数中的次小值放在a[1]中,次大值放在a[n-2]中;......,依次类推,直到待排序序列为递增序列。试完喜程序以达到要求的功能。

#include

#define N 7

void sort(int a[],int n)

{int i,j,min,max,t;

for(i=0;i<___(21)___;i++)

{ ______(22)______ ;

for(j=i+l;j

if(a[j]

else if(a[j]>a[max])max=j;

if(min!=i)

{t=a[min];a[min]=a[i];a[i]=t;}

if(max!=n-i-1)

if(max==i)

{t=a[min];a[min]=a[n-i-1];a[n-i-1]=t;}

else

{t=a[max];a[max]=a[n-i-1];a[n-i-1]=t;}

}

}

void main()

{int a[N]={8,4,9,3,2,1,5},i;

sort(a,N);

printf("sorted:\n");

for(i=0;i

printf("\n");

}

16.下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向的字符串替换在s1中找到的所有s2字符串。若sl字符串中没有出现s2字符串,则不做替换并使函数返回0,否则函数返回

1。试完善程序以达到要求的功能。

#include

#include

int find_replace(char s1[],char s2[],char s3[])

{ int i,j,k,t=0; char temp[80];

if(s1[0]=='\0'||s2[0]=='\0')return t;

for(i=0;s1[i]!='\0';i++)

{ k=0; j=i;

while(s1[j]==s2[k]&&s2[k]!='\0')

{ j++;

___(23)_________ ;

}

if(s2[k]=='\0')

{ strcpy(temp,&s1[j]);

___________(24)________;

i=i+strlen(s3);

_______(25)_________;

t=1;

}

}

return t;

}

void main()

{char line[80]="This is a test program and a test data.";

char substr1[10]="test",substr2[10]="actual";

int k;

k=find_replace(line,substr1,substr2);

if(______(26)_______)

puts(line);

else

printf("not found\n");

}

17.设hl和h2分别为两个单链表的头指针,链表中结点的数据结构为:

typedef struct node

{int data;

struct node *next;

}NODE; .

sea_del

函数的功能是:删除hl指向的链表中首次出现的与h2指向的链表中数据完全匹配的若干个连续结点,函数返回hl指向链表的头指针。例如,初态下,hl指向链表和h2指向链表如下图所示:试完善函数sea_del以达到要求的功能。

NODE *sea_del(NODE *h1,NODE *h2)

{NODE *p,*ph,*q,*s;

ph=NULL;p=q=h1; s=h2;

if(h1==NULL||__(22)__) return h1;

while(p!=NULL&&s!=NULL)

{while(q->data==s->data&&q&&s)

{ q=q->next;

s= __(28)__;

}

if(s!=NULL) /*失配时,h1起始结点后移,h2从首结点开始*/

{ ph=p;

p=q=p->next;

s=__(29)__;

}

else 、

if(ph==NULL) h1=q;

else ph->next=q;

}

__(30)__ ;

}

2010年3月江苏计算机考试试题参考答案2010年3月江苏计算机考试试题参考答案

第一部分 计算机基础知识

1.D 2.B 3.C 4.B 5.A 6.D 7.C 8.B 9.D 10.D

11.D 12.B 13.B 14.B 15.C 16.A 17.B 18.C 19.C 20.A

第二部分 C语言程序设计

21.D 22.D 23.A 24.B 25.C 26.D 27.A 28.B 29.C 30.B

(1)1/3.0 (2)G (3)2 (4)5 (5)a=3

(6)10 (7) 2, 1 (8)13 11 12 (9) 5 (10)7

(11)8 (12)221 (13)1 1 (14)1 3 3 1 (15)321

(16)14325 (17)-1 (18)invisible (19)*p (20)*p-48

(21)n/2 (22)min=max=I (23) k++ (24)strcpy(&s1[i],s3) (25) strcat(s1,temp)

(26)k (27)h2==NULL (28)s->next (29)h2 (30)return h1

本文来源:https://www.bwwdw.com/article/o2fq.html

Top