2011年9月計算機等級考試C語言沖刺試題六(3)

字號:


    17.以下選項中不能使指針正確指向字符串的是( )
    A) char *ch;*ch=“hello”
    B) char *ch=“hello”
    C) char *ch=“hello”;ch=“bye”
    D) char *ch”;ch=“hello”
    18.若有以下說明和定義語句:union uti {int n;double g;char ch[9];}
    struct srt{float xy;union uti uv;}aa;則變量aa所占內(nèi)存的字節(jié)數(shù)是( )
    A) 9
    B) 8
    C) 13
    D) 17
    二、填空題(每空1分,共12分)
    1.C語言源程序文件的擴展名是 (1) ,經(jīng)過編譯后,生成文件的擴展名是 (2) ,經(jīng)過連接后,生成文件的擴展名是 (3) 。
    2.把a,b定義成長整型變量的定義語句是 (4)
    3.設(shè)x和y均為整型變量,且x=3,y=2,則1.0*x/y表達(dá)式的值為 (5)
    4.已有定義:float x=5.5;則表達(dá)式:x=(int)x+2的值為 (6)
    5.已有定義:int x=0,y=0;則表達(dá)式:(x+=2,y=x+3/2,y+5)后,變量x的值為 (7),變量y的值為 (8),表達(dá)式的值為 (9) 。
    6.執(zhí)行以下for(i=1;i++《=5)語句后,變量i的值為(10) 。
    7.數(shù)組是表示類型相同的數(shù)據(jù),而結(jié)構(gòu)體則是若干 (11) 數(shù)據(jù)項的集合。
    8.C語言中文件是指 (12) 。
    三、程序補充題(每空3分,共24分)
    1.從鍵盤上輸入若干個學(xué)生成績,統(tǒng)計并輸出成績和最低成績,當(dāng)輸入負(fù)數(shù)時結(jié)束輸入。
    main()
    { float s,gmax,gmin;
    scanf(“%f,”&s);
    gmax=s;gmin=s;
    while (1)
    {if(s》gmax)gmax=s;
    if (2) gmin=s;
    scanf(“%f”,&s);}
    printf(“gmax=%f\ngmin=%f\n”gmax,gmin);}
    2.求任意兩個正整數(shù)的公約數(shù)和最小公倍數(shù)
    #include “stdio.h”
    main()
    {int r,m,n,temp,gcd,lcm;
    printf(“enter two number please:”);
    scanf(“ (3) ”,&m,&n);
    lcm=m*n;
    while(m%n!=0)
    {r=m%n;(4);n=r;}
    gcd=n;lcm=lcm/n;
    printf(“gcd=%d\nlcm=%d\n”,gcd,lcm);}
    3.求y的x次方。
    Double fun1(double y,int x)
    main(){int i;
    double z=1.0;
    for(i=1;i (5) ;i++)
    z= (6) ;
    return z;}
    4.對輸入一個整數(shù)進(jìn)行判斷,若是偶數(shù),輸出even,否則輸出odd,在子函數(shù)fun2功能是判定整數(shù)是否為偶數(shù),若是偶數(shù),返回1,否則返回0。
    int fun2(int x)
    {if(x%2==0) (7) ;
    return 0 ;}
    main()
    {int n;
    scanf(“%d”,&n);
    if (8) printf(“even\n”);
    else printf(“odd\n”);}