若有如下程序: int sub(int m) { if(m==1||m==0) return 2; else return(sub(m-1)*sub(m-2));} main() { int n; scanf("%d",&n); printf("%d",sub(n)); } 如果从键盘输入4<回车>,则程序运行后的输出结果是( )。
A.8
B.16
C.24
D.32
第1题:
下面()是正确的判断素数程序(m>1)。
A.j=0; for (i =2; i<=m-1; i++) if (m % i != 0) j++; if(j==m-2) printf(“%d是素数n", m);
B.j=0; for (i =2; i<=m-1; i++) if (m % i == 0) j++; if(j==0) printf(“%d是素数n", m);
C.flag=0; for (i =2; i<=m-1; i++) if (m % i == 0) flag=1; if(flag==0) printf(“%d是素数n", m);
D.for (i =2; i<=m-1; i++) if (m % i == 0) i=m+2; if(i==m+3) printf(“%d是素数n", m);
第2题:
【填空题】若有如下定义和语句: int *p[3], a[6], n; for(m=0;m<3;m++) p[m]=&a[2*m]; 则*p[0]引用的是a数组元素____(1)_____;*(p[1]+1)引用的是a数组元素_____(2)____。
第3题:
有以下程序: int m=1; void fun(int *n) { static int m=2; *n*=m-1; m+=2; } main() { int i; for(i=1;i<4;i++) { fun(&m); printf("%d",m); } } 程序的输出结果是( )
A.1317
B.2630
C.1315
D.1111
第4题:
若有如下程序: sub(int *t,int a[3][4]) { int m,n; for(m=0;m<3;m++) for(n=0;n<4;n++) { *t=a[m][n];t++;} } main() { int*t,s[3][4)={{1,2,3),{4,5,6),{7,8,9}}; t=(int*)malloc(50); sub(t,s); printf("%d,%d\n",t[4],t[7]); } 则程序运行后的输出结果是( )。
A.4,7
B.4,0
C.5,8
D.程序错误
第5题:
以下程序的输出结果是#include "stdio.h"int *fun(int *a,int *b){ int m; m=*a; m+=*b-3; return(&m);}main(){ int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k);}
第6题:
有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; for(i=0;i< *a;i++) for(j=0;j< *b;j++) for(k=0;k<*c;k++) for(m=0;m< *d;m++) ++*e;}main(){ int a=10,b=10,c=10,d=10,e=0; fun(&a,&b,&c,&d,&e); printf("%d\n",e);} 则程序段的输出结果是A.10000 B.1000 C.100 D.0
第7题:
A)(仕兰微面试题目)
#i nclude
void testf(int*p)
{
*p+=1;
}
main()
{
int *n,m[2];
n=m;
m[0]=1;
m[1]=8;
testf(n);
printf("Data v alue is %d ",*n);
}
------------------------------
B)
#i nclude
void testf(int**p)
{
*p+=1;
}
main()
{int *n,m[2];
n=m;
m[0]=1;
m[1]=8;
testf(&n);
printf(Data v alue is %d",*n);
}
下面的结果是程序A还是程序B的?
Data v alue is 8
那么另一段程序的结果是什么?
第8题:
有以下程序
include<stdio.h>
int*f(int*p,int*q);
main( )
{int m=1,n=2,*r=&m;
r=f(r,&n);printf(”%d\n”,*r);
}
int-f(int*P,int*q)
(return(*p>*q)?p:q;)
程序运行后的输出结果是______。
第9题:
现有如下程序段
#include "stdio.h"
int fun(int k,int *m)
{if(k%3)*m=k*k;
else *m=k/3;}
main()
{ int (*p)(int,int *),m;
p=fun;
(*p)(78, &m);
printf( "%d\n",m);}
则程序段的输出结果为
A.24
B.25
C.26
D.27