秋江苏省二级考试C语言真题.docx
《秋江苏省二级考试C语言真题.docx》由会员分享,可在线阅读,更多相关《秋江苏省二级考试C语言真题.docx(14页珍藏版)》请在冰豆网上搜索。
![秋江苏省二级考试C语言真题.docx](https://file1.bdocx.com/fileroot1/2022-12/15/2524402b-a4b1-4497-91d1-2be884c5d58f/2524402b-a4b1-4497-91d1-2be884c5d58f1.gif)
秋江苏省二级考试C语言真题
2008年秋
江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试
第一部分计算机基础知识
1.信息技术指的是用来扩展人们信息器官功能、协助人们更有效地进行信息处理的一类技术。
在下列有关信息技术的叙述中,错误的是。
A.现代信息技术的主要特征之一是以数字技术和电子技术为基础
B.遥感遥测技术、自动控制技术等均属于现代信息技术
C.微电子技术是信息技术领域的关键技术,它以集成电路为核心
D.利用磁带、光盘、电话、传真等进行信息传递均属于现代通信
2.二进制数10111000和11001010进行逻辑”与”运算,结果再与10100110进行逻辑”或”运算最终结果的16进制形式为2。
A.A2B.DEC.AED.95
3.计算机的性能在很大程度上是由CPU决定的。
在下列有关CPU结构和原理的一些叙述中,错误的是。
A.目前PC机所使用的CPU均是Intel公司的产品
B.从逻辑组成上看,CPU主要由寄存器组、运算器和控制器等部分组成
C.目前CPU中的运算部件ALU有多个,每个ALU均可独立完成运算
D.不同CPU能执行的指令有所不同,但同一系列CPU产品通常是”向下兼容的”
4.在下列有关目前PC机主板及其组件的叙述中,正确的是。
A.主板的物理尺寸没有标准,通常不同品牌的主板采用不同的尺寸
B.主板上的BIOS芯片是一种RAM芯片,因而其存储的信息是可以随时刷新的
C.主板上的存储器控制和I,o控制功能大多集成在芯片组内
D.主板上的CMOS芯片是一种非易失性存储器,其存储的信息永远不会丢失
5.在下列有关PC机硬盘存储器的叙述中,错误的是。
A.硬盘上的数据块要用柱面号、扇区号和磁头号这三个参数来定位
B.目前硬盘一般都含有DRAM芯片构成的高速缓存(Cache)
C.目前硬盘与主机的接口大多为串行ATA接口
D.硬盘容量的增加主要是靠碟片数增加,目前硬盘一般均有数十个碟片组成
6.在下列有关PC机I/O总线和接口的叙述中,错误的是o
A.可用于连接键盘或鼠标器的PS/2接口是一种并行数据传输接口
B.USB2.0接口的数据传输速率可达每秒几十MB
C.通过USB集线器,USB接口连接设备数最多可达100多个
D.目前数字视频设备常用IEEE.1394接口与主机连接
7.在下列有关PC机软件的叙述中,错误的是2。
A.任何软件都具有版权,因此均不能随意复制和使用
B.软件由程序及相关的数据和文档组成
C.数据库管理系统属于系统软件
D.OutlookExpress属于应用软件
8.操作系统产品有许多种。
在下列软件中,不属于操作系统产品类型的是。
A.UNIXB.Linux
C.Access2000D.WindowsServer2003
9.在下列有关Windows操作系统的叙述中,错误的是。
A.Windows操作系统采用图形用户界面
B.WindowSXP操作系统分为家庭版、专业版、平板PC版等多种版本;
C.在WindowsXP环境下,用户可以通过”任务管理器”查看CPU的使用率
D.在WindowsXP中,作为虚拟内存使用的交换文件的文件名是Win386.swp
lO.在下列有关算法和数据结构的叙述中,错误的是。
A.算法描述解决问题的步骤,数据结构描述求解问题的对象
B.算法应具有确定性、有穷性和能行性
C.数据结构研究的内容包括数据的逻辑结构和存储结构,与数据的运算无关
D.精心选择和设计的数据结构可以提高算法的时间效率和空间效率
11.常用局域网有以太网、FDDI网等类型。
下面的相关叙述中,错误的是。
A.总线式以太网采用带冲突检测的载波侦听多路访f6J(CSMA/CD)方法进行通信
B.以太网交换机比集线器具有更高的性能,它能提高整个网络的带宽
C.FDDI网通常采用光纤双环结构,具有高可靠性和数据传输的保密性
D.FDDI网的MAC地址和帧格式与以太网相同,因此这两种局域网可以直接互连
12.路由器用于连接多个异构的计算机网络。
下列是一些有关网络中路由器与IP地址的叙述,其中
正确的是。
A.路由器不能有IP地址
B.路由器可不分配IP地址
C.路由器只需要分配一个IP地址
D.路由器应分配两个或两个以上的IP地址
13.下列关于利用有线电视网和电缆调制解调技术(CableMODEM)接入互联网的优点的叙述中,
错误的是。
A.每个用户独享带宽且速率稳定B.无需拨号
C.不占用电话线D.可永久连接
14.Web浏览器和Web服务器都遵循_______协议,该协议定义了浏览器和服务器的网页谋
求格式及应答格式。
.
A.TCPB.HTTP
C.UDPD.1i-I’P
15.下列有关网络信息安全的叙述中,正确的是。
A.只要加密技术的强度足够高,就能保证数据不被非法窃取
B.访问控制的任务是对每个文件或信息资源规定各个(类)用户对它的操作权限
C.硬件加密的效果一定比软件加密好
D.根据人的生理特征进行身份鉴别的方式在单机环境下无效
16.若内存中相邻2个字节的内容为十六进制7451,则它们不可能是______。
A.2个西文字母的ASCII码
B.1个汉字的机内码
C.1个16位整数
D.一条指令的组成部分
17.以下关于汉字编码标准的叙述中,错误的是:
_________。
.
A.Unicode和GBl8030中的汉字编码是相同的
B.GBl8030汉字编码标准兼容GBK标准和GB2312标准
C.我国台湾地区使用的汉字编码标准主要是BIG5
D。
GBl8030编码标准收录的汉字数目超过2万个
18.不同的图像文件格式往往具有不同的特性。
有一种格式具有图像颜色数目不多、数据量不大、
能实现累进显示、支持透明背景和动画效果、适合在网页上使用等特性,这种图像文件格式是
曼墨。
A.TIFB.GIF
C.BMPD.JPEG
19.制造业信息系统是一个复杂的信息系统,它可分为辅助技术系统和管理业务系统两大类。
在下歹I
缩写中,不属于计算机辅助技术系统的是________。
A.CADB.CAPP
C.CEOD.CAM
20.在信息系统的结构化生命周期开发方法中,具体的程序编写属于______阶段的工作。
A.系统规划B.系统分析
C.系统设计D.系统实施
第二部分C语言程序设计
一、选择题(10分)
21.以下叙述中正确的是__________。
A.在编译时可以发现注释中的拼写错误
B.C语言程序的每一行只能写一条语句
C.main(){}必须位于程序的开始
D.C语言程序可以由一个或多个函数组成
22.以下选项中不能用作变量名的是__________。
A._floatB.switchC.sumD._123
23.已知sizeof(int)的值为2,为将10!
的值存储到变量f中(10!
=3628800),变量f的类型应声明为__________。
A.longintB.intC.shortintD.unsignedint
24.若有声明“doublex=3,c,*a=&x,*b=&c;”,则下列语句中错误的是__________。
A.a=b=0;B.a=&c,b=a;C.&a=&b;D.*b=*a;
25.数学式
在C程序中正确的表示形式为__________。
A.sqtr(a)/2*bB.sqtr(a)/2/bC.sqtr(a)/2bD.sqtra/(2*b)
26.已知有程序段“charstr[][10]={“Aoyun”,”Beijing”},*p=&str[0][0];printf(“%s\n”,p+10);”,
则执行printf语句后输出为__________。
A.BeijingB.AoyunC.ingD.ng
27.以下声明中错误的是__________。
A.inta[2];B.inta[]={0,1};C.inta[3]=0;D.inta[3][4]={0};
28.已知有结构定义和变量声明如下:
structstudent
{charname[20];
intscore;
structstudent*h;
}stu,*p;int*q;
以下选项中错误的是__________。
A.p=&stu;B.q=&stu.score;C.scanf(“%s%d”,&stu);D.stu.h=p;
29.已有声明“inta=3,b=3,c=2;”,以下选项中值为0的表达式是__________。
A.!
a&&!
b&&cB.!
a||!
b||cC.a==b&&b>=cD.a>=b&&b>c
30.若有声明“charss[8]=”Red”;”,则sizeof(ss)的值是__________。
A.8B.4C.3D.1
二、填空题(30分)
●基本概念
1.已知有函数定义“intfun(){return(3,4);}”,则调用fun后的函数返回值是______。
2.设有声明“inta=3,b=4;floatx=4.5,y=3.5;”,则表达式“(float)(a+b)/2+(int)x%(int)y”的值是______。
3.若已有定义“enumTP{A,B,C};”,则执行语句“printf(“%d\n”,A+1);”后输出结果是____。
4.若需要打开D盘上user子目录下已经存在的名为abc.txt的文本文件,先读出文件中数据,后追加写入新数据,则正确的函数调用语句是:
“fp=fopen(“D:
\\user\\abc.txt”,______);”。
●阅读程序
5.以下程序运行时输出结果的最后一行是______。
#include
voidmain()
{inta=1,b=1,i;
for(i=1;i<=2;i++)
{a=a+b;
printf("%d/%d,",b,a);
b=a+b;
printf("%d/%d,",a,b);
}
printf("\n");
}
6.以下程序运行时输出结果是______。
#include
voidmain()
{inti,sum=0;
for(i=0;i<5;i++)
{switch(i)
{case0:
case1:
sum++;
case3:
sum++;
case4:
sum--;break;
}
}
printf("%d\n",sum);
}
7.以下程序运行时输出结果是______。
#include
voidfunc(intb)
{inta;a=b;b=10;}
voidmain()
{inta=10,b=20;
func(b);
printf("%d,%d\n",a,b);
}
8.以下程序运行时输出结果的第一行是______,第二行是______。
#include
intf1()
{staticinti=0,f=1;
returnf*=++i;
}
intf2()
{inti=0,f=1;
returnf*=++i;
}
voidmain()
{printf("%d\n",f1()+f1());
printf("%d\n",f2()+f2());
}
9.以下程序运行时输出结果是______。
#include
#include
voidsf(char*s1,char*s2)
{if(*s1=*s2)
sf(s1+1,s2+1);
}
voidmain()
{chara[20]="ABC",b[20]="xyz";
sf(a+strlen(a),b);
puts(a);
}
10.以下程序运行时输出结果的第一行是______,第三行是______。
#include
voidmain()
{inti,j,a[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(ia[i][j]=1;
else
a[i][j]=i-j+1;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
11.以下程序运行时输出结果是______。
#include
voidsort(inta[],intn)
{inti,j,p;intt;
for(i=1;i{p=i;
for(j=i+2;jif(a[j]>a[p])
p=j;
if(p!
=i)
{t=a[i];a[i]=a[p];a[p]=t;}
}
}
voidmain()
{ints[]={8,1,4,3},n=4,k;
sort(s,n);
for(k=0;kprintf("%4d",s[k]);
printf("\n");
}
12.以下程序运行时输出结果的第一行是______,第二行是______。
#include
structs
{intx,*y;
}*p;
intd[5]={10,20,30,40,50};
structsa[5]={100,&d[0],200,&d[1],300,&d[2],400,&d[3],500,&d[4]};
voidmain()
{p=a;
printf("%5d",p->x++);
printf("%5d\n",p->x);
printf("%5d",*p->y);
printf("%5d\n",*++p->y);
}
13.以下程序运行时若输入8,则输出结果中第一行是______,第二行是______,第三行是______。
#include
voidmain()
{intk,i,m,n,num[20];
scanf("%d",&n);
for(i=0;inum[i]=i+1;
i=k=m=0;
while(m{if(num[i]!
=0)
k++;
if(k==3)
{printf("%4d",num[i]);
num[i]=0;
k=0;m++;
if(m%3==0)
printf("\n");
}
i++;
if(i==n)
i=0;
}
i=0;
while(num[i]==0)
i++;
printf("%4d",num[i]);
}
●完善程序
14.以下程序的功能是:
求a数组中前4个元素之和及后6个元素之和。
试完善程序以达到要求的功能。
intfsum(int*array,intn)
{inti,s;
s=0;
for(i=0;___________;i++)
s+=array[i];
return(s);
}
voidmain()
{inta[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
intsumh,sumt;
sumh=fsum(a,4);
sumt=____________;
printf("%d%d\n",sumh,sumt);
}
15.以下程序对二维数组a中存储的N×N矩阵做如下操作:
先将每一行中值最大的元素与该行位于主对角线处的元素交换值,然后对主对角线上的所有元素排序使其左上角到右下角升序排列,最后输出排序后主对角线上各元素的值。
试完善程序以达到要求的功能。
#include
#defineN5
voidfun(intx[][N],intn)
{inti,j,t,arr,col;
for(i=0;i{arr=x[i][0];col=0;
for(j=0;jif(x[i][j]>=arr)
{arr=x[i][j];
______________;
}
t=x[i][i];
____________;
x[i][col]=t;
}
for(i=0;ifor(j=i+1;jif(__________)
{t=x[i][i];x[i][i]=x[j][j];x[j][j]=t;}
}
voidmain()
{inta[N][N]={{10,25,24,13,23},{11,22,12,21,14},{20,15,19,16,18},
{17,9,4,5,3},{2,1,6,7,8}},i;
fun(a,N);
for(i=0;iprintf("%3d",a[i][i]);
printf("\n");
}
16.以下程序中函数replace的功能是:
将字符串s中所有属于字符串s1中的字符都用s2中的对应位置的字符替换。
假如s为“ABCBA”,s1为“AC”,s2为“ac”,则调用replace函数后,字符串s的内容将变换为“aBcBa”。
试完善程序以达到要求的功能。
#include
#defineMAX20
voidreplace(char*s,char*s1,char*s2)
{char*p;
for(;*s;s++)
{p=s1;
while(*p&&___________)p++;
if(*p)*s=___________;
}
}
voidmain()
{chars[MAX]="ABCBA",s1[MAX]="AC",s2[MAX]="ac";
________________________;
printf("Thestringofsis:
");
printf("%s\n",s);
}
17.以下程序的功能是:
函数structnode*insert(structnode*head,structnode*p)将p指向的结点作为首结点插入head指向的链表中。
main函数接收从键盘输入的一行字符,每接收一个字符后,申请一个新结点保存该字符,并调用insert函数将新结点插入链表中。
最后从表头开始依次输出该链表各结点成员c的值。
#include
#include
structnode
{charc;
structnode*next;
};
voidmain()
{structnode*insert(structnode*head,structnode*p);
charch;structnode*head,*p;
head=NULL;
while((ch=getchar())!
='\n')
{p=(structnode*)malloc(sizeof(structnode));
_______________=ch;
p->next=NULL;
________________;
}
p=head;
while(p!
=NULL)
{printf("%c",p->c);
_____________;
}
}
structnode*insert(structnode*head,structnode*p)
{if(head==NULL)
head=p;
else
{_____________;
head=p;
}
returnhead;
}
1.D2.C3.A4.C5.D6.A7.A8.C9.D10.C11.D12.D13.A14.B15.B16.B17.A18.B19.C20.D
21DBACBACCAA
(1)4
(2)4.5(3)1(4)“a+”或”ab+”(5)3/5,5/8
(6)1(7)10,20(8)3(9)2(10)ABCxyz
(11)111(12)321(13)8341(14)100101(15)1020
(16)361(17)528(18)47(19)i(21)col=j(22)x[i][i]=x[i][col](23)x[i][i]>x[j][j](24)*p!
=*s
(25)*(s2+p-s1)(26)replace(s,s1,s2)(27)p->c(28)head=insert(head,p)
(29)p=p->next(30)p->next=head