C指针练习题_第1页
C指针练习题_第2页
C指针练习题_第3页
C指针练习题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、指针练习题一、 选择题1. 阅读下面程序,执行后的结果为( )# include “stdio.h”void fun ( int *a , int *b ) int k=5; *a = k ; *b = *a + k ; main( ) int *a , *b, x = 10 , y = 15 ;a= &x ; b = &y ;fun ( a , b );printf ( “%d,%dn”, *a , *b ) ; A) 10,15 B) 5,15 C) 5,10 D) 15,102.以下选项中,不能正确赋值的是( ) A) char s = “china” ; B) char

2、 s10 ; s1 = “china” ;C) char *s = “china” ; D) char *s4 = “chinan” ;3. 设有以下定义: int a43= 1,2,3,4,5,6,7,8,9,10,11,12; int(*prt) 3 = a ,*p=a0; 则下列能够正确表示数组元素a12的表达式是( ) A) * ( (*prt+1) 2 ) B) *(*(p+5) C) (*prt+1) +2 D) *(p+5)4.已知: int a6, *p = a ; 则下列不能表示a1地址的表达式是( ) A) p+1 B) +p C) a+1 D) a+5. 以下程序的运行结

3、果是( ) # include “stdio.h”main( ) int a =1,2,3, 4,5,6,7,8,9,10,11,12; int *p=a+5; *q=NULL; *q=*(p+5);printf(“%d %dn”,*p,*q ); A) 运行后报错 B) 6 6 C) 6 11 D) 5 56. 若有以下说明和语句,请选出哪个是对c数组元素的正确引用( ) int c 4 5 , ( *cp ) 5 ;cp = c ;A) cp + 1 B) *( cp + 3 ) C) *( cp + 1 ) + 3 D) *( *cp + 2) 7.以下程序的运行结果是( ) point

4、 ( char * p ) p+=3;main ( ) char b 4 = a , b , c , d , *p = b ; point ( p ) ; printf (“%cn”, *p ) ; A) a B) b C) c D) d8. 程序中若有以下说明和语句void fun ( char * ) . ;main ( ) char * s , a5 = 0 , ( *f 1 ) ( )=fun , ch ; s=“one” ; .以下选项中对函数fun的正确调用语句是( ) A) * f 1 ( *s ) ; B) fun (&a ) ; C) ( *f 1 )( a ) D)

5、 ch = * f 1 ( s ) ;9. 阅读下面程序,执行后的结果为( )# include “stdio.h”void fun ( int *a , int *b ) int k=5; *a = k ; *b = *a + k ; main( ) int *a , *b, x = 10 , y = 15 ;a= &x ; b = &y ;fun ( a , b );printf ( “%d,%dn”, *a , *b ) ; A) 5,10 B) 5,15 C) 10,15 D) 15,1010. 以下程序的运行结果是( ) Main()char *p1,*p2, str

6、50= “ABCDEFG”;p1= “abcd”; p2= “efgh”;strcpy(str+1,p2+1); strcpy(str+3,p1+3);A) AfghdEFG B) Abfhd C) Afghd D) Afgd 11阅读下面程序,执行后的结果为( ) int fun ( int x , int n ) static int sum = 0 , i ;for ( i=0 ; i< n ; i+) sum+=x i ;return sum ; main ( ) int a = 1,2,3,4,5; b = 6,7,8,9, s = 0 ; s = fun ( a , 5 )

7、+ fun ( b , 4 ) ; printf (“%dn” , s ) ; A) 55 B) 45 C) 50 D) 6012设有以下定义: int a43= 1,2,3,4,5,6,7,8,9,10,11,12; int(*prt) 3 = a ,*p=a0; 则下列能够正确表示数组元素a22的表达式是( ) A) * ( (*prt+2) 2 ) B) *(p+9) C) (*prt+2) +2 D) *(*(p+9)二、 填空题1.阅读下面程序,则程序的执行结果为_。 #include “stdio.h”fun ( int k , int * p ) int a,b; if ( k=

8、 =1 | k= =2) *p = 1; else fun ( k-1, &a) ;fun ( k-2, &b) ;*p = a + b ; main( ) int x ; fun ( 6, &x) ; printf ( “ %dn ”, x ); 13设已有定义: char *st = “ how are you”; 下列程序段中正确的是( )A) char a11; strcpy( +a, st);B) char a11, *p; strcpy( p=a+1, &st4);C) char a11; strcpy( a, st);D) char a , *p; strcpy( p=&a1, st+2);三、编程题1编写一函数,用来删除字符串中的空格。2. 编写一函数,其功能是检查一个字符串是否是回文,当字符串是回文时, 函数返回字符串: yes!, 否则函数返回: no!, 并在主函数中输出.所谓回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论