计算机C语言期末复习资料含答案Word下载.docx
《计算机C语言期末复习资料含答案Word下载.docx》由会员分享,可在线阅读,更多相关《计算机C语言期末复习资料含答案Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
'
\t'
"
A"
65
A
8、表达式:
10!
=9的值是______D_____.
true
B)非零值
0
1
9、C语言提供的合法的数据类型关键字是
_____B___.
Double(应该为double)
short
integer(应该为int)
Char(应该为char)
10、字符(char)型数据在微机内存中的存储形式是__D__.
反码
补码
EBCDIC码
ASCII码
11、C语言程序的基本单位是_____C______.
程序行
语句
函数
字符
12、设
a=12,则执行完语句a+=a-=a*a后,a的值是
_____D__
552
264
144
-264
13、执行下面程序中的输出语句后,输出结果是
__B____.
main()
{int
a;
%d\n"
(a=3*5,a*4,a+5));
20
15
10
14、下面程序的输出是__B________.
x=023;
(八进制)
--x);
17
18
23
24
15下面程序的输出的是___C______.
x=10,y=3;
y=x/y);
3
不确定的值
16、已知字母A的ASCII码为十进制的65,下面程序的输出是_______A____.
{char
ch1,ch2;
ch1='
A'
+'
5'
-'
3'
;
ch2='
6'
%d,%c\n"
ch1,ch2);
}
67,D
B,C
C,D
17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D_____.
a<
>
!
a
a=0
18、以下程序的输出结果是__D______.
x=10,y=10;
%d
x--,--y);
9
19、设有如下定义:
x=10,y=3,z;
则语句printf("
z=(x%y,x/y));
的输出结果是_D_______.
4
20、为表示关系x≥y≥z,应使用C语言表达式
____A__.
(x>
=y)&
&
(y>
=z)
=y)AND(y>
=y>
D)
=y)
=z)
21、C语言中非空的基本数据类型包括__B______.(基本数据类型有整型,字符型,浮点型,枚举类型)
整型,实型,逻辑型
整型,实型,字符型
整型,字符型,逻辑型
整型,实型,逻辑型,字符型
22、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
%d"
(x,y));
上面程序片段的输出结果是___A____.
200
100
输出格式符不够,输出不确定的值
23、阅读下面的程序
char
ch;
scanf("
%3c"
&
ch);
(%3c表示输入三个字符)
%c"
ch);
(表示输出一个字符)
如果从键盘上输入abc<
回车>
则程序的运行结果是__A____.
b
c
程序语法出错
24、阅读下面的程序
i,j;
i=010;
j=9;
%d,%d"
i-j,i+j);
则程序的运行结果是___D_____.
1,19
-1,19
1,17
-1,17
25、阅读下面的程序
i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
%d,%d,%d,%d"
i,j,m,n);
程序的运行结果是____C___;
8,10,8,10
9,11,8,10
9,11,9,10
9,10,9,11
26、已知a=12,则表达式a+=a-=a*=a的结果是__A_____.
12
27、若已定义int
a,则表达式a=10,a+10,a++的值是_B__.
21
11
28、阅读下面的程序
%3d%2d"
i,&
j);
i=%d,j=%d\n"
i,j);
如果从键盘上输入1234567<
则程序的运行结果是____D____.
i=123,j=4567
i=1234,j=567
i=1,j=2
i=123,j=45
29、下面程序的输出结果是___D_____.
a=-1,
b=4,
k;
k=(++a<
=0)&
(b--<
=0);
(如果&
前面部分为假则&
后面的部分就不被执行,如果前面部分为真则&
后面部分需要被执行)
%d,%d,%d\n"
k,a,b);
1,1,2
1,0,3
0,1,2
0,0,3
30、下面叙述错误的是___D___
A)一个由数据申明部分和执行语句组成。
B)任何表达式都可以加上分好而成为语句。
C))break语句只能用于循环语句和switch语句。
D)二维数组的第二维可以省略。
31、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.
A)缩排位置相同的if
B)在其之前未配对的if
C)在其之前尚未配对的最近的if
D)同一行上的if
32、对于for(表达式1;
表达式3)可理解为______B____.
A)for(表达式1;
0;
表达式3)
B)for(表达式1;
1;
C)for(表达式1;
表达式1;
D)for(表达式1;
表达式3;
33、若i为整型变量,则以下循环语句的循环次数是_B_.
for(i=2;
i==0;
)
printf("
i--);
A)无限次B)0次
C)1次D)2次
34、若已定义x和y是整型变量,x=2;
则表达式y=2.75+x/2的值是____C____.
A)5.5B)5C)3D)4.0
35、以下程序的输出结果是____D____.
voidmain()
inta=12,b=12;
%d,%d\n"
--a,++b);
A)10,10B)12,12
C)11,10D)11,13
36、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.
A)0B)1C)12D)6
37、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:
(x+y)%2+(int)a/(int)b的值是__D__.
A)0B)2C)1.5D)1
38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母,数字或下划线中的任意一种
39、设有说明:
charw;
intx;
floaty;
doublez;
则表达式:
w*x+z-y值的数据类型是___D____.
A)floatB)char
C)intD)double
40、设a为整型变量,不能正确表达数学关系10<
15的C语言表达式是____A____.
A)a>
10||a<
15
B)a==11||a==12||a==13||a==14
C)a>
10&
D)!
(a<
=10)&
(a>
=15)
41、下列程序执行后的输出结果是_____C____.
#include<
voidmain()
{inta=5,b=60,c;
if(a<
b)
{c=a*b;
%d*%d=%d\n"
b,a,c);
else
{c=b/a;
%d/%d=%d\n"
}
A)60/5=12B)300
C)60*5=300D)12
42、执行下列程序段后的输出结果是_____A____.
intx=1,y=1,z=1;
x+=y+=z;
x<
y?
y:
x);
A)3B)2C)1D)4
43、设ch是char型变量,值为'
则表达式ch=(ch>
='
&
ch<
Z'
)?
ch+32:
ch的值是__B___.
A)ZB)aC)zD)A
44、以下对二维数组a进行正确初始化的是__B_____.
A)inta[2][3]={{1,2},{3,4},{5,6}};
B)inta[][3]={1,2,3,4,5,6};
C)inta[2][]={1,2,3,4,5,6};
D)inta[2][]={{1,2},{3,4}};
45、运行下面程序时,若从键盘输入"
3,4<
CR>
,则程序的输出结果是____B___.
{inta,b,s;
scanf("
a,&
b);
s=a;
if(s<
b)s=b;
s=s*s;
s);
A)14B)16C)18D)20
46、下列程序的执行结果是_____D____.
{intx=0,y=1,z=0;
if(x=z=y)
x=3;
x,z);
A)3,0B)0,0C)0,1D)3,1
47、有如下程序
{floatx=5.0,y;
if(x<
0.0)y=0.0;
elseif(x<
10.0)y=1.0/x;
elsey=1.0;
%f\n"
y);
该程序的输出结果是____C_____.
A)0.000000B)0.50000
C)0.200000D)1.000000
48、以下定义语句中,错误的是___B_____.
A)inta[]={1,2};
B)chara={"
test"
};
C)chars[10]={"
D)inta[]={'
a'
'
b'
c'
49、有如下程序:
#include<
{inta=2,b=-1,c=2;
if(b<
0)c=0;
elsec++;
c);
该程序的输出结果是___C_____.
A)0B)1C)2D)3
50、下列程序执行后的输出结果是____B____.
{intx,y=1,z;
if((z=y)<
0)x=4;
elseif(y==0)x=5;
elsex=6;
x,y);
A)4,1B)6,1C)5,0D)出错信息
51、有如下程序
{intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
case1:
a++;
case2:
b++;
a=%d,b=%d\n"
a,b);
该程序的输出结果是______A____.
A)a=2,b=1B)a=1,b=1
C)a=1,b=0D)a=2,b=2
52、以下说法中正确的是_____C___.
A)C语言程序总是从第一个定义的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
53、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;
x=2;
y=3;
z=4;
m=(w<
x)?
w:
x;
m=(m<
y)?
m:
y;
z)?
z;
则该程序段执行后,m的值是____D_____.
A)4B)3C)2D)1
54、以下程序的输出结果是___D______.
main()
{inta=100;
if(a>
100)printf("
a>
100);
elseprintf("
a<
=100);
A)a<
=100B)100C)0D)1
55、若执行下面的程序从键盘上输入9,则输出结果是.______B________
{intn;
n);
if(n++<
10)printf("
n);
n--);
A)11B)10C)9D)8
56、下列程序的输出结果是____C____.
{charb[]="
ABCDEFG"
charp=0;
while(p<
7)
putchar(b[p++]);
putchar('
\n'
);
A)GFEDCBAB)BCDEFG
C)ABCDEFGD)GFEDCB
57、如有定义语句inta[]={1,8,2,8,3,8,4,8,5,8};
,则数组a的大小是___A_____.
A)10B)11C)8D)不定
58、以下对C语言函数的有关描述中,正确的是___A__.
A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B)C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D)C程序中有调用关系的所有函数必须放在同一个源程序文件中
59、有如下说明:
inta[10]={0,1,2,3,4,5,6,7,8,9};
则数值不为9的表达式是____B____.
A)a[10-1]B)a[8]
C)a[9]-0D)a[9]-a[0]
60、设有数组定义:
chararray[]="
China"
则数组array所占的存储空间为____C____.(存放字符串时,最后的\0会占用一个字节,但是有效字是5个字符,但是占用6个字节的内存)
A)4个字节B)5个字节
C)6个字节D)7个字节
61、在以下叙述中,不正确的选项是____B____。
A)C语言程序总是从main()函数开始执行
B)在C语言程序中,被调用的函数必须在main()函数中定义
C)C程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数
D)在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套
62、C语言中,若未说明函数的类型,则系统默认该函数的类型是___C_____。
A)float型B)long型
C)int型D)double型
63、对于C语言的函数,下列叙述中正确的是___A___.
A)函数的定义不能嵌套,但函数调用可以嵌套
B)函数的定义可以嵌套,但函数调用不能嵌套
C)函数的定义和调用都不能嵌套
D)函数的定义和调用都可以嵌套
64、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_____B___.
A)地址传递
B)单向值传递
C)由实参传给形参,再由形参传回实参
D)传递方式由用户指定
65、以下函数fun形参的类型是____D____.
fun(floatx)
{floaty;
y=3*x-4;
returny;
A)intB)不确定
C)voidD)float
66、C语言中规定函数的返回值的类型是由__D______.
A)return语句中的表达式类型所决定
B)调用该函数时的主调用函数类型所决定
C)调用该函数时系统临时决定
D)在定义该函数时所指定的类型所决定
67、有如下程序
intfunc(inta,intb)
{return(a+b);
voidmain()
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
r);
该程序的输出结果是_____D_____.
A)12B)13
C)14D)15
68、有如下函数调用语句func(rec1,rec2+rec3,rec4,
rec5);
该函数调用语句中,含有的实参个数是___B_____.
A)3B)4
C)5D)有语法错误
69、C语言中,凡未指定存储类别的局部变量的隐含存储类别是____A____.
A)autoB)static
C)externD)register
70、在C语言中,全局变量的存储类别是____A_____.
A)staticB)extern
C)voidD)regist
程序分析及编程题(请理解程序的作用,可以自行编程,只要达到要求即可,部分程序只给出样题,并非完全一样)
1输入一行字符分别统计求出其中英文字母,空格数字和其他字符的
个数并输出。
参考程序
charch;
intz=0,k=0,s=0,q=0;
for(;
(ch=getchar())!
if(ch>
ch<
z'
||ch>
z++;
elseif(ch=='
'
k++;
elseif(ch>
0'
9'
s++;
elseq++;
zimu:
%d\nspace:
%d\nshuzi:
%d\nqita:
z,k,s,q);
getch();
2任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果。
inta[10];
inti,j,t;
input10numbers:
\n"
for(i=0;
i<
10;
i++)