C语言期末复习填空题部分含答案Word文档格式.docx
《C语言期末复习填空题部分含答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言期末复习填空题部分含答案Word文档格式.docx(12页珍藏版)》请在冰点文库上搜索。
a,&
b,&
c);
a=%d,b=%.1f,c=%.0f"
a,b,c);
6若输入字符串:
abcdefg<
,则以下while循环体将执行0次。
while((ch=getchar())=='
g'
)printf("
*"
);
7下面程序的输出结果是_67,D__。
main()
{charch1,ch2;
ch1='
A'
+'
5'
-'
3'
;
ch2='
6'
%d,%c\n"
ch1,ch2);
8执行下面的语句:
%d\n"
(a=3*5,a*4,a+5));
,输出是20。
9下列程序的输出结果是3,2-1。
{intx=0,y=5,z=3;
while(z-->
0&
++x<
5)y=y-1;
%d,%d,%d\n"
x,y,z);
10下列程序的输出结果是54。
ints=0,i=1;
for(;
i<
10;
i++,s+=i);
s);
11若int类型变量占两个字节,定义intx[15]={0,2,4};
,则数组x在内存中所占的字节数是30。
12下列程序的输出结果是852。
{inti,a[10];
for(i=9;
i>
=0;
i--)a[i]=10-i;
printf("
%d%d%d\n"
a[2],a[5],a[8]);
13下列程序运行的结果是6。
{charch[7]="
65ab21"
inti,s=0;
for(i=0;
ch[i]>
='
0'
&
ch[i]<
9'
i+=2)s=10*s+ch[i]-'
14运行下面程序,其输出结果是15,35。
#include<
intx,y;
one()
{inta,b;
a=25,b=10;
x=a-b;
y=a+b;
a=9,b=5;
x=a+b;
y=a-b;
one();
%d,%d\n"
x,y):
15运行下面程序,其输出结果是321。
{voidprintd()
intn=123;
printd(n);
voidprintd(intn)
{inti;
if(n<
0){n=-n;
putchar('
}
putchar(n%10+'
if((i=n/10)!
=0)printd(i);
16以下程序的输出结果是abb。
{charch[]="
abc"
x[3][3];
inti;
3;
i++)strcpy(x[i],ch);
i++)printf("
%s"
x[i][i]);
\n"
17运行下面程序,从键盘输入三个字符ab#,其输出是ab##ba。
voidrecursion()
c=getchar();
putchar(c);
if(c!
#'
)recursion();
}
{voidrecursion();
recursion();
18以下程序的输出结果是__55__。
#defineM5
#defineNM+M
{intk;
k=N*N*5;
k);
19以下程序的输出结果是1215。
voidswap(int*a,int*b)
{int*t
t=a;
a=b;
b=t;
{inti=12,j=15,*p=&
i,*q=&
j;
swap(p,q);
%d%d\n"
*p,*q);
20以下程序的输出结果是1512。
{intt;
t=*a;
*a=*b;
*b=t;
{inti=12,j=15,*p=&
swap(p,q);
printf("
二、程序填空题
1下列程序的输出结果是16.00,请填空。
{inta=9,b=2;
floatx=6.6【1】,y=1.1,z;
z=a/2+b*x/y+1/2;
%5.2f\n"
z);
2下列程序是求的值。
#include"
stdio.h"
{inti=2;
floatsum=1;
while(i<
=50【1】)
{sum=sum+1.0/i;
i+2【2】;
}
sum=%f\n"
sum【3】);
3以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为负数时,结束输入。
请填空使程序完整。
floatx,max,min;
%f"
x);
max=min=x【1】;
do{if(x>
max)max=x;
if(x<
min)min=x【2】;
}while(x>
=o【3】);
%f,%f"
max,min);
4以下程序的功能是:
从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,并输出低于平均分的学生成绩。
请填空。
{intn=0,i;
floatx[1000],sum=0.0,ave,a;
Entermark:
scanf("
a);
while(a>
=0.0&
n<
1000)
{sum+=a【1】;
x[n]=a【2】;
n++;
ave=sum/n【3】;
print("
Output:
ave=%f\n"
ave);
n;
i++)if(x[i]<
ave【4】)printf("
x[i]);
5以下程序,数组a中存放一个递增数列。
输入一个整数,并将它插入到数组a中,使之仍为一个递增数列。
inta[【1】11]={1,10,20,30,40,50,60,70,80,90},x,i,p;
%d"
for(i=0,p=10;
i++)
if(x<
a[i]){p=i;
break【2】;
for(i=9;
=p;
i--)a[i+1]=a[i];
【3】a[p]=x;
for(i=0;
=10;
%5d\n"
a[i]);
6以下程序的功能是:
将t数组的内容连接到s数组内容的后面,使s数组保存连接后的新字符串。
{staticchars[30]="
abcdefg"
t[]="
abcd"
inti=0,j=0;
while(s[i]!
\0'
)【1】i++;
while(t[j]!
){s[i+j]=t[j];
j++;
【2】s[i=j]='
;
%s\n"
7一个整数称为完全平方数,是指它的值是另一个整数的平方。
例如81是个完全平方数,因为它是9的平方。
下列程序是在三位的正整数中寻找符合下列条件的整数:
它既是完全平方数,且三位数字中又有两位数字相同:
例如144(12*12)、676(26*26)等,程序找出并输出所有满足上述条件的三全数。
程序如下:
{intn,k,a,b,c;
for(k=1;
k++)
{n=k*k【1】
100)continue【2】;
if(n>
999)【3】break;
a=n/100;
b=n/10%10【4】;
c=n%10;
if(flag(a,b,c))printf("
n=%d=%d*%d\n"
n,k,k);
flagintx,inty,intz【5】
{return(!
((x-y)*(x-z)*(y-z)));
8以下程序的功能是:
将任意十进制正整数转换成二进制数,请填空使程序完整。
#include"
intdtob(intn,int*p)
intm,i=0;
do
{m=n%2;
*(p+i)=m;
【1】;
【2】;
}while(n!
=0);
returni;
{intn,j,a[20];
printf("
Inputtheumber:
\n"
scanf("
n);
j=dtob(n,a);
for(;
j>
0;
j--)
【3】);
9下面函数的功能是从输入的十个字符串中找出最长的那个串,请填空使程序完整。
voidfun(charstr[10][81],char**sp)
*sp=str[0]【1】;
for(i=1;
i++)
if(strlen(*sp)<
strlen(str[i]))*sp=str[i]【2】;
10下面程序的功能是将一个整数字符串转换为一个整数,例如:
“-1234”转换为1234,请填空。
string.h>
intchnum(char*p)
{intnum=0,k,len,j,sign=1;
len=strlen(p);
if(*p==’-’){sign=-1;
p++;
len--;
for(;
*p【1】;
p++)
{k=*p-'
【2】;
j=(--len);
while(j--【3】)k=k*10;
num=num+k;
return(num*sign);
{
inta;
charp[10];
gets(p);
a=chnum(p);
printf(“%d\n”,a);