国家开放大学C语言程序设计A第二次形考任务及答案文档格式.docx
《国家开放大学C语言程序设计A第二次形考任务及答案文档格式.docx》由会员分享,可在线阅读,更多相关《国家开放大学C语言程序设计A第二次形考任务及答案文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
endl;
break;
}
a.
n/2
d.n-1
题目5
在下面循环语句中,内层循环体S语句的执行总次数为()。
i++)
for(intj=i;
j<
j++)S;
rC
a.n2
b.(n+1)/2
Cc.n(n-1)/2
蒋d.n(n+1)/2
题目6
在下面的do循环语句中,其循环体被执行的次数为()。
inti=0;
doi++;
while(i*i<
10);
护a.4
rb.3
c.5
Ld.2
题目7
在下面的一维数组定义中,有语法错误的选项是()。
a.inta[]={1,2,3};
b.inta[10]={0};
c.inta[];
d.inta[5];
题目8
在下面的二维数组定义中,语法正确的选项是()。
a.inta[5][];
b.inta[][5];
C.inta[][3]={{1,3,5},{2}};
d.inta[](10);
题目9
假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};
则元素a[1][1]的值为()。
广a.2
广b.4
Lc.6
蒋d.8
题目10
则元素a[2][1]的值为()。
a.0
Lb.4
c.8
d.6
二、判断题(共20分,每小题1分。
叙述正确则回答是”否则回答否”)
题目11
在执行“typedefintDataType;
语句后,标识符DataTyPe与保留字int具有完全相同的含义和
作用。
对
题目12
在SWitCh语句中,每个CaSe和冒号之间的表达式只能是常量。
对
题目13
为了结束本层循环类语句或SWitCh语句的执行过程,在语句体中需要使用break语句。
题目14
在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
错
题目15
在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言
集成开发环境界面窗口。
错
题目16
假定二维数组的定义为
题目19
“chara[M][N];
”该数组所含元素的个数为M+N。
题目20
题目21
存储一个空字符串需要占用0个字节的存储空间。
错题目22
使用“typedefcharBB[10][50];
语句定义标识符BB为含有10行50列的二维字符数组类型。
题目23
存储字符'
a'
需要占用1个字节的存储空间。
题目24
空字符串的长度为1。
题目25
字符串数据"
的长度为13。
题目26
为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。
对题目27strcmp函数用于进行两个字符串之间的比较。
题目28
strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。
题目29
一个二维字符数组a[10][20]能够最多存储9个字符串。
错题目30
一个二维字符数组a[10][20]能够存储的每个字符串的长度不超过20。
⅛nc-udeAS≡io∙hv
VoidRlaino
宀
infXU5八
SWifCh(2*x—3)宀
CaSeaPrinff(=%d=x)八
CaSeτ,Prinff(=%d=2*x+ς?
CaSeIPPrinff(=%d=3*x∆)八break八defau-!
-!
^Prinff(=%s==defau-nn=)八
」二4尝32
⅛nc-udeAsfdδ∙∙hv
40V〉a、」/^
Voidmain()宀in二SHO八for(i"
xH5τ+)s+ll.*r
Prinff(=SH%2n=s)八
SU55
尝33
⅛nc-udeAsfdio∙hv
Voidmain()宀in二Wv-Ho-WMHO-for(ll∙oxl0τ+)if(i%2)Sl+"
.八e-seS2+II.八
Prinff(=%d%2n=slω2x
2520尝34
voidmain(){intn=6,y=1;
while(n)y*=n--;
printf("
y=%d\n"
y);
y=720
题目35
#include<
stdio.h>
constintM=20;
voidmain()
{
inti,c2,c3,c5;
c2=c3=c5=0;
for(i=1;
=M;
i++){if(i%2==0)c2++;
if(i%3==0)c3++;
if(i%5==0)c5++;
printf("
%d%d%d\n"
c2,c3,c5);
}
1064
题目36
inti,s;
for(i=1,s=0;
10;
i++){if(i%3==0)continue;
s+=i;
}printf("
%d\n"
s);
题目37
voidmain(){
inta[8]={12,39,26,41,55,63,72,40};
inti,i1=0,i2=0;
for(i=0;
8;
i++)
if(a[i]%2==1)i1++;
elsei2++;
%d%d\n"
i1,i2);
44
题目38
inta[10]={4,5,6,15,20,13,12,7,8,9};
voidmain()
inti,s[4]=0;
i++){
switch(a[i]%4){
case0:
s[0]+=a[i];
break;
case1:
s[1]+=a[i];
case2:
s[2]+=a[i];
default:
s[3]+=a[i];
4;
i++)printf("
%d"
s[i]);
4427622
题目39
chara[]="
abcdbfbgacd"
;
inti1=0,i2=0,i=0;
while(a[i]){
if(a[i]=='
)i1++;
b'
)i2++;
i++;
i1,i2,i);
2311
题目40
inta[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};
intm=a[0][0];
inti,j;
3;
for(j=0;
j++)
if(a[i][j]>
m)m=a[i][j];
m);
12
四、简答题:
根据下列每个题目要求编写程序(共20分,每小题4分)题目41
编写一个函数,函数头格式为“doubleMean(doublea[M][N],intm,intn),要求”返回二维数组a[m][n]中所有元素的平均值,假定在计算过程中采用变量v存放平均值。
doubleMean(doublea[M][N],intm,intn)
doublev=0.0;
m;
j++)v+=a[i][j];
v/=m*n;
returnv;
题目42
编写一个递归函数“intFF(inta[],intn),求出数”组a中所有n个元素之积并返回。
#include<
intFF(inta[],intn){
intmul=1;
if(n==1)mul*=a[0];
elsemul=a[n-1]*FF(a,n-1);
returnmul;
/*voidmain()
inta[6]={1,2,3,4,5,6};
FF(a,6));
}*/
题目43
编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3++1∕n>
5的最小n
值。
inti=0;
doubles=0;
//或inti=1;
doubles=1;
while(s<
5)s+=(double)1/++i;
n=%d\n"
i);
题目44
编写一个主函数,求出满足不等式22+42+...+n2<
1000的最大n值,假定分别用i和S作为取偶数值和累加值的变量,并限定使用do循环编程。
Stdio.h>
//用i作为依次取值偶数的变量
intS=0;
//用S作为累加变量
do{
i+=2;
S+=i*i;
}while(S<
1000);
i-2);
题目45
inti;
//用i作为计数(循环)变量
ints=0;
//用s作为累加变量intn;
输入一个自然数:
"
);
scanf("
%d"
&
n);
for(i=1;
=n;
i++)s+=i*i;
s=%d\n"