江西農(nóng)業(yè)大學(xué)專(zhuān)升本考試C語(yǔ)言程序設(shè)計(jì)真題答案(a卷)

字號(hào):

江西農(nóng)業(yè)大學(xué)2011年專(zhuān)升本考試
    《C語(yǔ)言程序設(shè)計(jì)》試卷 A卷
    注意:答案請(qǐng)?zhí)顚?xiě)在答題紙上!
    一、 填空題(每空1分,共20分)
    1.C程序是由 構(gòu)成的,一個(gè)C源程序至少且僅包含一個(gè) 。
    2.C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由 、 和下劃線3種字符組成,且第一個(gè)字符必須為 或下劃線。
    3.計(jì)算機(jī)科學(xué)家沃思提出的一個(gè)公式:數(shù)據(jù)結(jié)構(gòu)+算法= 。
    4.Turbo C++中,若有語(yǔ)句:int a;則a的范圍是-32768~ 。
    5.C中的轉(zhuǎn)義符“\n”表示: 。
    6.表達(dá)式 21 % 4 的值為 。
    7.C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的 變量,如果想將一個(gè)字符串存放在變量中以便保存,必須使用字符數(shù)組。
    8.已知a=79.345,則表達(dá)式 (int)a 的值為 。
    9.表達(dá)式 3 & 2 的值是 。
    10. 若a=5,經(jīng)a+=3;后a= 。
    11.已知ch='B',則表達(dá)式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值為 。
    12.C中定義符號(hào)常量PI為3.14159的宏命令是 。
    13.函數(shù)形參和調(diào)用的實(shí)參是普通變量時(shí),參數(shù)按 方式進(jìn)行傳遞。
    14.C中邏輯運(yùn)算符的優(yōu)先次序是: à à 。
    15.定義一個(gè)共用體變量,共三個(gè)成員分別是字符型、整形和浮點(diǎn)型,則該共用體變量所占內(nèi)存長(zhǎng)度為 個(gè)字節(jié)。
    二、 單項(xiàng)選擇題(每題2分,共40分)
    1.下列C語(yǔ)言標(biāo)識(shí)符中,合法的是………………………………………………( )
     A. if B. return
     C. 23a D. a23
    2.欲從鍵盤(pán)給整型變量a賦值3,b賦值2,則對(duì)應(yīng)語(yǔ)句 scanf("%d,%d",&a,&b); 的輸入格式是………………………………………………………………………( )
     A. 3 2 B. 2,3
     C. 2 3 D. 3,2
    3. C語(yǔ)言源程序文件經(jīng)過(guò)C編譯程序編譯連接之后生成的文件后綴名是……( )
     A. .exe B. .obj
     C. .bat D. .c
    4.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是…………………………………………( )
     A. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
     B. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、分支結(jié)構(gòu)
     C. 順序結(jié)構(gòu)、分支結(jié)構(gòu)、選擇結(jié)構(gòu)
     D. 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
    5.以下表達(dá)式中,值為0的是…………………………………………………( )
     A. 4%5 B. 4/5.0
     C. 4/5 D. 4<5
    6.設(shè)下列表達(dá)式中所涉及的變量均已正確定義,則不符合C語(yǔ)言語(yǔ)法的是…( )
     A. 4&&3 B. a++
     C. a=b=5 D. int(3.14159)
    7.設(shè)變量定義為【int a[3]={1,3,5}, *p=&a[0]+1; 】,則*p的值是…………( )
     A. 2 B. 3
     C. 4 D. &a[0]+1
    8. 在C 語(yǔ)言程序中,在函數(shù)內(nèi)部定義的變量稱(chēng)為……………………………( )
     A. 全局變量 B. 外部變量
     C. 全程變量 D. 內(nèi)部變量
    9. 對(duì)于以下的變量定義,正確的表達(dá)式是……………………………………( )
     struct node {
     char s[10];
     int k;
     } p[4];
     A. p->k=2 B. p[0]->k=2
     C. p(0)->k=2 D. p->s='a'
    10.若變量c為char類(lèi)型,則能正確判斷出c為小寫(xiě)字母的表達(dá)式是…………( )
     A. (c>= 'a')||(c<= 'z') B. 'a'<=c<= 'z'
     C. (c>= 'a')&&(c<= 'z') D. ('a'<=c)and ('z'>=c)
    11.C語(yǔ)言中以“只讀”方式打開(kāi)文件,應(yīng)選擇的參數(shù)是…………………………( )
     A. o B. w
     C. a D. r
    12.設(shè)變量定義為【int a[2][3]={1,2,3,4,5,6}, *p=a[1]; 】,則p的值是…( )
     A. 數(shù)組a的首地址
    B. 數(shù)組a的第1個(gè)元素的地址
     C. 數(shù)組a的第“1”行的首地址
    D. 數(shù)組a的第“1”列的首地址
    13.用鏈表表示線性表的優(yōu)點(diǎn)是………………………………………………( )
     A. 便于隨機(jī)存取
     B. 便于插入和刪除操作
     C. 花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少
     D. 數(shù)據(jù)元素的物理順序與邏輯順序相同
    14. 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是……………………………………………( )
     A. 程序的規(guī)模
     B. 程序設(shè)計(jì)語(yǔ)言的先進(jìn)性
     C. 程序的效率
     D. 程序清晰的結(jié)構(gòu)
    15.以下表達(dá)式中,不正確的字符常量是………………………………………( )
     A. 'n’ B. "a"
     C. '2’ D. '\101’
    16. 若【int x=12,*p=x;】,則正確的賦值表達(dá)式是……………………………( )
     A. p=x B. p=*x
     C. *p=x D. *p=*x
    17.設(shè)有如下程序段:
     int i=5;
    for(;i<=10;)i++;
    執(zhí)行完這段程序后,i的值是………………………………………………( )
     A. 5 B. 6
     C. 10 D. 11
    18.設(shè)有如下程序段:
     int i=15;
    while(i<15)i++;
    則以下描述中正確的是……………………………………………………( )
     A. 循環(huán)體語(yǔ)句執(zhí)行15次
     B. 這是一個(gè)死循環(huán)
     C. 循環(huán)體語(yǔ)句一次也不執(zhí)行
     D. 循環(huán)體語(yǔ)句只執(zhí)行一次
    19.設(shè)有如下程序段:
     char a[2][6]={"abcde","uvwxy"},*p=a[1];
     printf("\n%s",p);
    這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………( )
    A. abced B. uvwxy
     C. b D. v
    20.設(shè)有如下程序段:
     union
    {
    int i;
     char c;
    }a;
    a.i=12;
    a.c='A';
    printf("\n%d",a.i);
    這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………( )
     A. 12 B. 97
     C. 65 D. A
    三、 程序填空(每空3分,共15分)
    1.已知fibonacci數(shù)列:1,1,2,3,5,8,......,它可由下面公式表述:
     F(1)=1 n=1
     F(2)=1 n=2
     F(n)=F(n-1)+F(n-2) n>2
    以下程序的功能是求F(49)的值,請(qǐng)?jiān)谙聞澗€處填上正確內(nèi)容,使程序能正確運(yùn)行。
    #include
    #include
    #include
    main()
    {
    int i;
     double f[50];
     f[1]= ;f[2]= ;
     for(i=3;i<=49;i++)
     f[i]= ;
     printf("f[49]=%12.0lf",f[49]);
    }
    2.以下程序的功能是用遞歸法求n!,請(qǐng)?jiān)谙聞澗€處填上正確的語(yǔ)句,使程序能正確運(yùn)行。
    #include
    long f(int n)
    {
    if(n==1)return( );
     else return ( );
    }
    main()
    {
     int n;
     printf("n=");
     scanf("%d",&n);
     printf("%d!=%ld",n,f(n));
    }
    四、 寫(xiě)出以下程序運(yùn)行結(jié)果(每題4分,共12分)
    1.以下程序輸出的結(jié)果是:
     #include "stdio.h"
     void main()
     {
    char s[]="hello\nworld";
     printf("%s",s);
     }
    2.以下程序輸出的結(jié)果是:
    #include "stdio.h"
    void main()
    {
    int i,g,s,b,q;
     for(i=1234;i<1236;i++)
    {
    g=i/1 %10;
     s=i/10 % 10;
     b=i/100 % 10;
     q=i/1000 % 10;
     printf("%d%d%d%d\n",g,s,b,q);
     }
    }
    3. 以下程序輸出的結(jié)果是:
     #include "stdio.h"
     void main()
     {
    char ch[]="I-love-Great-Wall-of-China!";
     char *p=ch;
     printf("%c",*(p+5));
     }
    五、 編程題(第1題5分,第2題8分,共13分)
    1.將一張百元大鈔對(duì)換成1元、5元、10元的小鈔,要求每種小鈔最少要一張,編程求共有多少種對(duì)換方法。
    2.編程輸出所有"水仙花數(shù)"。(一個(gè)三位數(shù)等于它每一位數(shù)字的立方和,那么我們稱(chēng)這個(gè)數(shù)為"水仙花數(shù)" )
    《C語(yǔ)言程序設(shè)計(jì)》試卷 A卷參考答案及評(píng)分標(biāo)準(zhǔn)
    一、 填空題(每空1分,共20分)
    1
    函數(shù)
    主函數(shù) 或 main函數(shù)
    2
    字母
    數(shù)字
    字母
    3
    程序
    4
    32767
    5
    換行
    6
    1
    7
    字符串
    8
    79
    9
    2
    10
    8
    11
    b 或 98
    12
    #define PI 3.14159
    13
    值傳遞 或 傳值
    14
    !
    &&
    ||
    15
    4
    二、 單項(xiàng)選擇題(每題2分,共40分)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    D
    D
    A
    D
    C
    D
    B
    D
    A
    C
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    D
    C
    B
    D
    B
    C
    D
    C
    B
    C
    三、 程序填空(每空3分,共15分)
    1
    1
    1
    f[i-1]+f[i-2]
    2
    1
    n*f(n)
    四、 寫(xiě)出以下程序運(yùn)行結(jié)果(每題4分,共12分)
    1. Hello
    world
    評(píng)分標(biāo)準(zhǔn):輸出內(nèi)容正確扣得分,格式正確得2分
    2. 5321
    3. e
    五、 編程題(第1題5分,第2題8分,共13分)
    1.參考程序:
    #include "stdio.h"
    void main()
    {
     int y,w,s,n=0;
     for(y=1;y<100;y++)
     for(w=1;w<20;w++)
     for(s=1;s<10;s++)
     if(100==y+w*5+s*10)n++;
     printf("n=%d",n);
    }
    評(píng)分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得3分,算法正確得2分
    2.參考程序:
    #include "stdio.h"
    void main()
    {
     int i,g,s,b,m;
     for(i=100;i<=999;i++)
     {g=i%10;
     s=i/10%10;
     b=i/100%10;
     m=g*g*g+s*s*s+b*b*b;
     if(i==m)printf("\n%d",i);
     }
    }
    評(píng)分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得4分,算法正確得4分