C语言机试试题_c语言机试试题

2020-02-26 其他范文 下载本文

C语言机试试题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言机试试题”。

1、程序填空题

给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录 每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘

读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制中。填空:(1)STYPE

(2)FILE

(3)fp 改错:(1)for(i=0;i

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

2、程序填空题

给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和Writetext实现。填空:(1)*fw(2)str(3)str 改错:(1)void fun(long s,long *t)(2)s1=s1*10;编程:int i,j=0,min=a[0].s;for(i=0;i

3、程序填空题

给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。填空:(1)fp(2)fclose(fp)(3)myfile3.txt 改错:(1)for(i=j+1;i

4、程序填空题

给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxie,程序执行后的输出结果为: letter 'a':3 times letter 's':3 times 填空:(1)“r”(2)fs

(3)ft 改错:(1)

if(d%2==0)

(2)s/=10;编程:

int i = 0, j = 0;

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

5、程序填空题 while(s[i]){

if(i % 2 == 0 && s[i] % 2 == 0)

i++;} t[j] = 0;给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。填空:(1)x(2)p

(3)s 改错:(1)long k=1;(2)num/=10;编程:int i;float aver=0.0;for(i=0;i

6、程序填空题

给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。填空:(1)next(2)t->data(3)t 改错:(1)void fun(char *a)(2)print(“%c”,*a);编程:int i;char *p=s,*q=t;int n=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;return p;

7、程序填空题

给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。填空:(1)q

(2)next

(3)next 改错:(1)缺分号

(2)p = i;编程:*n=0;int i;for(i=1;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]='';编程:

int i;

for(i=1;i

If(([i]>='a'&&[i]

9、程序填空题

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。

填空:(1)*n

(2)next

(3)head 改错:(1)a=NULL;

(2)if(*r==*p)编程: int i,j=0;for(i=0;i

10、程序填空题

给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。

填空:(1)data(2)next(3)head 改错:(1)while(*r)(2)*a=*r;a++;r++;编程:int i,j=0;for((i=0;i

11、程序填空题

给定程序中,函数fun的功能是:求所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M个字符串,且串长

(3)k 改错:(1)if(('a'

(2)tt[i]-=32;编程:int i,j;int t=0;for(i=2;i

12、程序填空题

给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如:形参s所指的字符串为:def35adh3kjsdf7。

执行结果为:defadhkjsdf3537 填空:(1)j++

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

(3)j 改错:(1)for(j = i + 1;j

(2)*(pstr + i)=*(pstr + j);编程: int cnt=0;char *p=;while(*p){if(*p==c)cnt++;p++;} return cnt;

13.程序填空题

给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf7.执行结果为:def3*5adh3*kjsdf7*。填空:(1)&&(2)0

(3)s[j] 改错(1)for(i=2;i

14、程序填空题

给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字 符出现的次数,并存放在形参t所指的变量中,最后在主函数中 输出,例如,形参s所指的字符串为abcdef35adgh3kjsdf7。输出 结果为:4。填空:(1)s[i]

(2)'9'(3)*t=n; 改错:(1)t=*x;*x=y;(2)return(t);编程:

int i; *n=0;for(i=7;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)long s = 0,t = 0;(2)t = t / 10;编程: char *p=tt;int i;for(i=0;i='a' &&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;编程: int p,m=0;for(p=0;p

17、程序填空题

给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。

例如:s所指字符字符串为:baacda,c中得字符为:a,执行后所指字符串为:baaaacdaa。填空:(1)0或''

(2)0(3)c 改错:(1)double sum=0.0;(2)sum/=c;编程:int k;float str=1.0,sum=1.0;for(k=2;k

18、程序填空题

给定程序中,函数fun的功能是:N×N矩阵,根据给定的m(m

47程序执行结果为 0

00

00

0

填空:(1)i++(2)m

(3)m

改错:(1)while((high>=2)&&(n

编程: float x1=0.0,x0;do { x0=x1;x1=cos(x0);}while(fabs(x0-x1)>0.000001);return x1;

19、程序填空题

给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵 1 2 3 4 5 6 7 8 9 计算结果为 3 1 2 6 4 5 9 7 8 填空:(1)N(2)N-1(3)0 改错:(1)s=s+(n+1.0)/n;

(2)return t;编程:int f0=0,f1=1,f;do {f=f0+f1;f0=f1;f1=f;}while(f

给定程序中,函数fun的功能是:由NxN矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r, 然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列 列。例如:而N=3,有以下矩阵: 147计算结果为 789填空:(1)0

(2)j--(3)j 改错:(1)double f(double x)

(2)缺分号 编程:

double s=0.0;int i;for(i=1;i

21、程序填空题

给定程序中,函数fun功能是:找出100至x(x想

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)

x(3)

t++

改错:(1)

int i,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)所有整数各位上的数字之和为x(x为以正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。例如:当x值为5时,100~999之间各位上数字之和为5的整数有:104,113,122,131,140,203,212,230,302,311,320,401,410,500.共有15个。当x的值为27时,各位数字之和为27的整数是:999。只有1个。填空:(1)999

(2)t/10(3)x 改错:(1)void fun(long s,long *t)(2)while(s>0)编程:STREC tmp;int i,j;for(i=0;i

23、程序填空题

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

例如,从主函数输入一个整数:27638496,函数返回值为:26845.填空:(1)1

(2)s

(3)i*10 改错:(1)int fun(int n,int xx[][M])

(2)printf(“%d”,xx[i][j]);编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数返回.例如,输入一个整数:27638496,函数返回值为:64862.填空:(1)0

(2)10*x

(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)x 改错(1)if(n = = 0)(2)缺分号

编程:

long s=0, t;int i=0,j,n=strlen(p),k,s1;if(p[0]=='-')i++;for(j=i;j

给定程序中,函数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++)编程:double s;float n,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;

return pi;

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)编程:int i;*max=a[0];*d=0;for(i=0;i

28、程序填空题

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

s=3/(2*2)-5/(4*4)+7/(6*6)-„+(-1)^(n-1)(2n+1)/(2n*2n)直到|(2n+1)/(2n*2n)|

例如:若形参e的值为1e-3,函数的返回值为0.551690。填空:(1)3.0

(2)>

(3)(2*i+1)改错:(1)double fun(int n)

(2)s=s+(double)a/b;编程:

int i,j,max=a[0][0];

for(i=0;i

for(j=0;j

if(max

max=a[i][j];

return max;

29、程序填空题

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

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

给定程序中,函数fun的功能是,将形参s所指字符串的所有字母 字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作 为函数值返回。

例如,s所指字符串为:asd123fgh543df处理后新字符串为 asdfghdf123543.填空:(1)s[i]

(2)k

(3)0 改错:(1)while(*w)

(2)if(*r==*p)编程:int i,j=0;for(i=1;i

31、程序填空题

给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。例如。有下列矩阵: 14710 11若k为2,程序执行结果为: 74110 11

12填空:(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= int i=0;while(*p){ if((i%2)&&(*p>='a'&&*p

32、程序填空题

给定程序中,函数fun的功能是:将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕道右边。例如,有以下矩阵: 1 1

若结果为,程序执行结果为:33填空:(1)k(2)N-1(3)temp 改错:(1)void fun(int a[][M],int m)(2)a[j][k]=(k+1)*(j+1);编程:

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

33、程序填空题

给定程序中,函数fun的功能是:在3*4的矩阵中代出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如:有下列矩阵 1 2 13 4 7 8 10 6 3 5 9程序执行的结果为:find:a[2][2]=9 填空:(1)j

(2)0

(3)i++ 改错:(1)for(i=2;iscore[i])below[j++]=score[i];return j;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)编程:int i=0;*n=0;for(i=1;i

35、给定程序中,函数fun的功能是:在形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。

例如,LEVEL和Level是“回文”,而LEVLEV不是“回文”。填空:(1)s(2)—

(3)return 0 改错:(1)double fun(int n)

(2)c=a;a+=b;b=c;编程: int r=0,temp,p,sign=1;

for(temp=m+1;temp

sign=1;

else {sign=0;break;} } if(sign= =1&&p>=temp){if(k>=0){xx[r++]=temp;k--;} else break;}

}

程序填空题

给定程序中,函数fun的功能是:计算出形参s所指定字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。

例如,形参s所指的字符串为:This is a C languge program,函数的返回值为6。填空:(1)n++(2)0

(3)s++ 改错:(1)t+=s[k];(2)*aver=ave;编程:int i,pos=0,max=*s;for(i=1;i

37、程序填空题

给定程序中,函数fun的功能是:将形参s所指字符串中所有的ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。例如:形参s所指的字符串为:Abc@156*,程序执行后t所指字符串数组中的字符串为:A@156*。

填空:(1)*s

(2)s++

(3)n 改错:(1)int j,c=0;double xa=0.0;

(2)if(x[j] >= xa)编程:float result,temp=1.0;int i;for(i=1;i

38.程序填空题

给定程序中,函数fun的功能是:将形象s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。填空:(1)48

(2)s++

(3)sum 改错:(1)if((k%13= =0)||(k%17= =0))

(2)]

int i;for(i=21;i

39、程序填空题

给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。

例如,形参s所指字符串为:abcAbsmaxle,程序执行后的输出结果为: letter ‘a’:3 times letter ‘s’:3 times

填空:(1)*s(2)1(3)k[n] 改错:(1)double fun(int k)(2)return s;编程:double s=0.0;int i;for(i=1;i

40、程序填空题

给定程序中,函数fun的功能是:利用指针数组对形参所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果,所指字符串数组中共有N个字符串,且串长小于M。

填空:(1)i

(2)ps[j](3)tp 改错:(1)double fun(int n)(2)return sum;编程:int i;double a=1,b=1,s=1;for(i=1;i

41、程序填空题

给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用,规定在2处使f指向函数f1,在3处使f指向函数f2。当调用正确时,程序输出: x1=5.000000,x2=3.000000, x1*x1+x1*x2=40.000000 填空:(1)double(2)f1(3)f2 改错:(1)p=h->next;(2)p=p->next;编程: int i,n=0,fg=1;char *p=str;while(*p){n++;p++;} for(i=0;i

42、程序填空题 给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据从头至尾的数据为:10,4,2,8,6,排序后链表结点数据域从头至尾的数据为:2,4,6,8,10。

填空:(1)h->next(2)p->next(3)>= 改错:(1)p=h->next;(2)p=p->next;编程:int i,j;for(i=0;i

43、程序填空题 给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若链表中从头至尾结点数据域依次为:2,4,6,8,10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。填空:(1)NODE *(2)q(3)r 改错:(1)if(i%2 || s[i]%2==0)(2)t[j]=0;编程: for(j=0;j

44..程序填空题

给定程序中,函数fun功能是将不带头结点的单向链表逆置,即若原链表从头到尾结点数据域依次为:2 4 6 8 10 逆置后,从头到尾结点数据域依次为:10 8 6 4 2 填空:(1)next(2)0(3)r 改错:(1)r=t;(2)if(*r= =0)编程:int i,j,k=0;for(i=0;i

45、程序填空题

给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据域从头到尾的数据为:10,4,2,8,6,排序后链表结点数据域从头到尾的数据为:2,4,6,8,10。填空:(1)p->next(2)q(3)p->next 改错:(1)''(2)s++;编程:int b[N],i,j=0;for(i=p+1;i

46、程序填空题 给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出,例如,形参s所指的字符串为abcdef35adgh3kjsdf7。输出 结果为:4。

填空:(1)double

(2)f1

(3)f2 改错:(1)char *fun(char *s, char *t)

(2)++

(3)tt++ 编程: char a[N];int i;for(i=0;i=0;m--;i--)w[i]=a[m];

47、程序填空题

给定的程序中,函数fun的功能是将形参给定的字符串,整数、浮点数写到文本文件中,再用字符的方式从此文本文件中逐个读入并显示在终端屏幕上。填空:(1)FILE *

(2)fp(3)ch 改错:(1)s[j++]=s[i];

(2)s[j]= '';编程: for(j=0;j

b[n]=s[j][i];

48、程序填空题

给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi 和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

填空;

(1)File *

(2)fclose(fp)

(3)fp 改错;

(1)t=(STU*)calloc(sizeof(STU),m);(2)t[k]=b[j];编程;

int i,t,j=0,*p=a;t=p[0];for(i=0;i=n)a[j]=t;return j;

49、程序填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。填空:(1)“rb”

(2)>

(3)fwrite 改错:(1)p=s;

(2);(缺分号)编程:int i;for(i=0;j=100)b[10]++;else b[a[i]/10]++;

50、程序填空题

程序通过定义学生结构变量,储存了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指的文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据,其他学生的数据不变。填空:(1)filename(2)fp(3)fp 改错:(1)p=(NODE*)malloc(sizeof(NODE));(2)return h;编程: int i,n=0;for(i=0;i=’ a’&&s[i]

他学生的数据不变。

填空:(1)filename(2)fp(3)fp 改错:(1)p=(NODE*)malloc(sizeof(NODE));(2)return h;编程: int i,n=0;for(i=0;i=’ a’&&s[i]

《C语言机试试题.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言机试试题
点击下载文档
相关专题 c语言机试试题 语言 c语言机试试题 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文