c语言程序设计及答案.docx
《c语言程序设计及答案.docx》由会员分享,可在线阅读,更多相关《c语言程序设计及答案.docx(20页珍藏版)》请在冰豆网上搜索。
c语言程序设计及答案
一、选择题(1~40题每题1分,41~50题每题2分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.微型计算机的运算器、控制器及内存储器组合在一起,称之为()(本题分值:
1分)
【正确答案】D
D.主机
2.下列存储器中,存取速度最快的是()(本题分值:
1分)
【正确答案】D
A.软盘
B.硬盘
C.光盘
D.内存
3.系统软件中最重要的是()(本题分值:
1分)
【正确答案】A
A.操作系统
B.语言处理程序
C.工具软件
D.数据库管理系统
4、CPU处理的数据基本单位为字,一个字的字长()(本题分值:
1分)
【正确答案】D
A.为8个二进制位
B.为16个二进制位
C.为32个二进制位
D.与CPU芯片的型号有关
5.打印当前屏幕内容应使用的控制键是()(本题分值:
1分)
【正确答案】D
(PrintScreen)
6.能将高级语言源程序转换成目标程序的是()(本题分值:
1分)
【正确答案】C
A.调试程序
B.解释程序
C.编译程序
D.编辑程序
7.二进制数转换成十进制数是()(本题分值:
1分)
【正确答案】B
8.十六进制数转换成十进制数是()(本题分值:
1分)
【正确答案】A
9.中国国家计算机网络设施是()(本题分值:
1分)
【正确答案】A
10.控制键^C的功能为()(本题分值:
1分)
【正确答案】A
A.终止当前操作
B.系统复位
C.暂停标准输出设备的输出
D.结束命令行
为命令处理程序,DOS系统启动后,它()(本题分值:
1分)
【正确答案】B
A.驻留在外存,需要时装入内存
B.常驻内存,包含所有内部命令
C.不能处理外部命令
D.不能处理后缀为.EXE的可执行文件
12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令()(本题分值:
1分)
【正确答案】C
*.PAS.?
AS
PASP
*.PAS*.P
*.PAS*.P?
?
13.设当前盘中文件的路径为\A\B\XU,当前目录为\A\B。
为了查看文件的内容,应使用命令()(本题分值:
1分)
【正确答案】A
XU\
\XU\
XU\
\A\B\XU\
14.要将提示符改成当前盘当前目录后加一个大于号“>”,应使用命令()(本题分值:
1分)
【正确答案】B
$p$g
$$
C\>
15.在多媒体计算机系统中,CD-ROM属于()(本题分值:
1分)
【正确答案】D
A.感觉媒体
B.表示媒体
C.表现媒体
D.存储媒体
16.设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令()(本题分值:
1分)
【正确答案】C
A:
\>AB
>AB
A:
\>AB
\>AB
17.在位运算中,操作数每右移一位,其结果相当于()(本题分值:
1分)
【正确答案】B
A.操作数乘以2
B.操作数除以2
C.操作数除以16
D.操作数乘以16
18.在当前盘当前目录下有一个文件,其内容为
CD\
MD\XYZ\AB\B\C
CDXYZ\AB\B
在正确执行上述文件后,接着执行下列命令时,不会发生错误的是()(本题分值:
1分)
【正确答案】C
C
\XYZ
C
B
19.下列命令组中两个DOS命令互相等价的是()(本题分值:
1分)
【正确答案】D
与DIR
A:
B:
与COMPA:
.*B:
*.
>>与COPY
>与COPY
20.设A盘为启动盘,其目录结构为
根目录
DOS子目录
USER子目录
其文件的内容如下:
MD\XYZ
CD\DOS\USER
则由A盘启动成功后,A盘的当前目录是()(本题分值:
2分)
【正确答案】C
A.\DOS\USER
B.\XYZ
C.根目录
D.\DOS
语言提供的合法关键字是()(本题分值:
1分)
【正确答案】C
22.在C语言中,合法的字符常量是()(本题分值:
1分)
【正确答案】B
A.′\084′
B.′\x43′
C.′ab′
D.′\0′
23.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是()(本题分值:
1分)
【正确答案】C
24.合法的数组定义是()(本题分值:
1分)
【正确答案】D
a[]=〃string〃;
a[5]={0,1,2,3,4,5};
a=〃string〃;
a[]={0,1,2,3,4,5};
25.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是()(本题分值:
1分)
【正确答案】A
<a<15
==11||a==12||a==13||a==14
>10&&a<15
D.!
(a<=10)&&!
(a>=15)
26.若t为double类型,表达式t=1,t+5,t++的值是()(本题分值:
1分)
【正确答案】C
27.若有定义和语句:
chars[10];s=〃abcd〃;printf(〃%s\n〃,s);
则结果是(以下μ代表空格)()(本题分值:
1分)
【正确答案】D
A.输出abcd
B.输出a
C.输出abcdμμμμμ
D.编译不通过
28.若有定义和语句:
int**pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);
则输出结果是()(本题分值:
1分)
【正确答案】D
10
20
10
20
29.若有以下定义和语句:
intu=010,v=0x10,w=10;
printf(〃%d,%d,%d\n〃,u,v,w);
则输出结果是()(本题分值:
1分)
【正确答案】A
16,10
10,10
8,10
10,10
30.若有以下定义和语句:
charc1=′b′,c2=′e′;
printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);
则输出结果是()(本题分值:
1分)
【正确答案】B
M
E
E
D.输出项与对应的格式控制不一致,输出结果不确定
31.若有定义:
inta[3][4];,()不能表示数组元素a[1][1]。
(本题分值:
1分)
【正确答案】D
A.*(a[1]+1)
B.*(&a[1][1])
C.(*(a+1))[1]
D.*(a+5)
32.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()(本题分值:
1分)
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}
【正确答案】A
33.若有以下定义和语句:
char*s1=〃12345〃,*s2=〃1234〃;
printf(〃%d\n〃,strlen(strcpy(s1,s2)));
则输出结果是()(本题分值:
1分)
【正确答案】A
34.若有以下定义和语句:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是()(本题分值:
1分)
【正确答案】B
A.*p
[10]
C.*a
[p-a]
35.下面程序的输出结果是()(本题分值:
2分)
【正确答案】C
=3a=2b=3
=3a=3b=2
=2a=3b=2
=2a=2b=3
36.下面程序的输出结果是()(本题分值:
1分)
main()
{unsigneda=32768;
printf(〃a=%d\n〃,a);}
【正确答案】C
=32768
=32767
=-32768
=-1
37.执行下面语句后的输出结果为()(本题分值:
1分)
inti=-1;
if(i<=0)printf(〃****\n〃);
elseprintf(〃%%%%\n〃)
【正确答案】D
A.****
B.%%%%
C.%%%%c
D.有语法错误,不能正确执行
38.对于条件表达式(M)?
(a++):
(a--),其中的表达式M等价于()(本题分值:
1分)
【正确答案】C
==0
==1
!
=0
!
=1
39.下述程序段的输出结果是()(本题分值:
1分)
intx=10;
int7nbspy=x++;
printf(〃%d,%d〃,(x++,y),y++);
【正确答案】A
,10
,11
,10
,11
40.若有以下的定义:
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a
则值为3的表达式是()(本题分值:
1分)
【正确答案】A
+=2,*(p++)
+=2,*++p
+=3,*p++
+=2,++*p
41.假定所有变量均已正确说明,下列是程序段运行后x的值是()(本题分值:
2分)
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
【正确答案】B
42.在以下一组运算中,优先级最高的运算符是()(本题分值:
2分)
【正确答案】C
A.<=
B.=
C.%
D.&&
43.若有以下定义和语句:
intw[2][3],(*pw)[3];pw=w;
则对w数组元素的非法引用是()(本题分值:
2分)
【正确答案】A
A.*(w[0]+2)
B.*(pw+1)[2]
[0][0]
D.*(pw[1]+2)
44.若有以下程序片段:
charstr[]=〃ab\n\012\\\\〃;printf(〃%d〃,strlen(str));
上面程序片段的输出结果是()(本题分值:
2分)
【正确答案】C
45.函数调用:
strcat(strcpy(str1,str2),str3)的功能是()(本题分值:
2分)
【正确答案】C
A.将串str1复制到串str2中后再连接到串str3之后
B.将串str1连接到串str2之后再复制到串str3之后
C.将串str2复制到串str1中后再将串str3连接到串str1之后
D.将串str2连接到串str1之后再将串str1复制到串str3中
46.以下对C语言函数的有关描述中,正确的是()(本题分值:
2分)
【正确答案】A
A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
程序中有调用关系的所有函数必须放在同一个源程序文件中
47.以下叙述中不正确的是()(本题分值:
2分)
【正确答案】C
A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值
B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C.在C中,外部变量的隐含类别是自动存储类别
D.在C中,函数形参可以说明为register变量
48.设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节)()(本题分值:
2分)
structdate
{long*cat;
structdate*next;
doubledog;
}too;
printf(〃%d〃,sizeof(too));
【正确答案】D
49.设有定义:
structsk
{inta;floatb;}data,*p;
若有p=&data;,则对data中的a域的正确引用是()(本题分值:
2分)
【正确答案】B
A.(*p).
B.(*p).a
>
50.以下对枚举类型名的定义中正确的是()(本题分值:
2分)
【正确答案】B
a={one,two,three};
a{one=9,two=-1,three};
a={〃one〃,〃two〃,〃three〃};
a{〃one〃,〃two〃,〃three〃};
二、填空题(每空2分,共40分)请将答案分别写在答题卡中序号【1】至【20】的横线上,答在试卷上不得分。
1、与十进制数101等值的二进制数为。
(本题分值:
2分)
【正确答案】
【1】1100101
2、DOS命令分为内部命令与外部命令,XCOPY命令属于命令。
(本题分值:
2分)
【正确答案】
【2】外部
3、设当前盘为A盘,当前系统提示符为“>”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令。
(本题分值:
2分)
【正确答案】
【3】CDC:
4、自动批处理文件名必须是。
(本题分值:
2分)
【正确答案】
【4】
5、设在当前盘当前目录下有两个文件与,现要将文件连接到文件的后面,若使用COPY命令,则完整的命令为。
(本题分值:
2分)
【正确答案】
【5】COPY+
6、表示条件10<x<100或x<0的C语言表达式是。
(本题分值:
2分)
【正确答案】
【6】(x>10&&x<100)||x<0
或(10<x&&x<100)||x<0
或x<0||(x>10&&x<100)
或0>x||(10<x&&x<100)
7、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最笾怠G胩羁铡?
br>#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,p;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j]);
printf(〃Themaxvalueinlineis%d\n〃,);
}
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
;
}
(本题分值:
6分)
【正确答案】
【7】p=j
【8】x[i][p]
【9】LineMax(x)
8、以下程序的功能是:
从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。
请填空。
main()
{floatx[1000],sum=,ave,a;
intn=0,i;
printf(〃Entermark:
\n〃);scanf(〃%f〃,&a);
while(a>=&&n<1000)
{sum+=;x[n]=;
n++;scanf(〃%f〃,&a);
}
ave=;
printf(〃Output:
\n〃);
printf(〃ave=%f\n〃,ave);
for(i=0;i<n;i++)
if()printf(〃%f\n〃,x[i]);
}
(本题分值:
8分)
【正确答案】
【10】a
【11】a
【12】sum/n或sum/(float)n或sum/(double)n
【13】x[i]<ave或!
(x[i]>=ave)或ave>x[i]
9、执行以下程序,输入-10的结果是,输入5的结果是,输入10的结果是,输入30的结果是。
(本题分值:
8分)
【正确答案】
【14】0
【15】5
【16】10
【17】5
10、以下程序的功能是。
main()
{intnum[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
intsum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf(〃sum=%6d〃,sum);
}
(本题分值:
2分)
【正确答案】
【18】计算数组num中大于零的数据之和
11、以下程序可以把从键盘上输入十进制数(long型)以二到十六进制数的形式输出,请填空。
#include
main()
{char
b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
intc[64],d,i=0,base;
longn;
printf(〃Enteranumber:
\n〃);scanf(〃%1d〃,&n);
printf(〃Enternewbase:
\n〃);scanf(〃%1d〃,&base);
do
{c[i]=;
i++;
n=n/base;
}while(n!
=0);
printf(〃Theresultis:
\n〃);
for(--i;i>=0;--i)
{?
d=c[i];
printf(〃%c〃,b);
}
}
(本题分值:
4分)
【正确答案】
【19】n%base
【20】[d]