二级C语言上机考试题库精简版Word文档下载推荐.docx
- 文档编号:21574068
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:61
- 大小:38.21KB
二级C语言上机考试题库精简版Word文档下载推荐.docx
《二级C语言上机考试题库精简版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《二级C语言上机考试题库精简版Word文档下载推荐.docx(61页珍藏版)》请在冰豆网上搜索。
*n=0;
for(i=7;
=m;
if((i%7==0)||(i%11==0))
a[(*n)++]=i;
}
第三套程序填空
函数fun的功能是:
逆置数组元素是的值。
例如:
若a所指数组中的数据依次为:
1、2、3、4、5、6、7、8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。
形参n给出数组中数组中数据的个数。
(1)for(i=0;
n/2;
i++)
(2)a[i]=a[n-1-i];
(3)a[n-i-1]=t;
程序修改
(1)n=*p-‘0’;
(2)n=n*8+*p-‘0’;
STRECfun(STREC*a,char*b)
STRECc;
Inti;
c.num[0]=’\0’;
c.s=-1;
if(strcmp(a[i].num,b)==0)
{strcpy(c.num,a[i].num);
c.s=a[i].s;
break;
returnc;
第四套程序填空
给定程序中,函数fun的功能是:
在带有头结点的单向链表中,查找数据域中值为ch的结点。
找到后通过函数值返回该结点在链表中所处的顺序号:
若不存在值为ch的结点,函数值返回0.
(1)while(p!
=0)
(2)if(p->
data==ch)returnn;
(3)k=fun(head,ch);
程序修改
(1)for(i=0,t=0;
p[i];
(2)c[t]=’\0’;
voidfun(char*ss)
for(i=1;
strlen(ss);
i+=2)
{if(ss[i]>
=’a’&
ss[i]<
=’z’)
ss[i]-=32;
第五套程序填空
计算下式前n项的和作为函数值返回。
当形参n的值为10的时,函数返回:
9.6125588。
(1)s=0;
(2)for(i=1;
=n;
(3)s=s+(2.0*i-1)*(2.0*i+1)/(t*t);
程序修改
(1)for(i=0;
str[i];
(2)if(substr[k+1]==’\0’)
doublefun(doubleeps)
{doubles=1,t=1./3;
intn=1;
while(t>
=eps)
{s+=t;
n++;
t=t*n/(2.0*n+1)
;
return(s*2.0);
第六套程序填空
将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。
(1)t[j]=s[i];
j++;
(2)for(i=0;
k;
i++)t[j+i]=p[i];
(3)t[j+k]=0;
程序修改
(1)while(*w)
(2)if(*r==*p)
voidfun(char*s,chart[])
{inti,j=0;
strlen(s);
if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
第七套程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。
函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。
(1)structstudent*
fun(structstudent*a)
3;
a->
score[i]+=1;
(3)returna;
程序修改
(1)char*fun(char(*sq)[M])
(2)returnsp;
#include<
stdio.h>
voidfun(inta,intb,long*c)
{*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
第八套程序填空
将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇书,则中间元素不动。
(1)p=(n%2==0)?
n/2:
n/2+1;
(2)a[i]=a[p+i];
(3)a[p+i]=t;
程序修改
(1)floatk;
(2)if(*a<
*c)
intfun(STREC*a,STREC*b)
inti,max=a[0].s,n=0;
if(max<
a[i].s)max=a[i].s;
if(max==a[i].s)b[n++]=a[i];
returnn;
第九套程序填空
计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
av+=x[i]/N
(2)y[j]=x[i];
x[i]=-1;
}(3)i++;
程序修改
(1)num[k]=0;
(2)switch(*s)
intfun(inta[M][N])
inttot=0,i,j;
tot+=a[0][i];
tot+=a[M-1][i];
M-1;
i++){
tot+=a[i][0];
tot+=a[i][N-1];
returntot;
第十套程序填空
函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
(1)structstudent
fun(structstudenta)
(2)strcpy(a.name,”LiSi”);
(3)a.score[i]+=1;
(1)if(p==n)return-1’
(2)a[i]=a[i+1];
inti,j=0,min=a[0].s;
{if(min>
a[i].s){
j=0;
min=a[i].s;
elseif(min==a[i].s)
第十一套程序填空
计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
(1)av=s/N;
(2)y[j++]=x[i];
(3)if(x[i]!
=-1)
y[j++]=x[i];
程序修改
(1)#include<
(2)upfst(char*p)
doublefun(intw[][N])
{inti,j,n=0;
doublesum=0;
{sum+=w[0][i]+w[N-1][i];
n+=2;
N-1;
{sum+=w[i][0]+w[i][N-1];
}
returnsum/n;
第十二套程序填空
将自然数1—10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。
(1)fprintf(fp,”%d%f\n”,i,sqrt((double)i));
(2)fclose(fp);
(3)if((fp=fopen(fname,”r”))==NULL)
程序修改
(1)for(i=j+1;
n;
i++)
(2)p=i;
#include<
*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);
第十三套程序填空
找出N*N矩阵中每列元素中的最大值,并按顺序一次存放于形参b所指的一维数组中。
(1)b[i]=a[0][i];
(2)if(b[i]<
a[j][i])
b[i]=a[j][i];
(3)fun(x,y);
(1)intfun(int*x,int*y)
(2)t=*x;
*x=*y;
*y=t;
#defineMAX100
intfun(intlim,intaa[MAX])
{inti,j,k=0;
for(i=2;
=lim;
for(j=2;
j<
=(i/2);
j++)
if(i%j==0)break;
if(j>
(i/2))aa[k++]=i;
}returnk;
第十四套程序填空
函数fun的功能是进行字母转换。
若形参ch中小写英文字母,则转换成相应的大写英文字母;
若形参ch中是大写英文字母,则转换成相应的小写英文字母;
并将转换的结果作为函数值返回。
第一处if((ch>
=’a’)&
(ch<
=’z’))
第二处return
ch+’a’-‘A’
第三处returnch;
程序修改
(1)voidfun(int*a)
(2)a[j]=a[j-1];
intfun(intn)
ints=0,i;
if(n%i==0)s+=i;
returns;
第十五套程序填空
给定程序中,函数的功能是:
把形参s所指字符串下标为奇数的字符右移到下一个奇书位置,最右边呗移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:
字符串的长度大于等于2)。
例如,形参s所指的字符串为:
abcdefgh,执行结果为:
ahcbedg。
第一处if(n%2==0)k=n-1;
第二处c=s[k];
第三处s[1]=c;
程序修改
(1)longs=0,t=0;
(2)t=t/10;
voidfun(char*tt,intpp[])
char*p=tt;
26;
pp[i]=0;
while(*p)
{if(*p>
*p<
pp[*p-‘a’]+=1;
p++;
第十六套程序填空
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。
找出指定编号人员数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。
第1处STUfun(STU*std,char*num)
第2处if(strcmp(std[i].num,num)
==0)
第3处return(std[i]);
程序修改
(1)r++;
p++;
(2)if(*r==00)
stdio.h>
string.h>
voidfun(char*s,chart[])
inti,j=0;
if(s[i]%2)t[j++]=s[i];
第十七套序填空
统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
abcdef35adgh3kjsdf7。
输出结果为:
4。
第1处for(i=0;
s[i]!
=NULL;
第2处if(s[i]>
=’0’&
s[i]<
=’9’)
第3处*t=n;
程序修改
(1)t=*x;
*x=y;
(2)return(t);
viodfun(int*a,int*n)
{inti;
1000;
if(((i%7)==0││(i%11)==0
(i%77)!
=0)a[(*n)++]=i;
第十八套程序填空
有N×
N矩阵,根据给定的m(m<
=n)值,将每行元素中的值均右移m个位置,左边值为0.
第2处t[i][j+m]=t[i][j];
第3处for(j=0;
m;
程序修改
(1)while((2<
=high)&
(n<
10))
(2)yes=0;
floatfun()
floatx0,x1=0.0;
do{
x0=x1;
x1=cos(x0);
}while(fabs(x0-x1)>
0.000001);
returnx1;
第十九套程序填空
将a所指的3×
5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。
第1处for(p=1;
p<
=k;
p++)
第2处for(j=0;
a[i][j]=a[i][j+1];
第3处a[i][N-1]=temp;
程序修改
(1)fun(inta[][M],intm)
(2)a[j][k]=(k+1)*(j+1);
voidfun(inta,intb,int*c)
*c=(a%10)*1000+(b%10)*100
+(a/10)*10+(b/10);
第二十套程序填空
对形参s所指字符串中下标为奇数的字符ASCII码大小递增排序,并将排序后的下标为奇数的字符取出,形成一个新串。
第1处t=i;
第2处for(j=i+2;
j=j+2)
第3处p[j]=0;
程序修改
(1)while((fabs(t))>
=num)
(2)t=s/n
viodfun(chara[],char
b[],intn)
strncpy(b,a,n);
b[n]=0;
strcat(b,a+n+1);
第二十一套程序填空
在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。
ss所指字符串数组中共有N个字符串,且串小于M。
第一处voidfun(char(*ss)[M],intk)
第二处while(i<
N){
第三处ss[i][k]=0;
i++;
程序修改
(1)t=1;
(2)return(2*s);
voidfun(char*a,intn)
inti=0,k=0;
while(a[k]==’*’)k++;
if(k>
n)
i=n;
j=k;
for(;
a[j]!
=0;
a[i++]=a[j];
a[i]=0;
}}
第二十二套程序填空
a所指4×
3矩阵中第k行的元素与第0行元素交换。
有下列矩阵
123
456
789
101112
若k为2,程序执行结果为
第一处voidfun(int(*a)[N],intk)
第二处for(i=0;
第三处a[0][i]=a[k][i];
程序修改
(1)for(i=strlen(t)-1;
i;
i--)
(2)if(t[j]>
t[j+1])
char*p=ss;
inri=0;
while(*p){
if((i%2)&
(*p>
=’a’&
*p-=32;
第二十三套程序填空
给定程序的功能是:
调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数的返回值是1,失败是返回值是0.在复制的过程中,把复制的内容输出到终端屏幕。
主函数源文件名放在变量sfname中,目标文件放在变量tfname中。
第一处
if((fs=fopen(source,”r”))==NULL)
第二处while(!
feof(fs))
第三处fputc(ch,ft);
程序修改
(1)if(d%2==0)
(2)s/=10;
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
第二十四套程序填空
函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。
第一处b=a;
第二处strcpy(b.name,”LiSi”)
第三处for(i=0;
printf(“%6.2f”,b.score[i]);
程序修改
(1)s[j++]=s[i];
(2)s[j]=’\0’;
voidfun(char*a)
{char*p,*q;
intn=0;
p=a;
while(*p==’*’)
{n++;
q=a;
*q=*p;
q++;
n>
0;
n--)
*q++=’*’;
*q=’\0’;
第二十五套程序填空
用筛选法可得到2—n(n<
10000)之间的所有素数,方法是:
首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);
接着从数表中找下一个非0数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于n为止。
这样会得到一个序列:
2、3、5、7、11、13、17、19、23……函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
第一处for(j=a[i]*2;
j+=a[i])
第二处while(a[i]==0)
第三处if(a[i]!
程序修改
(1)y=1;
(2)d=a-i;
doublefun(intn)
doublesum=0.0;
if(i%5==0||i%9==0)
sum+=1.0/i;
returnsum;
第二十六套程序填空
给定程序中,函数fun的功能是建立一个N×
N的矩阵。
矩阵元素的构成规律是:
最外层元素的值全部是1;
从外向内第二层元素的值全部为2;
第三层元素的值全部是3,…依此类推。
第一处voidfun(int(*a)[N])
第二处for(j=i;
N-i;
第二处a[k][i]=a[k][N-i-1]=i+1;
程序修改
(1)aa[i]=m%k;
(2)printf(“%d”,aa[i-1]);
fun(char(*a)[81],intnum,char**max)
inti,k=0,maxlen;
maxlen=strlen(a[k]);
num;
if(strlen(a[i])>
maxlen)
{maxlen=strlen(a[i]);
k=i;
*max=a[k];
第二十七套程序填空
函数fun的功能是计算f(x)=1+x-2/2!
+3/3!
-4/4!
+……的前n项和。
若x=2.5,n=15时,函数值为1.917914。
第一处f=1;
第二处t*=(-1)*x/i;
第三处f+=t;
程序修改
(1)for(i=1;
=3;
(2)if(k>
=0&
k<
=6)
doubles=1’
longt=1;
t=t*i;
s+=1.0/t;
第二十八套程序填空
计算N*N矩阵的主对角线元素和方向对角线元素之和,并作为函数值返回。
注意:
要求先累加主对角线元素中的值,然后累加反响对角线元素的值。
第一处sum=0;
第二处sum+=t[i][i];
第三处sum+=t[i][n-i-1];
程序修改
(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 考试 题库 精简