全国计算机等级考试二级C语言真题4月
(9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。 A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对
(10)用树形结构表示实体之间联系的模型是( )。 A)关系模型 B)网状模型 C)层次模型 D)以上三个都是
(6)下列对于软件测试的描述中正确的是( )。 A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能多地发现程序中的错误 D)软件测试的目的是使程序符合结构化原则
(7)为了使模块尽可能独立,要求( )。 A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(22)若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 a<b?a:c<d?c:d 的值是( )。 A)1 B)2 C)3 D)4
(23)下列程序的输出结果是( )。 main( ) { int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i+ +<7) if(p[i]%2) j+ =p[i]; printf("%d\n",j); } A)42 B)45 C)56 D)60
(24)下列程序的输出结果是( )。 main( ) { char a[7]="a0\0a0\ 0"; int i,j;
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
(18)有定义语句:int b; char c[10];,则正确的输入语句是( )。 A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c); C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);
(19)有下列程序: main( ) { int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789, 则正确的输入是( )。 A)m=123 n=456 p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 45是( )。
A)Main B)_0
C)_int
D)sizeof
(15)下列选项中,不能作为合法常量的是( )。 A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
(16)数字字符 0 的 ASCII 值为 48,运行下列程序的输出结果是( )。 main( ) { char a='1',b='2'; printf("%c,", b+ +); printf("%d\n", b-a) } A)3,2 B)50,2 C)2,2 D)2,50
(8)下列描述中正确的是( )。 A)程序就是软件 B)软件开发不受计算机系统的限制 C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
(17)下列程序的输出结果是( )。 main( ) { int m=12, n=34; printf("%d%d", m+ +,+ +n); printf("%d%d\n",n+ +,+ +m); } A)12353514 B)12353513 C)12343514 D)12343513
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
1994年4月全国计算机等级考试二级C语言笔试试题及答案
1994年4月全国计算机等级考试二级C语言笔试试题及答案一、选择题(1-30每小题1分,31-45每小题2分,共60分)下列各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1) 二进制数101110转换为等值的八进制数是()。
A.45 B.56 C.67 D.78(2) CPU是由()组成的。
A.内存储器和控制器 B.控制器和运算器C.内存储器和运算器 D.内存储器、控制器和运算器(3) DOS是为IBM PC系列微型计算机及其兼容机所配置的()磁盘操作系统。
A.多用户多任务 B.单用户单任务C.分时 D.分布式(4) 启动MS-DOS操作系统后,()已驻留内存。
A. B.C. D.CCCC.EXE(5) 设驱动器B中软盘上的目录结构如下图所示。
设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是()。
A.COPY PROG.BAS B: B.COPY A:PROG.BAS B:\C.COPY A:\PROG.BAS B:\F3 D.COPY A:PROG.BAS B:\F3\(6) 下面四组DOS命令中,意义完全相同的一组是()。
A.COPY和DISKCOPY B.COMP和DISKCOMPC.DEL和RD D.RENAME和REN(7) 防止软盘感染病毒的有效方法是()。
A.不要把软盘和有毒软盘放在一起B.在写保护缺口上贴上胶条C.保持机房清洁 D.定期对软盘格式化(8) 双面高密度5英寸软磁盘的容量是()。
A.360KB B.720KB C.1.2MB D.1.44MB(9) 在FOXBASE中,可以使用的两类变量是()。
A.内存变量和字段变量 B.全局变量和局部变量C.字段变量和简单变量 D.内存变量和自动变量(10) 建立一个新子目录的DOS命令是()。
A.CREATE B.RD C.MD D.CD(11) 在C语言中,如果下面的变量都是int类型,则输出的结果是()。
全国计算机等级考试二级C语言真题2004年4月_真题-无答案
全国计算机等级考试二级C语言真题2004年4月(总分69,考试时间90分钟)一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 1MB等于( )A. 1000字节B. 1024字节C. 1000×1000字节D. 1024×1024字节2. 与十六进制数200等值得十进制数为( )A. 256B. 512C. 1024D. 20483. 所谓“裸机”是指( )A. 单片机B. 单板机C. 不装备任何软件的计算机D. 只装备操作系统的计算机4. 能将高级语言编写的源程序转换为目标程序的是( )A. 链接程序B. 解释程序C. 编译程序D. 编辑程序5. 在64为计算机中,一个字长所占字节数为( )A. 64B. 8C. 4D. 16. 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序( )A. 继续在后台运行B. 继续在前台运行C. 终止运行D. 暂停运行7. 在Windows环境下,能实现窗口移动的操作是( )A. 用鼠标拖动窗口中的任何部位B. 用鼠标拖动窗口的边框C. 用鼠标拖动窗口的控制按钮D. 用鼠标拖动窗口的标题栏。
8. 在Windows环境下,PrintScreen键的作用是( )A. 打印当前窗口的内容B. 打印屏幕内容C. 复制屏幕到剪贴板D. 复制当前窗口到剪贴板9. Internet的通信协议是( )A. TCP/IPB. BBSC. WWWD. FTP10. 下列叙述中正确的是( )A. 计算机病毒只感染可执行文件B. 计算机病毒只感染文本文件C. 计算机病毒只能通过软件复制的方式进行传播D. 计算机病毒可以通过网络或读写磁盘方式进行传播11. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性12. 以下叙述中正确的是( )A. C语言的源程序不必通过编译就可以直接运行B. C语言中的每条可执行语句最终都将被转换成二进制的机器指令C. C源程序经编译形成的二进制代码可以直接运行D. C语言中的函数不可以单独进行编译13. 以下符合C语言语法的实型常量是( )A. 1.2E0B. 3.14.159EC. .5E-3D. E1514. 以下4组用户定义标识符中,全部合法的一组是()A. _main enclude sinB. If -max turboC. txt REAL 3COMD. int k_2 _00115. 若以下选项中的变量已正确定义,则正确的赋值语句是()A. x1=26.8%3B. 1+2=x2C. x3=0x12D. x4=1+2=3;16. 设有以下定义int a=0;double b=1.25;char c=’A’; #define d2则下面语句中错误的是()A. a++;B. b++;C. c++;D. d++;17. 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式1/2(a+b) 计算结果不相符的是()A. (a+*h/2B. (1/2)*(a+*hC. (a+*h*1/2D. h/2*(a+18. 有以下程序main(){{ int x=102,y=012; printf(“%2d,%2d\n”,x,y);}执行后输出结果是()A. 10,01B. 002,12C. 102,10D. 02,1019. 以下4个选项中,不能看作一条语句的是()A. {;}B. a=0,b=0,c=0;C. if(a>0);D. if(b==0) m=1;n=2;20. 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()A. scanf(“%d”,p;B. scanf(“%d”,;C. scanf(“%d”,&p;D. scanf(“%d”,*p;21. 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是()A. if((a>&&(b>) k=1; else k=0;B. if((a>||(b>)k=1else k=0;C. if(a<= k=0; else if(b<=k=1;D. if(a> k=1; else if(b> k=1; else k=0;22. 有以下程序main(){char k; int l;for(i=1;i<3;i++) {scanf(“%c”,&k);switch(k){case ‘0’: printf(“another\n”);case‘1’: printf(“number\n”);}}}程序运行时,从键盘输入:01,程序执行后的输出结果是()A. another numberB. another number anotherC. another number numberD. number number23. 下列程序的输出结果是()main(){int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf(“%d,%d,%d\n”,x,y,z);}A. 3,2,0B. 3,2,-1C. 4,3,-1D. 5,-2,-524. 下列程序的输出结果是main(){int i,s=0;for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);}A. 自然数1~9的累加和B. 自然数1~10的累加和C. 自然数1~9中的奇数之和D. 自然数1~10中的偶数之和25. 有以下程序的输出结果是( )main(){int i,n=0;for(i=2;i<5;i++) { do { if(i%3) continue;n++;} while(!i);n++;} printf(“n=%d\n”,n);}A. n=5B. n=2C. n=3D. n=426. 若程序中定义了以下函数double myadd(double a,double b){ return (a+b);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()A. double myadd(double a,;B. double myadd(double,doubl;C. double myadd(double b,double ;D. double myadd(double x,double ;27. 有以下程序的输出结果是( )char fun(char x , char y){ if(xmain(){int a=’9’,b=’8’,c=’7’;printf(“%c\n”,fun(fun(a,b),fun(b,c))); }A)函数调用出错B)8C)9D)728. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()A. p=1B. *q=2;C. q=p;D. *p=5;29. 有以下程序的输出结果是( )void f(int v , int w){int t;t=v;v=w;w=t;} main(){int x=1,y=3,z=2;if(x>y)f(x,y);else if(y>z) f(y,z);else f(x,z);printf(“%d,%d,%d\n”,x,y,z);}A. 1,2,3B. 3,1,2C. 1,3,2D. 2,3,130. 有以下程序段中b的值是( )int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];A. 5B. 6C. 8D. 931. 有以下程序的输出结果是( )main(){char a[]=”abcdefg”,b[10]=”abcdefg”; printf(“%d %d\n”,sizeof(a),sizeof(b));}A. 7 7B. 8 8C. 8 10D. 10 1032. 有以下程序的输出结果是( )void swap1(int c[]){int t; t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){int t; t=c0;c0=c1;c1=t;}main(){int a[2]={3,5},b[2]={3,5};swap1(a); swap2(b[0],b[1]);printf(“%d %d %d %d\n”,a[0],a[1],b[0],b[1]);}A. 5 3 5 3B. 5 3 3 5C. 3 5 3 5D. 3 5 5 333. 有以下程序的输出结果是( )void sum(int *a){a[0]=a[1];}main() {int aa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--) sp; sum(&aa[i]); printf(“%d\n”,aa[0]);}A. 4B. 3C. 2D. 134. 有以下程序的输出结果是int f(int b[][4]){int i,j,s=0; for(j=0;j2) i=3-j;s+=b[i][j];}return s;}main(){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf(“%d\n”,f(a));}A. 12B. 11C. 18D. 1635. 有以下定义#include <stdio.h>char a[10],*b=a;不能给数组a输入字符串的语句是()A. gets(B. gets(a[0])C. gets(&a[0]);D. gets(;36. 有以下程序main( ){char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4]));}执行后输出结果是()A. 2B. 3C. 4D. 537. 有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0; { int a=5; s+=f(&a); } s+=f(&a); printf(“%d\n”,s);} 执行后输出结果是()A. 10B. 9C. 7D. 838. 有以下程序#define f(x)x*x main(){int i;i=f(4+4)/f(2+2); printf(“%d\n”,i);}执行后输出结果是()A. 28B. 22C. 16D. 439. 设有以下语句typedef struct S{int g;char h;}T;则下面叙述中正确的是()A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量40. 有以下程序struc STU{char name[10];int num;};void f1(struct STU c){struct STU b={“LiSiGuo”,2042};c=b;}void f2(struct STU *c){struct STU b={“SunDan”,2044};*c=b;}main() {struct STU a={“YangSan”,2041},b={“WangYin”,2043};f1(a);f2(&b); printf(“%d %d\n”,a.num,b.num);}执行后的输出结果是()A)2041 2044B)2041 2043C)2042 2044D)2042 204341. 有以下程序main(){unsigned char a,b;a=4|3;b=4&3; printf(“%d %d\n”,a,b(;}执行后输出结果是()A. 7 0B. 0 7C. 1 1D. 43 042. 下面程序的功能是输出以下形式的金字塔图案是:** * ** * * * * * * * * * * *main(){int i,j;for(i=1;i<=4;i++) {for(j=1;j<=4-i;j++)printf( “ ” );for(j=1;j<=_______;j++)printf(“*”); printf(“\n”);}}在下划线处应填入的是()A. iB. 2*i-1C. 2*i+1D. i+243. 有以下程序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i+=2) for(j=i+2;j<n;j+=2)if(a[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;}}main (){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++) printf(“%d”,aa[i]);printf(“\n”);}其输出结果是()A. 1,2,3,4,5,6,7,8,9,10,B. 10,9,8,7,6,5,4,3,2,1,C. 9,2,7,4,5,6,3,8,1,10,D. 1,10,3,8,5,6,7,4,9,2,44. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()A. char s[10]=”abcdefg”;B. char t[]=”abcdefg”,*s=t;C. char s[10];s=”abcdefg”;D. char s[10];strcpy(s,”abcdefg”);45. 有以下程序#include <string.h>main(int argc ,char *argv[ ]){int i,len=0; for(i=1;i<argc;i+=2) len+=strlen(argv[i]);printf(“%d\n”,len);}经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行ex abcd efg h3 k44执行后输出结果是()A. 14B. 12C. 8D. 646. 有以下程序void f(int a[],int i,int j){int t;if(i<j){ t=a[i]; a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){int i,aa[5]={1,2,3,4,5}; f(aa,0,4);for(i=0;i<5;i++) printf(“%d,”,aa[i]); printf(“\n”);}执行后输出结果是()A. 5,4,3,2,1,B. 5,2,3,4,1,C. 1,2,3,4,5,D. 1,2,3,4,5,47. 有以下程序struct STU{char name[10];v int num;int Score;};main(){struct STU s[5]={{“YangSan”,20041,703},{“LiSiGuo”,20042,580},{“wangYin”,20043,680},{“SunDan”,20044,550},{“Penghua”,20045,537}},*p[5],*t;int i,j;for(i=0;i<5;i++) p[i]=&s[i]; for(i=0;i<4;i++)for(j=i+1;jp[j]->Score){t=p[i];p[i]=p[j];p[j]=t;} printf(“%d %d\n”,s[1].Score,p[1]->Score);}执行后输出结果是()A. 550 550B. 680 680C. 580 550D. 580 68048.49. 有以下程序#include <stdio.h>main(){FILE *fp; int i,k=0,n=0; fp=fopen(“d1.dat”,”w”);for(i=1;i<4;i++) fprintf(fp,”%d”,i);fclose(fp); fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%d”,&k,&n); printf(“%d %d\n”,k,n); fclose(fp);}执行后输出结果是()A. 1 2B. 123 0C. 1 23D. 0 050. 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#include<stdio.h>main() {FILE *fp; int i,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);fclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int).SEEK_END);fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/fclose(fp);printf("%d\n",b);}执行后输出结果是()A. 2B. 1C. 4D. 3二、填空题1. E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【1】。
全国计算机等级考试二级C语言 2008年4月真题卷参考答案及解析
全国计算机等级考试二级C语言 2008年4月真题卷答案及解析一、选择题(1)C解析:程序流程图是人们对解决问题的方法、思路或算法的一种描述。
其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。
带箭头的线段在数据流程图中表示数据流,而在程序流程图中表示控制流。
在所给出的选项中,在图元之间用带有箭头的线段表示图元关系。
在模块之间用带有箭头的线段表示调用关系。
构成程序流程图的基本图符及其含义是:→或↓表示控制流,□表示加工步骤,◇表示逻辑条件。
(2)A解析:结构化程序设计的原则包括:"自顶而下,逐步求精"的设计思想,"独立功能,单出口、单入口"的模块化设计等。
多态性是面向对象程序语言的特征。
(3)B解析:模块划分应遵循的准则包括模块之间的耦合和内聚。
一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即高内聚、低耦合的原则。
(4)B解析:需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面。
产生的主要文档为软件需求规格说明书,它可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。
(5)A解析:算法具有6个特性。
①有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的。
②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。
③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。
④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。
⑤输出:一个算法有一个或多个输出。
(6)D解析:在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是n(n-1)/2,堆排序需要比较的次数为nlog2n。
2000年4月全国计算机等级考试二级试卷C语言程序设计
2000年4月全国计算机等级考试二级试卷C语言程序设计D(4) 电子邮件是A)网络信息检索服务B)通过Web网页发布的公告信息C)通过网络实时交互的信息传递方式D)一种利用网络交换信息的非交互式服务(5) 和十进制数225相等的二进制数是A) 11101110 B) 11111110 C) 10000000 D) 11 111111(6) 下列叙述中正确的是A) 指令由操作数和操作码两部分组成B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集(7) 计算机的内存储器比外存储器A) 价格便宜B) 存储容量大C) 读写速度快D) 读写速度慢(8) 设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN 文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PR N文件(9) 要将当前盘当前目录下的两个文件X1.TXT 和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:\WS\B1.TXT B:\Z.TXTC) COPY A:X1.TXT+C:\WS\B1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT(10) 下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XY Z.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XY Z.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON(11) 设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL \AA\ A.TXTC) DEL \AA\A*.TXT D) DEL \AA \A?.TXT(12) 在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标B) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标(13) 在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框(14) 在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中B) ROM中C) 硬盘中D) 寄存器中(15) 使计算机病毒传播范围最广的媒介是A) 硬磁盘B) 软磁盘C) 内部存储器D) 互联网(16) 设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(17) 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}(18) 下列程序执行后的输出结果是(小数点后只写一位)A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0 main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f \n", i, l, f, d);}(19) 下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3;(20) 设int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1 C) 2 D) -1(21) 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1;B) if(x)else if(x<0)y=-1; if(x>0)y=1;else y=0;else if(x<0)y=-1;else y=0;C) y=-1D) y=0;if(x)if(x>=0)if(x>0)y=1;if(x>0)y=1;else if(x==0) y=0; else y=-1;else y=-1;(22) 以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0 main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); }(23) 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。
全国计算机等级考试二级C语言真题2003年4月_真题(含答案与解析)-交互
全国计算机等级考试二级C语言真题2003年4月(总分85, 做题时间90分钟)一、选择题在下列各题A) 、B)、C)、D)四个选项中,只有一个选项是正确的。
1.用8位无符号二进制数能表示的最大十进制数为SSS_SINGLE_SELA 127B 128C 255D 256该问题分值: 1答案:C[解析]最大的8位无符号二进制数是11111111,与之对应的十进制数是1X27+1X26+1X25+1X24+1X23+lX22+1 X21+1X20=2552.在64位高档微机中,一个字长所占的二进制位数为SSS_SINGLE_SELA 8B 16C 32D 64该问题分值: 1答案:D3.在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住SSS_SINGLE_SELA Alt键B Esc键C Shift键D Ctrl键该问题分值: 1答案:D4.在Windows菜单中,暗淡(灰色)的命令项表示该命令SSS_SINGLE_SELA 暂时不能用B 正在执行C 包含下一层菜单D 包含对话框该问题分值: 1答案:A5.在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为SSS_SINGLE_SELA TYPEB TYPE/HC TYPE/*D TYPE/?该问题分值: 1答案:D6.下列选项中,能作为合法DOS文件名的是SSS_SINGLE_SELA ANP/DATB ABCCOMC ECBASICD XY+TXT该问题分值: 1答案:B[解析]DOS系统中,文件名全称(通常指文件名)由文件名和扩展名两部分组成。
其中,文件名由1~8个字符组成,扩展名由1~3个字符组成,且可省略。
选项A)中包含有非法字符“/”,选项C)中扩展名超过3个字符,选项D)中包含有非法字符“+”。
7.下列叙述中正确的是SSS_SINGLE_SELA 在Windows环境下,最大化的窗口是不能移动的B 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C 在Windows环境下,只有最小化的窗口才能关闭D 在Windows环境下,不能关闭最小化窗口该问题分值: 1答案:A8.在Windows环境下,工具栏中用于完成复制操作的按钮是SSS_SINGLE_SELABCD该问题分值: 1答案:C[解析]选项A)为打印,选项B)为剪切,选项D)为粘贴。
全国计算机等级考试二级C语言真题2004年4月
全国计算机等级考试二级C语言真题2004年4月(总分:69.00,做题时间:90分钟)一、{{B}} 选择题{{/B}}(总题数:50,分数:50.00)1.1MB等于( )(分数:1.00)A.1000字节B.1024字节C.1000×1000字节D.1024×1024字节√解析:[解析]在计算机的二进制表示中:1KB=210B=1024B1MB=220B=1024 X1024B2.与十六进制数200等值得十进制数为( )(分数:1.00)A.256B.512 √C.1024D.2048解析:[解析]计算方法为:对于16进制数200末位有两位是零,因此是162,最高位是2,所以应为162=512。
3.所谓“裸机”是指( )(分数:1.00)A.单片机B.单板机C.不装备任何软件的计算机√D.只装备操作系统的计算机解析:[解析]裸机是指不装备任何软件的计算机,装备了操作系统的计算机不属于裸机。
4.能将高级语言编写的源程序转换为目标程序的是( )(分数:1.00)A.链接程序B.解释程序C.编译程序√D.编辑程序解析:[解析]编译程序是将高级语言编写的程序转换成目标程序。
5.在64为计算机中,一个字长所占字节数为( )(分数:1.00)A.64B.8 √C.4D.1解析:[解析]在64位计算机中,一个字节占4位,一个字长占8个字节。
6.在Windows环境下,当一个应用程序窗口被最小化后,该应用程序( )(分数:1.00)A.继续在后台运行√B.继续在前台运行C.终止运行D.暂停运行解析:[解析]在Windows操作系统下,一个应用程序窗口最小化后,该程序继续在后台运行,只有关闭该窗口时,才终止运行。
7.在Windows环境下,能实现窗口移动的操作是( )(分数:1.00)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。
2001年4月全国计算机等级考试二级C语言笔试试题及答案
2001年4月全国计算机等级考试二级C语言笔试试题及答案一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)计算机的存储器完整的应包括A.软盘、硬盘B.磁盘、磁带、光盘C.内存储器、外存储器D.RAM、ROM(2)计算机中运算器的作用是A.控制数据的输入/输出B.控制主存与辅存间的数据交换C.完成各种算术运算和逻辑运算D.协调和指挥整个计算机系统的操作(3)软磁盘处于写保护状态时,其中记录的信息A.绝对不会丢失B.不能被擦除,但能追加新信息C.不能通过写磁盘操作被更新D.不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除(4)光盘根据基制造材料和记录信息的方式不同,一般可分为A.CD、VCDB.CD、VCD、DVD、MP3C.只读光盘、可一次性写入光盘、可擦写光盘D.数据盘、音频信息盘、视频信息盘(5)在计算机系统中,可执行程序是A.源代码B.汇编语言代码C.机器语言代码D.ASCII码(6)计算机软件系统包括A.操作系统、网络软件B.系统软件、应用软件C.客户端应用软件、服务器端系统软件D.操作系统、应用软件和网络软件(7)目前,一台计算机要连入Internet,必须安装的硬件是A.调制解调器或网卡B.网络操作系统C.网络查询工具D.WWW浏览器(8)在多媒体计算机系统中,不能存储多媒体信息的是A.光盘B.磁盘C.磁带D.光缆(9)要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A.TYPE a*.*B.TYPE abc.exeC.TYPE pro.c%26gt;PRND.TYPE abc.txt(10)下列更改文件名的命令中正确的是A.REN A:file1 C:F1B.RENAME A: A:file1 C:F1C.REN A:file1 F1D.REN A:file1 \SUB\F1(11)已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:CD\DOSMD USERCD USER由A盘启动DOS系统后,A盘的当前目录是A.\DOSB.\DOS\USERC.\D.\USER(12)MS-DOS是A.分时操作系统B.分布式操作系统C.单用户、单任务操作系统D.单用户、多任务操作系统(13)在Windows操作系统中,不同文档之间互相复制信息需要借助于A.剪切板B.记事本C.写字板D.磁盘缓冲器(14)在Windows操作系统中A.同一时刻可以有多个活动窗口B.同一时刻可以有多个应用程序在运行,但只有一个活动窗口C.同一时刻只能有一个打开的窗口D.DOS应用程序窗口与Windows应用程序窗口不能同时打开着(15)下列叙述中正确的是A.所有DOS应用程序都可以在Windows操作系统中正确运行B.所有DOS应用程序都不能在Windows操作系统中正确运行C.大部分DOS应用程序可以在Windows操作系统中正确运行D.为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行(16)下列叙述中正确的是A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言所有函数都是外部函数(17)以下所列的C语言常量中,错误的是A.0xFFB.1.2e0.5C.2LD.‘\72’(18)下列选项中,合法的C语言关键字是A.VARB.cherC.integerD.default(19)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z(20)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A.-3B.9C.-12D.6(21)设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A.不定值B.4C.3D.1(22)若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,%26amp;a,%26amp;b,%26amp; C.;给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A.10%26lt;回车%26gt;B.10.0,22.0,33.0%26lt;回车%26gt;22%26lt;回车%26gt;33%26lt;回车%26gt;C.10.0%26lt;回车%26gt;D.10 22%26lt;回车%26gt;22.0 33.0%26lt;回车%26gt; 33%26lt;回车%26gt;(23)若执行以下程序时从键盘上输入9,则输出结果是A.11B.10C.9D.8Main0{ int n;scanf(“%d”,%26amp;n);if(n++%26lt;10)printf(“%d\n”,n);else printf(“%d\n”,n--);}(24)若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是A.swich(a+B.;B.switch(a*a+b*B.{ case 1:y=a+b; break; {case 3:case 0:y=a-b; break; case 1:y=a+b;break;} case 3:y=b-a,break;}C.switch aD.switch(a-B.{ case c1 :y=a-b; break {default:y=a*b;breakcase c2: x=a*d; break case 3:case 4:x=a+b;breakdefault:x=a+b; case 10:case 11:y=a-b;break;} }(25)有以下程序段int k=0while(k=1)k++;while 循环执行的次数是A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次(26)以下程序执行后sum的值是A)15 B)14C.不确定 D)0min(){ int i , sum;for(i=1;i%26lt;6;i++)sum+=i;printf(“%d\n”,sum);}(27)有以下程序段int x=3do{ printf(“%d”,x-=2); }while (!(--x));其输出结果是A.1B.3 0C.1 -2D.死循环(28)若变量c为char类型,能正确判断出c为小写字母的表达式是A.‘a’%26lt;=c%26lt;= ‘z’B.(c%26gt;= ‘a’)||(c%26lt;= ‘z’)C.(‘a’%26lt;=c)and (‘z’%26gt;=C.D.(c%26gt;= ‘a’)%26amp;%26amp;(c%26lt;= ‘z’)(29)以下所列的各函数首部中,正确的是A.void play(var :Integer,var b:Integer)B.void play(int a,B.C.void play(int a,intB.D.Sub play(a as integer,b as integer)(30)以下程序的输出结果是A.0B.29C.31D.无定值fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a);}(31)下列程序段的输出结果是A.2 1 4 3B.1 2 1 2C.1 2 3 4D.2 1 1 2void fun(int *x, int *y){ printf(“%d %d”, *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(%26amp;y,%26amp;x);printf(“%d %d”,x, y);}(32)下列程序的输出结果是A.非法 B)a[4]的地址 C)5 D)3main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p);}(33)下列程序的运行结果是A.6 3B.3 6C.编译出错D.0 0void fun(int *a, int *B.{ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=%26amp;a, *y=%26amp;b;fun(x,y);printf(“%d %d”, a,B.;}(34)下面程序的输出结果是A.0B.1C.10D.9main(){ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf(“%d\n”,*p+9);}(35)当调用函数时,实参是一个数组名,则向函数传送的是A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值(36)设有以下说明语句struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是A.struct结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型(37)以下只有在使用时才为该类型变量分配内存的存储类说明是A.auto和 staticB.auto和 registerC.register和 staticD.extern和 register(38)若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A.EOFB.-1C.非零值D.NULL(39)以下程序的输出结果是A.20B.21C.22 D)23main(){ int i, k, a[10], p[3];k=5;for (i=0;i%26lt;10;i++)a[i ]=i;for (i=0;i%26lt;3;i++)p[i ]=a[i *(i+1)];for (i=0;i%26lt;3;i++)k+=p[i] *2;printf(“%d\n”,k);}(40)以下程序的输出结果是A.1,5,9B.1,4,7C.3,5,7 D)3,6,9main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i%26lt;3;i++)printf(“%d,”,x[i][2-i]);}(41)以下程序的输出结果是A.18B.19C.20 D)21main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;for(i=1;i%26lt;3;i++)for(j=0;j%26lt;=i;j++)s+=a[i][j];printf(“%dn”,s);}(42)以下程序的输出结果是A.ABCDB.ABCDC.EFGFGH EFG JK IJKLKL IJ OMmain(){ char w[][10]={ “ABCD”,”EFGH”,”IJKL”,”MNOP”},k;for(k=1;k%26lt;3;k++)printf(“%s\n”,w[k]);}(43)当执行下面的程序时,如果输入ABC,则输出结果是A.ABC6789B.ABC67C.12345ABC6D.ABC456789#include “stdio.h”#include “string.h”main(){ cha r ss[10]=“1,2,3,4,5”;gets(ss); strcat(ss, “6789”); printf(“%s\n”,ss);}(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL%26lt;回车%26gt;,则输出结果为A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc%26gt;0)printf(“%s”,argv[argc]);printf(“\n”);}(45)以下程序的输出结果是A.1B.2C.3D.4long fun( int n){ long s;if(n= =1 || n= =2)s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”, fun(3)); }(46)以下程序的输出结果是B.2C.9D.1#define SQR(X)X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);}(47)若定义了以下函数:void f(……){……*p=(double *)malloc( 10*sizeof( double));……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A.double *pB.float **pC.double **pD.float *p(48)以下程序的输出是A.10B.11C.51D.60struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,%26amp;dt[0],60,%26amp;dt[0],60,%26amp;dt[0],60,%26amp;dt[0],};main(){ p=aa;printf(“%d\n”,++(p-%26gt;x));}(49)假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A.free(q); p-%26gt;next=q-%26gt;next;B.(*p).next=(*q).next; free(q);C.q=(*q).next; (*p).next=q; free(q);D.q=q-%26gt;next; p-%26gt;next=q; p=p-%26gt;next; free(p)(50)以下程序的输出结果是A.0B.1D.3main(){ int x=0.5; char z=’a’;printf(“%d\n”, (x%26amp;1)%26amp;%26amp;(z%26lt;’z’)); }二) 填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。
2005年4月全国计算机等级考试二级C语言笔试试题及答案
2005 年 4 月全国计算机等级考试二级 C 语言笔试试题及答案一、选择题((1)~(10)每小题 2 分,(11)~(50)每小题 1 分,共 60 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写 在答题卡相应位置上,答在试卷上不得分。
(1)数据的存储结构是指______。
A.存储在外存中的数据 B.数据所占的存储空间量 C.数据在计算机中的顺序存储方式 D.数据的逻辑结构在计算机中的表示 (2)下列关于栈的描述中错误的是______。
A. 栈是先进后出的线性表 B.栈只能顺序存储 C.栈具有记忆作用 D.对栈的插入与删除操作中,不需要改变栈底指针 (3)对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ______。
A.冒泡排序为 n/2 B.冒泡排序为 n C.快速排序为 n D.快速排序为 n(n-1)/2 (4)对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。
A.log2n B.n/2 C.n D.n+1 (5)下列对于线性链表的描述中正确的是______。
A. 存储空间不一定是连续,且各元素的存储顺序是任意的 B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C.存储空间必须连续,且前件元素一定存储在后件元素的前面 D.存储空间必须连续,且各元素的存储顺序是任意的 (6)下列对于软件测试的描述中正确的是______。
A.软件测试的目的是证明程序是否正确 B.软件测试的目的是使程序运行结果正确 C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则 (7)为了使模块尽可能独立,要求______。
A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱0多 4 人 挂 牵 远 偏 。
2008年4月全国计算级等级考试二级C语言真题(含答案)
2008年4月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(共70分)下列各题A),B),C),D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)程序流程图中指有箭头的线段表示的是A)图元关系B)数据流C)控制流D)调用关系(2)结构化程序设计的基本原则不包括A)多态性B)自顶向下C)模块化D)逐步求精(3)软件设计中模块划分应遵循的准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(4)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成测试计划(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)下列关于栈的叙述正确的是A)栈按“先进先出”组织数据B)栈按“先进后出”组织数据C)只能在栈底插入数据D)不能删除数据(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于[C]A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段(9)有三个关系R、S和T如下:有关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D) 学号,姓名,成绩(11)以下叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中不合法的标识符是A)print B)FOR C)&a D)_00(13)以下选项中不属于字符常量的是A)'C' B)"C" C)'\xCC0' D)'\072'(14)设变量已正确定义并赋值,以下正确的表达式是A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,++y D)x=25%5.0(15)以下定义语句中正确的是A)int a=b=0 ; B)char A=65+1,b='b';C)float a=1,*b=&a,*c=&b ; D)double a=0.0,b=1.1;(16)有以下程序段char ch; int k;ch='a'; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d\n",k);已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y)培恩IT教育{ case 0: a++; break;case 1: b++; break;}case 2: a++; b++; break;case 3: a++; b++;}printf(“a=%d,b=%d\n”,a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2C)a=1,b=1 D)a=2,b=1(21)有以下程序#include <stdio.h>main(){ int x=8;for( ; x>0; x--){ if(x%3) {printf(“%d,”,x--); continue;}printf(“%d,”,--x);}}程序的运行结果是A)7,4,2 B)8,7,5,2C)9,7,6,4 D)8,5,4,2(22)以下不构成无限循环的语句或者语句组是A)n=0; B)n=0;do{++n;}while(n<=0); while(1){n++;}C)n=10; D)for(n=0,i=1; ;i++) n+=i;while(n);{n--;}(23)有以下程序#include <stdio.h>main(){ int a[ ]={1,2,3,4},y,*p=&a[3];--p; y=*p; printf(“y=%d\n”,y);}程序的运行结果是A)y=0 B)y=1 C)y=2 D)y=3(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}};B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D)int x[][3]={1,2,3,4};(25)设有如下程序段char s[20]= “Bejing”,*p;p=s;则执行p=s;语句后,以下叙述正确的是A)可以用*p表示s[0]B)s数组中元素的个数和p所指字符串长度相等C)s和p都是指针变量D)数组s中的内容和指针变量p中的内容相等(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3] C)a[0][3] D)a[1>2][ !1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf(“%s”,s+1);C)gets(s); D)scanf(“%s”,s[1]);(28)以下叙述中错误的是A)在程序中凡是以“#”开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)以下结构体类型说明和变量定义中正确的是A)typedef struct B)struct REC;{int n; char c;}REC; {int n; char c;};REC t1,t2; REC t1,t2;C)typedef struct REC ; D)struct{int n=0; char c=’A’;}t1,t2; {int n;char c;}REC t1,t2;(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)有以下程序#include <stdio.h>main(){ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++;for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的运行结果是A)1 2 3 4 B)2 3 4 4 C)4 3 3 2 D )1 1 2 3(32)有以下程序#include <stdio.h>void fun(int *s,int nl,int n2){ int i,j,t;i=nl; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main()培恩IT教育{ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<10;k++)printf(“%d”,a[k]); printf(“\n”);}程序运行的结果是A) B)C) D)(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[ ],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}}main(){char *ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};f un(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){int y;if(x==0||x==1) return (3);y=x*x-f(x-2);return y;}main(){int z;z=f(3); printf(“%d\n”,z);}程序的运行结果是A)0 B)9 C)6 D)8(35) 有以下程序#include <stdio.h>void fun(char *a,char *b){while(*a==’*’) a++;while(*b=*a) {b++;a++;}}main(){char *s=”****a*b****”,t[80];fun(s,t); puts(t);}程序的运行结果是A)*****a*b B) a*b C) a*b**** D) ab(36) 有以程序#include <stdio.h>#include <string.h>typedef struct { char name[9]; char sex; float score[2]; } STU;void f( STU a){ STU b={“Zhao” ,’m’,85.0,90.0} ; int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++) a.score[i]=b.score[i];}main(){ STU c={“Qian”,’p’,95.0,92.0};f(c); printf(“%s,%c,%2.0f,%2.0f\n”,,c.sex,c.score[0],c.score[1]);}程序的运行结果是A)Qian,f,95,92 B) Qian,m,85,90C) Zhao,f,95,92 D) Zhao,m,85,90(37) 有以下程序#include <stdio.h>main(){FILE *fp; int a[10]={1,2,3},i,n;fp=fopen(“dl.dat”,”w”);for(i=0;i<3;i++) fprintf(fp,”%d”,a[i]);fprintf(fp,”\n”);fclose(fp);fp=fopen(“dl.dat”,”r”);fscanf(fp,”%d”,&n);fclose(fp);printf(“%d\n”,n);}程序的运行结果是A)12300 B) 123 C) 1 D) 321(38)变量a中的数据用二进制表示的形式是,变量b中的数据用二进制表示的形式是。
1996年4月全国计算机等级考试二级C语言试卷和答案
1996年4月全国计算机等级考试二级C语言试卷(含答案)一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 一个完整的计算机系统包括A) 主机、键盘与显示器B) 计算机与外部设备C) 硬件系统与软件系统D) 系统软件与应用软件(2) 十六进制数1000转换成十进制数是A) 4096 B) 1024 C) 2048 D) 8192(3) 十进制数269转换成十六进制数是A) 10E B) 10D C) 10C D) 10B(4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是A) -127到+127 B) -128到+128 C) -127到+128 D) -128到+127(5) 下列设备中,既可作为输入设备又可作为输出设备的是A) 鼠标器B) 打印机C) 键盘D) 磁盘驱动器(6) 下列各叙述中,正确的是A) 正数十进制原码的补码是原码本身B) 所有的十进制小数都能准确地转换为有限位二进制小数C) 汉字的计算机内码就是国标码D) 存储器具有记忆能力,其中的信息任何时候都不会丢失(7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是A) 加电开机B) 按'CTRL'+'BREAK'C) 按'CTRL'+'ALT'+'DEL' D) 按RESET按钮(8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是A) FA.EXE B) F.C C) EF.C D) (9) DOS系统启动后,下列文件中常驻内存的是A) *.COM B) C) AUTOEXEC.BAT D) (10) 设A盘的目录结构为(画方框的为目录)如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定中,合法的是A) \D2\D4\QR.C B) D4\QR.C C) A:D4\QR.C D) A:D2\D4\QR.C(11) 为了要将A盘当前目录(不是根目录)中所有扩展名为.C的文件同名复制到A盘的目录\USER中,正确的命令是A) COPY A:*.C USER\*.C B) COPY A:*.C A:\USERC) COPY A:*.C A:USER\ D) COPY A:*.C A:USER\*.C(12) 为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT的文件内容,下列命令中正确的是A) TYPE *.TXT B) TYPE *.TXT CONC) COP Y *.TXT>CON D) COPY *.TXT CON(13) 设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是A) COPY C:\XYZ.TXT+AB1.TXT B) COPY AB1.TXT>>C:\XYZ.TXTC) TYPE AB1.TXT>C:\XYZ.TXT D) COPY AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT(14) 设A盘为启动盘,其目录结构为(画方框的为目录)其中文件AUTOEXEC.BAT的内容为MD \XYZCD \DOS\USER则由A盘启动成功后,A盘的当前目录是A) \DOS\USER B) \XYZ C) \ D)\DOS(15) 下列DOS命令中为内部命令的是A) COMP B) PATH C) PRINT D) FORMAT(16) 设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是A) DISKCOPY A: C: B) DISKCOPY A: A: C) COPY A:*.* D) COPY A:*.* C:(17) 下列DOS命令中,有错误的是A) TYPE AAB.FOR>PRN B) TYPE ?AB.FORC) COPY *.C PRN D) COPY CON PRN(18) 设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为FORMAT A:/4MD \XYZCD \XYZRD \XYZMD \XYZ如果在1.2软盘驱动器A中插入一张360K容量的软盘片,执行批自理命令文件AB.BAT后,结果A盘的目录结构是A) 根目录B) 根目录----子目录XYZ----子目录XYZC) 根目录─┬─ 子目录XYZ└─ 子目录XYZD) 根目录----子目录XYZ(19) 下列带有通配符的文件名,能代表文件ABC.FOR的是A) *BC.? B) A?.* C) ?BC.* D) ?.?(20) 设当前盘为C盘,且C盘上含有子目录\DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为. C的文件)。
