2013上半年計算機二級C語言模擬試題及答案(九)

字號:

一、單項選擇題
    1.以下程序的輸出結(jié)果是( B)。
    main( )
    {char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
    int i;
    i=8;
    p=a+i;
    printf("%s\n",p-3);
    }
    A) 6 
    B) 6789 
    C) ‘6’  
    D) 789
    2.以下程序的運行結(jié)果是( A )。
    #include "stdio.h"
    main( )
    {int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12};
    int *p=a+5,*q=NULL;
    *q=*(p+5);
    printf("%d %d\n", *p, *q);
    }
    A) 運行后報錯 
    B) 6 6 
    C) 6 11 
    D) 5 5
    3.若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+l)+2)表示的數(shù)組元素是( C )。
    int t[3][3],*pt[3],k;
    for(k=0; k<3; k++) pt[k]=&t[k][0];
    A) t[2][0] 
    B) t[2][2]  
    C) t[l][2] 
    D) t[2][l]
    4.下面程序把數(shù)組元素中的值放入a[0]中,則在if語句中的條件表達(dá)式應(yīng)該是( B )。
    main( )
    {int a[10]={6,7,2,9,1,10,5,8,4,3}, *p=a, i;
    for(i=0; i<10; i++, p++)
    if(________) *a=*p;
    printf("%d",*a);
    }
    A) p>a 
    B) *p>a[0] 
    C) *p>*a[0] 
    D) *p[0]> *a[0]
    5.以下程序的輸出結(jié)果是( A )。
    #include
    #include
    main( )
    {char *a="abcdefghi";
    int k;
    fun (a); puts(a);
    }
    fun(char *s)
    {int x, y;
    char c;
    for(x=0, y=strlen(s)-1; x    {c=s[y]; s[y]=s[x]; s[x]=c;}
    }
    A) ihgfedcba 
    B) abcdefghi 
    C) abcdedeba 
    D) ihgfefghi
    6.以下程序的輸出結(jié)果是( B )。
    main( )
    {char *s="12134211";int v[4]={0,0,0,0},k,i;
    for(k=0;s[k];k++)
    {switch(s[k])
    {case '1':i=0;
    case '2':i=1;
    case '3':i=2;
    case '4':i=3;
    }
    v[i]++;
    }
    for(k=0;k<4;k++) printf("%d ",v[k]);
    }
    A) 4 2 1 1 
    B) 0 0 0 8 
    C) 4 6 7 8 
    D) 8 8 8 8
    7.以下程序的輸出結(jié)果是( D )。
    #include
    main( )
    {char *p1,*p2,str[50]="ABCDEFG";
    p1="abcd";p2="efgh";
    strcpy(str+1,p2+1);strcpy(str+3,p1+3);
    printf("%s",str);str+1表示數(shù)組第二個數(shù)據(jù)B,p2+1指向f,即把fgh復(fù)制到BCD的位置,同時復(fù)制‘\0’
    }
    A) AfghdEFG 
    B) Abfhd 
    C) Afghd 
    D) Afgd
    8.若有以下定義和語句:
    double r=99,*p=&r;
    *p=r;
    則以下正確的敘述是( D )。
    A) 以上兩處的*p含義相同,都說明給指針變量p賦值
    B) 在"double r=99,*p=&r; "中,把r的地址賦給了p所指的存儲單元
    C) 語句"*p=r; "把變量r的值賦給指針變量p
    D) 語句"*p=r; "取變量r的值放回r中
    9.若已定義:
    int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a, i;
    其中0≤ i ≤9, 則對a數(shù)組元素不正確的引用是( D )。
    A) a[p-a] 
    B) *(&a[i]) 
    C) p[i] 
    D) *(*(a+i))=*a[i]