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

字號:

1.若以下對fun函數(shù)的調(diào)用是正確的:
    x=fun(fun(a,b,c),(a+b,a+c),a+b+c);
    則fun函數(shù)的形參個數(shù)為()
    A)3
    B)4
    C)5
    D)6
    2.若有說明:int*p, m=5; n;,以下正確的程序段是()
    A)p=&m;
    scanf("%d",&p)
    B)p=&n;
    scanf("%d",&p)
    C)scanf("%d",&p)
    p=&n;
    D)p=&n;
    p=&m;
    3.以下程序調(diào)用findmax函數(shù)返回數(shù)組中的值
    findmax(int*a,int n)
    { int*p,*s;
    for(p=a,s=a;p-a  if()s=p;
    return(*s);
    }
    main()
    { intx[5]={12,21,13,6,18};
    printf("%d\n",findmax(x,5));
    }
    在下劃線處應(yīng)填入的是()
    A)p>s
    B)*p>*s
    C)a[p]>a[s]
    D)p-a>p-s
    4.若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,則正確語句是()
    A)p=2*(int*)malloc(sizeof(int));
    B)p=(int*)calloc(2*sizeof(int));
    C)p=(int*)malloc(2* sizeof(int));
    D)p=2*(int*)calloc(sizeof(int));
    5.下列程序的輸出結(jié)果是()
    main()
    {char *p1,*p2,str[50]="xyz";
    p1="abcd";
    p2="ABCD";
    strcpy(str+2,strcat(p1+2,p2+1));
    printf("%s",str);
    }
    A)xyabcAB
    B)abcABz
    C)Ababcz
    D)XycdBCD
    6.以下敘述中不正確的是()
    A)一個變量的作用域完全取決于變量定義語句的位置
    B)全局變量可以在函數(shù)以外的任何部位進行定義
    C)局部變量的“生存期”只限于本次函數(shù)調(diào)用,因此不可能將局部變量的運算結(jié)果保存至下一次調(diào)用
    D)一個變量說明為static存儲類是為了限制其他編譯單位的引用
    7.交換兩個變量的值,不允許用臨時變量,應(yīng)該使用下列哪一個位運算符()
    A)~
    B)&
    C)^
    D)|
    8.下面的說法不正確的是()
    A)函數(shù)調(diào)用時,先求出實參表達劍緩蟠胄尾?。而使用带参的宏只蕢行简单的字符替?BR>  B)函數(shù)調(diào)用是在程序運行時處理的,分配臨時的內(nèi)存單元。而宏展開則是在編譯時進行的,在展開時也要分配內(nèi)存單元,進行值傳遞
    C)對于函數(shù)中的實參和形參都要定義類型,二者的類型要求一致,而宏不存在類型問題,宏名有類型
    D)調(diào)用函數(shù)只可得到一個返回值,而用宏可以設(shè)法得到幾個結(jié)果
    9.fscanf函數(shù)的正確調(diào)用形式是()
    A)fscanf(fp,格式字符串,輸出表列);
    B)fscanf(格式字符串,輸出表列,fp);
    C)fscanf(格式字符串,文件指針,輸出表列);
    D)fscanf(文件指針,格式字符串,輸入表列);
    10.以下程序的運行結(jié)果是()
    # define MAX 10
    int a[MAX],i;
    main()
    { printf("\n");sub1();sub3(a);sub2();sub3(a);
    }
    sub2()
    { int a[MAX],i,max;
    max=5;
    for(i=0;i  }
    sub1()
    {for(i=0;i  }
    sub3(int a[])
    { int i;
    for(i=0;i  printf("\n");
    }
    A)0 2 4 6 8 10 12 14 16 18
    0 1 2 3 4
    B)0 1 2 3 4
    0 2 4 6 8 10 12 14 16 18
    C)0 1 2 3 4 5 6 7 8 9
    0 1 2 3 4
    D)0 2 4 6 8 10 12 14 16 18
    0 2 4 6 8 10 12 14 16 18
    答案:11.A 12.D 13.B 14.C 15.D 16.B 17.C 18.B 19.D 20.D