c语言期末复习试题,上机练习 联系客服

发布时间 : 星期六 文章c语言期末复习试题,上机练习更新完毕开始阅读

printf(“\\n”); }

invert(int s[ ],int i,int j) { int t; if(i

{ invert(s,i+1j-1); t=s[i];s[i]=s[j];s[j]=t; } }

4.#include

main()

{ char str[ ]=“The C program”,c; int i;

for(i=2;(c=str[i])!=?\\0?;i++) { switch(c)

{ case ?g?: ++i; break;

case ?o?: continue;

default: printf(“%c”,c); continue; }

printf(“*”); }

printf(“\\n”); }

5.struct w

{ char low; char high; };

union u

{ struct w byte; short word; }uw; main( )

{ int result;

uw.word=0x1234;

printf(“word value:x\\n”,uw.word);

printf(“high byte:x\\n”,uw.byte.high); printf(“low byte:x\\n”,uw.byte.low); uw.byte.low=0x74;

printf(“word value:x\\n”,uw.word); result=uw.word+0x2a34; printf(“the result:x\\n”,result); }

6.main()

{ char *s2=“I love China!”,**s1=&s2;

char *s3,c,*s4=“w”;

s3=&c; *s3=?H?; s2=s2+2;

printf(“%s\\t%c\\t%s\\t%c\\n”,s2,*s3,s4,**s1);

}

四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分)

1. 百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹? main( )

{ int hb,hm,hl,n=0;

for(hb=0;hb<=100;hb+= (1) ) for(hm=0;hm<=100-hb;hm+= (2) ) { hl=100-hb- (3) ;

if(hb/3+hm/2+2* (3) ==100) { n++;

printf(\ } }

printf(\

}

2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。 #define N 10 char str[N]; main()

{ int i,flag;

for(flag=1;flag==1;) { scanf(\ flag=0; printf(\ }

sort(___(4)___); for(i=0;i

sort(char str[N]) { int i,j; char t;

for(j=1;j

for(i=0;(istr[i+1]) { t=str[i];

____(5)____;

____(6)____;

} }

3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。) 例如,矩阵为: 3 0 0 3

2 5 7 3 1 0 4 2

则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。 add(int m,int n,int arr[]) { int i,j,sum=0; for(i=0;i

}

4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。 #define N 10 main()

{ void maxmin(int arr[],int *pt1,int *pt2,int n);

int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b; p1=&a; p2=&b;

maxmin(array,p1,p2,N);

printf(\ }

void maxmin(int arr[],int *pt1,int *pt2,int n) { int i;

*pt1=*pt2=arr[0];

for(i=1;i

{ if(arr[i]>*pt1) (9) ; if(arr[i]<*pt2) (10) ; }

} 答案

一 选择题(24分,每小题2分)

1.( B ) 2.( C ) 3.( B ) 4.( D ) 5.( D ) 6.( A ) 7.( D ) 8.( A ) 9.( D ) 10.( B ) 11.( C ) 12.( D ) 二 判断对错,对的划“√”,错的划“×”(20分,每小题2分) 1.( × ) 2.( √ ) 3.( √ ) 4.( × ) 5.( × ) 6.( √ ) 7.( √ ) 8.( × ) 9.( √ ) 10.( √ )

三 写出下列程序的运行结果(36分,每小题6分)

1. s=20 2.x=35 y=-4 s=-29 3.60,50,40,30,20,10, 4.e C pr*am 5.word value:1234 6.love China! H w l high byte:12 low byte:34 word value:1274

the result:3ca8

四 阅读下列程序,在 处填入适当内容,使程序完整(20分,每个空2分) 1.(1) 3 (2) 2 (3)hm hl 2.(4) str (5) str[i]=str[i+1] (6) str[i+1]=t 3.(7) arr[i*n+j](或者arr[i*10+j]) (8) i

源地址:http://blog.renren.com/GetEntry.do?id=472592697&owner=282800038