2016年計算機二級C語言考前模擬試題及答案(7)

字號:


    選擇題
    1、以下選項中屬于C語言的數(shù)據(jù)類型是(?。?。
    A. 復合型
    B. 雙精度型
    C. 邏輯型
    D. 集合型
    2、以下說法中正確的是(?。?。
    A. C語言程序總是從第一個的函數(shù)開始執(zhí)行
    B. 在C語言程序中,要調用的函數(shù)必須在main()函數(shù)中定義
    C. C語言程序總是從main()函數(shù)開始執(zhí)行
    D. C語言程序中的main()函數(shù)必須放在程序的開始部分
    3、選出下列標識符中不是合法的標識符的是(?。?BR>    A. hot_do
    B. cat1
    C. _pri
    D. 2ab
    4、下列描述中不正確的是(?。?。
    A、字符型數(shù)組中可能存放字符串。
    B、可以對字符型數(shù)組進行整體輸入、輸出。
    C、可以對整型數(shù)組進行整體輸入、輸出。
    D、 不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。
    5、若已定義:int a[9], *p=a;并在以后的語句中未改變p的值,不能表示a[1]地址的表達式為( )。
    A. p+1
    B. a+1
    C. a++
    D. ++p
    6、設有如下定義: int x=10,y=3,z; 則語句printf("%d\n",z=(x%y,x/y)); 的輸出結果是(?。?。
    A. 1
    B. 0
    C. 4
    D. 3
    7、定義如下變量和數(shù)組: int i, x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的輸出結果是( )
    A. 1 5 9
    B. 1 4 7
    C. 3 5 7
    D. 3 6 9
    8、讀出以下語句的輸出結果是(?。?。
    int x=10,y=10;
    printf(“%d %d\n”,x--,--y);
    A. 10 10
    B. 9 9
    C. 9 10
    D. 10 9
    9、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結果是(?。?。
    if(x++>5) printf("%d",x);
    else printf("%d\n",x - -);
    A. 7和5
    B. 6和3
    C. 7和4
    D. 6和4
    10、設有如下定義:char *aa[2]={"abcd","ABCD"};則以下說法中正確的是( )。
    A)aa數(shù)組成元素的值分別是"abcd"和ABCD"
    B)aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
    C)aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
    D)aa數(shù)組的兩個元素中各自存放了字符’a’和’A’的地址
    參考答案:1、B 2、C 3、D 4、C 5、C 6、D 7、C 8、D 9、C 10、D
    11、以下語句的輸出結果是(?。?BR>    int a=-1,b=4,k;
    k=(+ +a<0)&&!(b - -<=0);
    printf("%d,%d,%d\n",k,a,b);
    A. 1,0,4
    B. 1,0,3
    C. 0,0,3
    D. 0,0,4
    12、下列程序的輸出結果是( )。
    char *p1="abcd", *p2="ABCD", str[50]="xyz";
    strcpy(str+2,strcat(p1+2,p2+1));
    printf("%s",str);
    A. xyabcAB
    B. abcABz
    C. ABabcz
    D. xycdBCD
    13、執(zhí)行下面的程序后,a的值是(?。?。
    #define SQR(X) X*X
    main(?。?BR>    { int a=10,k=2,m=1;
    a/=SQR(k+m)/SQR(k+m);
    printf("%d\n",a); }
    A. 10
    B. 1
    C. 9
    D. 0
    14、設A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i 個元素的地址為(?。?。
    A.P+i*2
    B. P+(i-1)*2
    C. P+(i-1)
    D. P+i
    15、下列程序執(zhí)行后輸出的結果是(?。?。
    int d=1;
    fun (int p)
    { int d=5;
    d + =p + +;
    printf("%d,",d); }
    main(?。?BR>    { int a=3;
    fun(a);
    d + = a + +;
    printf("%d\n",d); }
    A. 8, 4
    B. 9, 6
    C. 9, 4
    D. 8, 5
    16、表達式:10!=9的值是(?。?。
    A. true
    B. 非零值
    C. 0
    D. 1
    17、若有說明: int i,j=7, *p=&i;, 則與i=j; 等價的語句是(?。?。
    A. i= *p;
    B. *p=*&j;
    C. i=&j;
    D. i=* *p;
    18、不能把字符串:Hello!賦給數(shù)組b的語句是(?。?BR>    A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
    B. char b[10]; b="Hello!";
    C. char b[10]; strcpy(b,"Hello!");
    D.char b[10]="Hello!";
    19、在C程序中有如下語句:char *func(int x,int y); 它是(?。?。
    A. 對函數(shù)func的定義。
    B. 對函數(shù)func的調用。
    C.對函數(shù)func的原型說明。
    D. 不合法的。
    20、以下程序的輸出結果是(?。?BR>    char str[15]=”hello!”;
    printf(“%d\n”,strlen(str));
    A. 15
    B. 14
    C. 7
    D. 6
    參考答案:11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D