C语言填空题精选_第1页
C语言填空题精选_第2页
C语言填空题精选_第3页
C语言填空题精选_第4页
C语言填空题精选_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 以下程序中,函数f un的功能是计算x2-2x+6,主函数中将调用f un函数计算:y1=(x+8)2-2(x+8)+6y2= sin2(x)-2sin(x)+6请填空。#include "math.h"double fun(double x) return (x*x-2*x+6);main() double x,y1,y2;printf ("Enter x: "); scanf ("%lf",&x);y1=fun(_ x+8);y2=fun(_ sin ( x ) );printf ("y1=%1f,y2=%

2、1fn",y1,y2);2. 执行以下程序时输入1234567<CR>则输出结果是 _12 34 。#include <stdio.h>main() int a=1,b;scanf("%2d%2d",&a,&b); printf("%d %dn",a,b);3. 若有以下程序int f(int x,int y) return(y-x)*x; main() int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5);printf("%dn",d);执行后输出结果是_9。4.

3、以下程序的输出结果是_ACE。#include <stdio.h>main() int i;for(i='a'i<'f'i+,i+) printf("%c",i-'a'+'A');printf("n");5. 下面 fun 函数的功能是将形参x 的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。fun(int x,int b ) int k=0,r;do r=x%_ _2bk+=r;x/=_while(x)

4、;6. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请填空。main() int i,a20,sum,count;_ );sum=count=0;for(i=0;i<20;i+) scanf("%d",_fro(i=0;i<20;i+) if(ai>0) count+;sum+=printf("sum=%d,count=%dn",sum,count);&aiai7. 以下程序运行后的输出结果是_220.000000main()char c; int n=100;float f=10; double x;x

5、=f*=n/=(c=50);printf("%d%fn",n,x);8. 以下程序中,for 循环体执行的次数是_42N+1M+1*M/2#define#define#define main() int i;for(i=1;i<K;i+) . 9. 以下程序运行后的输出结果是_1 3 5 7 15 。main() int i,n=0,0,0,0,0;for(i=1;i<=4;i+) ni=ni-1*2+1;printf("%d ",ni);10. 下列程序中字符串中各单词之间有一个空格,则程序的输出结果是she。# include<st

6、ring.h>main( ) char str1 ="How do you do", *p1=str1;strcpy(str1+strlen(str1)/2,"es she");printf("%sn",p1);11. 以下程序的输出结果是_261_。main() int a=177;printf("%on",a);12. 下面程序的运行结果是:_1000 10 。#define N 10#define s(x) x*x#define f(x) (x*x)main()int i1,i2;i1=1000/s(N

7、);i2=1000/f(N);printf("%d %dn",i1,i2);13. 已知字符A白ASCII代码值为65,以下程序运行时若从键盘输入:是 1 B。_How doesB33回车,则输出结果#include <stdio.h> main() char a,b;a=getchar();scanf("%d",&b);a=a-'A'+'0'b=b*2; printf("%c %cn",a,b);14. 以下程序运行后的输出结果是_17。main()int x=15;while(x

8、>10&&x<50)x+;if(x/3)x+;break; else continue; printf("%dn",x);15. 函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串 时,返回值小于 0( 功能等同于库函数strcmp() 。请填空。#include <stdio.h>int sstrcmp(char *s,char *t)while(*s&&*t&&*s=_ *t

9、 )s+;t+; return _ *s-*t ;16. 以下程序的输出结果是_7_。main() int x=0;sub(&x,8,1); printf("%dn",x);sub(int *a,int n,int k) if(k<=n) sub(a,n/2,2*k);*a+=k;17. 以下程序段用于构成一个简单的单向链表,填空。struct STRU int x,y;float rate;_ _struct STRU* p;a,b;a.x=0;a.y=0;a.rate=0;a.p=&b;b.x=0;b.y=0;b.rate=0;b.p=NULL;1

10、7 .以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。int isprime(int a) int i;for(i=2;i<=a/2;i+)if(a%i=0) _ return 0_ ;_ _return 1 ;18 .设有如下程序:main() int n1,n2;scanf("%d",&n2);while(n2!=0) n1=n2%10;n2=n2/10;printf("%d",n1);程序运行后,如果从键盘上输入 1298,则输出结果为 892119 .以下程序中,fun函数的功能是求3行4

11、列二维数组每行元素中的最大值。请填空。void fun(int,int,int(*)4,int *);main() int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i;fun(3,4,a,b);for(i=0;i<3;i+) printf("%4d",bi);printf("n");void fun(int m,int n,int ar口4,int *br) int i,j,x;for(i=0;i<m;i+) x=ari0;for(j=0;j<n;j+) if(x<arij) x=arij

12、;=x;bri20 .已知字符A白ASCII码为65,以下程序运行后的输出结果是_67G_。main() char a,b;a='A'+'5'-'3' b=a+'6'-'2'printf("%d%cn",a,b);21 .以下程序的功能是:求出数组 x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main() int x10,a9,i;for(i=0;i<10;i+) scanf("%d”,&xi);for( ; i<10;i+)ai-1=xi+;for

13、(i=0;i<9;i+ ) printf("%d",ai);printf("n");i=1 xi-122 .函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t 返回正值,当s<t时返回负值。请填空。mycmp( char *s,char *t) while (*s=*t) if (*s='0')return 0;+s;+t;return();s-*t23 .有以下程序main() int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(

14、x) x-=3;printf("%dn",x);执行后输出的结果是-4。24 .设有定义:float x=123.4567;,则执行以下语句后的输出结果是_123.460000_。printf("%fn"(int)(x*100+0.5)/100.0);25 .以下程序中,函数SumColumMi的功能是:求出 MfN列二维数组每列元素中的最小值,并 计算它们的和值。和值通过形参传回主函数输出。请填空。#define M 2#define N 4void SumColumMin(int aMN,int *sum) int i,j,k,s=0;for(i=0

15、;i<N;i+) k=0;for(j=1;j<M;j+)if(aki>aji)k=j;=s;main() int xMN=3,2,5,1,4,1,8,3,s;SumColumMin();printf("%dn",s);aki *sum x,&s26.已知字符A白ASCII码值为65,以下语句的输出结果是 。char ch='B'printf("%c %dn",ch,ch);B 6627 . 设函数 findbig 已定义为求3个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。main()

16、int findbig(int,int,int);int (*f)(),x,y,z,big;f=;scanf("%d%d%d",&x,&y,&z);big=(*f)(x,y,z);printf("big=%dn",big);findbig28 . 下面程序的输出是。main() int arr10,i,k=0;for(i=0;i<10;i+)arri=i;for(i=1;i<4;i+)k+=arri+i;printf("%dn",k);1229 .以下函数fun用于求两个整数a和b的最大公约数。 f

17、un(a,b)int a,b;int i,j,m,n;if(a>b)m=a;a=b;i=a;j=b;while(n=)!=0)j=i;i=;return(i);故本题答案为:b=mf口j%i和n。30 .以下程序中,select函数的功能是:在 NfMTU的二维数组中,选出一个最大值作为函数值 返回,并通过形参传回此最大值所在的行下标,请填空。#define N 3#define M 3select(int aNM,int *n) int i,j,row=0,colum=0;for(i=0;i<N;i+)for(j=0;i<M;i+)if(aij>arowcolum)r

18、ow=i;colum=j;*n=;return( ); main() int aNM=9,11,23,6,1,15,9,17,20,max,n;max=select(a,&n);printf("max=%d,line=%dn",max,n);row arowcolum31.以下sum!数的功能是计算下列级数之和。S=1+x+xA2/2!+xA3/3!+ +xM/n!请给函数中的各变量正确赋初值。double sum(double x,int n) int i;double a,b,s;for(i=1;i<=n;i+) a=a*x;b=b*i;s=s+a/b;

19、return s;a=1.0,b=1.0,s=1.032以下函数的功能是:求x的y次方,请填空 double fun(double x,int y) int i;double z;for(i=1,z=x;i<y;i+) z=z* return z;x33 .以下程序的输出结果是。main() int a33=1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i<3;i+) s+=aii+ ai3-i-1;printf("%dn",s);3034 .以下程序的输出结果是。#define MCRA(m) 2*m#define MCRB(n,m) 2*M

20、CRA(n)+mmain() int i=2,j=3;printf("%d'n",MCRB(j,MCRA(i);1635 .设有以下程序:main() int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m;b=(*p1)/(*p2)+7;printf("a=%dn",a);printf("b=%dn",b);执行该程序后,a的值为, b的值为0 736 .以下函数rotate的功能是:将a所指N行喇的二维数组中的最后一行放到 b所指二维数组的 第0列中,把a所指二维数组中的第0行放

21、到b所指二维数组的最后一列中, b所指二维数组中的 其他数据不变。# define N 4void rotate(int aN,int bN) int i,j;for(i=0;i<N;i+) biN-1=;=aN-1i; a0i bi037有以下程序:#include <stdio.h> main() char c;while(c=getchar()!='?') putchar(-c); 程序运行时,如果从键盘输入:Y?N?/,则输出结果为 。x38. 以上程序运行后的输出结果是。main() int i=10,j=0; do j=j+i; i-; while

22、(i>2); printf("%dn",j);5239. 若有如下结构体说明 : struct STRU int a,b;char c: double d;struct STRU *p1,*p2;请填空,以完成对 t 数组的定义, t 数组的每个元素为该结构体类型。 t20struct STRU41. 以下程序的输出结果是 。void fun()static int a = 0;a += 2;printf("%d",a);main()int cc;for(cc = 1;cc < 4; cc+) fun();printf("n&quo

23、t;);24642. 以下程序运行后的输出结果是。#include <string.h>main() char ch="abc",x34; int i;for(i=0;i<3;i+) strcpy(xi,ch);for(i=0;i<3;i+) printf("%s",&xii);printf("n");. abcbcc43. 以下程序的输出结果是 。#define MAX(x,y) (x)>(y)?(x):(y)main()int a = 5, b = 2,c = 3, d = 3, t;t =

24、MAX(a + b, c + d)*10;printf("%dn", t);744. 设变量已正确定义为整型,则表达式 n=i=2,+i,i+ 的值为 。345. 以下程序的功能是调用函数fun计算:m=1-2+3-4+-一+9-10 ,并输出结果。请填空 int fun ( int n) int m=0,f=1,i;for(i=1; i<=n; i+) m+=i*f;f=;return m; main() printf("m=%dn",);-f fun(10)46 .若有程序main() int i,j;scanf("i=%d,j=%d

25、",&i,&j);printf("i=%d,j=%dn ",i,j);要求给i贝i10,给j贝i20,则应该从键盘输入 。I=10,j=2047 .语句;X+;、+X;、X=X+1;、X=1+X,执行后都使变量x中的 值增1,请写出一条同一功能的赋值语句(不得与列举的相同)。X+=148 .下面的函数strcat(str1,str2)实现将字符串str2拼接到字符串str1后面的功能。请填空使之完整。char *strcat(str1,str2)char *str1,*str2; char *t=str1;while()str1+;while();

26、 return(t);*str1!=NULL 和*str1+=*str2+49 .以下程序的输出结果是。main() char *p="abcdefgh",*r;long *q;q=(long*)p;q+;r=(char*)q;printf("%sn",r);efgh50 .以下程序运行后的输出结果是 。main () char a="Language",b="Programe"char *p1,*p2; int k;p1=a; p2=b;for(k=0;k<=7;k+)if(*(p1+k)=*(p2+k)

27、printf("%c",*(p1+k);gae51 . 以下程序的功能是输出如下形式的方阵:13 14 15 169 10 11 125 6 7 81 2 3 4请填空。main() int i,j,x;for(j=4;j;j-) for(i=1;i<=4;i+) x=(j-1)*4+;printf("%4d",x);printf("n");>=1i52 . 下列程序的输出结果是int t(int x,int y,int cp,int dp) cp=x * x+y*y;dp=x*x-y*y;main( ) int a=4,

28、b=3,c=5,d=6;t(a,b,c,d);printf("%d %dn",c,d);5 653 . 若有语句int i=-19,j=i%4;printf("%dn",j);则输出的结果是。-354 . 有以下程序int sub(int n) return(n/10+n%10); main() int x,y;scanf("%d",&x);y=sub(sub(sub(x);printf("%dn",y);若运行时输入:1234<回车 >,程序的输出结果是。1055 . 下面程序的运行结果是:

29、。typedef union studentchar name10;long sno;char sex;float score4;STU;main()STU a5;printf("%dn",sizeof(a); 8056 .以下程序通过函数SunFu淋口f(x) , x=0到10,这里f(x)=xA2+1 ,由F函数实现,请填空 main() printf("The sun=%dn",SunFun(10);SunFun(int n) int x,s=0;for(x=0;x<=n;x+)s+F();return s;F(int x) return (

30、);X x*x+157. 以下程序运行后的输出结果是。main() int p=30;printf("%dn",(p/3>0 ? p/10 :p%3);358. 以下程序运行后的输出结果是。main() int a=3,b=4,c=5,t=99;if(b<a && a<c) t=a;a=c;c=t;if(a<c && b<c) t=b;b=a;a=t;printf("%d %d %dn",a,b,c);4 5 9959. 以下程序运行后的输出结果是。main() int a,b,c;a=10; b=20; c=(a%b<1)|(a/b>1);printf("%d %d %dn",a,b,c);10 20 060. 以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。#include <stdio.h>main() int n, s;printf ("Enter a number: "); scanf ("%d",&n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论