C语言期末复习汇总华师网络教育学院Word格式.docx
《C语言期末复习汇总华师网络教育学院Word格式.docx》由会员分享,可在线阅读,更多相关《C语言期末复习汇总华师网络教育学院Word格式.docx(58页珍藏版)》请在冰豆网上搜索。
fun(intk)
{if(k>
0)fun(k-1);
%d"
k);
A.54321B.012345C.12345D.543210
4.下面程序运行结果是__C____。
#include"
stdio.h"
main()
{inti;
for(i=1;
i<
=5;
i++)
{if(i%2)printf("
*"
);
elsecontinue;
#"
$\n"
A.*#*#$B.#*#*#*$C.*#*#*#$D.***#$
5.若有以下定义,则不能表示a数组元素的表达式是_B__。
inta[10]={5,1,3,4,2,6,7,8,9,11},*p=a;
A.*pB.a[10]C.*aD.a[p-a]
6.下面程序段的输出结果为:
___B____。
intp=2;
{ints,j,sum();
for(j=0;
j<
j++)s=sum(j);
s=%d\n"
s);
intsum(intk)
{staticintx=1;
inty=1;
p++;
y++;
return(x+=k+p+y);
A.s=67B.s=61C.s=63D.s=56
7.以下程序的输出结果是__A____。
{union{chari[2];
intk;
}r;
r.i[0]=2;
r.i[1]=0;
r.k=r.i[0]+r.i[1]*2;
%d\n"
r.k);
A.2B.1C.0D.不确定
8.使用"
scanf("
a=%d,b=%d"
&
a,&
b)"
要使a、b均为125,正确的输入是_C_。
A.125,125B.125125(空格分开)
C.a=125,b=125D.a=125b=125(空格分开)
9.如果在用户的程序中使用C语言库函数中的数学函数时,应在该源文件中使用的include命令是__B__。
A.#include"
string.h"
B.#include"
math.h"
C.#include"
stype.h"
D.#include"
stdio.h"
10.写出下列程序的运行结果___B____。
inta=5,c=2;
{voids1();
inta=3,b;
b=a+c;
a=a+c;
s1(a,b);
voids1(a,b)
inta,b;
{intc=4;
a=a+c;
c=a+b;
A.11,,8,98,8,3B.9,5,145,5,2
C.5,5,29,514D.5,2,59,14,5
11.若有以下说明,则数值为5的表达式是___D___。
inta[12]={1,2,3,4,5,6,7,8,9,10,11};
charc='
a'
e,g;
A.a[g-c]B.a[5]C.a['
d'
-'
c'
]D.a['
e'
]
12.设有以下定义:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0]
则下列能够正确表示数组元素a[1][2]的表达式是__D____。
A.*((*prt+1)[2]B.*(*(p+5))C.(*prt+1)+2D.*(*(a+1)+2)
13.设有以下宏定义:
#defineN4
#defineY(n)((N+1)*n)
则执行语句z=2*(N+Y(5+1));
后,z的值为__B____。
A.出错B.60C.48D.54
14.设p为int型变量,则下面for循环语句的执行结果__B__。
for(p=1;
p<
=10;
p++)
{if(p%3)p++;
++p;
p);
A.35811B.36912C.2468D.258
15.下面程序运行结果是__A____。
{inti;
inta[5]={2,3};
for(i=2;
5;
s[i]=a[i-2]+a[i-1];
for(i=0;
{if(i%5==0)printf("
%-3d:
a[i]);
}}
A.235813B.2381315C.235813D.3581315
16.以下程序的运行结果是__C____。
#include"
{inta=1,b=2,c;
c=max(a,b);
maxis%d\n"
c);
max(intx,inty)
{intz;
z=(x>
y)?
x:
y;
return(z);
A.2B.MAXIS2C.maxis2D.maxis2
17.下列程序运行结果是___A___。
{inty=10,i=0,j,a[8];
do
{a[i]=y%2;
i++;
y=y/2;
}while(y>
=1);
for(j=i-1;
j>
=0;
j--)
%d"
a[j]);
A.1010B.1001C.1101D.1011
18.若有说明"
intI,j=9,*p1=&
j;
"
,则等价的语句是___A____。
A.i=*p1B.*p1=*&
jC.i=&
jD.i=**p1
19.若有以下说明,char*str1="
copy"
str2[10],*str3="
hijkl"
*str4,*str5="
abcd"
则___C___不是对strcpy库函数的正确调用
A.strcpy(str2,str1);
B.strcpy(str3,str1);
C.strcpy(str4,str1);
D.strcpy(str5,str1);
20.以下程序的输出结果是__C____。
{intn[3][3],i,j;
3;
for(j=0;
j++)n[i][j]=i+j;
2;
j++)n[i+1][j+1]+=n[i][j];
%d\n"
n[i][j]);
A.14B.0C.6D.值不确定
21.以下程序的运行结果是___A___。
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12};
int*p=a+5,*q=NULL;
*q=*(p+5);
%d%d\n"
*p,*q);
A.运行后报错B.66C.612D.55
22.写出下列程序的运行结果___B____。
{inta=3,y;
y=fn(a,a++);
y);
intfn(x,c)
intx,c;
{intb;
if(x<
c)b=1;
elseif(x==c)b=0;
elseb=-1;
return(b);
A.3B.-1C.1D.0
23.下面程序运行结果是__C____。
{inta[6],i;
for(i=1;
6;
{a[i]=9*(i-2+4*(i>
3)%5);
%2d"
a[i]);
A.-9095436B.-18-90954
C.-9095463D.-9095463
24.以下程序的输出结果是__C____。
inta=1;
fun(intk)
{staticinta=5;
a+=k;
a);
return(a);
{intb=3;
fun(b+fun(a)));
A.699B.669
C.61515D.6615
25.写出下列程序的输出结果___A____。
{intn;
charch[81],*pt;
pt=ch;
scanf("
n);
fun(n,ch);
puts(pt);
printf("
fun(intj,char*s)
{charc;
intk,i=10;
while(j!
=0)
{k=j%i;
*s=k+'
0'
;
s++;
*s='
*'
j=(j-k)/i;
s='
\0'
输入为:
234
A.4*3*2B.432C.4*32*D.4*3*2
26.设整型变量k、p、x、y、m、n均为1,执行"
(m=x>
y)&
&
(n=k>
p)"
后m、n的值是_B__。
A.0,0B.0,1C.1,0D.1,1
27.当a=1,b=3,c=5,d=6时,执行下列一段程序后,x的值_C_。
if(a<
b)
if(c<
d)x=1;
else
if(a<
c)
if(b>
d)x=2;
elsex=3;
elsex=6;
A.1B.2C.3D.6
28.以下程序的输出结果是___B___。
{char*p="
12134211"
intz[4]={0,0,0,0},j,i;
p[j];
j++)
{switch(p[j])
{case'
1'
:
i=0;
case'
2'
i=1;
3'
i=2;
4'
i=3;