秋江苏省计算机二级C语言真题.docx
《秋江苏省计算机二级C语言真题.docx》由会员分享,可在线阅读,更多相关《秋江苏省计算机二级C语言真题.docx(15页珍藏版)》请在冰豆网上搜索。
![秋江苏省计算机二级C语言真题.docx](https://file1.bdocx.com/fileroot1/2023-1/28/b5d33964-e789-4d6e-832d-07ff7ffd7a65/b5d33964-e789-4d6e-832d-07ff7ffd7a651.gif)
秋江苏省计算机二级C语言真题
2011年秋江苏省计算机二级C语言试卷
第一部分计算机基础知识
1.下列有关信息、信息处理、信息技术的叙述中,错误的是
(1)
A.信息与物质、能量是客观世界的三大构成要素
B.与信息处理相关的行为和活动主要指信息的分类、计算、分析等,但不包括信息的收集和传递
C.现代信息技术的主要特征之一是以数字技术为基础
D.计算机技术、通信技术均属于信息技术
2.下列有关数字技术与微电子技术的叙述中,错误的是
(2)
A.数字技术是采用有限个状态(主要是两个状态)来表示、处理、存储和传输信息
的技术
B.比特是信息的基本单位,1个比特可以表示成8位二进制数
C.集成电路芯片是微电子技术的结晶,是现代信息产业的基础
D.Moore定律是指“单块集成电路的集成度平均每18~24个月翻一番”
3.下列有关计算机发展与分类的叙述中,错误的是(3)
A.数字电子计算机诞生于20世纪40年代,个人计算机(微型计算机)产生于20世纪
80年代初
B.第4代计算机的CPU主要采用中小规模集成电路,第5代计算机采用超大规模
集成电路
C.计算机分类有多种方法,按其内部逻辑结构通常分为16位机、32位机或64位机
等,目前使用的PC机大多是32位机或64位机
D.巨型计算机一般采用大规模并行处理的体系结构,我国国防科技大学研制的“天河一号”巨型计算机,其性能可在全球巨型机排行榜中位居前10名
4.下列有关PC机微处理器的叙述中,错误的是(4)
A.目前PC机所用的各种微处理器均由Intel公司设计和生产
B.微处理器通常由单片集成电路制成
C.一台高性能PC机通常包含多个微处理器
D.台式PC机与笔记本PC机采用的微处理器通常有所不同
5.下列有关PC机主板与芯片组的叙述中,错误的是(5)
A.台式PC机主板的物理尺寸已经标准化
B.有些主板将声卡、网卡、显卡的功能均集成在其中
C.芯片组是PC机各组成部分相互连接和通信的枢纽,它们与CPU芯片以及I/O接口同步发展
D.PC机主板上可安装的内存条类型及内存最大容量与芯片组无关
6.下列是PC机常用的四种外设接口,其中适用于连接硬盘和光驱的是(6)
A.RS-232
B.SATA
C.IEEE-1394
D.VGA
7.下列有关显示器、显示卡、打印机的叙述中,错误的是(7)
A.目前常见的“宽屏”LCD显示器,其屏幕的宽度与高度之比为4:
3
B.对于集成显卡来说,显卡的功能主要是由主板的芯片组来实现
C.无论是针式打印机,还是激光/喷墨打印机,均有黑白打印机和彩色打印机之分
D.打印机的主要性能指标之一是打印速度,其单位是PPM
8.下列有关光盘存储器的叙述中,错误的是(8)
A.DVD光盘刻录机可以刻录的光盘有CD-R、CD-RW、DVD-R和DVD-RW等类型
B.组合光驱(“康宝”)组合了CD刻录机与DVD刻录机的功能
C.蓝色光驱(BD)使用蓝色激光在光盘上读写信息
D.光盘刻录机的读/写速度通常是不同的,一般来说读取信息的速度快于刻录的速度
9.按照软件著作权益的处置方式,软件可以分为商品软件、共享软件、自由软件等类型。
在下列叙述中,错误的是(9)
A.商品软件需要用户付费才能得到其使用权
B.共享软件是具有版权的软件,允许用户有条件的使用
C.自由软件允许使用者随意拷贝、传播,允许修改其源代码但必须公开修改内容
D.共享软件、自由软件均属于免费软件
10.下列有关Windows操作系统的叙述中,错误的是(10)
A.WindowsXP和Windows7均分为32位版本和64位版本
B.一般来说,能安装Windows7的PC机也能安装WindowsXP
C.无论是WindowsXP还是Windows7,其家庭版(基本版)均不支持多核处理器
D.目前来看,Windows比UNIX更容易受到病毒的侵扰
11.在下列有关算法的叙述中,错误的是(11)
A.通俗地说,算法就是解决问题的方法和步骤
B.算法总是在执行了有限步的操作后终止
C.程序是算法的实现,程序与算法是一一对应的
D.算法解决的往往是一类问题而不是一个特定的问题
12.下列有关MicrosoftOffice2000(及其后续版本)的叙述中,错误的是(12)
A.由Word创建的文档,用户可以直接将其保存为HTML文件(即网页)
B.在Excel中,用户可以直接打开一些数据库的表文件(例如DBF文件)
C.在FrontPage的“代码”视图中,用户可以直接对HTML网页进行编辑
D.在Access数据库中,每个表可以有多个主键
13.下列是与通信传输介质相关的叙述,其中错误的是(13)
A.目前家用的电话线属于五类双绞线
B.目前入户的有线电视电缆属于宽带同轴电缆
C.光纤是光导纤维的简称,光纤的纤芯是细石英玻璃丝
D.微波是一种电磁波,它具有类似光波的特性,在空间主要是直线传播
14.因特网中的IP地址可以分为A类、B类、C类、D类等。
在下列4个IP地址中。
属于
C类地址的是(14)
A.28.129.200.19
B.88.129.200.19
C.188.129.200.19
D.222.129.200.19
15.在下列有关IP地址与域名的叙述中,错误的是(15)
A.目前使用的IP协议主要是IPv4协议,其IP地址长度为32位
B.因特网是多个网络互联而成的,不同网络中的主机可以具有相同的IP地址
C.域名是IP地址的文字表述形式,但不是所有的IP地址均有相应的域名
D.一个IP地址可以有多个对应的域名
16.通常所说的TCP/IP协议,是指由100多个协议组成的协议系列(包含下列几个协议)。
在下列协议中,发送电子邮件主要依赖(16)
A.HTTP协议
B.FTP协议
C.Telnet协议
D.SMTP协议
17.下列有关采用ADSL技术接入因特网的叙述中,错误的是(17)
A.计算机中需要安装(集成)以太网网卡
B.需要使用专用的ADSLMODEM设备
C.上行与下行传输速率相同,传输速率可达100Mbps
D.可传送数据、音频、视频等信息
18.下列有关汉字字符集及其编码的叙述中,错误的是(18)
A.GB2312是我国颁布的第一个汉字编码国家标准,该标准包含了6000多个汉字
B.GB2312的所有字符在计算机内都采用2个字节来表示
C.GBK收录了包括繁体字在内的20000多个汉字和符号,它向下兼容GB2312
D.GB18030是我国最新颁布的汉字编码标准,它与Gb2312和GBK不兼容
19.语音在数字化是常用的取样频率为8kHz、量化位数为8bits。
若声道为2,则每分钟的
数字语音数据量在未压缩时大约为(19)
A.64KB
B.128KB
C.1MB
D.2MB
20.数字图像文件有多种文件类型,不同类型的文件各有其特点。
在下列4种文件类型中,
能够将多张图片保存在一个文件中且能够产生动画效果的是(20)
A.BMP
B.JPG
C.GIF
D.PNG
第二部分C语言程序设计
一.选择题
21.某程序需要使用一个代表常数3.14的符号常量P,以下定义中正确的是(21)
A.#defineP3.14;B.#defineP(3.14)
C.#defineP=3.14;D.#defineP3.14
22.下列四个选项中,属于C语言关键字的是(22)
A.FloatB.single
C.doubleD.real
23.已知某编译系统中signedint类型数据的长度是16位,该类型数据的最大值是(23)
A.32767B.32768
C.127D.65535
24.以下关于if语句和switch语句的叙述中错误的是(24)
A.if语句和switch语句都可以实现算法的选择结构
B.if语句和switch语句都能实现多路(两路以上)选择
C.if语句可以嵌套使用
D.switch语句不可以嵌套使用
25.已有声明“char*1=”China”,s2[10],*s3=”Nanjing”,*s4;”,以下字符串赋值语句在执行时可能出现错误的是(25)
A.strcpy(s3,s1);B.strcpy(s4,s1);
C.strcpy(s2,s1);D.strcpy(s2,s3);
26.已有声明“intx=0,*p=&x;”,以下语句中有语法错误的是(26)
A.printf(”%d”,*x);B.printf(”%d”,&x);
C.printf(”%d”,*p);D.printf(”%d”,x);
27.以下叙述中错误的是(27)
A.在函数外可以声明变量
B.变量声明的位置决定了该变量名的使用范围
C.函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次调用
D.在函数外声明的变量,其值可以保存到该程序运行结束
28.已有声明“intt=1;”,则执行“printf(”%d”,(t+5,t++));”时输出结果是(28)
A.1B.6C.2D.7
29.已有声明“staticchar*p=”Apple”;”,则执行语句“puts(p+2);”时输出为(29)
A.AppleB.CppleC.ppleD.ple
30.以下选项均欲声明变量p,其中错误的是(30)
A.typedefstructPersonB.structPerson
{charname[20];{charname[20];
intage;intage;
}Per;};
Perp;structPersonp;
C.structD.struct
{charname[20];{charname[20];
intage;intage;
}Per;}p;
Perp;
二.填空题(30分)
基本概念(5分)
1.C语言源程序中用十六进制表示整型常数必须以______
(1)______开头。
2.如果一个循环结构的循环体至少要执行一遍,则最适合描述该循环结构的语句是___
(2)______语句
3.若要声明一个无符号整型变量x,则正确的声明形式是“_____(3)____intx;”。
4.已有声明“intn=12;doublea;”,则执行语句“a=n/=5;”之后,a的值为___(4)________。
5.若有数据类型定义如下:
unionA{floata1;floata2;};
则表达式sizeof(unionA)的值为___(5)_______
©阅读程序(13分)
6.以下程序运行时,输出到屏幕的结果是_______(6)____________
#include
enumcolor{BLACK,YELLOW,BLUE=3,GREEN,WHITE};
voidmain()
{char*colorname[]={“Black”,“Yellow”,“Blue”,“Green”,“White”};
enumcolorc1=GREEN,c2=BLUE;
printf(“%s”,colorname[c1-c2]);
}
7.下列程序运行时,输出到屏幕的结果是__(7)______
#include
voidmain()
{inta=0,b=1,d=10;
if(a)
if(b)
d=20;
else
d=30;
printf(”%d\n”,d);
}
8.下列程序运行时,输出到屏幕的结果中第一行是____(8)________,第二行是____(9)______。
#include
voidfun(inta,int*b)
{a++;
(*b)++;
}
voidmain()
{inta[2]=[1,1];
fun(a[0],&a[1]);
printf(”%d\n%d”,a[0],a[1]);
}
9.以下程序运行时,输出到屏幕的结果中第一行是___(10)__________,第二行是____(11)______,第三行是______(12)__________。
#include
#include
voidmain()
{inta[100]={0},i,j,k;
for(i=1;I<100;i++)
a[i]=i+1;
printf(”%4d%4d%4d\n”,a[0],a[1],a[2]);
for(j=1;j<100;j++)
{if(a[j]!
=0)
for(k=j+1;k<100;k++)
if(a[k]%a[j]==0)
a[k]=0;
}
for(k=1,i=0;k<100;k++)
if(a[k]!
=0)
{printf(”%4d”,a[k]);
i++;
if(i%3==0)printf(”\n”);
}
}
10.以下程序运行时,输出到屏幕的结果中第一行是__(13)______,第二行是___(14)______.
#include
#include
intfun(inta,intb)
{intn;
while(a!
=b)
{n=abs(a-b);
a=(a>b)?
b:
a;
b=n
}
returna;
}
voidmain()
{printf(”%d\n%d\n”,fun(9,15),fun(9,5);}
11.以下程序运行时,输出到屏幕的结果的第一行是_____(15)_______,第二行是___(16)_______.
#include
intfun1(intp[],intn)
{intI,s=0;
for(i=0;is+=p[i];
returns;
}
intfun2(int*s,intn)
{if(n==1)
return*s;
else
return(*s)+fun2(s+1,n-1);
}
voidmain()
{inta[]={1,2,3,4,5};
Printf(”%d\n%d”,fun1(a,3).fun2(a,3));
}
12.以下程序运行时,输出到屏幕的结果的第一行是___(17)_________,第二行是_____(18)_____.
#include
#include
intfun(charstr[])
{inti,j,len;
len=srlen(str);
for(i=0,j=0;str[[i];i++)
if((str[i]>=’A’&&str[i]<=’Z’)ǁ(str[i]>=’a’&&str[i]<=’z’))
str[j++]=str[i];
str[j]=’\0’;
returnlen-j;
}
voidmain()
{charss[80]=”It23is!
”;
Intn;
n=fun(ss);
printf(“%d\n%s\n”,n,ss);
}
13.以下程序中judge函数的功能是判断x指向的int类型数组(长度为n)中各元素之间的逻辑关系。
若n个元素的值均相等则输出“allelementsaresame”;若n个元素的值无序则输出“noorder”;若n个元素的值按升序排列则输出“ascend”;若n个元素按降序排列则输出“descend”。
#include
voidjudge(_________(19)__________),intn)
{intf,i=0;
while(ii++;
if(i==________(20)____________)
{printf(“\nallelementsaresame”)
return;
}
if(x[i]elsef=0
for(;iif(f&&x[i]>x[i+1]ǁ!
f&&_________(21)_________)
{printf(“\nnoorder”);
return;
}
if(____(22)_______)printf(“\nascend”);
elseprintf(“\ndescend”);
}
voidmain()
{inta[5]={1,2,3,4,5},b[5]={5,4,3,2,1},c[5]={2,2,2,2,2},d[5]={2,2,2,2,2};
judge(a,5);
judge(b,5);
judge(c,5);
judge(d,5);
}
14.下列程序的功能是判断一个n阶对称方阵是否双对称矩阵。
4阶对称矩阵是指aij=aji
1
-1
2
-3
-1
0
3
2
2
3
0
-1
-3
2
-1
1
(1≤i≤4,1≤j≤4)。
4阶双对称矩阵是指一个4阶对称矩阵的第1列与第4列对换,第2列与第3列对换后仍然是对称矩阵。
函数issym(intm[][N],intn)的功能是判断二维数组m中存放的一个n阶方阵是否为对称矩阵,如果是则函数返回值1,否则返回值0。
函数exchange(inta[][N],intn)的功能是将二维数组a中存放的一个n阶矩阵做横向翻转,即:
将矩阵的第1列与第你列对换,第2列与第n-1列对换,···,直到n/2列为止。
例如,对称矩阵是双对称矩阵,
-5
-3
-2
-1
-3
6
9
1
-2
9
8
1
-1
1
1
0
而对称矩阵不是双对称矩阵。
#include
#defineN10
voidexchange(inta[][N],intn)
{
intI,j,t;
for(j=0;jfor(i=0;i{t=a[i][j];
______(23)_________=a[i][n-j-1];
a[i][n-j-1]=t;
}
}
intissym(intm[][N],intn)
{
inti,j;
for(j=i;jfor(j=I;jif(_____(24)_________)/*对称矩阵判断*/
return0;
______(25)_________;
}
voidmain()
{inta[N][N];
Intn=4,i,j,r1,r2;
for(i=0;ifor(j=0;jscanf(“%d”,&a[i][j]);
for(i=0;i{for(j=0;jprintf(“%4d”,a[i][j]);
printf(“\n”);
}
r1=issym(a,n);
exchange(___(26)______);
r2=issym(a,n);
if((r1+r2==2))
printf(“matrixisdoublesymmetric\n”);
else
printf(“matrixisnotdoublesymmetric\n);
}
15.函数deletelist的功能:
在head指向的单项链表中查找是否出现多分x值相同的节点。
如果发现存在这样的结点,则保留第一个结点,删除其他重复出现的结点。
typedefstructpoint/*链表结点数据结构定义*/
{intx;
structpoint*next;
}(27);
POT*deletelist(POT*head)
{
POT*p,*p1,*p2;
p=(28);
while(p->next!
=NULL)
{p1=p;
p2=p->next;
while(p2!
=NULL)
{
if(P2->x==p->x)
{p1->next=(29);
free(p2);
p2=p1->next;
}
else
{p1=p2;
P2=p2->next;
}
}
p=(30);
}
returnhead;
}
BBBADBABDCCDADBDCDAC
DCADBACADC
1.&H2.dowhile3.unsigned4.25.8
6.Yellow7.108.19.210.023
11.23512.7111313.314.115.6
16.617.318.Itis19.intx20.n-1
21.x[i]23.a[i][j]24.a[i][j]!
=a[j][i]25.return1
26.a,n27.POT28.head29.p2->next30.p->next