2014年4月自學(xué)考試試題:高級(jí)語(yǔ)言程序設(shè)計(jì)(一)

字號(hào):

全國(guó)2014年4月高等教育自學(xué)考試
    高級(jí)語(yǔ)言程序設(shè)計(jì)(一)試題
    課程代碼:00342
    請(qǐng)考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
    選擇題部分
    注意事項(xiàng):
    1. 答題前,考生務(wù)必將自己的考試課程名稱、姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫在答題紙規(guī)定的位置上。
    2. 每小題選出答案后,用2B鉛筆把答題紙上對(duì)應(yīng)題目的答案標(biāo)號(hào)涂黑。如需改動(dòng),用橡皮擦干凈后,再選涂其他答案標(biāo)號(hào)。不能答在試題卷上。
    一、單項(xiàng)選擇題(本大題共15小題,每小題2分,共30分)
    在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其選出并將“答題紙”的相應(yīng)代碼涂黑。錯(cuò)涂、多涂或未涂均無(wú)分。
    1.表達(dá)式9%45+15/6*2的值是
    A.4 B.5
    C.10 D.13
    2.設(shè)int a[10];,則數(shù)組a的下標(biāo)正確的使用范圍是
    A.0到9 B.0到10
    C.-1到9 D.1到10
    3.執(zhí)行語(yǔ)句printf("%c",'A'+3);后輸出結(jié)果是
    A.3 B.A
    C.D D.68
    4.設(shè)int ml=60,m2=80,m3=100;,表達(dá)式m3>m2>ml的值是
    A.0 B.1
    C.60 D.100
    5.下列程序段執(zhí)行后,變量n的值是
    Static int n;
    do {n=n+1;} while(n<1000);
    A.1 B.999
    C.1000 D.1001
    6.設(shè)int a,b,c;,執(zhí)行語(yǔ)句priritf("%d",(a=1,b=2,c=3));后輸出結(jié)果是
    A.6 B.3
    C.2 D.1
    7.設(shè)int n=2;,執(zhí)行語(yǔ)句n+=n-=n-n;后n的值是
    A.0 B.2
    C.4 D.6
    8.設(shè)int a[2][3]={1,2,3,4,5};,數(shù)組元素a[1][1]的值是
    A.1 B.2
    C.4 D.5
    9.設(shè)int a=10,b=20,c=1,d=2;,執(zhí)行語(yǔ)句if(ad&&(c=10)||c==100)d=200;后,c和d的值分別是
    A.1和2 B.1和200
    C.10和2 D.100和200
    10.下列數(shù)組初始化后,元素值不全為0的是
    A.int a[5]={0}; B.int a[5]={'0'};
    C.static int a[5]; D.int a[5]={0,0,0,0,0};
    11.設(shè)int a[]={11,21,31,41,51,61},*p=a;,表達(dá)式*p++的值是
    A.11 B.21
    C.31 D.41
    12.設(shè)
    Struct t
    { int a;
    float b;
    char c[10];
    }x[2]={{1,6.6,"Dollar"},{2,9.8,"Pound"}};
    則執(zhí)行語(yǔ)句printf("%d,%s",x[1].a,x[1].c);后輸出結(jié)果是
    A.1,Dollar B.2,Dollar
    C.1,Pound D.2,Pound
    13.設(shè)char sl[10]="Better",s2[10]="Life";,執(zhí)行語(yǔ)句printf("%s",strcat(s1,s2));后輸出結(jié)果是
    A.LifeBetter B.BetterLife
    C.Better D.Life
    14.下列程序段的輸出結(jié)果是
    int n=6;
    while(n>3)
    { n--;
    if(n%2==0) continue;
    printf("%nd",n);
    }
    A.13 B.35
    C.53 D.654
    15.下列程序的輸出結(jié)果是
    int a=l;
    int f ()
    { int a=2;return a;}
    void main()
    {printf("%d,%d",a,f());}
    A.1,1 B.1,2
    C.2,1 D.2,2
    非選擇題部分
    注意事項(xiàng):
    用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
    二、填空題(本大題共10小題,每小題2分,共20分)
    16.指針變量中存放的是______。
    17.設(shè)int a;,從鍵盤輸入數(shù)據(jù)給變量a的輸入語(yǔ)句是______。
    18.break語(yǔ)句除可在循環(huán)語(yǔ)句中使用外,還可以用于______。
    19.一個(gè)源程序中允許有多個(gè)函數(shù),但必須有且只能有一個(gè)______。
    20.設(shè)int m[10],*p;,使指針變量p指向數(shù)組m首元素的語(yǔ)句是______。
    21.運(yùn)算符+=、&&、<和!中,優(yōu)先級(jí)低的是______。
    22.設(shè)int x=12;,執(zhí)行語(yǔ)句X>>=2;后X的值是______。
    24.設(shè)char s[20]="Computer";,則strlen(s)的值是______。
    25.表達(dá)式(int)(3.5+1/2)的值是______。
    三、程序分析題(本大題共4小題,每小題4分,共16分)
    閱讀下列程序,將輸出結(jié)果寫到答題紙上。
    26.void main()
    {
    int k,m;
    for(m=3;m<12;m++)
    { for(k=2;k    if(m%k==0) break;
    if(k==m) printf("%2d",m);
    }
    }
    27.#define N 5
    void main()
    {
    int k, sl=0,s2=0;
    for(k=1;k    switch(k%4)
    { case1:
    case 2:sl+=1;break;
    case3:
    case0:s2+=1;break;
    }
    printf("s1=%d,s2=%dn",s1,s2);
    }
    28.int f(intt)
    {
    int b;
    static int c=3;
    b=c+t;
    c++;
    return b;
    }
    void main()
    {
    int i,k;
    for(i=1;i<3;i++)
    { k=f(i);
    printf("%2d",k);
    }
    printf("\n");
    }
    29.int f(int n)
    {
    if(n=2)return 0;
    else return(n+f(n-2));
    }
    void main()
    {
    int a=10;
    printf("%d\n",f(a));
    }
    四、程序填充題(本大題共3小題,每小題6分,共18分)
    請(qǐng)將下列程序橫線處缺少的部分在答題紙相應(yīng)位置補(bǔ)上,使其能正確運(yùn)行。
    30.求a、b和c的大值并輸出。
    #include
    int f(int x,______) /*第一空*/
    {return(______?y∶x);} /*第二空*/
    void main()
    {
    int a=3,b=4,c=5,d;
    ______=f(f(a,b),f(a,c)); /*第三空*/
    printf("%dn",d);
    }
    #include
    void main()
    {
    float sum;
    float fun(int);
    ______=fun(10); /*第一空*/
    printf("sum=%.4f\n",sum);
    }
    float fun(______n) /*第二空*/
    {
    int f=1,i;
    float m=0;
    for(i=1;i<=n;i++)
    { m+=1.0/i*f;
    ______=-f; /*第三空*/
    }
    return m;
    }
    32.將一維數(shù)組逆序存放后輸出。例如int a[3]={1,2,3},逆序存放后int a[3]={3,2,1}。
    include
    void move(int*p,int n);
    void main()
    {
    int i,n=6,a[6]={1,2,3,4,5,6};
    move(a,5);
    for(i=0;i    }
    void move(int*p,int n)
    {
    ______; /*第二空*/
    for(k=0;k<=n/2;k++)
    {c=p[k];p[k]=p[n-k];______;} /*第三空*/
    }
    五、程序設(shè)計(jì)題(本大題共2小題,每小題8分,共16分)
    33.計(jì)算1到100的平方根,并將結(jié)果保存至二進(jìn)制文件root.dat。
    34.從鍵盤輸入10個(gè)整數(shù),由大到小排序后輸出。