资源描述
历年江苏省计算机二级C语言历年真题及答案笔试docx
春季江苏省高校计算机等级考试考试试题
第一部分 计算机基础知识
1. 在下列有关现代信息技术的一些叙述中,正确的是 1 。
A.集成电路是20世纪90年代初出现的,它的出现直接导致了微型计算机的诞生
B.集成电路的集成度越来越高,当前集成度最高的已包含几百个电子元件
C.当前所有数字通信均不再需要使用调制解调技术和载波技术
D.光纤主要用于数字通信,它采用波分多路复用技术以增大信道容量‘ .
2. 最大的10位无符号二进制整数转换成八进制数是 2 .。
A.1023 B.1777 C.1000 D.1024
3. 在下列有关当前PC机CPU的叙述中,错误的是 3 。
A.CPU芯片主要是由Intel公司和AMD公司提供的 B."双核"是指PC机主板上含有两个独立的CPU芯片
C.Pentium 4微处理器的指令系统由数百条指令组成 D.Pentium 4微处理器中包含一定容量的Cache存储器
4. 在下列有关当前PC机主板和内存的叙述中,正确的是 4 。
A.主板上的BIOS芯片是一种只读存储器,其内容不可在线改写
B.绝大多数主板上仅有一个内存插座,因此PC机只能安装一根内存条
C.内存条上的存储器芯片属于SRAM(静态随机存取存储器)
D.当前内存的存取时间大多在几个到十几个ns(纳秒)之间
5. 在下列有关PC机辅助存储器的叙述中,正确的是 5 。
A.硬盘的内部传输速率远远大于外部传输速率
B.对于光盘刻录机来说,其刻录信息的速度一般小于读取信息的速度
C.使用USB 2.0接口的移动硬盘,其数据传输速率大约为每秒数百兆字节
D.CD-ROM的数据传输速率一般比USB 2.0还快
6. 在下列PC机I/O接口中,数据传输速率最快的是 6 。
A.USB 2.0 B.IEEE-1394 C.IrDA (红外) D.SATA
7. 计算机软件能够分为商品软件、共享软件和自由软件等类型。在下列相关叙述中,错误的是 7 。
A.一般见户需要付费才能得到商品软件的使用权,但这类软件的升级总是免费的
B.共享软件一般是一种"买前免费试用"的具有版权的软件
C.自由软件的原则是用户可共享,并允许拷贝和自由传播
D.软件许可证是一种法律合同,它确定了用户对软件的使用权限
8. 人们一般将计算机软件划分为系统软件和应用软件。下列软件中,不属于应用软件类型的是 8
A.AutoCAD B.MSN C.Oracle D.Windows Media Player
9. 在下列有关Windows 98/ /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编码。设有一段纯文本,其机内码为CB F5 DO B4 50 43 CA C7 D6 B8,则在这段文本中含有: 16 。
A.2个汉字和1个西文字符 B.4个汉字和2个西文字符
C.8个汉字和2个西文字符 D.4个汉字和1个西文字符
17.以下关于汉字编码标准的叙述中,错误的是 17 。
A.GB 2312标准中所有汉字的机内码均用双字节表示
B.中国台湾地区使用的汉字编码标准BIG 5收录的是繁体汉字
C.GB 18030汉字编码标准收录的汉字在GB 2312标准中一定能找到
D.GB 18030汉字编码标准既能与UCS(Unicode)接轨,又能保护已有中文信息资源
18.若波形声音未进行压缩时的码率为64kb/s,已知取样频率为8kHz,量化位数为8,那么它的声道数是
A.1 B.2 C.4 D.8
19.从信息处理的深度来区分信息系统,可分为业务处理系统、信息检索系统和信息分析系统等。在下列几种信息系统中,不属于业务处理系统的是 19 。
A.DSS B.CAI C.CAM D.OA
20.在下列有关信息系统开发、管理及其数据库设计的叙述中,错误的是 20 。
A.常见的信息系统开发方法可分为结构化生命周期方法、原型法、面向对象方法和CASE方法等
B.在系统分析中常常使用结构化分析方法,并用数据流程图和数据字典来表示数据和处理过程的关系
C.系统设计分为概念结构设计、逻辑结构设计和物理结构设计,一般见E-R模型作为描述逻辑结构的工具
D.从信息系统开发过程来看,程序编码、编译、连接、测试等属于系统实施阶段的工作
第二部分 C程序设计
21.以下定义和声明中,语法均有错误的是____(21)_________
①int j(int x){}②int f(int f){} ③int 2x=1; ④struet for{int x;};
A.②③ B.③④ C.①④ D.①②③④
22.设有定义和声明如下:
#define d 2
int x=5;float Y =3.83;char c='d';
以下表示式中有语法错误的是_(22)______
A.x++ B.y++ C.c++ D.d++
23.以下选项中,不能表示函数 功能的表示式是___(23)______。
A.s=(X>0)?1:(X<0)?-1:0 B.s=X<0?-1:(X>0?1:0)
C.s=X<=0?-1:(X==0?0:1) D.s=x>0?1:x==0?0:-1
24.以下语句中有语法错误的是____(24)______ 。
A.printf("%d",0e); B.printf("%f",0e2); C.printf("%d",Ox2); D.printf("%s","0x2");
25.以下函数定义中正确的是___(25)_________ 。
A.double fun(double x,double y){} B.double fun(double x;double Y){}
C.double fun(double x,double Y);{} D.double fun(double X,Y){}
26.若需要经过调用f函数得到一个数的平方值,以下f函数定义中不能实现该功能的是_____(26)______ 。
A.void f(double *a){*a=(*a)*(*a);} B.void f(double a,double *b){*b=a*a;}
C.void f(double a,double b){b=a*a;} D.double f(double a){return a*a;}
27.设有声明"int P[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.已知有声明"char a[]="It is mine",*p="It is mine";",下列叙述中错误的是28 。
A.strcpy(a,"yes")和strcpy(p,"yes")都是正确的 B.a="yes"和p="yes"都是正确的
C.*a等于*p D.sizeof(a)不等于sizeof(p)
29.已知有声明"int a[3][3]={0},*p1=a[1],(*p2)[3]=a;",以下表示式中与"a[1][1]=1"不等价的表示式是29。
A.*(p1+1)=1 B.p1[1][1]=1 C.*(*(p2+1)+1)=1 D.p2[1][1]=1
30.设有结构定义及变量声明如下:
struct product
{char code[5];
float price;
}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.若有声明"int x;"且sizeof(x)的值为2,则当x值为( 2 )时"x+1>x"为假。
3.若有声明"float y=3.14619;int x;",则计算表示式"x=y*100+0.5,Y=x/100.0"后y
的值是(3) 。
4.执行以下程序段中的语句"k=M*M+1"后k的值是(4)
#define N 2
#define M N+1
k=M*M+1:
●阅读程序
5.以下程序运行时输出结果是(5)
#include<stdio.h>
void main()
{double x[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>
void main()
{ int k=5,n=0;
while(k>0)
{ switch(k)
{ case 1:
case 3:n+=1;k--;break"
default:n=0;k--;
case 2:
case 4: n+=2;k--;break;
}
}
printf("%3d",n);
}
}
7.以下程序运行时输出结果是(7) 。
#include<stdio.h>
void change(int x,int Y,int *z)
{ int t;
t=x;x=y;y=*z;*z=t;
}
void main()
{ int x=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>
int f(int x,int y)
{retum x+y; }
void main()
{double a=5.5,b=2.5;
printf("%d",f(a,b));
}
9.以下程序运行时输出结果中第-行是 (9) ,第三行是(10) 。
#include<stdio.h>
define N 5
void main()
{ static char a[N][N];
int i,j,t,start=0,end=N-1;
char str[]="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>
void fun(int x,int P[],int *n)
{ int i,j=O;
for(i=1;i<=x/2;i++)
if(x%i==0)p[j++]=i;
*n=j:
}
void main()
{int x,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>
int count(char s[])
{ int i=0;
if(s[i]=='\0') return 0;
while(isalpha(s[i]))i++;
while(!isalpha(s[i])&&s[i]!='\O')i++;
return 1+count(&s[i]);
}
void main()
{char line[]="one world,one dream.";
printf("%d",count(line));
} .
12.以下程序运行时输出结果中第一行是 (14) ,第二行是(15)
#include<stdio.h>
int fun(char *a,char *b)
{int m=0,n=0:
while(*(a+m)!='\0')m++;
while(b[n])
{ *(a+m)=b[n];m++;n++; }
*(a+m)='\0';
return m;
}
void main()
{char s1[20]="yes",s2[5]="no";
printf("%d\n",fun(s1,s2));
puts(s1);
}
13.以下程序运行时输出结果中第-行是 (16) ,第二行是 (17) ,第三行是( 18 )
#include<stdio.h>
typedef struct{int x;int y;}S;
void fun(S pp[],int n)
{int i,j,k;S t;
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;}
}
}
void main()
{S a[5]={{3,2},{3,1},{1,2},{2,4},{2,3}};
int i,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>
int gcd(int a,int b) i
{int r;
while(_____(19)_______)
{r=a%b;a=b;(_____20_____);}
return a;
}
void main()
{int x,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中的字符串为""、p2中的字符串为"",调用add函数后p3得到的是以字符串表示的这两个整数相加的结果""。试完善程序以达到要求的功能。
#include "stdio.h"
#include "string.h"
void add(char a[],char b[],char c[],__(23)____)
{int i,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';
}
}
void main()
{char p1[80]="",pz[80]="",p3[80];
int i,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(char a[][20], int n)创立-个包含n个结点的单向链表,结点数据来自a指向的数组中存储的n个单词(字符串)。函数void count(WORD *h)统计h指向的单向链表中不同单词各自出现的次数,将统计结果保存到局部数组c中并输出。程序运行时输出结果为"red:1 green:2 blue:3"试完善程序以达到要求的功能。
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
typedef struct w
{char word[20];
struct w *next:
}WORD;
WORD *create(char a[][20],int n)
{WORD *p1,*p2,*h=0;int i;
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)____;
return h;
}
void count(WORD *h)
{ struct
{char word[20];
int num;
}c[6]={0};
int m=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);
}
void main()
{char words[6][20]={"red","green","blue","blue","green","blue"};
WORD *head=0:
head=create(words,6);
count(head);
}
答案
第一部分 计算机基础知识
1.D 2.B 3.B 4.D 5.B 6.D 7.A 8.C 9.D 10.A 11.B 12.A 13.A 14.C 15.C 16.B 17.C 18.A 19.A 20.C
第二部分 C程序设计
21.B 22.D 23.C 24.A 25. A 26.C 27.D 28.B 29.B 30.D
二:填空
(1)main函数定义 (2)32767 (3)3.15 (4) 6 (5)3.3 (6)2 3 5 6 (7)x=18, y=27 , z=18 (8)7
(9)11111 (10)12321 (11)1 3 9 (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)int n (24)c[i]/10 (25)c[i-1] (26)x=y (27)p1->word
(28)0或NULL (29)c[i].min++ (30)h=h->next
秋季C语言笔试试卷
第一部分 计算机基础知识
1.下列关于个人移动通信的叙述中,错误的是____
A.第1代个人移动通信(简称1G)采用的通信技术是数字通信技术
B.当前广泛使用的GSM手机采用的通信技术属于第2代移动通信技术(简称2G)
C.第3代移动通信技术(简称3G)将无线通信与互联网、多媒体通信相结合
D.3G有多个国际技术标准,其中也有中国自主制定的3G技术标准。
2.在下列有关集成电路的叙述中,正确的是2。
A.现代集成电路所使用的半导体材料都是硅 B.所有的集成电路都是数字集成电路
C.Moore定律认为单块集成电路的集成度平均每年翻一番
D.Intel公司微处理器产品Core 2 Duo,其集成度已高达数千万个电子元件
3.与十六进制数AB等值的八进制数是3 。
A. 253 B.254 C.171 D.172
4.在下列有关PC机CPU的叙述中,错误的是4。
A.CPU中包含几十个甚至上百个寄存器,用来临时存放数据、指令和控制信息
B.所有PC机的CPU都具有相同的指令系统,因而PC机可使用相同的软件
C.一台计算机至少包含1个CPU,也能够包含2个、4个、8个甚至更多个CPU
D.Intel公司是国际上研制和生产CPU的主要公司,中国也能生产CPU
5.在下列有关PC机主板上部件的叙述中,错误的是5 。
A.BIOS保存在主板上的一个闪存中,其内容在关机后一般不会改变
B.CMOS中保存有用户设置的开机口令,关机后主板上的电池继续给CMOS供电
C.启动CMOS设置程序能够重新设置CMOS中的数据,该程序是BIOS的组成部分
D.网卡一般集成在主板上,由主板上独立的IC实现其功能,与芯片组无关
6.从PC机存储器的层次结构来看,下列存储器中存取速度最快的是6 。
A.Cache存储器 B.RAM和ROM C.寄存器 D.硬盘和优盘
7.在下列4种PC机常见I/O接口中,数据传输速率最高的是7。
A.PS/2 B.SATA C.IEEE-1394b D.USB 2.0
8.在下列有关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.机器语言和汇编语言与特定的计算机类型有关,取决于CPU
D.当前PC机只能使用Windows系列操作系统,均不能使用UNIX和Linux操作系统
11.在下列常见的PC机软件中,编辑的文档(内容)能直接保存为图片类型(例如JPEG文件类型)的是11 。
A.Microsoft Word B.Microsoft Excel C.Microsoft PowerPoint D.Microsoft FrontPage
12.在下列关于以太网(局域网)的叙述中,错误的是12。
A.在共享式以太网中,任何时间只允许一对计算机进行通信
B.在交换式以太网中,每台计算机均独享相同的带宽,其带宽仅由交换机决定
C.无论是共享式以太网还是交换式以太网,网络中的所有计算机都要安装以太网网卡
D.无论是共享式以太网还是交换式以太网,它们的数据帧和MAC地址格式均相同
13.连接在因特网上的每一台主机都有一个IP地址。下面不能作为IP地址的是13 。
A.211.256.49.68 B.21.18.33.48 C.120.34.0.18 D.37.251.68.0
14.为了将异构的计算机网络互相连接起来,必须使用的网络设备是14 。
A.调制解调器 B.以太网集线器 c.以太网交换机 D.路由器
15.下列网络协议中,与发送电子邮件有关的是15 。
A.Http B.FTP C.SMTP D.TELNET
16.在下列有关字符集及其编码的叙述中,错误的是16 。
A.基本的ASCII字符集共有128个字符,每个字符使用7个二进位进行编码
B.GB2312字符集中收录了6千多个汉字,每个字符在机内一般使用双字节编码
C.GBK字符集中的字符也采用双字节编码,且该字符集收录了部分繁体汉字
D.GB18030字符集中所有的字符均采用4字节编码,因此该字符集的代码空间很大
17.当前数码相机拍摄的照片在保存时一般采用的文件类型是17 。
A.BMP B.GIF C.JPEG D.TIF
18.MP3是数字波形声音的一种压缩编码文件格式,它采用的压缩编码标准属于18 。
A.MPEG-1 B.MPEG-2 C.MPEG-4 D.Dolbv AC-3
19.使用Macromedia公司的Flash软件制作的动画是一种矢量图形,在保存为动画文件时其文件扩展名一般为
A.GIF B.SWF C.AVI D.MPG 。
20.在计算机应用中,CAD和CAM是典型的信息系统。它们属于20 。
A.管理业务系统 B.辅助技术系统 C.信息检索系统 D.信息分析系统
第二部分C语言程序设计
一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)
21.以下叙述中正确的是21 。
A.C语言系统以函数为单位编译源程序 B.main函数必须放在程序开始
C.用户定义的函数能够被一个或多个函数调用任意多次 D.在一个函数体内能够定义另外一个函数
22.以下选项中,不能用作c语言标识符的是 22
A.print B.FOR C.&a D._00
23.已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是23。
A.printf("%d",32768); B.printf("%ld",32768); C.printf("%f",32768); D.printf("%c",32768);
24.已知有声明"int a=3,b=4,c=5;",以下表示式中值为0的是24 。
A.a&&b B.a<=b C.a||b&&c D.!(!c||1)
25.已知有声明"long x,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.已知有声明"int x,y;",若要求编写一段程序实现"当x大于等于0时y取值1,否则Y取值-1",则以下程序段中错误的是___26___。
展开阅读全文