1998年二级笔试试题C.docx

上传人:b****3 文档编号:27449421 上传时间:2023-07-01 格式:DOCX 页数:8 大小:20.48KB
下载 相关 举报
1998年二级笔试试题C.docx_第1页
第1页 / 共8页
1998年二级笔试试题C.docx_第2页
第2页 / 共8页
1998年二级笔试试题C.docx_第3页
第3页 / 共8页
1998年二级笔试试题C.docx_第4页
第4页 / 共8页
1998年二级笔试试题C.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

1998年二级笔试试题C.docx

《1998年二级笔试试题C.docx》由会员分享,可在线阅读,更多相关《1998年二级笔试试题C.docx(8页珍藏版)》请在冰豆网上搜索。

1998年二级笔试试题C.docx

1998年二级笔试试题C

1998年4月二级笔试试题C

  2002-12-17 

基础知识和C语言程序设计

(考试时间120分钟,满分100分)

一.选择题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得.

(1)所谓"裸机"是指

A)单片机B)单板机

C)不装备任何软件的计算机D)只装备操作系统的计算机

(2)下面存储器中,存取速度最快的是

A)软盘B)硬盘

C)光盘D)内存

(3)系统软件中最重要的是

A)操作系统B)语言自理程序

C)工具软件D)数据库管理系统

(4)CPU自理的数据基本单位为字,一个字的字长

A)为8个二进制位B)为16个二进制位

C)为32个二进制位D)与CPU芯片的型号有关

(5)打印当前屏幕内容应使用的控制健是

A)Scroll-LockB)Num-Lock

C)PgDnD)PrtSc(PrintScreen)

(6)能将高级语言源程序转换成目标程序的是

A)调试程序B)解释程序

C)编译程序D)编辑程序

(7)二进制数1110111.11转换成十进数是

A)119.375B)119.75

C)127.0625D)127.125

(8)十六进制数FF.1转换成十进制数是

A)255.0625B)255.125

C)127.0625D)127.125

(9)3.5英寸软盘片的一个角上有一个滑动块,如果移动该滑动块露出一个小孔,则该软盘

A)不能读但能写B)不能读也不能写

C)只能读不能写D)能读写

(10)控制键^C的功能为

A)终止当前操作B)系统复位

C)暂停标准输出设备的输出D)结束命令行

(11)COMMANDCOM为命处理程序,DOS系统启动后,它

A)驻留在外存,需要时再装入内存B)常驻内存,包含所有内部命令

C)不能处理外部命令D)不能处理后缀为.EXE的可执行文件

(12)为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令

A)REN*.PAS*.?

ASB)RENPASP

C)REN*.PAS*.pD)REN*.PAS*.P?

?

(13)设当前盘中文件XY.C的路径为\A\B\XU,当前目录为\A\B.为了查看文件XY.C的内容,应使用命令

A)TYPEXU\XY.CB)TYPE\XU\XY.C

C)DIRXU\XY.CD)DIR\A\B\XU\XY.C

(14)要将提示符改成当前盘当前目录后加一个大于号"",应使命令

A)PROMPTB)PROMPT$P$g

C)PROMPT$D)PROMPTC\

(15)设C盘根目录中有一个批处理文件A.BAT,当前盘为A盘.为了执行该批处理文件,下列命令中一定正确的是

A)C:

\AB)C;A.BAT

C)A.BATD)\A.BAT

(16)设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令

A)TYPEA:

\ABB)DIRAB

C)DIRA;\ABD)DIR\AB

(17)可执行文件ABC.EXE所需要的输入数据已经按格式存放在文件XYZ中,要求将执行结果在打印机上打印输出.下列命正确的是

A)ABCXYZ

C)ABCXYZPRN

(18)在当前盘当前目录下有一个文件A.BAT,其内容为

CD\

MD\XYZ\AB\BC

CDXYZ\AB\B

在正确执行上述文件后,接着执行下列命令时,不会发生错误的是

A)MDCB)RD\XYZ

C)RD.CD)RDB

(19)下列命令组中两个DOS命令互相等价的是

A)TYPEAB.TXT与DIRAB.TXT

B)DISKCOMPA:

B:

与COMPA:

*.*B.*.*

C)TYPEAB.TXTXY.TXT与COPYAB.TXTXY.TXT

D)TYPEAB.TXTXY.TXT与COPYAB.TXTXY.TXT

(20)设A盘为启动盘,其目录结构为

根目录

┌───┴─────┐

DOS子目录COMMAND.COM

┌──────────┐

USER子目录AUTOEXEC.BAT

其中文件AUTOEXEC.BAT的内容如下:

MD\XYZ

CD\DOS\USER

则由A盘启动成功后,A盘的当前目录是

A)\DOS\USERB)\XYZ

C)根目录D)\DOS

(21)在C语言提供的合法的着急字是

A)swicthB)cher

C)CaseD)default

(22)在C语言中,合法的字符常量是

A)'\084'B)'\x43'

C)'ab'D)"\0"

(23)若已定义x和y为double类型,则表达式:

x=1,y=x+3/2的值是

A)1B)2

C)2.0D)2.5

(24)合法的数组定义是

A)inta[]="string";B)inta[5]={0,1,2,3,4,5};

C)vhsts="string";D)chara[]={0,1,2,3,4,5};

(25)设a为整型变量,不能正确表达数学关系:

1010&&a15

D)!

(a=15)

(26)若t为double类型,表达式t=1,t5,t++的值是

A)1B)6.0

(27)若有定义和语句:

chars[10]:

s="abcd";printf("%s\n",s);

则结果是(以下u代表空格)A)输出abcdB)输出a

C)输出abcduuuuuD)编译不通过

(28)若有定义和语句:

int**pp,*p,a=10,b=20;

pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);

则输出结果是:

A)10,20B)10,10

C)20,10D)20,20

(29)若有以下定义和语句:

intu=010,v=0x10,w=10;

printf("%d,%d,%d\n,u,v,w);

则输出结果是:

A)8,16,10B)10,10,10

C)8,8,10D)8,10,10

(30)若有以下定义和语句

charc1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+"A");

则输出结果是:

A)2,MB)3,E

C)2,ED)输出项与对应的格式控制不一致,输出结果不确定

(31)若有以下定义:

chars[20]="programming",*ps=s;

则不能代表字符o的表达式是

A)ps+2B)s[2]

C)ps[2]D)ps+=2,*ps

(32)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是

for(i=5;i;i--)

for(j=0;jA)20B)25

C)24D)30

(33)若有以下定义和语句:

char*s1="12345",*s2="1234";

printf("%d\n",strlen(strcpy(s1,s2)));

则输出结果是

A)4B)5

C)9D)10

(34)若有以下定义和语句:

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是

A)*pB)a[10]

C)*aD)a[p-a]

(35下面程序的输出是

main()

{char*s="121";

intk=0,a=0,b=0;

do

{k++;

if(k%2==0){a=a+s[k]-'0';continue;}

b=b+s[k]-'0';a=a+s[k]-'0';

}

while(s[k+1]);

printf("k=%da=%db=%d\n",k,a,b);

A)k=3a=2b=3B)k=3a=3b=2

C)k=2a=3b=2D)k=2a=2b=3

(36)下面程序的输出是

main()

{unsigneda=32768;

printf("a=%d\n",a);

}

A)a=32768B)a=32767

C)a=-32767D)a=-1

(37)若有以下定义:

floatx;inta,b;

则正确的switch语句是

A)switch(x)B)switch(x)

{case1.0:

printf("*\n");{case1,2:

printf("*\n");

case2.0:

printf("**\n");case3:

printf("**\n");

}}

C)switch(a+b)D)switch(a+b);

{case1:

printf("\n");{case1:

printf(."*\n");

case1+2:

printf("**\n");case2:

printf("**\n");

}}

(38)若有定义:

intx,y;chara,b,c;并有以下输入数据(此处代表换行符,/u代表空格):

1u2

AuBuC

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是

A)scanf("x=%dy+%d",&x,&y);a=getchar();b=getchar();c=getchar();

B)scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();

C)scanf("%d%d%c%c%c,&x,&y,&a,&b,&c);

D)scanf("%d%d%c%c%c%c%c%c:

&x,&y,&a,&a,&b,&b,&c,&c);

(39)以下程序输出的结果是

#include

#include

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},K;

for(k=1;kprintf("%s\n",&w[k][k]);

}

A)ABCDB)ABCD

FGHEFG

KLIJ

M

C)EFGD)FGH

JKKL

O

(40)若有以下的定义:

inta[]={1,2,3,4,5,6,7,88,9,10),*p=a;

则值为3的表式是

A)p+=2,*(p++)B)p+=2,*++p

C)p+=3,*kp++D)p+=2,++*p

(41)假定所有变量均已正确说明,下列程序段运行后x的值是

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);if(c)x=3;

elsex=4;

A)34B)4

C)35D)3

(42)在以下一组运算符中,优先级最高的运算符是

A)C)%D)&&

(43)若有以下定义和语句:

intw[2][3],(*pw)[3];pw=w;

则对w数组元素非法引用是

A)*(w[0]+2)B)*(pw+1)[2]

C)pw[0][0]D)*(pw[1]+2)

(44)若有以下程序片段:

charstr[]="ab\n\012\\\"";

printf(%dd",strlen(str));

上面程序片段的输出结果是

A)3B)4

C)6D)12

(45)函数调用:

strcat(strcpy(str1,str2),str3)的功能是

A)将串str1复制到串str2中后再连接到串str3之后

B)将串str1连接到串str2之后再复制到串str3之后

C)将串str2复制到串str1中后再将串str3连接到串str1之后

D)将串str2连接到串str1之后再将串str1复制到串str3中

(46)以下对C语言函数的有关描述中,正确的是

A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B)C函数既可以嵌套定义又可以递归调用

C)函数必须有返回值,否则不能使用函数

D)C程序中有调用关系的所有函数必须放在同一个源程序文件中

(47)以下叙述中不正确的是

A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值.

B)在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容.

C)在C中,外部变量的隐含类别是自动存储类别.

D)在C中,函数形参可以说明为register变量.

(48)以下程序的输出结果是

#include

subl(chara,charb){charc;c=a;a=b;b=c;}

sub2(char*a,charb){charc;c=*a;*a=b;b=c;}

sub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}

{chara,b;

a='A';b='B';sub3(&a,&b);putchar(a);putchar(b);

a='A';b='B';sub2(&a,b);putchar(a);prtchar(b);

a='A';b='B';sub1(a,b);putchar(a);putchar(b);

}

A)BABBABB)ABBBBA

C)BABABAD)BAABBA

(49)设有如下定义:

structsk

{inta;floatb;}data,*p;

若有p=&data;,则对data中的a域的正确引用是

A)(*p).data.aB)(*p).a

C)p-data.aD)p.data.a

(50)以下对枚举类型名的定义中正确的是

A)enuma={one,two,three};

B)enuma{one=9,two=-1,three};

C)enuma={"one","two","three"};

D)enuma{"one","two","three"};

二.填空题(每空2分,共40分)

请将每空的正确答与在答题卡1至20序号的横线上,答在试卷上不得分.

(1)与十进制数101等值的十进制数为1

──.

(2)DOS命令分为内部命令与外部命令,XCOPY命令属于2命令.

──

(3)设当前盘为A盘,当前系统提示符为"",在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令3

──.

(4)自动批处理文件必须是4

─.

(5)设在当前盘当前目录下有两个文件W.TXT与P.TXT,现要将文件P.TX连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为5

──.

(6)请写出以下数学式的C语言表达式6

──.

a

───

b.c

(7)若已知a=10,b=20,则表达式!

ab)printf("****y%d\n",y);

elseprintf("####x=%\n",x);

(11)在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是11函数.

──

(12)若函数fun的类型void,且有以下定义和调用语句:

#defineM50

main()

{inta[M];

.

.

.

fun(a);

.

.

.

}

定义fun函数首部可以用三种不同的形式,请写出这三种形式:

12.13.14

───

(注意:

①形参的名字请用q,②使用同一种风格).

(13)若给fun函数的形参s传送字符串:

"uuuu6354abc",则函数的返回值是15

─.

logfun(chars[])

{longn;intsign;

for(;isspace(*s);s++);

sign+(*s=='-')?

-1:

1;

if(*s=='+'‖*s=='-'s++;

for(n=0;isdigit(*s);s++)

n=10*n+(*s-'0');

returnsign*n;

(14)以下函数用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n所指存储单元中存放数组中数据的个数.插入后数组中的数仍有序.请填空.

voidfun(char*w,charx,int*n)

{inti,p;

p=0;

w[*n]=x;

while(xw[p])16

──;

for(i=*n;ip;i--)w[i]=17

─;

w[p]=x;

++*n;

}

(15)fun1函数的调用语句为:

fun1(&a,&b,&c);它将三个整数按由大到小的顺序调整后依次放入a,b,c,三个变量中,a中放量大数.请填空.

voidfun2(int*x,int*y)

{intt;

t=*x;*x=*y;*y=t;

}

voidfun1(int*pa,int*pb,int*pc)

{if(*pc*pb)fun2(18)

───;

if(*pa──;

if(*pa──;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1