一维数组与指针练习题_第1页
一维数组与指针练习题_第2页
一维数组与指针练习题_第3页
一维数组与指针练习题_第4页
一维数组与指针练习题_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、由于多维数组与指针我们还没有讲完,所以请大家练习一维数组与指针习题题目较多,最迟提交时间下次上机前-当场提交将获得%10的加分(以提交时间为准)请独立完成-严禁抄袭答案就在原题上写一、选择题    (1)有以下程序     main()      int  a10=1,2,3,4,5,6,7,8,9,10, *p=&a3, *q=p+2;       printf("%

2、dn", *p + *q);         程序运行后的输出结果是_B_。     A)16   B)10   C)8   D)6    (2)有以下程序     main()      int  a=2,4

3、,6,8,10, y=0, x, *p;       p=&a1;       for(x= 1; x<3; x+)  y += px;       printf("%dn",y);         程序运行后的输出结果是_C_。    

4、0;A)10   B)11   C)14   D)15     (3)有以下程序     void sort(int  a, int  n)      int  i, j ,t;       for (i=0; i )      

5、    for ( j=i+1; j )            if ( ai )   t=ai;  ai=aj;  aj=t;             main ()       int  aa10=1,2,3,4,5,6,7,8,9,10, i;  

6、60;     sort ( aa+2,  5 ) ;        for ( i=0; i<10; i+ ) printf ( "%d,",aai ) ;        printf ( "n" ) ;            程序运行后的输出结果是 _ C _ 。   

7、   A ) 1,2,3,4,5,6,7,8,9,10,   B ) 1,2,7,6,3,4,5,8,9,10,      C ) 1,2,7,6,5,4,3,8,9,10,   D ) 1,2,9,8,7,6,5,4,3,10,      ( 4 )有以下程序      void sum ( int  a )     

8、;   a0 = a-1+a1;       main ()       int  a10=1,2,3,4,5,6,7,8,9,10;        sum ( &a2 ) ;        printf ( "%dn", a2 ) ;        

9、    程序运行后的输出结果是 _ A _ 。      A ) 6   B ) 7   C ) 5   D ) 8      ( 5 )有以下程序      void swap1 ( int  c0, int  c1 )       int  t ; 

10、60;      t=c00;    c00=c10;    c10=t;            void swap2 ( int  *c0, int  *c1 )       int  t;        t=*c0;  

11、60; *c0=*c1;    *c1=t;            main ()       int  a2=3,5,  b2=3,5;        swap1 ( a, a+1 ) ;    swap2 ( &b0, &b1 ) ;     

12、60;  printf ( "%d %d %d %dn",a0,a1,b0,b1 ) ;            程序运行后的输出结果是 _ D _ 。      A ) 3 5 5 3  B ) 5 3 3 5  C ) 3 5 3 5  D ) 5 3 5 3      ( 6 )有以下程序    

13、; main ()             int p8=11,12,13,14,15,16,17,18 , i=0,j=0;        while ( i+<7 )   if ( pi%2 )    j+=pi;        printf ( "%dn",j ) ;    &

14、#160;      程序运行后的输出结果是 _ C _ 。          A ) 42 B ) 45 C ) 56 D ) 60      ( 7 )有以下程序     void  f ( int  *x,int  *y )          int  t;  &

15、#160;      t=*x;*x=*y;*y=t;          main ()        int  a8=1,2,3,4,5,6,7,8,i,*p,*q;         p=a;q=&a7;         while ( p ) &#

16、160;             f ( p,q ) ;        p+;        q-;               for ( i=0;i<8;i+ )       &#

17、160;   printf ( "%d,",ai ) ;           程序运行后的输出结果是         D                     A ) 8 , 2 , 3 , 4 , 5 , 6 , 7

18、 , 1 ,     B ) 5 , 6 , 7 , 8 , 1 , 2 , 3 , 4 ,     C ) 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,     D ) 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ,      ( 8 )以下叙述中错误的是  _ B _ 。         A )对于 double 类型数

19、组,不可以直接用数组名对数组进行整体输入或输出     B )数组名代表的是数组所占存储区的首地址,其值不可改变     C )当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出 “ 下标越界 ” 的出错信息     D )可以通过赋初值的方式确定数组元素的个数      ( 9 )有以下程序     #define  N  20    

20、; fun ( int  a,int  n,int m )        int i,j;         for ( i=m;i>=n;i- )            ai+1=ai;          main ()   

21、0;         int i,aN=1,2,3,4,5,6,7,8,9,10;        fun ( a,2,9 ) ;        for ( i=0;i<5;i+ )          printf ( "%d",ai ) ;       

22、    程序运行后的输出结果是 _ C _ 。          A ) 10234 B ) 12344 C ) 12334 D ) 12234 (10)有以下程序    prt(int  *m,int  n)           int i;       for(i=

23、0;i )            mi+;          main ()             int a=1,2,3,4,5,i;        prt ( a,5 ) ;        fo

24、r ( i=0;i<5;i+ )           printf ( "%d,",ai ) ;           程序运行后的输出结果是 _ B _ 。           A ) 1 , 2 , 3 , 4 , 5 ,    B ) 2 , 3 , 4 , 5 , 6 ,  &

25、#160;  C ) 3 , 4 , 5 , 6 , 7 ,    D ) 2 , 3 , 4 , 5 , 1 ,      ( 11 )有以下程序     main ()        int  a=1,2,3,4,5,6,7,8,9,0,*p;         for ( p=a;p )     

26、;      printf ( "%d,",*p ) ;           程序运行后的输出结果是 _ A _ 。                      A ) 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , &

27、#160;   B ) 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 1 ,     C ) 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,     D ) 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,      ( 12 ) 有以下程序     int f ( int a )    

28、  return a%2;     main ()      int s8=1,3,5,2,4,6,i,d=0;       for ( i=0;f ( si ) ;i+ ) d+=si;       printf ( "%dn",d ) ;           程序运行后的输出结果是 _ A _ 。 

29、60;   A ) 9    B ) 11    C ) 19    D ) 21      ( 13 ) 设有定义语句     int x6=2,4,6,8,5,7,*p=x,i;      要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是 _ D _ 。     A ) for ( i=0;i<

30、;6;i+ ) printf ( "%2d",* ( p+ ) ;     B ) for ( i=0;i<6;i+ ) printf ( "%2d",* ( p+i ) ;     C ) for ( i=0;i<6;i+ ) printf ( "%2d",*p+ ) ;     D ) for ( i=0;i<6;i+ ) printf ( "%2d", ( *p ) + )

31、 ;      ( 14 ) 有以下程序     #include     main ()     int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;       *q=* ( p+5 ) ;        printf ( "%d %dn",*p,*q ) ;

32、          程序运行后的输出结果是 _ C _ 。     A ) 运行后报错  B ) 6 6     C ) 6 11   D ) 5 10      ( 15 ) 已有定义: int i,a10,*p;, 则合法的赋值语句是 _ D _ 。     A ) p=100;    B )

33、p=a5;   C ) p=a2+2;  D ) p=a+2;      ( 16 ) 有以下程序     main ()      int x=1,3,5,7,2,4,6,0,i,j,k;     for ( i=0;i<3;i+ )       for ( j=2;j>=i;j- )      

34、;   if ( xj+1>xj )   k=xj;xj=xj+1;xj+1=k;       for ( i=0;i<3;i+ )         for ( j=4;j<7-i;j+ )          if ( xj+1>xj ) k=xj;xj=xj+1;xj+1=k;       f

35、or ( i=0;i<3;i+ )         for ( j=4;j<7-i;j+ )          if ( xj>xj+1 ) k=xj;xj=xj+1;xj+1=k;       for ( i=0;i<8;i+ ) printf ( "%d",xi ) ;       printf (

36、"n" ) ;           程序运行后的输出结果是 _ A _ 。     A ) 75310246   B ) 01234567    C ) 76310462   D ) 13570246      ( 17 ) 有以下程序段     int a10=1,2,3,4,5,6,7,8,9,10,*p

37、=&a3,b;     b=p5;     b 中的值是 _ D _ 。     A ) 5   B ) 6   C ) 8   D ) 9      ( 18 ) 有以下程序     void swap1 ( int c )      int t;  

38、;     t=c0;c0=c1;c1=t;          void swap2 ( int c0,int c1 )       int t;        t=c0;c0=c1;c1=t;          main ( )      int

39、a2=3,5,b2=3,5;       swap1 ( A ) ;  swap2 ( b0,b1 ) ;       printf ( “%d  %d  %d  %dn”,a0,a1,b0,b1 ) ;           其输出结果是 _ A _ 。     A ) 5 3 5 3   B )   5 3

40、 3 5  C ) 3 5 3 5   D ) 3 5 5 3      ( 19 )   有以下程序     void sum ( int *A )      a0=a1;     main ( )       int aa10=1,2,3,4,5,6,7,8,9,10,i;       

41、; for ( i=2;i>=0;i- ) &nb        sp; sum ( &aai ) ;        printf ( “%dn”,aa0 ) ;           执行后的输出结果是 _ B _ 。     A ) 4     B ) 3    &

42、#160;C ) 2     D ) 1      ( 20 ) 有以下程序     void sort ( int a,int n )       int i,j,t;        for ( i=0;i )           for ( j=i+2;j )  &

43、#160;            if ( ai )     t=ai;ai=aj;aj=t;          main ()      int aa10=1,2,3,4,5,6,7,8,9,10,i;       sort ( aa,10 ) ;     

44、  for ( i=0;i<10;i+ )     printf ( “%d”,aai ) ;       printf ( “n” ) ;           其输出结果是 _ C _ 。     A ) 1,2,3,4,5,6,7,8,9,10,     B ) 10,9,8,7,6,5,4,3,2,1,   

45、0; C ) 9,2,7,4,5,6,3,8,1,10,    D ) 1,10,3,8,5,6,7,4,9,2,  二、填空题:    (1) 以下程序运行后的输出结果是 【1】56  。     main()     int p7=11,13,14,15,16,17,18;      int i=0,j=0;      wh

46、ile(i<7 && pi%2=1) j+=pi+;      printf("%dn",j);        (2) 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。    main()     int i,a20,sum,count;       sum=

47、count=0;       for(i=0;i<20;i+)  scanf("%d", &ai  );         fro(i=0;i<20;i+)       if(a>0)         count+;   &#

48、160;       sum+=  【3】 ai ;                       printf("sum=%d,count=%dn",sum,count);    (3) 以下程序运行后的输出结果是 【4】【 1,3,7,15  】 

49、     main()      int   i, n=0,0,0,0,0;    for(i=1;i<=4;i+)       ni=ni-1*2+1;    printf(“%d”,ni);            (4)

50、 若已定义:int   a10, i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。    fun( int  a )       int   i;    for(i=1; i<=10; i+)  【5】ai-1=i; &

51、#160;        for(i=0; i<5; i+)  【6】a9-i=ai;               (5) 以下程序的输出结果是 【7】10 。    main()      int  arr =30,25,20,15,10,5,  *p=arr;

52、       p+;       printf(“%dn”,*(p+3);        (6) 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是 8 *(p+5 。    int   w10=23,54,10,33,47,98,72,80,61, *p=w;    (7)

53、 以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。        main(  )            float  x1000,   sum=0.0,  ave,  a;          

54、   int    n=0, i;             printf("Enter mark:n");scanf("%f",&a);             while(a>=0.0&& n<1000)  &#

55、160;              sum+=a  【9】   ;     xn=  a【10】  ;                         n+;&

56、#160;          scanf("%f",&a);                       ave=  【11】sum/(n-1    ;       

57、60;   printf("Output:n");          printf("ave=%fn",ave);      for (I=0;I )           if   【 12 】 xI   printf ( “%fn”,xI ) ;                     ( 8 ) 下面程序输出的结果是   【 13 】 【 02 】                #define   MAX

温馨提示

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

评论

0/150

提交评论