C语言机试试题大全.docx

上传人:b****5 文档编号:4042555 上传时间:2022-11-27 格式:DOCX 页数:24 大小:24.60KB
下载 相关 举报
C语言机试试题大全.docx_第1页
第1页 / 共24页
C语言机试试题大全.docx_第2页
第2页 / 共24页
C语言机试试题大全.docx_第3页
第3页 / 共24页
C语言机试试题大全.docx_第4页
第4页 / 共24页
C语言机试试题大全.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言机试试题大全.docx

《C语言机试试题大全.docx》由会员分享,可在线阅读,更多相关《C语言机试试题大全.docx(24页珍藏版)》请在冰豆网上搜索。

C语言机试试题大全.docx

C语言机试试题大全

1、程序填空题

给定的程序的功能是调用fun函数建立班级通讯录。

通讯录中记录

每位学生的编号、**和班级的人数和学生的信息从键盘

读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制中。

\填空:

〔1〕STYPE〔2〕FILE(3)fp

改错:

(1)for(i=0;i<=sl;i++)

(2)t[2*sl]='\0'或t[sl+sl]='\0'

编程:

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);

2、程序填空题

给定程序的功能是:

从键盘输入假设干文本〔每行不超过80个字符〕,写到文件myfile4.t*t中,用-1作为字符串输出输入的标志。

然后将文件的内容读出显示在屏幕上。

文件的读写分别由自定义函数ReadTe*t和Writete*t实现。

填空:

(1)*fw

(2)str(3)str

改错:

(1)voidfun(longs,long*t)

(2)s1=s1*10;

编程:

inti,j=0,min=a[0].s;

for(i=0;i

{

if(a[i].s

{

j=0;b[j++]=a[i];min=a[i].s;

}

elseif(min==a[i].s)

b[j++]=a[i];

}

returnj;

3、程序填空题

给定程序中,函数fun的功能是:

讲自然数1~10以及它们的平方根写到名为myfile3.t*t的文本中,然后再按顺序读出显示在屏幕上。

填空:

〔1〕fp〔2〕fclose(fp)〔3〕myfile3.t*t

改错:

〔1〕for(i=j+1;i

编程:

*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;

4、程序填空题

给定程序中,函数fun的功能是:

找出形参s所指字符串出现频率最高的字母〔不区分大小写〕,并统计出其出现的次数,例如,形参s所指的字符串为:

abcAbsma*iess,程序执行后的输出结果为:

letter'a':

3times

letter's':

3times

填空:

〔1〕"r"〔2〕fs〔3〕ft改错:

〔1〕if(d%2==0)〔2〕s/=10;编程:

inti=0,j=0;while(s[i]){if(i%2==0&&s[i]%2==0)t[j++]=s[i];i++;}t[j]=0;

5、程序填空题

给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序,函数fun的功能是:

把形参*的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

填空:

(1)*

(2)p(3)s

改错:

(1)longk=1;

(2)num/=10;

编程:

inti;

floataver=0.0;

for(i=0;i

aver=aver/n;

returnaver;

;

6、程序填空题

给定程序中已建立一个带有头结点的单向链表,在main函数中将屡次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。

填空:

(1)ne*t

(2)t->data(3)t

改错:

(1)voidfun(char*a)

(2)print("%c",*a);

编程:

inti;

char*p=s,*q=t;

intn=0,m=0;

while(*p)/*计算串s的长度n,其中p为临时指针*/

{

n++;

p++;

}

while(*q)/*计算串t的长度m,其中q为临时指针*/

{

m++;

q++;

}

if(n>=m)/*比拟m和n的值,设置p指向较大的指针*/

p=s;

else

p=t;

returnp;

7、程序填空题

给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序。

函数fun的功能是:

删除链表中数据域值一样的节点,使之只保存一个。

填空:

(1)q

(2)ne*t(3)ne*t

改错:

(1)缺分号

(2)p=i;

编程:

*n=0;inti;

for(i=1;i<=m;i++)

if(i%7==0||i%11==0)

a[*n++]=i;

8、程序填空题

给定的程序中,函数fun的功能是:

在带有头结点的单向链表中,

查找数据域中值为ch的结点。

找到后通过函数值返回该结点在

链表所处的顺序号;如不存在值为ch的结点,函数返回0值。

填空:

〔1〕0或NULL〔2〕n(3)head,ch

改错:

(1)for(i=0,t=0;p[i];i++)

(2)c[t]='\0';

编程:

inti;

for(i=1;i

{

If((ss[i]>='a'&&ss[i]<='z')ss[i]-=32;

9、程序填空题

给定程序中,函数fun的功能是:

统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。

填空:

(1)*n

(2)ne*t(3)head

改错:

(1)a=NULL;

(2)if(*r==*p)

编程:

inti,j=0;

for(i=0;i

if(s[i]%2==0)t[j++]=s[i];

t[j]='\0';

10、程序填空题

给定程序中,函数fun的功能是:

计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。

填空:

(1)data

(2)ne*t(3)head

改错:

(1)while(*r)

(2)*a=*r;a++;r++;

编程:

inti,j=0;

for((i=0;i

t[j++]=s[i];

t[j]='\0';

11、程序填空题

给定程序中,函数fun的功能是:

求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。

Ss所指字符串数组中共有M个字符串,且串长

填空:

(1)M

(2)<(3)k

改错:

(1)if(('a'<=tt[i])&&(tt[i]<='z'))

(2)tt[i]-=32;

编程:

inti,j;

intt=0;

for(i=2;i

{j=2;

while(j

{if(i%j==0)

{**[t]=i;

t++;

break;

}

j++;

}

*k=t;

12、程序填空题

给定程序中,函数fun的功能是:

将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。

例如:

形参s所指的字符串为:

def35adh3kjsdf7。

执行结果为:

defadhkjsdf3537

填空:

(1)j++

(2)s[i]=t1[i](3)j

改错:

(1)for(j=i+1;j<6;j++)

(2)*(pstr+i)=*(pstr+j);

编程:

intt=0;

char*p=ss;

while(*p)

{if(*p==c)

t++;

p++;}

returnt;

13.程序填空题

给定程序中,函数fun的功能是:

在形参s所指字符串中的每个数字字符之后插入一个*号。

例如,形参s所指的字符串为:

def35adh3kjsdf7.执行结果为:

def3*5adh3*kjsdf7*。

填空:

〔1〕&&

(2)0(3)s[j]

改错〔1〕for(i=2;i<=m;i++)

(2)y+=1.0/(i*i);

编程题:

intc[3][3];

for(i=0,i<3;i++)

for(j=0;j<3;j++)

{c[i][j]=a[j][i];

b[i][j]=a[i][j]+c[i][j];}

14、程序填空题

给定的程序中,函数fun的功能是:

统计形参s所指字符串中数字字

符出现的次数,并存放在形参t所指的变量中,最后在主函数中

输出,例如,形参s所指的字符串为abcdef35adgh3kjsdf7。

输出

结果为:

4。

填空:

〔1〕s[i]〔2〕'9'(3)*t=n;

改错:

(1)t=**;**=y;

(2)return(t);

编程:

inti;

*n=0;

for(i=7;i<1000;i++)

if(((i%7)==0)||((i%11)==0)&&((i%77)!

=0)

a[(*n)++]=i;

15、程序填空题

给定的程序中,函数fun的功能是:

把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动〔注:

字符串的长度大于等于2〕

例如:

形参s所指字符串为:

abcdefgh,执行结果为:

ahcbedgf

填空:

(1)1

(2)s[k](3)c

改错:

(1)longs=0,t=0;

(2)t=t/10;

编程:

char*p=tt;

inti;

for(i=0;i<26;i++)

pp[i]=0;

while(*p)

{if(*p>='a'&&p<='z')

pp[*p-'a']+=1;

p++;

}

16、程序填空题

在给定程序中,函数fun的功能是:

对形参s所指字符串下标喂奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中形成一个新串。

例如,形参s所指的字符串为baawrskjghzlicda,执行后p所指字符数组中的字符串应为:

aachjlsw。

填空:

(1)t=i

(2)i(3)0

改错:

(1)while(fabs(t)>=num)

(2)t=s/n;

编程:

intp,m=0;

for(p=0;p

if(p!

=n)

{b[m]=a[p];m++;}

b[m]='\0';

17、程序填空题

给定程序中,函数fun的功能是:

在形参s所指字符串中寻找与参数c一样的字符,并在其后插入一个与之一样的字符,假设找不到一样的字符则函数不做任何处理。

例如:

s所指字符字符串为:

baacda,c中得字符为:

a,执行后所指字符串为:

baaaacdaa。

填空:

(1)0或'\0'

(2)0(3)c

改错:

(1)doublesum=0.0;

(2)sum/=c;

编程:

intk;

floatstr=1.0,sum=1.0;

for(k=2;k<=n;k++)

{

sum=sum+k;

str=str+1/sum;

}

returnstr;

18、程序填空题

给定程序中,函数fun的功能是:

N×N矩阵,根据给定的m〔m<=N〕值,将每行元素中的值均右移m个位置,左边值为0.例如,N=3,m=2,有以下矩阵

123

456

789

程序执行结果为

001

004

007

填空:

(1)i++

(2)m(3)m

改错:

(1)while((high>=2)&&(n<10))

(2)缺分号

编程:

float*1=0.0,*0;

do

{

*0=*1;

*1=cos(*0);

}while(fabs(*0-*1)>0.000001);

return*1;

19、程序填空题

给定程序中,函数fun的功能是:

将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。

例如,N=3,有以下矩阵

123

456

789

计算结果为

312

645

978

填空:

(1)N

(2)N-1(3)0

改错:

(1)s=s+(n+1.0)/n;

(2)returnt;

编程:

intf0=0,f1=1,f;

do

{f=f0+f1;

f0=f1;

f1=f;

}while(f

returnf;

20、程序填空题

给定程序中,函数fun的功能是:

由N*N矩阵,将矩阵的外围元素顺时针旋转。

操作顺序是:

首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,

最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列

列。

例如:

而N=3,有以下矩阵:

123

456

789

计算结果为

741

852

963

填空:

〔1〕0〔2〕j--〔3〕j

改错:

(1)doublef(double*)

(2)缺分号

编程:

doubles=0.0;

inti;

for(i=1;i<=m;i++)

s=s+log(1.0*i);

s=sqrt(s);

returns;

21、程序填空题

给定程序中,函数fun功能是:

找出100至*〔*想<999〕之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当n值为500时,个各位数字之和为15的整数有

159,168,177,186,195,249,258,267,276,285,294,339,348,357,366,375,384,393,429,438,447,456,465,474,483,492,共有26个。

填空:

(1)0

(2)*(3)t++

改错:

(1)inti,s1;

(2)t[i]=s[s1-1-i];

编程:

*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;

22、程序填空题

给定的程序中,函数fun的功能是:

找出100~999之间〔含有100和999〕所有整数各位上的数字之和为*〔*为以正整数〕的整数,然后输出;符合条件的整数个数作为函数值返回。

例如:

当*值为5时,100~999之间各位上数字之和为5的整数有:

104,113,122,131,140,203,212,230,302,311,320,401,410,500.共有15个。

当*的值为27时,各位数字之和为27的整数是:

999。

只有1个。

填空:

〔1〕999〔2〕t/10(3)*

改错:

(1)voidfun(longs,long*t)

(2)while(s>0)

编程:

STRECtmp;

inti,j;

for(i=0;i

for(j=i+1;j

if(a[i],s

{tmp=a[i];

a[i]=a[j];

a[j]=tmp;

23、程序填空题

给定程序中,函数fun的功能是:

将形参n中,各位上为偶数的数取出,并按原位从高位到低位的顺序组成一个新的数,并作为函数值返回。

例如,从主函数输入一个整数:

27638496,函数返回值为:

26845.

填空:

(1)1

(2)s(3)i*10

改错:

(1)intfun(intn,int**[][M])

(2)printf("%d",**[i][j]);

编程:

*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);

24程序填空题

给定程序中,函数fun的功能是:

将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数返回.

例如,输入一个整数:

27638496,函数返回值为:

64862.

填空:

(1)0

(2)10**(3)n/10

改错:

(1)*t=0;

(2)if(d%2!

=0)

编程:

char*p=p1;

while(*p)

p++;

while(*p2)

{*p++=*p2++;

*p=0;

}

25.程序填空(与教材18题对应))

给定的程序中,函数fun的功能是:

将形参n所指变量中,各位上为

偶数的数去除..剩下的数按原来从高位的顺序组成一个新的数,并

通过形参兆时指针n传回所指变量.

例如:

输入一个数:

27638496,新的数:

739.

填空

(1)10

(2)0(3)*

改错

(1)if(n==0)

(2)缺分号

编程:

longs=0,t;

inti=0,j,n=strlen(p),k,s1;

if(p[0]=='-')

i++;

for(j=i;j<=n-1;j++)

{t=p[j]-'0';

s1=10;

for(k=j;k

t*=s1;

s+=t;}

if(p[0]=='-')

return–s;

elsereturns;

26,程序填空题

给定程序中,函数fun的功能是:

计算下式前n项的和作为函数值返回。

S=〔1*3〕/〔2*2〕+〔3*5〕/〔4*4〕+〔5*7〕/〔6*6〕+……+〔2n-1〕〔2n+1〕/〔2n*2n〕

例如:

当形参n的值为10时,函数返回9.612558.

填空:

〔1〕0〔2〕n〔3〕(t*t)

改错:

〔1〕for(i=0;str[i];i++)

(2)for(i=0;str[i];i++)

编程:

doubles;

floatn,t,pi;

t=1;pi=0;n=1.0;s=1.0;

while((fabs(s))>=eps)

{pi+=s;

t=n/(2*n+1);

s*=t;

n++;}

pi=pi*2;

returnpi;

27、程序填空题〔与22题对应〕

给定程序中,函数fun的功能是:

计算下式前n项的和

S=(1*3)/(2*2)-(3*5)/(4*4)+(5*7)/(6*6)-…+(-1)^(n-1)*(2n-1)(2n+1)/(2n*2n)

作为函数植返回。

例如,当形参n的值为10时,函数返回:

-0.204491

填空:

〔1〕1〔2〕2*i(3)(-1)

改错:

〔1〕缺分号〔2〕if(m==k)

编程:

inti;

*ma*=a[0];

*d=0;

for(i=0;i

if(*ma*

{*ma*=a[i];

*d=i;}

28、程序填空题

给定程序中,函数fun的功能是计算下式

s=3/〔2*2〕-5/〔4*4〕+7/〔6*6〕-…+(-1)^(n-1)(2n+1)/(2n*2n)

直到|(2n+1)/(2n*2n)|<10*e(-3)

并把计算结果作为函数值返回。

例如:

假设形参e的值为1e-3,函数的返回值为0.551690。

填空:

〔1〕3.0〔2〕>(3)(2*i+1)

改错:

〔1〕doublefun(intn)

〔2〕s=s+(double)a/b;

编程:

inti,j,ma*=a[0][0];

for(i=0;i<2;i++)

for(j=0;j

if(ma*

ma*=a[i][j];

returnma*;

29、程序填空题

给定程序中,函数fun的功能是计算下式

s=1/(2*2)+3/(4*4)+5/(6*6)+....(2n-1)/(2n*2n)

直到|〔2n-1〕/(2n*2n)|<=10e-3,并把计算结果作为函数值返回。

例如,假设形参e的值为1e-3,函数的返回值2.985678.

填空:

〔1〕0〔2〕i++〔3〕2.0*i

改错:

〔1〕voidfun(char*s,char*t)〔2〕t[2*d]='\0';

编程:

inti,j=o;

for(i=1;i

if(i%2==0&&s[i]%2)t[j++]=s[i];

t[j]='\0';

30程序填空题

给定程序中,函数fun的功能是,将形参s所指字符串的所有字母

字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作

为函数值返回。

例如,s所指字符串为:

asd123fgh543df处理后新字符串为

asdfghdf123543.

填空:

〔1〕s[i]〔2〕k〔3〕0

改错:

〔1〕while(*w)〔2〕if(*r==*p)

编程:

inti,j=0;

for(i=1;i

if(s[i]%2)t[j++]=s[i];

t[j]='\0';

31、程序填空题

给定程序中,函数fun的功能是:

将a所指4×3矩阵中第k行的元素与第0行元素交换。

例如。

有以下矩阵:

123

456

789

101112

假设k为2,程序执行结果为:

789

456

123

101112填空:

(1)k

(2)N(3)a[k][i]

改错:

(1)for(i=strlen(t)-1;i;i--)

(2)if(t[j]>t[j+1])

编程:

char*p=ss

inti=0;

while(*p)

{

if((i%2)&&(*p>='a'&&*p<='z'))

*p-=32;

p++;

i++;

}

32、程序填空题

给定程序中,函数fun的功能是:

将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕道右边。

例如,有以下矩阵:

12345

12345

12345

假设结果为,程序执行结果为:

34512

34512

34512

填空:

〔1〕k〔2〕N-1〔3〕temp

改错:

〔1〕voidfun(inta[][M],intm)〔2〕a[j][k]=(k+1)*(j+1);

编程:

*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;

33、程序填空题

给定程序中,函数fun的功能是:

在3*4的矩阵中代出在行上最大、在列上最小的那个元素,假设没有符合条件的元素则输出相应信息。

例如:

有以下矩阵

12134

78106

3597

程序执行的结果为:

find:

a[2][2]=9

填空:

(1)j

(2)0(3)i++

改错:

(1)for(i=2;i<=m;i++)

(2)y-=1.0/(i*i);

编程:

floatav=0.0;

inti,j=0;

for(i=0;i

av+=score[i];

av/=m;

for(i=0;i

if(av>score[i])below[j++]=score[i];

returnj;

10;

34、程序填空题

给定程序中,函数fun的功能是:

把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。

假设s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

例如,形参s所指的字符串味:

abcdefgh,n的值为5,程序执行后t所指字符串数组中的字符串为:

defgh.

填空:

〔1〕t,s〔2〕s[i]〔3〕0

改错:

〔1〕if(i%k==0)〔2〕if(k>=i)

编程:

inti=0;

*n=0;

for(i=1;i<=*;i++)

if((*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1