秋季江苏省计算机二级C语言真题笔试.docx
《秋季江苏省计算机二级C语言真题笔试.docx》由会员分享,可在线阅读,更多相关《秋季江苏省计算机二级C语言真题笔试.docx(16页珍藏版)》请在冰豆网上搜索。
![秋季江苏省计算机二级C语言真题笔试.docx](https://file1.bdocx.com/fileroot1/2023-2/3/14d9644e-0245-4b43-95a9-5e75e50a1c8f/14d9644e-0245-4b43-95a9-5e75e50a1c8f1.gif)
秋季江苏省计算机二级C语言真题笔试
2010年(秋季)江苏省计算机等级考试二级笔试试卷
一、选择题(
(1)~(30)每小题1分,共30分)
1.微电子技术是信息技术领域中的关键技术,它以集成电路为核心.下列有关集成电路的敘述中,错误的是
A.现代集成电路使用的半导体材料只能是硅(si),不能使用其它任何半导体材料
B.集成度是指集成电路包含的电子元件数目,可分为SSI、MSI、VLSI等
C.moore定律指出,单块集成电路的集成度平均18~24个月翻一番
D.我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能
2.数据传输速率是数据通信中重要的性能指标。
Gb/s是数据传输速率的计量单位之一,其正确含义是
A.每秒兆位B.每秒千兆位C.每秒百兆位D.每秒百万位
3,所谓"变号操作"是指格一个整数变成绝对值相同但符号相反的另一个整数。
假设使用补码表示的8位整数x=10010101,则经过变号操作后结果为
A.01101010B.00010101C.11101010D.01101011
4.下列有关PC机主拔的敘述中,错误的是
A.主板的物理尺寸没有标准,各厂家均可自行定义
B.主板上包含芯片组,它是PC机各组成部分相互连接和通信的枢纽
C.主拔上包含BIOS和CMOS芯片
D.主板上包含CPU插座、内存条插槽及其他类型的插槽
5.下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,正确的是
A.PC机所采用的CPU都是intel公司生产的pentium系列芯片,其它厂商生产的CPU都与之不兼容
B.目前已有双核的微处理器(例如Core2Duo),但还没有四核的微处理器
C.通常来说,DRAM的速度比SRAM的存取速度慢
D.一般来说,一个内存条上仅有一个DRAM或SRAM芯片
6.下列有关PC机I/O总线与I/O接口的叙述中,错误的是
A.目前PC机中协调与管理总线操作的总线控制器包含在主板上的芯片组中
B.总线最重要的性能是数据传输率,其单位通常为MB/s或GB/s
C.SATA接口的数据传输速率通常低于USB2.0的数据传输速率
D.UCB连接器有4个引脚,其中一个脚引连接+5V电源
7.下列有关PC机常用I/0设备的叙述中,错误的是
A.目前台式机键盘通常有一百零几个按键,笔记本电脑的键盘有八十几个按键
B.目前流行的鼠标是光电鼠标,其与主机的接口有PS/2与USB两种
C.宽屏LCD显示器的宽高比为16:
9或16:
10
D.打印速度是打印机的重要性能指标,速度单位通常为dpi
8.下列有关PC机外存储器的叙述中,错误的是
A.目前的硬盘片大多为35、25或1.8英寸,一个硬盘中可有一个或多个盘片
B.目前有些U盘可以模拟硬盘和光盘存储器启动操作系统
C.目前光盘存储器主要分为CD、DVD和BD三种,它们均采用红外激光进行读写
D.目前光驱的速率通常用多少倍速表示
9.下列有关计算机软件的叙述中,错误的是
A.软件一般是指程序及其相关的数据和文档资料
B.从软件的用途考虑,软件可分为系统软件和应用软件,主要的系统软件有操作系统、语言处理系统和数据库处理系统等。
C.从软件的权益来考虑,软件可以分为商品软件、共享软件和自由软件,共享软件和自由软件均为无版权
的免费软件
D.linux是一种系统软件、自由软件
10.到目前以止,windows系列操作系统已推出多个版本。
在下列版本中,最新的windows版本
是
A.Windows7B.windowsMeC.windowsXPD.windowsVista
11.下列有关windowsXP操作系统功能的叙述中,错误的是
A.系统通过"时间片"轮转策略支持多任务处理
B.系统利用SPOOLing技术进行存储管理
C.在设备管理中引入了缓冲技术,以减少I/O操作的等待时间
D.系统支持PnP功能,并按ACPI标准进行电源管理
12.在因特网中某台主机的IP地址为20.25.30.8,子网掩码为255.255.255.0,那么该主机的主机号为
A.20B.25C.30D.8^
13.局域网中需要传输的数据必须预先组织成若干数据帧,每一数据帧的格式如下图所示:
上图中最末部分"?
"表示的是
发送计算机地址
目的计茸机地址
编号
有效载荷
?
A.协议信息B.校验信息C.冗余信息D.结束标志
14.目前网络用户接入因特网有多种方式,例如ADSL、HFC等。
通过HFC接入因特网时采用的网络是
A.有线电话网B.有线电视网C.无线局域网D.移动电话网
15.下列网络协议中,直接与电子邮件传输相关的网络协是
A.FTPB.SMTPC.TELNETD.NNTP
16.下列有关计算机中文本与文本处理的叙述中,错误的是
A.西文字符主要是采用ASCII字符集,基本ASCII字符集共有256个字符
B.我国最早采用的汉字字符集GB2312,包含6000多个汉字和若干个非汉字字符
C.无论采用何种方式输入汉字,在计算机中保存时均采用统一的汉字内码
D.简单文本和丰富格式文本中字符信息的表示相同,区别在于格式信息的表示
17.彩色图像所使用的颜色描述方法称为颜色模型(即颜色空间〉。
下列四种颜色模型中,"彩色喷墨打印机使用的是
A.RGBB.HSBC.YUVD.CMYK
18.文件的扩展名用于标记文件的类型,用户应该尽可能多地知晓各类文件的扩展名,下列文件中,属于数字声音的文件是
A.ABC.RMB.ABC.WMAC.ABC.MKVD.ABC.SWF
19.信息系统软件开发瀑布模型包括系统规划、系统分析、系统设计、系统实施和系统维护等几个阶段。
下面各项工作中,属于系统实施阶段的是
A.问题定义B.可行性研究C.系统測试D.绘制E-R图
20.下列有关micmsoftword2003和microsoftexcel2003软件的叙述中,错误的是
A.利用word软件编辑文档,可以将其保存为TXT、DOC、RTF和HTM格式文件
B.利用word软件编辑文档时,可以统计选定文本的字符数
C.在excel软件中,可以打开(导入)TXT、BDF、HTML格式的文件(数据)
D.excel文件可以设罝打开权限密码,但不可以单独设置修改权限密码
21.以下关于C源程序的叙述中正确的是__。
A.注释只能出现在程序的开始位置或语句后面
B.一行中不能写多条语句
C.一条语句可以分写在多行中
D.一个源程序只能保存在一个文件中
22.C源程序中的命令#include与#define是在______阶段被处理的。
A.预处理B.编译C.连接D.执行
23.以下语句中有语法错误的是______
A.printf("%d",0xAB);B.printf("%f",3.45E2.5);
C.printf("%d",037);D.printf("%c",'\\');
24.已有声明"intx=5,y;floatz=2;",以下表达式中语法正确的是_______。
A.y=x%zB.x>0?
y=x:
y=-xC.y=x/2=zD.y=x=z/2
25.已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码.若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是_________
A.c=tolower(c)B.c=c+32C.c=c-'A'+'a'D.c=(c+'A')&-'a'
26.一元二次方程ax+bx+c=0有两个相异实根的条件是a≠0且b-4ac>0,以下选项中能正确表示该条件的C语言表达式是______。
A.a!
=0,b*b-4*a*c>0B.a!
=0||b*b-4*a*c>0
C.a&&b*b-4*a*c>0D.!
a&&b*b-4*a*c>0
27.以下关于break和continue语句的叙述中正确的是_________。
A.break和continue语句都可以出现在switch语句中
B.break和continue语句都可以出现在循环语句的循环体中
C.在循环语句和switch语句之外允许出现break和continue语句
D.执行循环语句中的break或continue语句都将立即终止循环
28.若有一函数定义为"intf(intx,int*y){returnx/*y;}",声明该函数的正确形式是____.
A.voidf(int,int);B.int*f(int,int*);
C.intf(int*,int*);D.intf(int,int*);
29.已知有声明"chara[]="program",*p=a+1;",则执行以下语句不会输出字符a的是
_________.
A.putchar(*p+4);B.putchar(*(p+4));
C.putchar(a[sizeof(a)-3]);D.putchar(*(a+5));
30.已有定义和声明:
structstudent
{intno;
charname[20];
struct{intyear,month,day;}birth;
}s;
若要求将日期"1989年11月12日"保存到变量s的birth成员中,则能实现这一功能的程序段是
______。
A.year=1989;month=11;day=12;
B.s.year=1989;s.month=11;s.day=12;
C.birth.year=1989;birth.month=11;birth.,day=12;
D.s.birth.year=1989;s.birth.month=11;s.birth.day=12;
二、填空题(
(1)~(16)每空1分,共30分)
1.若有声明"doublen;",则数学公式""对应的C语言表达式正确形式是__【1】___。
2.已知有声明"charch;inta;",执行语句"scanf("%c%d",&ch,&a);"时如果从键盘输入的数据是"123",则变量a得到的值是__【2】___。
3.若有声明"inta=0,b=1,c=2;",执行语句"if(a>0&&++b>0)c++;elsec--;"后,变量a、b、c的值分别___【3】___。
4.若有以下宏定义:
#defineM(a,b)-a/b
则执行语句"printf("%d",M(4+3,2+1));"后输出结果为__【4】___。
5.声明"FILE*p;"中的类型标识符"FILE"是在头文件__【5】__中定义的。
6.以下程序运行时输出到屏幕的结果为___【6】__。
#include
enum{A,B,C,D}x;
voidmain()
{chars[]="your";
for(x=B;x<=D;x++)
putchar(s[x]);
}
7.以下程序运行时输出到屏幕的结果是【7】。
#include
voidmain()
{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j;
for(i=0;i<12;i++)
{j=s[i];
c[j]++;
}
for(i=1;i<5;i++)
printf("%d",c[i]);
}
8.以下程序运行时输出到屏幕的结果是___【8】___。
#include
intfun(intx)
{staticintc,y;
if(c==0)y=1;
elsey=y+x;
c++;
returny;
}
voidmain()
{inti;
for(i=0;i<2;i++)
printf("%d",fun
(2));
}
9.以下程序运行时输出到屏幕的结果中第一行是_【9】__,第二行是__【10】__。
#include
voidfun(int*a,intb)
{while(b>0)
{*a+=b;
b--;
}
}
voidmain()
{intx=0,y=3;
fun(&x,y);
printf("%d\n%d\n",x,y);
}
10.以下程序运行时输出到屏幕的结果是_【11】__
#include
intf(intx)
{if(x==0||x==1)return3;
returnx*x-f(x-2);
}
voidmain()
{printf("%d\n",f(3));}
11.以下程序运行时输出到屏冪的结果中第一行是【12】,第二行是【13】。
#include
#include
Voidcompute(char*s)
{intt,r,
Charop;
For(r=0;isdigit(*s);s++)/*isdigit(*s)判断S指向的字符是否为数字字符*/
R=r*10+*s-‘0’;
While(*s)
{op=*s++;
For(t=0;isdigit(*s);s++)
T=t*10+*s-‘0’;
Switch(op)
{case’+’:
r=r+t;break;
Case’-’:
r=r-t;break;
Case’*’:
r=r*t;break;
Case’/’:
if(t)r=r/t;else{puts(“devideenor”);return;}
}
}
Printf(“%d\n”,r);
}
Voidmain()
{compute(“12+6-19+2”);
Compute(“12/6*19/2”);
}
12.以下程序运行时输出到屛幕的结果中第一行是【14】第二行是【15】.第三行是【16】
算法提示:
将Fibonacci数列(1,1,2,3,5,8,13……)前6个数填入a数组
#include
#defineN3
Voidmain()
{intI,j,a[N][N]={1},fl=0,f2=1,temp;
For(i=1;iFor(j=0;j<=i;j++)
{if(j<=i)
{a[i][j]=f1+f2;
Temp=f1;
F1=f2;
F2=f1+temp
}
}
For(i=0;i{for(j=0;jPrintf(“%5d”,a[i][j]);
}
}
13.以下程序运行时输出到屏幕的结果中第一行是【17】第二行是【18】
#include
Typedefstruct
{intdm;/*产品代码*/
Char*mc;/*产品名称*/
Longje;/*金额*/
}PRO;
Voidmain()
{intIj,k,n=3;
PROsell[10]={{101,”apple”,100},{301,”orange”,100},{101,”apple”,200}},xy;
For(i=0;i{k=I;
For(j=i+1;jIf(sell[k].dmK=j;
If(k!
=i)
{xy=sell[i];
Sell[i]=sell[k];
Sell[k]=xy;
}
}
For(i=0;iPrintf(“%15d%10s%5d\n”,sell[i].dm_sell[i].mc.sell[i].je);
}
14.以下程序中函数floatfun(intm)的功能是计算s=s1+s2+s3+s4的值,其中s1、s2、s3、s4用下列公式计算。
诸完善程序以达到要求的功能。
算法提示
S=1+1+1+’’’’’’’’’’
#include
Floatfun(intm)
{intI,n;
Floats=0,t;
For(n=1;n<=m;n++)
{t=【19】,
For(i=1;i<5;i++)
{t=【20】;
S+=t;
}
}
Returns;
}
Main()
{printf(“%f”,fun(50));}
15.以下程序格同时出现在数组a和b中的数据复制到数组c中。
例如,如果数组a中的数据是{8,5,7,1,6,4,9},数组b中的数据是{2,9,3,7,4,5,10},则数组c中的结果数据为{5,7,4,9},以下程序中,in函数判断X中存储的整数是否在a指向的数组前n个元索中出现,如果出现则函数返回1,否则返回0。
请完善程序以达到要求的功能。
#include
Intin(inta[],intn,intx)
{intI;
For(i=0;iIf(【21】)return1;
Return0;
}
Voidmain()
{inta[7]={8,5,7,1,6,4,9},b[7]={2,9,3,7,4,5,10},c[7]={0},I,j=0;
For(i=0;i<7;i++)
If(【22】)
C[j++]=a[i];
For(i=0;【23】;i++)
Printf(“%d\n”,c[i]);
}
16.以下程序根据输入的年份及该年中的第几天,计茸并输出这一天的“年/月/日”。
例如若输入"2010,100"则输出"2010/4/10(表示2010年的第100天是4月10日)"。
试完善程序以达到要求的功能。
提示:
能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份是平年。
#include
Intleap(intyear)
{inty;
Y=year%4==0&&year%100!
=0‖year%400==0;
Ruturny;
}
Voidmonthday(intyear,intyearday,int*month,int*day)
{intk,p;
Inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
P=leap(year);
For(k=1;yearday;【24】;k++)
Yearday=yearday-tab[p][k];
*month=k;
*day=【25】;
}
Voidmain()
{intyear,days,month,day;
Printf(“inputyearanddays!
\n”);
Scanf(“%d,%d”,&year,&days);
If(leap(year)==1&&days<=366‖leap(year)==0&&days<=365)
{monthday(years,days,【26】);
Printf(“\n%d%d%d”,year,month,day);
}
elseputs(“daysiswrong!
”);
}
2010年(秋季)江苏省计算机等级考试二级笔试试卷
C语言程序设计
【参考答案】
一、选择题答案
1.A2.B3.D4.A5.C
6.C7.D8.C9.C10.A
11.B12.D13.B14.B15.B
16.A17.D18.B19.C20.D
21.C22.A23.B24.D25.D
26.C27.B28.D29.A30.D
二、填空题答案
(1)1/3.0*n(4*n*n-1)
(2)23
(3)011(4)-2
(5)stdio.h(6)our
(7)4332(8)13
(9)6(10)3
(11)6(12)1
(13)19(14)100
(15)120(16)358
(17)301orange100(18)101apple200
(19)1(20)t*1/h
(21)a[i]==x(22)in(a,7,b[i])
(23)i(25)yearday(26)&month,&day