1、以下程序的输出结果是: int f(int a) { auto int b=0; static int c=3; b ;c ; return a b c; } main( ) {int c,a=1; for(c=1;c<3;c ) printf(“= ”,f(a));} a、5 5 b、5 6 c、6 6 d、6 7
2、以下程序的输出结果是: void fun(int *s) { static int j=0; do s[j] =s[j 1]; while( j<2); } main( ) { int k,a[10]={1,2,3,4,5}; for (k=1; k<3; k ) fun(a); for (k=0; k<5; k ) printf(“%d”,a[k] ); } a、34756 b、23445 c、35745 d、12345
3.2 编译预处理随堂测验
1、以下程序的输出结果是: #define add(x) x x main( ) { int m=1,n=2,k=3,sum; sum=add(m n)*k; printf(“sum=%d\n”,sum); } a、sum=9 b、sum=10 c、sum=12 d、sum=18
2、以下程序的输出结果是: #define n 1 #define m n 2 #define num 2*m 1 main( ) { int i; for (i=1; i<=num; i ) printf(“= ”, i ); } a、1 2 3 4 5 b、1 2 3 4 5 6 7 c、1 2 3 4 5 6 d、程序出错
3、下面程序的运行结果是( ) int main( ) { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a,i,j,k=0; for(i=0;i<3;i ) for(j=0;j<2;j ) k =*(*(p i) j); printf("%d\n",k); return 0; } a、60 b、68 c、99 d、108
第五周编程作业
1、输出指定学生成绩
2、成绩排序
第六周:指针(三)
6.1指针与函数随堂测验
1、以下程序的输出结果是(): #include int funa(int a, int b) { return a b;} int funb(int a, int b) { return a-b;} int sub (int(*t)(int ,int ), int x, int y) { return (*t)(x,y);} int main( ) { int x,(*p)(int,int); p=&funa; x=sub(p,9,3); x =sub(&funb,8,3); printf("%d\n",x); } a、12 b、15 c、17 d、19
2、若有以下说明和定义,则对fun函数的正确调用语句是( ) int main( ) { int (*a)(int*),*b( ),w[10],c; : : return 0; } int fun(int *c) {...} a、a=fun; a(w); b、a=fun; (*a)(&c); c、b=fun; *b(w); d、fun(b);
3、以下程序的输出结果是( ):void fun (int n,int *s) { int f1,f2; if (n==1||n==2) *s=1; else { fun(n-1,&f1); fun(n-2,&f2); *s=f1 f2; } } int main( ) { int x; fun(6,&x); pirntf("%d\n",x); return 0; } a、4 b、6 c、8 d、12
6.2指针与指针随堂测验
1、下面程序运行结果( ): int main( ) { char ch[2][5 ] = {"6937","8254"} , *p[2]; int i , j , s = 0 ; for ( i=0 ; i <2 ; i ) p[i]=ch[i]; for ( i=0 ; i<2 ; i ) for( j=0 ; p[i][j]>'\0' &&p[i][j]<='9';j =2) s=10*s p[i][j]-'0'; printf("%d\n",s); return 0; } a、6385 b、69825 c、63825 d、693825
2、以下程序的输出结果是( ): int main( ) { char *p[ ]={"program","basic","c","java"}; int i; for (i=3;i>=0;i--,i--) printf("%c",*p[i]); printf("\n"); return 0; } a、jvcbspo b、java c、jb d、javabasic
1、定义以下结构体类型 struct c { int x; float y; }a[3] sizeof(a)的结果是 ( )。 a、4 b、12 c、18 d、6
2、定义以下结构体数组 struct c { int x; int y; }s[2]={1,3,2,7} 语句printf(“%d”,s[0].x*s[1].x)的输出结果为( )。 a、14 b、6 c、2 d、21
7.3 结构指针随堂测验
1、有以下程序段 struct st { int x; int *y;}*pt; int a[] = {1,2}; int b[] = {3,4}; struct st c[2]={10,a,20,b}; pt=c; 以下选项中表达式为11的是( )。 a、*pt->y b、pt->x c、 pt->x d、(pt )->x
2、运行下列程序段,输出结果是()。 struct country { int num; char name[10]; }x[5] = {1,”china”,2,”usa”,3,”france”,4,”england”,5,”spanish”}; struct country *p; p= x 2; printf(“%d,%c”,p->num,(*p).name[2]); a、3,a b、4,g c、2,u d、5,s