[计算机类试卷]国家二级C语言机试(指针)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(指针)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(指针)模拟试卷2及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(指针)模拟试卷 2及答案与解析 一、选择题 1 若有定义: int w35; 则以下不能正确表示该数组元素的表达式是( )。 ( A) *(w+1)4 ( B) *(*w+3) ( C) *(*(w+1) ( D) *( 以下不能使变量 year中的值增至 2010的语句是( )。 ( A) *p+; ( B) (*p)+; ( C) +(*p); ( D) *p+=1; 3 若在 定义语句: int a,b,c,*p= 接着执行以下选项中的语句,则能正确执行的语句是( )。 ( A) scanf(“%d“,p); ( B) scanf(“%d%d%d“,a,b,c);
2、( C) scanf(“%d“,a,b,c); ( D) scanf(“%d“, 4 若有以下程序 #include void sp(int *a) int b=2; a= *a = *a * 2; printf(“%d,“, *a); main() int k=3, *p= sp(p); printf(“%d,%dn“, k, *p); 则程序的输出结果是( )。 ( A) 4,3,3 ( B) 4,3,4 ( C) 6,3,6 ( D) 6,6,6 5 若有以下程序 #include int k=7; void f(int *s) int *t= *s=t; printf(“%d,%d,%
3、d,“, k, *t, *s); main() int i=3,*p= f(r); printf(“%d,%d,%dn“, i, *p, *r); 则程序的输出结果是( )。 ( A) 7,7,7,3,7,7 ( B) 3,7,7,7,7,7 ( C) 7,7,7,3,3,3 ( D) 3,3,3,7,7,7 6 若有以下程序 #include int *f(int *s,int *t) int *k; if (*s void sp(int *a) int b=2; *a = *a * 2; printf(“%d,“, *a); a= *a = *a * 2; printf(“%d,“, *a
4、); main() int k=3; sp( printf(“%dn“, k); 则程序的输出结果是( )。 ( A) 6,4,6 ( B) 6,4,3 ( C) 6,12,12 ( D) 9,4,9 8 若有以下程序 #include int k=7,m=5; void f(int *s) int *t= s= *s= printf(“%d,%d,%d,“, k, *t, *s); main() int i=3,*p= f(r); printf(“%d,%d,%dn“, i, *p, *r); 则程序的输出结果是( )。 ( A) 7,5,5,3,3,3, ( B) 7,5,7,3,3,3,
5、 ( C) 7,5,7,3,5,7, ( D) 7,7,5,3,3,3, 9 若有以下程序 #include int *f(int *s, int *t) int k; if (*s main() int y=1,x,a=2,4,6,8,10,*p; p= for( x=0; x void fun( int *s,int n, int *k ) int i; for( i=0 ,*k=i; i s*k ) _ ; main() int a5=1,6,2,8,0, k; fun( a, 5, printf(“%d %dn“, k, ak ); 在横线处应填入的内容是( )。 ( A) *k=i
6、( B) k=i ( C) *k=i-s ( D) k=i-s 12 有以下程序 #include main() int a34= 1,3,5,7,9,11,13,15,17,19,21,23, (*p)4=a,i,j,k=0; for( i=0; i main() int c6=10,20,30,40,50,60, *p,*s; p = c; s = printf(“%dn“, s-p ); 程序运行后的输出结果是( )。 ( A) 5 ( B) 50 ( C) 6 ( D) 60 14 有以下程序 #include main() int a5=2,4,6,8,10, *p,*k; p =
7、a; k = printf(“%d “, *( p+ ) ); printf(“%dn“, *k ); 程序运行后的输出结果是( )。 ( A) 2 4 ( B) 4 4 ( C) 2 2 ( D) 4 6 15 有以下程序 #include main() int aa33= 2,4,6 , i, *p = for ( i=0; i int fun( int *s,int n ) int i , k; for( i=0 , k=i; i sk ) _; return ( k ) ; 在横线处应填入的内容是( )。 ( A) k = i ( B) i = k ( C) k+ ( D) +k 17
8、 有以下程序 #include int *f(int *s,int *t) if (*s main() int a10 = 11,12,13,14,15,16,17,18,19,20 ,*p=a,i=9 ; printf( “%d,%d,%dn“,a p-a , pi,*( 程序运行后的输出结果是( )。 ( A) 11,20,20 ( B) 12,20,20 ( C) 11,19,19 ( D) 12,19,20 21 有以下程序 #include void fun( int *s, int t, int *k ) int p; for( p=0, *k=p; ps*k ) *k = p;
9、main() int a10 = 11,12,13,14,15,16,20,18,19,10 ,k ; fun( a,10, printf( “%d,%dn“,k, ak ); 程序运行后的输出结果是( )。 ( A) 6,20 ( B) 10,9 ( C) 7,20 ( D) 10,10 22 以下选项中,不能对主函数中变量 i和 j的值进行交换的程序是( )。 ( A) #include void swap( int *p,int *q) int *t; *t=*p; *p=*q; *q=*t; main() int i=10,j=20, *a= swap(a,b); printf(“i=
10、%d j= %dn“, i,j ); ( B) #include void swap( int *p,int *q) int t; t=*p; *p=*q; *q=t; main() int i=10,j=20, *a= swap(a,b); printf(“i=%d j= %dn“, i,j ); ( C) #include #include void swap( int *p,int *q) int *t; t=(int *)malloc(sizeof(int); *t=*p; *p=*q; *q=*t; free(t); main() int i=10,j=20; swap( print
11、f(“i=%d j= %dn“, i,j ); ( D) #include void swap( int *p,int *q) int t; t=*p; *p=*q; *q=t; main() int i=10,j=20 , *x= swap(x,y); printf(“i=%d j= %dn“, i,j ); 23 有以下程序 #include main() int a10 = 1,3,5,7,11,13,17 , *p=a; printf(“%d,“, *( p+ ); printf(“%dn“, *( +p ); 程序运行后的输出结果是( )。 ( A) 1,5 ( B) 3,5 ( C
12、) 3,7 ( D) 1,3 24 有以下程序 #include main() int *p, x=100; p= x=*p+10; printf(“%dn“, x); 程序运行后的输出结果是( ) ( A) 110 ( B) 120 ( C) 100 ( D) 90 25 有以下程序 #include void fun( int x, int y, int *z ) *z = y-x; main() int a, b, c; fun(10,5, fun(7,a, fun(a,b, printf(“%d,%d,%dn“, a,b,c ); 程序运行后的输出结果是( )。 ( A) -5,-12
13、,-7 ( B) 5,2,3 ( C) -5,-12,-17 ( D) 5,-2,-7 26 有以下程序 #include void fun( int *s, int n1, int n2 ) int i,j,t; i=n1; j=n2; while( i int change(int* data) return (*data) +; main() int data = 123; change( printf(“%d,“, data); data = change( printf(“%d,“, data); printf(“n“); 程序 运行后的输出结果是( )。 ( A) 124,124,
14、 ( B) 123,124, ( C) 124,123, ( D) 123,123, 28 有如下程序 #include void change(int* array, int len) for (; len=0; len-) arraylen += 2; main() int i, array5 = 1,2; change(array, 4); for (i=0; i main() char* p1 = 0; int* p2 = 0; double* p3 = 0; printf(“%d,%d,%dn“, sizeof(p1), sizeof(p2), sizeof(p3); 程序运行后的输
15、出结果是( )。 ( A) 4,4,4 ( B) 1,4,8 ( C) 0,0,0 ( D) 1,2,4 32 有如下程序 #include main() int i, *ptr; int array3 = 8,2,4; for (ptr=array, i=0; i void fun(int *x,int s,int e) int i,j,t; for(i=s,j=e; i main() int s32= 1,2,3,4,5,6,*ps3,k; for(k=0;k3;k+) psk=sk; printf(“%d “,*(psk+1); 程序的运行结果是( )。 ( A) 2 4 6 ( B)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 指针 模拟 答案 解析 DOC
