2009年4月全國計算機等級二級C筆試考前練習(xí)習(xí)題(23)

字號:

1.在下列敘述中,錯誤的一條是()
    A)scanf()函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)
    B)數(shù)組名作函數(shù)參數(shù)時,也采用“值傳遞”方式
    C)如果形參發(fā)生改變,不會改變主調(diào)函數(shù)的實參值
    D)函數(shù)的實參與形參的類型應(yīng)一致
    2.有以下程序
    union myun
    {struct
    {intx,y,z;}u;
    int k;
    }a;
    main()
    {a.u.x=4;a.u.y=5;a.u.z=6;
    a.k=0;
    printf(“%d\n”,a.u.x);
    }
    程序運行后的輸出結(jié)果是()
    A)4
    B)5
    C)6
    D)0
    3.以下程序的輸出結(jié)果是()
    #include
    main()
    { chars1[]="123",s2[]="abc",ss[20]="010";
    strcat(ss+1,strcpy(s2,s1));
    printf("%s\n",ss);
    }
    A)010123
    B)0abc
    C)01123
    D)01abc
    4.有以下程序
    # include
    main()
    { int *p,j;
    p=NULL;
    p=fun();
    for(j=0;j<4;j++){printf("%d",*p);p++;}
    }
    int*fun()
    {
    int a[4],k;
    for(k=0;k<4;k++)a[k]=k;
    return(a);
    }
    程序運行后的輸出結(jié)果是()
    A)程序有錯不能運行
    B)輸出4個NULL
    C)輸出0 1 2 3
    D)輸出1 1 1 1
    5.有以下程序:
    void fun(intk)
    { static inta[5]; int i;
    for(i=0;i<5;i++)
    { a[i]+=i+k;printf("%d",a[i]);}
    printf("\n");
    }
    main()
    {fun(1);fun(2);}
    程序的輸出結(jié)果是()
    A)1 2 3 4 5
    B)隨機數(shù)
    C)1 2 3 4 5
    D)1 2 3 4 5
    3 5 7 9 11 2 3 4 5 6 2 4 6 8 10
    6.有以下程序
    main()
    {int m,n;
    printf("Enter m,n∶");scanf("%d%d",&m,&n);
    while(m!=n)
    {while(m>n)m-=n;
    while(n>m)n-=m;
    }
    printf("m=%d\n",m);
    }
    如果從鍵盤上輸入65 14<回車>,則輸出結(jié)果為()
    A)m=3
    B)m=2
    C)m=1
    D)m=0
    7.以下程序的輸出結(jié)果是()
    void fun(float *p1,float *p2,float *s)
    { s=(float*)calloc(1,sizeof(float));
    *s=*p1+*p2++;
    }
    main()
    { floats[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;
    fun(a,b,s);
    printf("%5.2f\n",*s);
    }
    A)11.10
    B)12.00
    C)21.10
    D)1.10
    8.有以下程序
    #include
    #include
    fun(char*w,int n)
    {char t,*s1,*s2;
    s1=w;s2=w+n-1;
    while(s1    {t=*s1++;
    *s1=*s2--;
    *s2=t;
    }
    }
    main()
    {charp[]="1234567";
    fun(p,strlen(p));
    puts(p);
    }
    程序運行后的輸出結(jié)果是()
    A)1234567
    B)7654321
    C)1711717
    D)7177171
    9.若有如下程序:
    struct student
    {char name[10];
    float score[3];}stu[3]={{"lili",75,90,90},
    {"liudan",90,85,75};
    {"guoli",85,85,70}};
    main()
    {int i;float sum=0,aver;
    for(i=0;i<3;i++)
    sum=sum+stu[i].score[1];aver=sum/i;
    printf("%6.2f\n",aver);}
    則程序運行后的輸出結(jié)果是()
    A)83.33
    B)85.00
    C)86.00
    D)86.67
    10.有如下定義:
    struct person
    {char name[9];int age;}
    struct person class[10]={"John",17,
    "Paul",19,
    "Mary",18,
    "Adam",16};
    能輸出字母M的是()
    A)printf("%c\n",class[3].name);
    B)printf("%c\n",class[3].name[1]);
    C)printf("%c\n",class[2].name[1]);
    D)printf("%c\n",class[2].name[0]);
    答案:1.B 2.D 3.A 4.A 5.A 6.C 7.D 8.C 9.D 10.D