51CTO下载计算机二级C语言机考题库_精品文档Word格式文档下载.doc
《51CTO下载计算机二级C语言机考题库_精品文档Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《51CTO下载计算机二级C语言机考题库_精品文档Word格式文档下载.doc(16页珍藏版)》请在冰豆网上搜索。
答案:
(1)10
(2)0 (3)x
2.改错题
给定程序MODI1.C中函数fun的功能是:
计算n!
。
例如,给n输入5,则输出120.000000。
doublefun(intn)
{doubleresult=1.0;
/************found************/
ifn==0
return1.0;
while(n>
1&
&
n<
170)
result*=n--
returnresult;
(1)if(n==0)
(2)result*=n--;
3.编程题
请编写一个函数fun,它的功能是:
将一个数字字符串转换为一个整数。
例如,若输入字符串“-1234”,则函数把它转换为整数数值-1234。
longfun(char*p)
{inti,len,t;
/*len为串长,t为正负标识*/
longx=0;
len=strlen(p);
if(p[0]=='
-'
)
{t=-1;
len--;
p++;
}
elset=1;
/*以下完成数字字符串转换为一个数字*/
while(*p)x=x*10-48+(*p++);
returnx*t;
第2套:
给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
voidfun(char*s,inta,doublef)
{/**********found**********/
__1__fp;
charch;
fp=fopen("
file1.txt"
"
w"
);
fprintf(fp,"
%s%d%f\n"
s,a,f);
fclose(fp);
r"
printf("
\nTheresult:
\n\n"
ch=fgetc(fp);
while(!
feof(__2__)){
putchar(__3__);
ch=fgetc(fp);
putchar('
\n'
(1)FILE*
(2)fp (3)ch
给定程序MODI1.C中函数fun的功能是:
依次取出字符串中所有数字字符,形成的字符串,并取代原字符串。
voidfun(char*s)
{inti,j;
for(i=0,j=0;
s[i]!
='
\0'
;
i++)
if(s[i]>
0'
&
s[i]<
9'
s[j]=s[i];
s[j]="
\0"
(1)s[j++]=s[i];
(2)s[j]='
请编写函数fun,函数的功能是:
将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,二维数组中的数据为:
WWWW
SSSS
HHHH
则字符串中的内容应该是:
WSHWSHWSH。
voidfun(chars[][N],char*b)
{inti,j,n=0;
for(i=0;
i<
N;
i++)/*请填写相应语句完成其功能*/
{for(j=0;
j<
M;
j++){
b[n]=s[j][i];
n=i*M+j+1;
}
b[n]='
第3套:
程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。
voidfun(char*filename,STUn)
{FILE*fp;
fp=fopen(__1__,"
rb+"
fseek(__2__,-1L*sizeof(STU),SEEK_END);
fwrite(&
n,sizeof(STU),1,__3__);
(1)filename
(2)fp(3)fp
给定程序MODI1.C中的函数Creatlink的功能是创建军带头结点的单向链表,并为各结点数据域赋0到m-1的值。
NODE*Creatlink(intn,intm)
{NODE*h=NULL,*p,*s;
inti;
/**********found***********/
p=(NODE)malloc(sizeof(NODE));
h=p;
p->
next=NULL;
for(i=1;
i<
=n;
{s=(NODE*)malloc(sizeof(NODE));
s->
data=rand()%m;
next=p->
next;
p->
next=s;
p=p->
}
returnp;
(1)p=(NODE*)malloc(sizeof(NODE));
(2)returnh;
请编写函数fun,函数的功能是:
统计一行字符串中单词的个数,作为函数值返回。
一行字符串在主函数中输入,规定所有的单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。
intfun(char*s)
{intk=1;
while(*s){
if(*s=='
'
)k++;
s++;
returnk;
第4套:
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中,函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
voidfun(char*filename)
inti,j;
STUs[N],t;
fp=fopen(filename,__1__);
fread(s,sizeof(STU),N,fp);
for(i=0;
N-1;
for(j=i+1;
j<
N;
j++)
if(s[i].sno__2__s[j].sno)
{t=s[i];
s[i]=s[j];
s[j]=t;
fp=fopen(filename,"
wb"
__3__(s,sizeof(STU),N,fp);
/*二进制输出*/
(1)"
rb"
(2)>
(3)fwrite
在字符串的最前端加入n个*号,形成新串,并且覆盖原串。
注意:
字符串的长度最长允许为79。
voidfun(chars[],intn)
{chara[80],*p;
s=p;
for(i=0;
n;
i++)a[i]='
*'
do
{a[i]=*p;
i++;
while(*p++)
a[i]=0;
strcpy(s,a);
(1)p=s;
(2)while(*p++);
统计各年龄段的人数。
N个年龄通过调用随机函数获得,并放在主函数的age数组中;
要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依次类推,把100岁(含100岁)以上年龄的人数放在d[10]中。
结果在主函数中输出。
voidfun(int*a,int*b)
{inti,j;
for(i=0;
i++)b[i]=0;
N;
i++){
j=a[i]/10;
if(j>
10)b[M-1]++;
elseb[j]++;
第5套:
给定程序中,函数fun的功能是将参数给定的字符串、整数浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
__1__fp;
charstr[100],str1[100],str2[100];
inta1;
double