
C語言練習(xí)題3
10頁C語練習(xí)三一、填空題1.設(shè)有:int a[]={1,2,3,4,5,6},*p=a;則a[2]元素的地址可以表示為 、 、 假設(shè)a數(shù)組的首地址為12A0(16進制),則a[1]的地址值為 ,a[4]的地址值為 2.設(shè)有:float b[5];假設(shè)b數(shù)組的首地址為A01F(16進制),則a[1]的地址值為 ,a[4]的地址值為 3.設(shè)有:int x[3][4],*p=x[0];則x[0][2]的地址可以表示為 , , x[2][3]的地址可以表示為 , , 4.設(shè)有int x[3][4],*p=x[1];則x[0][2]的地址可以表示為 , x[0]+2 , x[2][3]的地址可以表示為 , , 5.設(shè)有:int x[3][4],(*p)[4]=a;則x[0][2]的地址可以表示為 , (用p表示),x[2][3]的地址可以表示為 , (用p表示)。
6.設(shè)有:int x[3][4],(*p)[4]=a+1;則x[0][2]的地址可以表示為 , (用p表示),x[2][3]的地址可以表示為 , (用p表示)二、程序閱讀題,寫出程序的運行結(jié)果1.下面程序的運行結(jié)果是 #include "stdio. h"void fun(int *a,int *b){ int *t;t=a;a=b;b=t; }void main(){ int x=1,y=2;fun(&x.,&y);printf("%d %d"x,y);}2.下面程序的運行結(jié)果是 #include”stdio.h” int fun(int a, int b){ if(a>b) return (a+b); else return (a-b);}void main(){ int x=3,y=4,z=5,r; r=fun(fun(x,y),3+z); printf(“%d”,r);}3.下面程序的運行結(jié)果是 #include "stdio.h" int f(int x,int *y){ return (*y-x)*x; }void main(){ int a=1,b=2,c=3,d;b=f(a,&b);d=f(c,&b);printf("%d",d);}4.下面程序的運行結(jié)果是 #include "stdio.h"void func1(int i);void func2(int i);void func(char *p){ while(*p) { printf("%c",*p); p+=2; } }void main(){ char st[]="friend"; func(st); }5.下面程序的運行結(jié)果是 #include "stdio.h"void fun(int (*a)[4]){ printf("%d,%d\n",*(a[1]+2),*(*a+10));}void main(){int a[3][4]; int i,j;for(i=0;i<3;i++)for(j=0;j<4;j++) a[i][j]=i+j;fun(a);}6.下面程序的運行結(jié)果是 #include "stdio.h"void fmin(int (*a)[4],int *p){ int i,j; *p=**a; for(i=0;i<3;i++) for(j=0;j<4;j++) if(*p>*(a[i]+j)) *p=*(a[i]+j);}void main(){ int a[3][4]= {{12,23,15,25},{22,21,30,34},{30,31,28,27}}; int min; fmin(a,&min); printf("%d",min); }7.下面程序的運行結(jié)果是 (遞歸調(diào)用)#include
include "stdio.h"#include "math.h"int isPrime(int i){ int j,r =0,k=sqrt(i); for(j=2;j<=k;j++) if(i%j==0) break; if(j>k) ; else return 0;}void main(){int i,sum=0; for(i=100;i>=5;i--){ if( ) { sum=i+i-2; break;}} printf("%d",sum);}3.下面程序打印楊輝三角形的前10行輸出結(jié)果如下圖include "stdio.h" void fum( ){ int i=2,j; p[0][0]=p[1][0]=p[1][1]=1; for(;i<10;i++) { p[i][0]=p[i][i]=1; for(j=1;j
include "stdio.h"void sort( ){ int i,j,t; for(i=1;i<6;i++) for( j=1; ;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}}void main( ){ int a[7],i,j,t; for(i=1;i<7;i++) scanf("%d",a+i); sort(a); for(i=1;i<7;i++) printf("%d ",a[i]);}5.求所有不超過200且大于10的數(shù)N的平方是有對稱性的回文數(shù)如N=11,11*11=121include
