歷年專升本考試試題:C語言程序設(shè)計(jì)(B卷)

字號:

《C語言程序設(shè)計(jì)》試卷  B卷
    

注意:答案請?zhí)顚懺诖痤}紙上!
    

 
    一、 填空題(每空1分,共20分)
    1.     是C程序的基本單位,一個C程序總是從        開始執(zhí)行。
    2.C語言規(guī)定標(biāo)識符只能由字母、             3種字符組成,且第一個字符必須為字母或      。
    3.計(jì)算機(jī)科學(xué)家沃思提出的一個公式:數(shù)據(jù)結(jié)構(gòu)+       =程序
    4.Turbo C++中,若有語句:unsigned int a;則a的范圍是0~      
    5.C中的轉(zhuǎn)義符“\r”表示:       。
    6.表達(dá)式 21 / 4 的值為           。
    7.C語言中沒有專門的字符串變量,如果想將一個字符串存放在變量中以便保存,必須使用         。
    8.已知a=12.789,則表達(dá)式 (int)a 的值為        。
    9.表達(dá)式 3 | 2 的值是            。
    10.若a=5,經(jīng)a-=3;后a=           。
    11.已知ch='a',則表達(dá)式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值為       。
    12.C中定義符號常量E為2.71828的宏命令是                     。
    13.函數(shù)形參和調(diào)用的實(shí)參是數(shù)組名時(shí),參數(shù)按           方式進(jìn)行傳遞。
    14.C中按位與運(yùn)算符是      、按位異或運(yùn)算符是     、按位或運(yùn)算符是       。
    15.定義一個結(jié)構(gòu)變量,共三個成員分別是字符型、整形和浮點(diǎn)型,則該結(jié)構(gòu)體變量所占內(nèi)存長度為       個字節(jié)。
    二、 單項(xiàng)選擇題(每題2分,共40分)
    1.下列C語言標(biāo)識符中,不合法的是……………………………………………(    )
           A. myname                                  B. Wend
           C. sum                                     D. student
    2.欲從鍵盤給整型變量a賦值3,b賦值2,則對應(yīng)語句 scanf("a=%d,b=%d",%a,&b);  的輸入格式是……………………………………………………………………(    )
           A. 3  2                                    B.  a=3 b=2
           C. a=3,b=2                                 D.  a=b=3,2
    3.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)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
           C. 順序結(jié)構(gòu)、分支結(jié)構(gòu)、選擇結(jié)構(gòu)           
           D. 順序結(jié)構(gòu)、復(fù)雜結(jié)構(gòu)、分支結(jié)構(gòu)
    5.以下表達(dá)式中,值為0的是……………………………………………………(    )
           A. 15%5                                    B. 15/5.0
           C. 15/5                                    D. 15>5
    6.設(shè)下列表達(dá)式中所涉及的變量均已正確定義,則不符合C語言語法的是…(    )
           A. 4||3                                    B. a+=4
           C. a=3,b=5                                 D. char(65)
    7.設(shè)變量定義為【int a[3]={1,3,5}, *p=a+1; 】,則*p的值是………………(    )
           A. 2                                       B. 3
           C. 4                                       D. a+1
    8.在C 語言程序中,在函數(shù)內(nèi)部定義的變量稱為………………………………(    )
           A. 全局變量                                B. 外部變量
           C. 全程變量                                D. 局部變量
    9.經(jīng)過以下的變量定義后,正確的表達(dá)式是……………………………………(    )
               struct node {
                 char s[10];
                 int k;
                 } p[4];
           A. p->k=21                                 B. p[0]->k=21
           C. p(0)->k=21                              D. p->s="Mary"
    10.若變量c為char類型,則能正確判斷出c為大寫字母的表達(dá)式是…………(    )
           A. (c>= 'A')||(c<= 'Z')                    B. 'A'<=c<= 'Z'
           C. (c>= 'A')&&(c<= 'Z')                    D. ('A'<=c)and ('Z'>=c)
    11.C語言中以“只寫”方式打開文件,應(yīng)選擇的參數(shù)是…………………………(    )
           A. o                                       B. w
           C. a                                       D. r
    12.變量定義為【int a[2][3]={1,2,3,4,5,6}, *p=&a[1][0]; 】,則p的值是(    )
           A. 數(shù)組a的首地址                         
           B. 數(shù)組a的第1個元素的地址
           C. 數(shù)組a的第“1”行第“0”列的地址       
           D. 數(shù)組a的第“1”列的首地址
    13.用鏈表表示線性表的優(yōu)點(diǎn)是…………………………………………………(    )
           A. 便于插入和刪除操作                     
           B. 花費(fèi)的存儲空間較順序存儲少
           C. 便于隨機(jī)存取                           
           D. 數(shù)據(jù)元素的物理順序與邏輯順序相同
    14.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是………………………………………………(    )
           A. 程序的規(guī)模                             
           B. 程序設(shè)計(jì)語言的先進(jìn)性
    C. 程序結(jié)構(gòu)的規(guī)范化                                       
    D. 程序的效率
    15.以下表達(dá)式中,不正確的浮點(diǎn)數(shù)常量是……………………………………(    )
           A. 2e2                                     B. 2.2
           C. 2c2                                     D. 2E2
    16. 若【int x=12,*p=x;】,則正確的賦值表達(dá)式是……………………………(    )
           A. p=*&x                                   B. *p=&x
           C. &p=x                                    D. *p=x
    

17.設(shè)有如下程序段:
    

      int i=15;
    

for(;i>=10;)i--;
    執(zhí)行完這段程序后,i的值是………………………………………………(    )
       A. 5                                       B. 4
       C. 10                                      D. 9
    

18.設(shè)有如下程序段:
    

      int i=15;
    

while(i<15)i--;
    則以下描述中正確的是……………………………………………………(    )
       A. 循環(huán)體語句執(zhí)行15次                    
       B. 這是一個死循環(huán)
       C. 循環(huán)體語句一次也不執(zhí)行                 
       D. 循環(huán)體語句只執(zhí)行一次
    

19.設(shè)有如下程序段:
    {char a[2][6]={"abcde","uvwxy"},*p=&a[0][2];
      printf("\n%s",p);
    這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………(    )
    A. wxy                                       B. cde
         C. w                                         D. c 
    

20.設(shè)有如下程序段:
    

      union
    

{int i;
    

        char c;
    

}a;
    

a.c='A';
    

a.i=12;
    

printf("\n%d",a.i);
    這段程序執(zhí)行后,屏幕輸出的結(jié)果是………………………………………(    )
    A. A                                        B. 97
    C. 12                                       D. 65
     
    三、 程序填空(每空3分,共15分)
    1.以下程序的功能是輸出楊輝三角形前10行,請?jiān)谙聞澗€處填上正確的內(nèi)容,使程序能正確運(yùn)行。
    #include <stdio.h>
    #define N 11
    main()
    {int i,j,a[N][N];
     for(i=1;i<N;i++)
       {a[i][1]=        ;
        a[i][i]=        ;
       }
     for(i=3;i<N;i++)
       for(j=2;j<=i-1;j++)
          a[i][j]=                              ;
     for(i=1;i<N;i++)
       {for(j=1;j<=i;j++)
          printf("%6d", a[i][j] );
        printf("\n");
       }
    }
    2.以下程序的功能是利用函數(shù)求100-200間素?cái)?shù)(質(zhì)數(shù))的個數(shù),請?jiān)谙聞澗€處填上正確的語句,使程序能正確運(yùn)行。
    #include <stdio.h>
    int isprime(int n)
    {
     int i,f;
     f=1;
     for(i=2;i<n/2;i++)
       if(           )
         {f=0;
          i=n;
         }
     return(f);
    }
    main()
    {int i=100,n=0;
     for(;i<200;i++)
        if(                      )n++;
     printf("Numbers of prime:%d",n);
    四、 寫出以下程序運(yùn)行結(jié)果(每題4分,共12分)
    

1.以下程序輸出的結(jié)果是:
    

       #include "stdio.h"
    

        void main()
    

        {
    

char s[]="\"hello\"";
    

         printf("%s",s);
            }
          
    

2.以下程序輸出的結(jié)果是:
    

#include "stdio.h"
    

void main()
    

{int a=12,b=13;
    

 a=a+b;
    

 b=a-b;
    

 a=a-b; 
    

 printf("%d,%d",a,b);  
    }
    

3.以下程序輸出的結(jié)果是:
    

            #include "stdio.h"
    

            void main()
    

            {char ch[]="I love Great Wall of China!";
    

             printf("%c",*(ch+5));
               }
     
    五、 編程題(第1題5分,第2題8分,共13分)
    1.百錢百雞問題:公元前5世紀(jì),我國古代數(shù)學(xué)家張丘建在《算經(jīng)》一書中提出了百雞問題:雞翁一值錢五、雞母一值錢三、雞雛三值錢一,百錢買百雞,問雞翁、母、雛各幾何? 試編程輸出所有的買法。注意:每一種雞至少要一只。
     
    2.編程輸出所有"玫瑰花數(shù)"。(一個四位數(shù)等于它每一位數(shù)字的4次方之和.那么我們稱這個四位數(shù)為"玫瑰花數(shù)")
    

《C語言程序設(shè)計(jì)》B卷參考答案與評分標(biāo)準(zhǔn)
    一、 填空題(每空1分,共20分)
    


    1
    

    函數(shù)
    

    主函數(shù)  或   main函數(shù)
    

    2
    

    數(shù)字
    

    下劃線
    

    下劃線
    

    3
    

    算法
    

    4
    

    65535
    

    5
    

    回車
    

    6
    

    5
    

    7
    

    字符數(shù)組
    

    8
    

    12
    

    9
    

    
    

    10
    

    2
    

    11
    

    a  或  97
    

    12
    

    #define E 2.71828
    

    13
    

    地址傳遞   或   傳址
    

    14
    

    &
    

    ^
    

    |
    

    15
    

    7
    

     
    二、 單項(xiàng)選擇題(每題2分,共40分) 
    

1
    

2
    

3
    

4
    

5
    

6
    

7
    

8
    

9
    

10
    

B
    

C
    

D
    

B
    

A
    

D
    

B
    

D
    

A
    

C
    

11
    

12
    

13
    

14
    

15
    

16
    

17
    

18
    

19
    

20
    

B
    

C
    

A
    

C
    

C
    

D
    

D
    

C
    

B
    

C
    


     
    三、 程序填空(每空3分,共15分)
    

    1
    

    1
    

    1
    

    a[i-1][j-1]+a[i-1][j]
    

    2
    

    n%i==0
    

    isprime(i)==1
    

    

 
    四、 寫出以下程序運(yùn)行結(jié)果(每題4分,共12分)
    

1.運(yùn)行結(jié)果:
    

"hello"
    

   評分標(biāo)準(zhǔn):內(nèi)容正確得2分,引號正確得2分
    

 
    

2.運(yùn)行結(jié)果:
    

13,12
    

   評分標(biāo)準(zhǔn):內(nèi)容正確得2分,格式正確得2分
    

 
    

3. 運(yùn)行結(jié)果:
    

    e
     
    五、 編程題(第1題5分,第2題8分,共13分)
    1.參考程序:
    #include "stdio.h"
    void main()
    {int cock,hen,chick;
     for(cock=1;cock<20;cock++)
       for(hen=1;hen<33;hen++)
         {chick=100-cock-hen;
          if(cock*5+hen*3+chick/3==100)
    printf("cock:%d hen:%d chick:%d\n",cock,hen,chick);
      }}
    評分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得3分,算法正確得2分
    2. 參考程序:
    #include "stdio.h"
    void main()
    {
     int i,g,s,b,q,m;
     for(i=1000;i<=9999;i++)
      {g=i%10;
       s=i/10%10;
       b=i/100%10;
       q=i/1000;
       m=g*g*g*g+s*s*s*s+b*b*b*b+q*q*q*q;
       if(i==m)printf("\n%d",i);
      }
    }
    評分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確得4分,算法正確得4分