秋江苏省二级考试C考试试题.docx
- 文档编号:10472901
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:18
- 大小:60.01KB
秋江苏省二级考试C考试试题.docx
《秋江苏省二级考试C考试试题.docx》由会员分享,可在线阅读,更多相关《秋江苏省二级考试C考试试题.docx(18页珍藏版)》请在冰点文库上搜索。
秋江苏省二级考试C考试试题
绝密★启用前
2010年秋
1.微电子技术是信息技术领域中的关键技术,它以集成电路为核心.下列有关集成电路的叙述中,错误的是___
(1)___
A.现代集成电路使用的半导体材料只能是硅(Si),不能使用其它任何半导体材料
B.集成度是指集成电路包含的电子元件数目,可分为SSI、MSI、VLSI等
C.Moore定律指出,单块集成电路的集成度平均18--24个月翻一番
D.我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能
2.数据传输速率是数据通信中重要的性能指标。
Gb/s是数据传输速率的计量单位之一,其正确含义是___
(2)___。
A.每秒兆位B.每秒千兆位C.每秒百兆位D.每秒百万位
3.所谓"变号操作"是指将一个整数变成绝对值相同但符号相反的另一个整数。
假设使用补码表示的8位整数x=10010101,则经过变号操作后结果为___(3)___.
A.01101010B.00010101C.11101010D.01101011
4.下列有关PC机主板的叙述中,错误的是___(4)___。
A.主板的物理尺寸没有标准,各厂家均可自行定义
B.主板上包含芯片组,它是PC机各组成部分相互连接和通信的枢纽
C.主板上包含BIOS和CMOS芯片
D.主板上包含CPU插座、内存条插槽及其它类型的插槽
5.下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,正确的是__(5)____.
A.PC机所采用的CPU都是Intel公司生产的Pentium系列芯片,其它厂商生产的CPU都与之不兼容
B.目前已有双核的微处理器(例如Core2Duo),但还没有四核的微处理器
C.通常来说,DRAM的速度比SRAM的存取速度慢
D.一般来说,一个内存条上仅有一个DRAM或SRAM芯片
6.下列有关PC机I/O总线与I/O接口的叙述中,错误的是__(6)____.
A.目前PC机中协调与管理总线操作的总线控制器包含在主板上的芯片组中
B.总线最重要的性能是数据传输速率,其单位通常为MB/s或GB/s
C.SATA接口的数据传输速率通常低于USB2.0的数据传输速率
D.USB连接器有4个引脚,其中一个引脚连接+5V电源
7.下列有关PC机常用I/O设备的叙述中,错误的是__(7)____。
A.目前台式机键盘通常有一百零几个按键,笔记本电脑的键盘有八十几个按键
B.目前流行的鼠标是光电鼠标,其与主机的接口有PS/2与USB两种
C.宽屏LCD显示器的宽高比为16:
9或16:
10
D.打印速度是打印机的重要性能指标,速度单位通常为dpi
8.下列有关PC机外存储器的叙述中,错误的是___(8)___。
A.目前硬盘的盘片大多为3.5、2.5或1.8英寸,一个硬盘中可有一个或多个盘片
B.目前有些u盘可以模拟硬盘和光盘存储器启动操作系统
C.目前光盘存储器主要分为CD、DVD和BD三种,它们均采用红外激光进行读写
D.目前光驱的速率通常用多少倍速表示
9.下列有关计算机软件的叙述中,错误的是___(9)___.
A.软件一般是指程序及其相关的数据和文档资料
B.从软件的用途考虑,软件可以分为系统软件和应用软件,主要的系统软件有操作系统、语言处理系统和数据库管理系统等。
C.从软件的权益来考虑,软件可以分为商品软件、共享软件和自由软件,共享软件和自由软件均为无版权的免费软件
D.Linux是一种系统软件、自由软件
10.到目前以止,Windows系列操作系统已推出多个版本。
在下列版本中,最新的Windows
版本是___(10)___
A.Windows7B.WindowsMeC.WindowsXPD.WindowsVista
11.下列有关WindowsXP操作系统功能的叙述中,错误的是___(11)___.
A.系统通过"时间片”轮转策略支持多任务处理
B.系统利用SPOOLing技术进行存储管理
C.在设备管理中引入了缓冲技术,以减少I/O操作的等待时间
D.系统支持PnP功能,并按ACPI标准进行电源管理
12.在因特网中某台主机的IP地址为20.25.30.8,子网掩码为255.255.255.0,那么该主机
的主机号为___(12)___。
A.20B.25C.30D.8
13.局域网中需要传输的数据必须预先组织成若干数据帧,每一数据帧的格式如下图所示:
上图中最末部分"?
”表示的是___(13)___。
发送计算机地址
目的计算机地址
编号
有效载荷
?
A.协议信息B.校验信息C.冗余信息D.结束标志
14.目前网络用户接入因特网有多种方式,例如ADSL、HFC等。
通过HFC接入因特网时采用的网络是___(14)____。
A.有线电话网B.有线电视网C.无线局域网D.移动电话网
15.下列网络协议中,直接与电子邮件传输相关的网络协议是___(15)___。
A.FTPB.SMTPC.TELNETD.NNTP
16.下列有关计算机中文本与文本处理的叙述中,错误的是___(16)____
A.西文字符主要是采用ASCII字符集,基本ASCII字符集共有256个字符
B.我国最早采用的汉字字符集是GB2312,包含6000多个汉字和若干个非汉字字符
C.无论采用何种方式输入汉字,在计算机中保存时均采用统一的汉字内码
D.简单文本和丰富格式文本中字符信息的表示相同,区别在于格式信息的表示
17.彩色图像所使用的颜色描述方法称为颜色模型(即颜色空间)。
下列四种颜色模型中,
彩色喷墨打印机使用的是___(17)___.
A.RGBB.HSBC.YUVD.CMYK
18.文件的扩展名用于标记文件的类型,用户应该尽可能多地知晓各类文件的扩展名,下
列文件中,属于数字声音的文件是______
A.ABC.RM
B.ABC.WMA
C.ABC.MKV
D.ABC.SWF
19.信息系统软件开发瀑布模型包括系统规划、系统分析、系统设计、系统实施和系统维
护等几个阶段。
下面各项工作中,属于系统实施阶段的是___(19)___
A.问题定义
B.可行性研究
C.系统测试
D.绘制E-R图
20.下列有关MicmsoftWord2003和MicrosoftExcel2003软件的叙述中,错误的是___(20)___
A.利用Word软件编辑文档,可以将其保存为TXT、DOC、RTF和HTM格式文件
B.利用Word软件编辑文档时,可以统计选定文本的字符数
C.在Excel软件中,可以打开(导入)TXT、DBF、HTML格式的文件(数据)
D.Excel文件可以设置打开权限密码,但不可以单独设置修改权限密码
一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)
21.以下关于C源程序的叙述中正确的是___(21)___。
A.注释只能出现在程序的开始位置或语句后面
B.一行中不能写多条语句
C.一条语句可以分写在多行中
D.一个源程序只能保存在一个文件中
22.C源程序中的命令#include与#define是在___(22)___阶段被处理的。
A.预处理B.编译C.连接D.执行
23.以下语句中有语法错误的是___(23)___
A.printf("%d",0xAB);B.printf("%f",3.45E2.5);
C.printf("%d",037);D.printf("%c",'\\');
24.已有声明"intx=5,y;floatz=2;",以下表达式中语法正确的是_____(24)____。
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中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是______(25)_____
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语言表达式是___(26)___。
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语句的叙述中正确的是___(27)______。
A.break和continue语句都可以出现在switch语句中
B.break和continue语句都可以出现在循环语句的循环体中
C.在循环语句和switch语句之外允许出现break和continue语句
D.执行循环语句中的break或continue语句都将立即终止循环
28.若有一函数定义为"intf(intx,int*y){returnx/*y;}",声明该函数的正确形式是__(28)___.
A.voidf(int,int);B.int*f(int,int*);
C.intf(int*,int*);D.intf(int,int*);
29.已知有声明"chara[]="program",*p=a+1;",则执行以下语句不会输出字符a的是_____(29)______.
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成员中,则能实现这一功能的程序段是____(30)____。
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;
二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共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
voidcomputer(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("devideerror");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},f1=0,f2=1,temp;
for(i=1;i for(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;j printf("%5d",a[i][j]); printf("\n"); } } 13.以下程序运行时输出到屏幕的结果中第一行是___(17)___,第二行是___(18)___。 #include typedefstruct {intdm;/*产品代码*/ char*mc/*产品名称*/ longje/*金额*/ }PRO; voidmain() {inti,j,k,n=3; PROsell[10]={{101,"apple",100},{301,"orange",100},{101,"apple",200}},xy; for(i=0;i {k=j; for(j=i+1;j if(sell[k].dm k=j if(k! =i) {xy=sell[i]; sell[i]=sell[k]; sell[k]=xy; } } for(i=0;i printf("%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用下列公式计算。 请完善程序以达到要求的功能。 算法提示: #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; } voidmain() {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;i if(___________)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(_________) c[j++]=a[i]; for(i=0;________;i++) printf("%d\t",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; returny; } voidmonth_day(intyear,intyearday,int*month,int*day) {intk,p; inttab[2][13]{{0,31,28,31,30,31,30,31,30,31,30,31,30,31}, {0,31,29,31,30,31,30,31,30,31,30,31,30,31}}; p=leap(year); for(k=1;yearday>_________;k++) yearday=yearday-tab[p][k]; *month=k; *day=____________; } voidmain() {intyear,days,month,day; printf("Inputyearanddays! \n"); scanf("%d,%d",&year,&days); if(leap(year)==1&&days<=366||leap(year)==0&&days<=365) {month_day(year,days,__________); printf("\n%d%d%d",year,month,day); } elseputs("daysiswrong! "); } 17.本题所列Bind函数的功能是实现两个多项式的合并操作,试完善Bind函数以实现要求的功能。 算法提示: Bind函数所在的程序采用单向链表存储多项式,多项式的每一项分别存储在链表的一个结点中。 结点的数据结构如下: typedefstructnode {inta;/*系数*/ intn;/*指数*/ structnode*next; }NODE; 函数NODE*Bind(NODE*h1,NODE*h2)的形式参数h1和h2粉笔是两个按“指数”值降序排列的有序单向链表的头指针(简称这两个链表为h1链表和h2链表),h3是一个新建的按“指数”值降序排列的有序单向链表头指针(简称h3链表)。 Bind函数完成h1链表与h2链表中分别存储的两个多项式的合并操作,合并后的多项式保存到h3链表中。 函数返回h3链表头指针的值。 算法提示: 若h1指向结点与h2指向结点的“指数”值相同,则将这两个结点的“系数”值相加并取两结点中任一个结点的指数值,结果保存到一个新申请的结点中;如果新结点的“系数”值不为零则将新结点添加到h3链表的尾部,否则放弃新结点;分别修改h1和h2使其指向所在链表下一个结点。 若h1指向结点与h2指向结点的“指数”值不相同,则将其中“指数”值较大结点的“系数”和“指数”值复制到一个新申请的结点中,将新结点添加到h3链表尾部,修改被复制结点的链表头指针使其指向下一个结点。 重复以上操作直到处理完h1链表和h2链表中全部结点为止。 例如 h1链表存储多项式 ,h2链表中存储的多项式为: ,保存到h3链表中的多项式为 #include NODE*Bind(NODE*h1,NODE*h2) {NODE*h3=NULL,*p1,*p2; while(___________) {p1=(NODE*)malloc(sizeof(NODE)); if(__________&&h1&&h2) {p1->a=h1->a+h2->a; p1->n=h1->n; if(p1->a==0){free(p1);p1=0;} h1=h1->next; h2=h2->next; } else {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省 二级 考试 试题