C语言期末复习题

发布时间 : 星期二 文章C语言期末复习题更新完毕开始阅读

printf(\return 0 ; }

void copy_string(char *from,char *to) {

for(;*from!='\\0';from++,to++) *to=*from; *to='\\0'; }

6.下面程序执行的结果是 #include

void inv(int [], int ); int main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a,10);

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

printf(\

printf(\return 0; }

void inv(int x[], int n) { int t,i,j,m=(n-1)/2; i=0; j=n-1;

for(;i<=m;i++,j--)

{ t=x[i]; x[i]=x[j]; x[j]=t; } }

7.写出下面程序的运行结果 。 #include struct man {

char name[20] ; int age ;

} person[ ] = { “liming”, 22, “wanghua”, 21,”zhangping”,20 } ; int main ( )

{ int old = 0 ;

struct man *p=person, *q ; for ( ; p<=&person[2]; p++)

if (oldage) { q=p ; old=p->age; } printf(“%s %d\\n”,q->name,q->age) ; return 0; }

8.输入9,5回车后,下面程序执行结果是 #include

void swap(int *,int *); int main() {

第5页/ 共14页

int a, b, *pa=&a, *pb=&b; scanf(“%d,%d”,&a,&b); swap (pa,pb);

printf(“a=%d,b=%d\\n”,a,b); return 0;

}

void swap (int *p1,int *p2) {

int p; p=*p1; *p1=*p2; *p2=p;

printf(“*p1=%d,*p2=%d\\n”,*p1,*p2); }

9.以下程序输出结果是 。 #include int main ( ) {

int x=1,y=0,a=0,b=0; switch(x) {

case 1:switch (y)

{

case 0 : a++ ; break ; case 1 : b++ ; break ; }

case 2:a++; b++; break; case 3:a++; b++;

}

printf(“a=%d,b=%d”,a,b); return 0; }

10.输入6,下面程序的执行结果是: #include

unsigned int fact (unsigned int ); int main()

{ unsigned int n,fac; scanf(\ fac=fact (n);

printf(\ return 0; }

unsigned int fact (unsigned int n) {

unsigned int result; if(n==1||n==2) result=1; else

第6页/ 共14页

result=fact(n-1)+fact (n-2); return result; }

11.下面程序的输出结果是 。 #include int fun(int,int); int main( )

{ int x=7,y=3,s,j; for(j=0;j<3;j++) {

s=fun(x,y);

printf(\ }

return 0; }

int fun(int a,int b) {

static int n=1,i=2; i=n+1; n=i+a-b; return(n); }

12. 当运行以下程序时,从键盘输入:AhaMA□Aha(表示回车,□表示空格),则下面程序的运行结果是________。 #include int main(){

char s[80],c='a'; int i=0;

scanf(\

while(s[i]!='\\0') {

if(s[i]==c) s[i]=s[i]-32; else if(s[i]==c-32) s[i]=s[i]+32; i++; }

puts(s); return 0; }

13.下面程序执行的结果是 #include

void inv(int *, int ); int main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2}; inv(a,10);

第7页/ 共14页

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

printf(\

printf(\return 0; }

void inv(int *x, int n)

{ int t,*p,*i,*j,m=(n-1)/2; i=x; j=x+n-1; p=x+m; for(;i<=p;i++,j--)

{ t=*i; *i=*j; *j=t; } }

14.下面函数的功能是 int strcmp(char *s,char *t) {

while (*s && *t && (*s == *t)) {

s++; t++; }

return *s - *t; }

四、程序填空题

1.以下程序输出a,b,c三个整数,并按从小到大排序,请完善程序。 #include int main()

{ int a,b,c,t;

scanf(\ if( [1] ) {

t=a; a=b; b=t; }

if(a>c) {

[2] ; a=c; c=t; }

if(b>c) {

t=b;

[3] ; c=t; }

printf(\return 0;

第8页/ 共14页

联系合同范文客服:xxxxx#qq.com(#替换为@)