计算机语言BC语言春季学期A卷及参考答案Word文档下载推荐.docx
- 文档编号:16481036
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:22.53KB
计算机语言BC语言春季学期A卷及参考答案Word文档下载推荐.docx
《计算机语言BC语言春季学期A卷及参考答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机语言BC语言春季学期A卷及参考答案Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
}
A.0B.1C.3D.不确定
4.以下程序的输出结果是【】。
#include<
stdio.h>
{inti=010,j=10;
%d,%d\n"
j--,++i);
A.11,10B.9,10C.010,9D.10,9
5.若有以下语句:
charc1='
b'
c2='
d'
;
%d,%c\n"
c2-c1,c2-'
a'
+'
A'
)
则输出结果是【】。
A.2,DB.3,EC.2,dD.3,D
6.以下程序的输出结果是【】。
{inti=1,j=1,k=2;
if((k++||j++)&
i++)
%d,%d,%d\n"
i,j,k);
A.1,1,2B.2,2,2C.2,1,3D.2,2,3
7.以下程序的输出结果是【】。
{inti;
for(i=0;
i<
3;
switch(i)
{case1:
i);
case2:
break;
default:
A.011122B.012C.0112D.120
8.以下程序的输出结果是【】。
{inta=5,b=4,c=6,d;
d=a<
b?
(a<
c?
a:
c):
(b));
A.4B.5C.6D.不确定
9.以下程序中,while循环的循环次数是【】。
{inti=1;
while(i<
10)
{if(i<
1)continue;
i++;
if(i==5)break;
}
A.1B.9C.4D.死循环,不能确定次数
10.以下程序的输出结果是【】。
{inti=0,s=0;
do
{if(i%3)
{i++;
continue;
s+=i;
}while(i<
7);
printf("
s);
A.16B.12C.28D.21
11.以下程序的输出结果是【】。
{inti,sum=1;
for(i=1;
6;
sum+=i;
sum);
A.15B.14C.不确定D.16
12.以下程序的输出结果是【】。
{inti,j,x=0;
for(i=0;
2;
{for(j=0;
j<
j++)
{x++;
x=%d\n"
x);
A.x=6B.x=8C.x=4D.x=12
13.设j为int型变量,则下面for循环语句的执行结果是【】。
for(j=10;
j>
j--)
{if(j%3)j--;
--j;
--j;
,j);
A.63B.74C.62D.73
14.若有以下语句:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='
d,g;
则数值为4的表达式是【】。
A.a[g-c]B.a[4]C.a['
-'
c'
]D.a['
-c]
15.若定义如下变量和数组:
intj;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是【】。
for(j=0;
%d"
x[j][2-j]);
A.159B.147C.357D.369
16.有以下程序段:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&
a[3],b;
b=p[4];
则b中的值是【】。
A.9B.6C.7D.8
17.以下程序的输出结果是【】。
{char
a[]="
abcdefg"
b[10]="
%d
sizeof(a),sizeof(b));
A.77B.88C.810D.1010
18.以下程序的输出结果是【】。
voidx1(intc[])
{intt;
t=c[0];
c[0]=c[1];
c[1]=t;
void
x2(int
c0,int
c1)
{int
t;
t=c0;
c0=c1;
c1=t;
{inta[2]={5,3},b[2]={3,5};
x1(a);
x2(b[0],b[1]);
a[0],a[1],b[0],b[1]);
A.3535B.5335C.5353D.3553
19.以下程序的输出结果是【】。
main()
{charch[3][5]={"
AAAA"
"
BBB"
CC"
};
\"
%s\"
\n"
ch[1]);
}
A."
B."
C."
BBBCC"
D."
20.以下程序的输出结果是【】。
{intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=0;
4;
i++)s+=aa[i][1];
A.19B.11C.13D.20
21.以下程序的输出结果是【】。
{charstr[]="
ab\n\012\\\"
"
strlen(str));
A.3B.4C.6D.12
22.以下程序的输出结果是【】。
{intn[5]={1,1,1},j,k=2;
for(j=0;
k;
n[j]=n[j]+1;
n[k]);
A.不确定的值B.2C.1D.0
23.以下程序的输出结果是【】。
voidfun(char*a,char*b)
{a=b;
(*a)++;
{charc1='
*p1,*p2;
p1=&
c1;
p2=&
c2;
fun(p1,p2);
%c%c\n"
c1,c2);
A.AbB.aaC.AaD.Bb
24.以下程序的输出结果是【】。
{char*s[]={"
one"
two"
where"
},*p;
p=s[1];
%c,%s\n"
*(p+1),s[0]);
A.n,twoB.w,oneC.t,oneD.o,two
25.C语言程序的三种基本结构是顺序结构、选择结构和【】结构。
A.循环B.递归C.转移D.嵌套
26.表达式!
x等价于【】。
A.x==1B.x==0C.x!
=0D、x!
=1
27.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为【】。
A.算术运算、赋值运算、关系运算B.关系运算、赋值运算、算术运算
C.关系运算、算术运算、赋值运算D.算术运算、关系运算、赋值运算
28.下列语句定义pf为指向float类型变量f的指针,【】是正确的。
A.floatf,*pf=f;
B.floatf,pf=f;
C.float*pf=&
f,f;
D.floatf,*pf=&
f;
29.表达式strcmp("
box"
boy"
)的值是一个【】。
A.正数B.负数C.0D.不确定的数
30.要调用数学函数时,在#include命令行中应包含【】。
stdio.h"
B."
string.h"
C."
math.h"
D."
ctype.h"
二、阅读程序,写出运行结果(每小题3分,共27分)
请将答案填写在下表中(阅卷以下表为准)。
输出结果
1.以下程序的输出结果是【】。
#definePT5.5
#defineS(x)PT*x*x
main()
{inta=1,b=2;
%4.1f\n"
S(a+b));
2.以下程序的输出结果是【】。
{inta[5]={2,4,6,8,10},*p,**k;
p=a;
k=&
p;
%d,"
*(p++));
**k);
{intk=11;
k=%d,k=%o,k=%x\n"
k,k,k);
intfunc(inta,intb)
{intc;
c=a+b;
returnc;
{intx=6,y=7,z=8,r;
r=func((x--,y--,x+y),z--);
r);
5.以下程序的输出结果是【】。
{inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&
x[1][1];
i+=2)
p[i]);
6.以下程序的输出结果是【】。
string.h>
{char*p1="
abc"
*p2="
ABC"
str[50]="
xyz"
strcpy(str+2,strcat(p1,p2));
%s\n"
str);
{intn=4;
while(n--)
--n);
intf(char*s)
{char*p=s;
while(*p!
='
\0'
)
p++;
return(p-s);
{
f("
goodbey"
));
9.以下程序的输出结果是【】。
intfun(intx)
{staticinta=3;
a+=x;
return(a);
{intk=2,m=1,n;
n=fun(k);
n);
n=fun(m);
三、填空题(每空2分,共30分)
1.下面程序的功能是求1!
+2!
+3!
+4!
+5!
,请填空。
{inti,j,f,sum=0;
=5;
{f=1;
for(j=1;
;
;
sum=sum+f;
sum=%d"
2.以下程序将从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。
用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数,请填空。
{intn,i,j;
EnterINTnumbers,with0toend\n"
);
i=j=0;
scanf("
&
n);
while()
{if(n>
0)
i++;
if(n<
j++;
i=%4dj=%4d\n"
i,j);
3.下面程序的功能是计算一个3×
3矩阵的主对角线的元素之和,请填空。
{inti,;
inta[3][3]={{-1,2,3},{6,7,-8},{9,11,20}};
i<
=2;
i++)
sum=;
4.下面程序的功能是将两个字符串连接起来,请填空。
{chars1[20],s2[20];
inti=0,j;
gets(s1);
gets(s2);
while(s1[i]!
=)
s2[j]!
{s1[i]=;
s1[i]='
puts(s1);
5.以下程序是用“辗转相除法”求出两个正整数的最大公约数,请填空。
{intr,m,n,t;
Enterm,n:
"
scanf("
%d,%d"
m,&
m=%dn=%d\n"
m,n);
r=m%n;
{m=n;
n=r;
r=;
H.C.F=%d\n"
6.下面的程序是把从键盘输入的非0字符写入D盘文件夹DAT中名为lut2009.txt的文本文件中,请填空。
{;
intc;
fp=fopen("
d:
\\dat\\lut2019.txt"
);
do
{c=getchar();
fputc(c,fp);
}while(c!
0'
fclose(fp);
7.下面的程序是把一组数按照从大到小的次序排序,请填空。
{inti,j,k,t,a[8]={23,15,6,12,8,21,4,16};
7;
{k=i;
for(j=i+1;
8;
{if(a[k]<
a[j])
k=;
t=a[i];
a[i]=;
a[k]=t;
%3d"
a[i]);
8.子函数print_b的功能是输出链表,请填空。
structperson
char*name;
intbh;
structperson*next;
voidprint_b(structperson*head)
structperson*p;
p=head;
namebh\n"
while(p!
=NULL)
{printf("
%20s%8d\n"
p->
name,p->
bh);
p=;
四、编程题(第1小题5分,第2小题8分,共13分)
1.请编写子函数sum_fact(number),返回number的因子之和(能整除number的数就是它的因子,number定义为int)。
例如sum_fact(6)=12(因为1,2,3,6是6的因子)
2.输入m和n(m≥n≥0)后,计算下列表达式的值并输出。
m!
n!
*(m-n)!
要求将计算阶乘的运算用子函数fact(n),其返回值的类型为float。
参考答案和评分标准
B
D
A
C
9.5
2,4
k=11,k=13,k=b
53
xyabcABC
20
1.j<
=i
f=f*j
2.n!
=0
scanf("
3.sum=0
sum+a[i][i]
4.'
s2[j]
5.r!
m%n
6.FILE*fp
w"
7.j
a[k]
8.p->
next
参考程序:
1.
intsum_fact(intnumber)定义、变量说明、返回2分
intk,sum=0;
if(number<
0)number=-number;
for(k=1;
k<
=number;
k++)1分
if(number%k==0)sum+=k;
2分
returnsum;
2.主函数4分,子函数4分,评分参考第1题
floatfact(int);
intm,n;
floatval;
scanf(“%d%d”,&
m,&
val=fact(m)/(fact(n)*fact(m-n));
printf(“Value:
%f\n”,val);
floatfact(intn)
if(n<
=0)return1;
return(fact(n-1)*n);
floatf=1;
=n;
f=f*i;
returnf;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机语言 BC 语言 春季 学期 参考答案