c语言期末复习试题附答案Word格式.docx
- 文档编号:17946655
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:18.96KB
c语言期末复习试题附答案Word格式.docx
《c语言期末复习试题附答案Word格式.docx》由会员分享,可在线阅读,更多相关《c语言期末复习试题附答案Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
计算圆面积的赋值语句中使用了非法变量
第4题(分)
"
\\\″ABC\″\\″的长度是(B).
7
5
3
第5题(分)
已知intj,i=1;
执行语句j=–i++;
后,j的值是(C).
1
2
-1
-2
第6题(分)
有以下程序:
{ints=0,a=1,n;
&
n);
do{
s+=1;
a=a–2;
}while(a!
=n);
%d\n"
s);
}
若要使程序的输出值为2,则应该从键盘输入给n的值是(B).
-3
-5
第7题(分)
执行以下程序后,输出的结果是(D).
{inty=10;
y––;
}while(––y);
y––);
8
第8题(分)
以下循环体的执行次数是(C).
{inti,j;
for(i=0,j=1;
i<
=j+1;
i+=2,j––)printf("
i);
第9题(分)
有以下程序段:
while(k=1)k++;
while循环执行的次数是(A).
无限次
有语法错误,不能执行
1次也不执行
执行1次
第10题(分)
有以下程序
{intm,n,p;
m=%dn=%dp=%d"
m,&
n,&
p);
%d%d%d\n"
m,n,p);
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A).
m=123n=456p=789
m=123n=456p=789
m=123,n=456,p=789
123456789
第11题(分)
设变量已正确定义,以下能正确计算f=n!
的程序段是(D)
f=0;
for(i=1;
i<
=n;
i++)f*=i;
f=1;
n;
for(i=n;
i>
1;
=2;
i––)f*=i;
第12题(分)
在下列程序中,没有构成死循环的程序段是(B).
inti=100;
while
(1)
{i=i%100+1;
if(i>
100)break;
intk=1000;
do
{++k;
}while(k>
=10000);
for(;
;
);
ints=36;
while(s);
--s;
第13题(分)
有如下程序:
{intn=9;
while(n>
6)
{n--;
printf("
n);
该程序段的输出结果是(B).
987
876
8765
9876
第14题(分)
以下程序的输出结果是(D).
{intx=10,y=10,i;
for(i=0;
x>
8;
y=++i)
%d%d"
x––,y);
10192
9876
10990
101091
第15题(分)
#include<
{intn[5]={0,0,0},i,k=2;
k;
i++)
{printf("
n[k]);
该程序的输出结果是(D).
不确定的值
第16题(分)
下列程序执行后的输出结果是(A).
{chararr[2][4];
strcpy(arr,"
you"
strcpy(arr[1],"
me"
arr[0][3]='
&
'
%s\n"
arr);
you&
me
you
err
第17题(分)
以下程序的输出结果是(C).
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
3;
i++)printf("
%d,"
x[i][2–i]);
1,5,9,
1,4,7,
3,5,7,
3,6,9,
第18题(分)
以下数组定义中不正确的是(D).
inta[2][3];
intb[][3]={0,1,2,3};
intc[100][100]={0};
intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
第19题(分)
以下能正确定义数组并正确赋初值的语句是(D).
intN=5,b[N][N];
inta[1][2]={{1},{3}};
intc[2][]={{1,2},{3,4}};
intd[3][2]={{1,2},{3,4}};
第20题(分)
inta=4;
intf(intn)
{
intt=0;
staticinta=5;
if(n%2){inta=6;
t+=a++;
}
else{inta=7;
returnt+a++;
main()
ints=a,i=0;
for(;
2;
i++)s+=f(i);
d\n"
程序运行后的输出结果是(B)
24
28
32
36
第21题(分)
以下正确的函数定义形式为(A)
doublefun(intx,inty)
doublefun(intx;
y)
inty)
doublefun(intx,y)
第22题(分)
C语言规定,函数返回值的类型是由(D)
return语句中的表达式类型所决定的
调用该函数时的主调函数类型所决定的
调用该函数时系统临时决定的
在定义该函数时所指定的函数类型所决定的
第23题(分)
输出结果是()(注:
5353)
voidswap1(intc0[],intc1[])
{intt;
t=c0[0];
c0[0]=c1[0];
c1[0]=t;
voidswap2(int*c0,int*c1)
{intt;
t=*c0;
*c0=*c1;
*c1=t;
main()
{inta[2]={3,5},b[2]={3,5};
swap1(a,a+1);
swap2(&
b[0],&
b[1]);
%d%d%d%d\n"
a[0],a[1],b[0],b[1]);
3553
5335
3535
5353
第24题(分)
以下程序的输出结果是(A).
amovep(int*p,int(*a)[3],intn)
{inti,j;
for(i=0;
for(j=0;
j<
j++)
{*p=a[i][j];
p++;
{int*p,a[3][3]={{1,3,5},{2,4,6}};
p=(int*)malloc(100);
amovep(p,a,3);
%d%d\n"
p[2],p[5]);
free(p);
A)56
B)25
C)34
D)程序错误
第25题(分)
有以下函数:
fun(char*a,char*b)
{while((*a!
='
\0'
)&
(*b!
(*a==*b))
{a++;
b++;
return(*a–*b);
该函数的功能是(D).
计算a和b所指字符串的长度之差
将b所指字符串复制到a所指字符串中
将b所指字符串连接到a所指字符串后面
比较a和b所指字符串的大小
第26题(分)
fun(charp[][10])
{intn=0,i;
7;
if(p[i][0]=='
T'
)n++;
returnn;
{charstr[][10]={"
Mon"
"
Tue"
Wed"
Thu"
Fri"
Sat"
Sun"
};
fun(str));
程序执行后的输出结果是(B).
第27题(分)
{charstr[][10]={"
China"
Beijing"
},*p=str;
%s\n"
p+10);
程序运行后的输出结果是(B).
China
Beijing
ng
ing
第28题(分)
#definef(x)(x*x)
{inti1,i2;
i1=f(8)/f(4)i2=f(4+4)/f(2+2)
%d,%d\n"
i1,i2);
程序运行后的输出结果是(C).
64,28
4,4
4,3
64,64
第29题(分)
结果是(A)
voidchange(intk[]){k[0]=k[5];
{intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<
=4){change(&
x[n]);
n++;
for(n=0;
n<
5;
n++)printf("
x[n]);
\n"
A)678910
B)13579
C)12345
D)62345
678910
13579
12345
62345
第30题(分)
在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(C).
int*p;
fun(p);
…}
intfun(int*p)
{ints;
p=&
s;
{int*p;
fun(&
…}
intfun(int**p)
*p=&
…}
intfun(int**p)
{*p=(int*)malloc
(2);
}…
fun(p);
intfun(int*p)
{p=(int*)malloc(sizeof(int));
二、程序填空共1题(共计10分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
计算平均成绩并统计90分以上人数。
-------------------------------------------------------*/
main()
{
intn,m;
floatgrade,average;
/***********SPACE***********/
average=n=m=【】;
f%d\n"
average/n,m);
三、程序改错共1题(共计10分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
首先把b所指字符串中的字符按逆序存放,然后将a所指字
符串中的字符和b所指字符串中的字符,按排列的顺序交叉
合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
例如:
当a所指字符串中的内容为“abcdefg”,b所指字符串中的
内容为“1234”时,c所指数组中的内容应该为“a4b3c2d1
efg”;
而当a所指字符串中的内容为“1234”,b所指字符
串中的内容为“abcdefg”时,c所指数组中的内容应该为
“1g2f3e4dcba”。
------------------------------------------------------*/
voidfun(char*a,char*b,char*c)
inti,j;
charch;
i=0;
j=strlen(b)-1;
/**********FOUND**********/
while(i>
j)//此处>
改为<
{
ch=b[i];
b[i]=b[j];
b[j]=ch;
i++;
j--;
while(*a&
*b)//此处&
改为||(逻辑或)
if(*a)
{
*c=*a;
c++;
a+;
//此处a++
if(*b)
*c=*b;
*c=0;
chars1[100],s2[100],t[200];
clrscr();
\nEnters1string:
"
%s"
s1);
\nEnters2string:
s2);
fun(s1,s2,t);
\nTheresultis:
%s\n"
t);
四、程序设计共1题(共计20分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
判断一个整数w的各位数字平方之和能否被5整除,
可以被5整除则返回1,否则返回0。
------------------------------------------------*/
#include"
#include"
intfun(intw)
/**********Program**********/
ints=0,m=w;
while(m){s+=(m%10)*(m%10);
m/=10;
if(s%5==0)return1;
elsereturn0;
/**********End**********/
main()
intm;
Enterm:
m);
\nTheresultis%d\n"
fun(m));
yzj();
getch();
yzj()
FILE*IN,*OUT;
intc;
intt;
into;
IN=fopen("
r"
if(IN==NULL)
ReadFileError"
OUT=fopen("
w"
if(OUT==NULL)
WriteFileError"
}for(c=1;
c<
=5;
c++)
fscanf(IN,"
t);
o=fun(t);
fprintf(OUT,"
o);
fclose(IN);
fclose(OUT);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 试题 答案