青大c程序填空题库.docx
《青大c程序填空题库.docx》由会员分享,可在线阅读,更多相关《青大c程序填空题库.docx(53页珍藏版)》请在冰豆网上搜索。
![青大c程序填空题库.docx](https://file1.bdocx.com/fileroot1/2023-1/23/422b91f9-279c-4c94-93f3-2320a538b470/422b91f9-279c-4c94-93f3-2320a538b4701.gif)
青大c程序填空题库
试卷编号:
10579
所属语言:
C语言
试卷方案:
TC_150********2
试卷总分:
490分
共有题型:
1种
一、程序填空共49题(共计490分)
第1题(10.0分)题号:
428难度:
易第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
输入一个学生的生日(年:
y0、月:
m0、日:
d0),并输
入当前日期(年:
y1、月:
m1、日:
d1)。
求出该学生的
年龄(实足年龄)。
-------------------------------------------------------*/
#include
main()
{intage,y0,y1,m0,m1,d0,d1;
printf("输入生日日期(年,月,日)");
/***********SPACE***********/
【?
】("%d,%d,%d",&y0,&m0,&d0);
printf("输入当前日期(年,月,日)");
scanf("%d,%d,%d",&y1,&m1,&d1);
age=y1-y0;
/***********SPACE***********/
if(m0【?
】m1)age--;
/***********SPACE***********/
if((m0【?
】m1)&&(d0>d1))age--;
printf("age=%3d",age);
}
答案:
=======(答案1)=======
scanf
=======(答案2)=======
>
=======(答案3)=======
==
第2题(10.0分)题号:
484难度:
易第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
识别输入的字符串,每个单词输出一行
-------------------------------------------------------*/
#include
#include
voidmain()
{
intc;
intinspace;
/***********SPACE***********/
【?
】;
while((c=getchar())!
='\n')
{
if(c==''||c=='\t'||c=='\n')
{
/***********SPACE***********/
if(【?
】)
{
inspace=1;
putchar('\n');
}
}
else
{
inspace=0;
/***********SPACE***********/
【?
】;
}
}
}
答案:
=======(答案1)=======
inspace=0
=======(答案2)=======
inspace==0
=======(答案3)=======
putchar(c)
第3题(10.0分)题号:
611难度:
易第20章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
以下程序是实现输出x,y,z三个数中的最大者。
-------------------------------------------------------*/
#include
main()
{
intx=4,y=6,z=7;
/***********SPACE***********/
intu,【?
】;
if(x>y)
/***********SPACE***********/
【?
】;
elseu=y;
if(u>z)
v=u;
else
v=z;
printf("themaxis%d",v);
}
答案:
=======(答案1)=======
v
=======(答案2)=======
u=x
第4题(10.0分)题号:
476难度:
难第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
不用第三个变量,实现两个数的对调操作。
-------------------------------------------------------*/
#include
main()
{
inta,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
/***********SPACE***********/
a=【?
】;
/***********SPACE***********/
b=【?
】;
/***********SPACE***********/
a=【?
】;
printf("a=%d,b=%d\n",a,b);
}
答案:
=======(答案1)=======
a+b
=======(答案2)=======
a-b
=======(答案3)=======
a-b
第5题(10.0分)题号:
627难度:
中第20章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。
-------------------------------------------------------*/
#include
intfun(intn)
{
intm=0,f=1,i;
/***********SPACE***********/
for(i=1;【?
】;i++)
{
m+=i*f;
/***********SPACE***********/
【?
】;
}
/***********SPACE***********/
return【?
】;
}
main()
{
printf("m=%d\n",fun(10));
}
答案:
=======(答案1)=======
i<=n
=======(答案2)=======
f=-f
=======(答案3)=======
m
第6题(10.0分)题号:
417难度:
中第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
利用全局变量计算长方体的体积及三个面的面积。
-------------------------------------------------------*/
#include
ints1,s2,s3;
intvs(inta,intb,intc)
{
intv;
/***********SPACE***********/
v=【?
】;
s1=a*b;
/***********SPACE***********/
s2=【?
】;
s3=a*c;
returnv;
}
main()
{
intv,l,w,h;
printf("\ninputlength,widthandheight:
");
/***********SPACE***********/
scanf("%d%d%d",【?
】,&w,&h);
/***********SPACE***********/
v=【?
】;
printf("v=%ds1=%ds2=%ds3=%d\n",v,s1,s2,s3);
}
答案:
=======(答案1)=======
a*b*c
=======(答案2)=======
b*c
=======(答案3)=======
&l
=======(答案4)=======
vs(l,w,h)
第7题(10.0分)题号:
27难度:
中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
统计一个字符串中的字母、数字、空格和其它字符的个数。
-------------------------------------------------------*/
#include
voidfun(chars[],intb[])
{
inti;
for(i=0;s[i]!
='\0';i++)
if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')
b[0]++;
/***********SPACE***********/
elseif(【?
】)
b[1]++;
/***********SPACE***********/
elseif(【?
】)
b[2]++;
else
b[3]++;
}
main()
{
chars1[80];inta[4]={0};
intk;
/***********SPACE***********/
【?
】;
gets(s1);
/***********SPACE***********/
【?
】;
puts(s1);
for(k=0;k<4;k++)
printf("%4d",a[k]);
}
答案:
=======(答案1)=======
'0'<=s[i]&&s[i]<='9'
=======(答案2)=======
s[i]==''
=======(答案3)=======
voidfun(chars[],intb[])
=======(答案4)=======
fun(s1,a)
第8题(10.0分)题号:
425难度:
易第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
当输入“2,5”的时候输出为“255”
-------------------------------------------------------*/
#include
#definemax100
main()
{
intf[max],i,j,k,m;
scanf("%d,%d",&k,&m);
/***********SPACE***********/
for(i=0;i<=【?
】;i++)
f[i]=0;
/***********SPACE***********/
f[【?
】]=1;
for(i=k;i<=m;i++)
/***********SPACE***********/
for(j=i-k;j<=i-1;j++)
f[i]【?
】f[j];
printf("%d%10d%10d\n",k,m,f[m]);
}答案:
=======(答案1)=======
m
=======(答案2)=======
k-1
=======(答案3)=======
+=
第9题(10.0分)题号:
162难度:
中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
下列程序的功能为:
输出100以内能被4整除且个位数为8的所有整数;
请填写适当的符号或语句,使程序实现其功能。
-------------------------------------------------------*/
#include
main()
{inti,j;
/***********SPACE***********/
for(i=0;【?
】;i++)
{j=i*10+8;
/***********SPACE***********/
if(【?
】)
/***********SPACE***********/
【?
】;
printf("%d",j);
}
}
答案:
=======(答案1)=======
i<10
=======(答案2)=======
j%4!
=0
=======(答案3)=======
continue
第10题(10.0分)题号:
23难度:
中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
求一个二维数组中每行的最大值和每行的和。
-------------------------------------------------------*/
#include
main()
{
inta[5][5],b[5],c[5],i,j,k,s=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j]=random(40)+20;
for(i=0;i<5;i++)
{
/***********SPACE***********/
k=a[i][0];【?
】;
for(j=0;j<5;j++)
{
/***********SPACE***********/
if(k】;
s=s+a[i][j];
}
b[i]=k;
/***********SPACE***********/
【?
】;
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
/***********SPACE***********/
printf("%5d",【?
】);
printf("%5d%5d",b[i],c[i]);
printf("\n");
}
}答案:
=======(答案1)=======
s=0
=======(答案2)=======
k=a[i][j]
=======(答案3)=======
c[i]=s
=======(答案4)=======
a[i][j]
第11题(10.0分)题号:
20难度:
中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
求两个非负整数的最大公约数和最小公倍数。
-------------------------------------------------------*/
#include
main()
{
intm,n,r,p,gcd,lcm;
scanf("%d%d",&m,&n);
if(mp=m*n;
r=m%n;
/***********SPACE***********/
while(【?
】)
{
/***********SPACE***********/
m=n;n=r;【?
】;
}
/***********SPACE***********/
gcd=【?
】;
lcm=p/gcd;
/***********SPACE***********/
printf("gcd=%d,lcm=%d\n",【?
】);
}答案:
=======(答案1)=======
r
=======(答案2)=======
r=m%n
=======(答案3)=======
n
=======(答案4)=======
gcd,lcm
第12题(10.0分)题号:
443难度:
中第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
企业发放的奖金根据利润提成。
利润(i)低于或等于10万元
时,奖金可提10%;利润高于10万元,低于20万元时,低于
10万元的部分按10%提成,高于10万元的部分,可可提成7.5%
;20万到40万之间时,高于20万元的部分,可提成5%;40万
到60万之间时高于40万元的部分,可提成3%;60万到100万
之间时,高于60万元的部分,可提成1.5%,高于100万元时,
超过100万元的部分按1%提成,从键盘输入当月利润i,求
应发放奖金总数?
-------------------------------------------------------*/
#include
main()
{
longinti;
doublebonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
/***********SPACE***********/
elseif(【?
】)
bonus=bonus1+(i-100000)*0.075;
/***********SPACE***********/
elseif(【?
】)
bonus=bonus2+(i-200000)*0.05;
/***********SPACE***********/
elseif(【?
】)
bonus=bonus4+(i-400000)*0.03;
elseif(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
/***********SPACE***********/
【?
】("bonus=%d",bonus);
}答案:
=======(答案1)=======
i<=200000
=======(答案2)=======
i<=600000
=======(答案3)=======
i<=1000000
=======(答案4)=======
printf
第13题(10.0分)题号:
613难度:
较易第20章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
有以下程序段,且变量已正确定义和赋值
for(s=1.0,k=1;k<=n;k++)
s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下面用//////....//////标识的程序段的功能与
之完全相同。
-------------------------------------------------------*/
#include
main()
{
doubles;
intk,n=10;
/***********SPACE***********/
【?
】;
k=1;
/***********SPACE***********/
while(【?
】)
{
s=s+1.0/(k*(k+1));
/***********SPACE***********/
【?
】;
}
printf("s=%f\n\n",s);
}
答案:
=======(答案1)=======
s=1
=======(答案2)=======
k<=n
=======(答案3)=======
k++
第14题(10.0分)题号:
134难度:
中第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
用冒泡法对数组a进行由小到大的排序。
-------------------------------------------------------*/
#include
voidfun(inta[],intn){
inti,j,t;
/*********