第四章单元测试
  1. 在int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是( )。


  2. A:2 B:0 C:6 D:5
    答案:5
  3. 以下数组定义中错误的是( )。


  4. A:int x[2][3]={1,2,3,4,5,6}; B:int x[2][3]={{1,2},{3,4},{5,6)}; C:int x[2][3]={0}; D:int x[][3]={{1,2,3},{4,5,6}};
  5. 以下能正确定义二维数组的是( )。


  6. A:int a[][3]={2*3}; B:int a[2][3]={{1},{2},{3,4}} C:int a[3][]={}; D:int a[][3];
  7. 有如下程序

    #include <stdio.h>

    int main()

    {

     int n[5]={0,0,0},i,k=2; 

     for(i=0;i<k;i++)

        n[i]=n[i]+1; 

     printf("%d",n[k]);

     return 0; 

    }

    该程序的输出结果是( )。



  8. A:1 B:0 C:不确定的值 D:2
  9. 对一个含有100个元素的有序数组,用二分法查找某指定元素,最多需要比较( )次?


  10. A:7 B:6 C:8 D:5
  11. 以下程序中函数Fun的功能是对b所指数组中的第m至第n个数据取累加和,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

    #include <stdio.h>

    int Fun( ______ ,int m,int n)

        int  i,s=0;

        for( ______;i<n;i++)  

            s=s+b[i];

        return _______;

    }

    int main()

        int  x,a[]={1,2,3,4,5,6,7,8,9};

        x=Fun(a,3,7);

        printf("%d",x);

        return 0;

    }



  12. A:第2行:    int b

    第5行:    i=0

    第7行:    s


    B:第2行:    int b[]

    第5行:    i=n-1

    第7行:    b[i]


    C:第2行:    int b[]

    第5行:    i=1

    第7行:    i


    D:第2行:    int b[]

    第5行:    i=m-1

    第7行:    s


  13. 以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

    #include <stdio.h>

    void Sort(int a[],int n)

        int i,j,t;

        for(i=0;_________;i++)

            for(________;j<n;j++)

                if(a[i]<a[j])

                {

                    t=a[i];

                    __________;

                    a[j]=t;

                }

    }

     

    int main()

    {

        int aa[10]={1,2,30,4,5,6,7,8,9,10},i;

        __________;

         

        for(i=0;i<10;i++)

            printf("%d,",aa[i]);

        printf("");

        return 0;

    }



  14. A:第5行:    i<n

    第6行:    j=i+1

    第10行:    a[j]=a[i]

    第18行:    Sort(aa,10)


    B:第5行:    i<=n

    j第6行:    =i

    第10行:    a[i]=a[j]

    第18行:    Sort(10,aa)


    C:第5行:    i<n-1

    第6行:    j=i+1

    第10行:    a[i]=a[j]

    第18行:    Sort(aa,10)


    D:第5行:    i<n-1

    第6行:    j=i

    第10行:    a[i]=a[j]

    第18行:    Sort(aa[],10)


  15. 以下程序中函数Reverse的功能是对数组a中的前一半元素逆序、后一半元素逆序,再将逆序后的前、后两部分数据位置交换。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

    例如:主程序中数组b中的元素为{16,22,13,41,50,62,27,18,9,10},调用函数Reverse后,数组b中元素变为

    {10,9,18,27,62,50,41,13,22,16}。

    #include <stdio.h>

    void Reverse(int a[],int n)

    {   

        int i,t;

        for(i=0;________;i++)

         { 

             t=a[i]; 

             __________; 

             a[n-i]=t;

          }

    }

     

    int main()

    {   

        int b[10]={16,22,13,41,50,62,27,18,9,10}; 

        int i,s=0;

        __________;

         

        for(i=0;i<10;i++) 

        {

             printf("%4d",b[i]);

        }

         

        return 0;

    }



  16. A:第5行:    i<=n/2

    第8行:    a[i]=a[n-i]

    第17行:    Reverse(b,9)


    B:第5行:    i<=n/2

    第8行:    a[i]=a[n]

    第17行:    Reverse(b,9)


    C:第5行:    i<=n/2

    第8行:    a[n]=a[i]

    第17行:    Reverse(9,b)


    D:第5行:    i<=n

    第8行:    a[n-i]=a[i]

    第17行:    Reverse(b,9)


  17. 假定double类型变量占用8个字节,且数组定义如下,则数组length在内存中所占字节数是( )。

    double  length [10];



  18. A:160 B:80 C:0 D:10
  19. 以下程序的输出结果是( )。

    #include<stdio.h>

    void swap1(int c[])

        int t;

        t=c[0];

        c[0]=c[1];

        c[1]=t;

    }

     

    void swap2(int c0,int c1)

        int t;

        t=c0;

        c0=c1;

        c1=t;

    }

     

    int main( )

        int a[2]={3,5},b[2]={3,5};

        swap1(a); 

        swap2(b[0],b[1]);

        printf("%d %d %d %d",a[0],a[1],b[0],b[1]);

        return 0;

    }



  20. A:5 3 5 3 B:3 5 3 5 C:3 5 5 3 D:5 3 3 5

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(2) dxwkbang
返回
顶部