全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx
- 文档编号:17626922
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:22.27KB
全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx
《全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言笔试试题及答案Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
(11)在DOS系统中,下列文件名中非法的是( )。
A)ABCDEFG1 B)ABCDEFG1.234 C)ABCD_EFG D)ABCD\EFG
(12)DOS系统启动后,下列文件中驻留内存的是( )。
A)CONFIG.SYS B)COMMAND.COM C)AUTOEXEC.BAT D)MEM.EXE
(13)DOS下的“DIR*2”命令将列出当前目录下的( )。
A)所有名字末尾为字符2的非隐含文件和目录
B)所有名字末尾为字符2的非隐含文件
C)所有非隐含文件
D)所有非隐含文件和目录
(14)软驱的盘符为A,A盘上只有一个目录\XYZ,而\XYZ下有若干子目录和文件,若想把A盘的所有内容复制到C盘根目录下,应使用的命令为( )。
A)COPYA:
\*.*C:
B)COPYA:
\*.*
C)XCOPYA:
\/S
D)DISKCOPYA:
C:
(15)若要将当前盘目录下的文件A.TXT连接在文件B.TXT后面,应使用的命令为( )。
A)COPYA.TXT>
>
B.TXT B)MOVEA.TXT>
B.TXT
C)PATHA.TXT>
B.TXT D)TYPEA.TXT>
(16)若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。
A)a:
=b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b
(17)C语言中运算对象必须是整型的运算符是( )。
A)%= B)/ C)= D)〈=
(18)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( )。
A)1 B)2 C)2.0 D)2.5
(19)若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。
A)a==1 B)++i;
C)a=a++=5;
D)a=int(i);
(20)若有以下程序段,
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是( )。
A)0 B)0.5 C)1 D)2
(21)有如下程序
main()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是( )。
A)34 B)42 C)43 D)33
(22)能正确表示逻辑关系:
“a≥=10或a≤0”的C语言表达式是( )。
A)a>
=10ora<
=0 B)a>
=0|a<
=10 C)a>
=10&
&
a<
=0 D)a>
=10‖a<
=0
(23)有如下程序
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++
case2:
a++;
b++
printf(“a=%d,b=%d\n”,a,b);
该程序的输出结果是( )。
A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
(24)有如下程序
{floatx=2.0,y;
if(x<
0.0)y=0.0;
elseif(x<
10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
该程序的输出结果是( )。
A)0.000000 B)0.250000 C)0.500000 D)1.000000
(25)有如下程序
{inta=2,b=-1,c=2;
if(aif(b<
0)c=0;
elsec++
printf(“%d\n”,c);
A)0 B)1 C)2 D)3
(26)有如下程序
{inti,sum;
for(i=1;
i<
=3;
sum++)sum+=i;
printf(“%d\n”,sum);
该程序的执行结果是( )。
A)6 B)3 C)死循环 D)0
(27)有如下程序
{intx=23;
do
{printf(“%d”,x--);
while(!
x);
A)321 B)23 C)不输出任何内容 D)陷入死循环
(28)有如下程序
{intn=9;
while(n>
6){n--;
printf(“%d”,n);
该程序段的输出结果是( )。
A)987 B)876 C)8765 D)9876
(29)设有说明语句:
chara=’\72’;
则变量a( )。
A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法
(30)有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5);
该函数调用语句中,含有的实参个数是( )。
A)3 B)4 C)5 D)有语法错
(31)有如下程序
intrunc(inta,intb)
{return(a+b);
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
该程序的输出的结果是( )。
A)12 B)13 C)14 D)15
(32)有如下程序段
int*p,a=10,b=1
p=&
a;
a=*p+b;
执行该程序段后,a的值为( )。
A)12B)11C)10D)编译出错
(33)对于基类型相同的两个指针变量之间,不能进行的运算是( )。
A)<
B)= C)+ D)-
(34)以下函数返回a所指数组中最小的值所在的下标值
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;
iif(a[i]return(p);
在下划线处应填入的是( )。
A)i=pB)a[p]=a[i]C)p=jD)p=i
(35)有如下程序
longfib(intn)
{if(n>
2)return(fib(n-1)+fib(n-2));
elsereturn
(2);
{printf(“%d\n”,fib(3));
A)2 B)4 C)6 D)8
(36)在C语言中,函数的隐含存储类别是( )。
A)auto B)static C)extern D)无存储类别
(37)有如下程序
#defineN2
#defineMN+1
#defineNUM2*M+1
#main()
{inti;
for(i=1;
=NUM;
i++)printf(“%d\n”,i);
该程序中的for循环执行的次数是( )。
A)5 B)6 C)7 D)8
(38)有以下函数
charfun(char*p)
{returnp;
}
该函数的返回值是( )。
A)无确切的值 B)形参p中存放的地址值
B)一个临时存储单元的地址 D)形参p自身的地址值
(39)有如下程序段
inta=14,b=15,x;
charc=’A’;
x=(a&
b)&
(c<
’B’);
执行该程序段后,x的值为( )。
A)ture B)false C)0 D)1
(40)若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )。
A)EOF B)0 C)非零值 D)NULL
(41)若有以下说明和定义
fun(int*c){}
main()
{int(*a)()=fun,*b(),w[10],c;
┆
在必要的赋值之后,对fun函数的正确调用语句是( )。
A)a=a(w);
B)(*a)(&
c);
C)b=*b(w);
D)fun(b);
(42)有如下说明
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是( )。
A)*P+9 B)*(P+8) C)*P+=9 D)P+8
(43)有如下程序
{intn[5]={0,0,0},i,k=2;
for(i=0;
iprintf(“%d\n”,n[k]);
A)不确定的值 B)2 C)1 D)0
(44)若有以下的定义:
intt[3][2];
能正确表示t数组元素地址的表达式是( )。
A)&
t[3][2] B)t[3] C)t[1] D)t[2]
(45)有如下程序
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
3;
i++)
for(j=0;
jprintf(“%d\n”,s);
A)18 B)19 C)20 D)21
(46)有如下定义
structperson{charname[9];
intage;
};
strictpersonclass[10]={“Johu”,17,
“Paul”,19
“Mary”,18,
“Adam16,};
根据上述定义,能输出字母M的语句是( )。
A)prinft(“%c\n”,class[3].mane);
B)pfintf(“%c\n”,class[3].name[1]);
C)prinft(“%c\n”,class[2].name[1]);
D)printf(“%^c\n”,class[2].name[0]);
(47)以下对结构体类型变量的定义中,不正确的是( )。
A)typedefstructaa B)#defineAAstructaa
{intn;
AA{intn;
floatm;
floatm;
}AA;
}td1;
AA td1;
C)struct D)struct
{intn;
}aa;
}td1;
stuctaatd1;
(48)若已建立如下图所示的单向链表结构,在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是( )。
A)p=p->
next;
s->
next=p;
p->
next=s;
B)p=p->
next=p->
C)s->
next=NULL;
p=p->
D)p=(*p).next;
(*s).next=(*p).next;
(*p).next=s;
(49)有如下程序
{chars[]=”ABCD”,*P;
for(p=s+l;
p}
A)ABCD B)A C)B D)BCD
BCD
B
C CD
CD
C
D
D
D
D
(50)有如下程序
{charch[2][5]={“6937”,”8254”},*p[2];
inti,j,s=0;
2;
i++)p[i]=ch[i];
p[i][j]>
’\0’;
j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
A)69825 B)63825 C)6385 D)693825
二、填空题(每空2分,共40分)
请将每空的正确答案写在答题卡上[1]至[20]序号的横线上,答在试卷上不得分。
(1)在DOS状态下,当执行当前盘目录中的程序A.EXE时,为了将本该在屏幕上显示的运行结果输出到文件A.DAT中,应使用的 DOS命令为[1]。
(2)在XCOPY、PATH、TREE三个DOS命令中,属于内部命令的是令是[2]。
(3)设当前盘为C盘,为了将当前盘当前目录中第三个字符为X的所有文件同名复制到A盘的当前目录中,应使用的DOS命令为[3]。
(4)要将当前盘的目录A\B\C设置为当前目录,应使用的DOS命令为[4]。
(5)计算机网络按通信距离划分为局域网与广域网,Novell网属于[5]。
(6)以下程序的输出结果是[6]。
{unsignedshorta=65536;
intb;
printf(“%d\n”,b=a);
(7)若有定义:
inta=10,b=9,c=8;
接着顺序执行下列语句后,变量b中的值是[7]。
c=(a-=(b-5));
c=(a%11)+(b=3);
(8)表示“整数x的绝对值大于5”时值为“真”的C语言表达式是[8]。
(9)要使以下程序段输出10个整数,请填入一个整数。
for(i=0;
=[9];
printf(“%d\n”,i+=2));
(10)函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
现在请你在下面的函数中填空,完成求π的功能。
#include“math.h”
doublepi(longn)
{doubles=0.0;
longi;
for(i=1;
=n;
i++)s=s+[10];
return(sqrt(6*s));
}
(11)若输入字符串:
abcde<
回车>
则以下while循环体将执行[11]次。
While((ch=getchar())==’e’)printf(“*”);
(12)以下函数用来求出两整数之和,并通过形参将结果传回,请填空。
voidfunc(intx,inty,[12]z)
{*z=x+y;
(13)若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是[13]。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
(14)设在主函数中有以下定义和函数调用语句,且fun函数为void类型;
请写出fun函数的首部[14]。
要求形参名为b。
main()
{doubles[10][22];
intn;
fun(s);
(15)以下程序的输出结果是[15]。
voidfun()
{staticinta=0;
a+=2;
printf(“%d”,a);
}
main()
{intcc;
for(cc=1;
cc<
4;
cc++)fun()
printf(“\n”);
(16)以下程序的输出结果是[16]。
#defineMAX(x,y)(x)>
(y)?
(x):
(y)
{inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf(“%d\n”,t);
(17)若要使指针p指向一个double类型的动态存储单元,请填空。
p=[17]malloc(sizeof(double));
(18)设有以下结构类型说明和变量定义,则变量a在内存所占字节数是[18]。
Structstud
{charnum[6];
ints[4];
doubleave;
}a,*p;
(19)以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。
请填空。
Strcen(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!
=[19])num++;
while(b[n]){*(a+num)=b[n];
num++;
[20];
}
return(num);
一、选择题:
(1)B
(2)D(3)A(4)A(5)C (6)B(7)A (8)C(9)B (10)B
(11)D(12)B(13)D(14)C(15)D(16)B(17)A(18)C(19)B(20)A
(21)D(22)D(23)A(24)C(25)C(26)C(27)B(28)B(29)A(30)A
(31)D(32)B(33)C(34)D(35)B(36)C(37)B(38)B(39)D(40)C
(41)B(42)B(43)D(44)D(45)A(46)D(47)C(48)A(49)D(50)C
二、填空题:
[1]A.EXE>
A.DAT或A>
A.DAT
[2]PATH
[3]COPY?
?
X*.*A:
[4]CDA\B\C
[5]局域网
[6]0
[7]3
[8]x>
5||x<
-5
[9]18
[10]1.0/(i*i)
[11]0
[12]int*
[13]P[5]或*(p+5)
[14]voidfun(doubleb[][22])
或voidfun(doubleb[0][22])
或voidfun(double(*b)[22])
[15]246
[16]7
[17](double*)
[18]22
[19]'
\0'
或0
[20]n++或n+=1或n=n+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 笔试 试题 答案