鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
2009年春季江蘇省二級c語言試題與答案

江蘇省高校計算機等級考試2009年春季考試試題

第二部分   C程序設計

21.以下定義和聲明中,語法均有錯誤的是____(21)_________

int j(int x){}int f(int f){}  int 2x=1;    struet for{int x;};

A.②③    B.③④    C.①④    D.①②③④

22.設有定義和聲明如下:

    #define d  2   

    int x=5;float Y =3.83;char c='d';

以下表達式中有語法錯誤的是_(22)______

Ax++    By++    Cc++    Dd++

23.以下選項中,不能表示函數(shù) 功能的表達式是___(23)______。

 As=(X>0)?1:(X<0)?-1:0    Bs=X<0?-1:(X>0?1:0)

 Cs=X<=0?-1:(X==0?0:1)    Ds=x>0?1:x==0?0:-1

24.以下語句中有語法錯誤的是____(24)______    

    Aprintf("%d",0e);    Bprintf("%f",0e2);

    Cprintf("%d",Ox2);   Dprintf("%s","0x2");

25.以下函數(shù)定義中正確的是___(25)_________ 。

    Adouble fun(double x,double y){}

    Bdouble fun(double x;double Y){}

    Cdouble fun(double x,double Y);{}

    Ddouble fun(double X,Y){}

26.若需要通過調(diào)用f函數(shù)得到一個數(shù)的平方值,以下f函數(shù)定義中不能實現(xiàn)該功能的

  _____(26)______ 。

    Avoid f(double *a){*a=(*a)*(*a);}

    Bvoid f(double a,double *b){*b=a*a;}

    Cvoid f(double a,double b){b=a*a;}

    Ddouble f(double a){return a*a;}

27.設有聲明"int P[10]={1,2},i=0;",以下語句中與"P[i]=P[i+1],i++;"等價的

____(27)_______。

    AP[i]=P[i++];    BP[++i]=P[i];

    CP[++i]=P[i+1];  Di++,P[i-1]=P[i];

28.已知有聲明"char a[]="It is mine",*p="It is mine";",下列敘述中錯誤的是28 

    Astrcpy(a,"yes")strcpy(p,"yes")都是正確的

    Ba="yes"p="yes"都是正確的

    C*a等于*p

    Dsizeof(a)不等于sizeof(p)

29.已知有聲明"int a[3][3]={0},*p1=a[1],(*p2)[3]=a;",以下表達式中與

"a[1][1]=1"不等價的表達式是29。

    A*(p1+1)=1    Bp1[1][1]=1

C*(*(p2+1)+1)=1    Dp2[1][1]=1

  30.設有結(jié)構(gòu)定義及變量聲明如下:

    struct product

    {char code[5];

    float price;

    }y[4]={"100",100}"

  以下表達式中錯誤的是____(30)_____。

  A.(*y).code[0]='2';    B.y[0].code[0]='2';

  C.y->price=10;         D.(*y)->price=10;

  二、填空題(將答案填寫在答題紙的相應答題號內(nèi),每個答案只占一行,30)

  ●基本概念

  1.在一個C語言源程序中,必不可少的是(1)  。

  2.若有聲明"int x;"sizeof(x)的值為2,則當x值為( 2 )"x+1>x"為假。

  3.若有聲明"float y=3.14619;int x;",則計算表達式"x=y*100+0.5,Y=x/100.0"y

的值是(3)  。

  4.執(zhí)行以下程序段中的語句"k=M*M+1"k的值是(4)

    #define N 2

    #define M N+1

    k=M*M+1

  ●閱讀程序

  5.以下程序運行時輸出結(jié)果是(5) 

    #include<stdio.h>

    void main()

    {double x[3]={1.1,2.2,3.3},Y;

    FILE *fp=fopen("d:\\a.out","wb+");

    fwrite(x,sizeof(double),3,fp)"

    fseek(fp,2L*sizeof(double),SEEK_SET);

    fread(&y,sizeof(double),1,fp)"

    printf("%.1f",y);

    fclose(fp)"

    }

  6.以下程序運行時輸出結(jié)果是(6)。

    #include<stdio.h>

    void main()

    {  int k=5,n=0;

    while(k>0)

    {  switch(k)

       {  case 1:

          case 3:n+=1;k--;break"

          default:n=0;k--;

          case 2:

          case 4: n+=2;k--;break;

       }

    }

    printf("%3d",n);

    }

   }

7.以下程序運行時輸出結(jié)果是(7) 

    #include<stdio.h>

    void change(int x,int Y,int *z)

    {  int t;

       t=x;x=y;y=*z;*z=t;

    }

    void main()

    {  int x=18,y=27,z=63;

       change(x,y,&z);

       printf("x=%d,y=%d,z=%d\n",x,y,z);

    }

8.以下程序運行時輸出結(jié)果是(8)  。

    #include<stdio.h>

    int f(int x,int y)

    {retum x+y;  }   

    void main()

    {double a=5.5,b=2.5;

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

    }

9.以下程序運行時輸出結(jié)果中第-行是  (9) ,第三行是(10) 

    #include<stdio.h>

    define N 5

    void main()

    {  static char a[N][N];

       int i,j,t,start=0,end=N-1;

       char str[]="123",ch;

       for(t=0;t<=N/2;t++)

       {  ch=str[t];

          for(i=j-start;i<end;i++)a[i][j]=ch;

          for(j=start;j<end;j++)a[i][j]=ch;

          for(i=end;i>start;i--)a[i][j]=ch;

          for(j=end;j>start;j--)a[i][j]=ch;

          if(start==end) a[start][end]=ch;

          start++,end--;

       }

       for(i=O;i<N;i++)   

       {  for(j=0;j<N;j++)

           printf("%c",a[i][j]);

          printf("\n");

        }

    }

10.以下程序運行時輸出結(jié)果中第一行是(11),第二行是(12)。

    #include<stdio.h>

    void fun(int x,int P[],int *n)

    {  int i,j=O;

       for(i=1;i<=x/2;i++)

         if(x%i==0)p[j++]=i;

       *n=j

    }

    void main()

    {int x,a[10],n,i;

    fun(27,a,&n);

    for(i=0;i<n;i++)

       printf("%5d",a[i]);

    printf("\n%5d",n);

    }

11.以下程序運行時輸出結(jié)果是(11)  。

    #include<stdio.h>

    #include<ctype.h>

    int count(char s[])

    {  int i=0;

       if(s[i]=='\0')  return 0;

       while(isalpha(s[i]))i++;

       while(!isalpha(s[i])&&s[i]!='\O')i++;

       return 1+count(&s[i]);

    }

    void main()

    {char line[]="one world,one dream.";

     printf("%d",count(line));

    }    .

12.以下程序運行時輸出結(jié)果中第一行是  (14 ,第二行是(15)

    #include<stdio.h>

    int fun(char *a,char *b)

    {int m=0,n=0

    while(*(a+m)!='\0')m++;   

    while(b[n])

    { *(a+m)=b[n];m++;n++;    }

      *(a+m)='\0';

    return m;

    }

    void main()

    {char s1[20]="yes",s2[5]="no";

    printf("%d\n",fun(s1,s2));

    puts(s1);

    }

13.以下程序運行時輸出結(jié)果中第-行是  (16)  ,第二行是  (17) ,第三行是( 18 )

    #include<stdio.h>

    typedef struct{int x;int y;}S;

    void fun(S pp[],int n)

    {int i,j,k;S t;

      for(i=0;i<n-1;i++)

      {  k=i;

       for(j=i+1;j<n;j++)

          if((pp[j].x<pp[k].x)||(pp[j].x==pp[k].x&&pp[j].y<pp[k].y))

           k=j;

          if(k!=i)

           {t=pp[i];pp[i]=pp[k];pp[k]=t;}

      }

    }

    void main()

    {S a[5]={{3,2},{3,1},{1,2},{2,4},{2,3}};

     int i,n=5;

    fun(a,n);

    for(i=0;i<n;i++)

      printf("%d,%d\n",a[i].x,a[i].y);

    }    .

  完善程序

  14?以下程序求一組整數(shù)的最大公約數(shù)。試完善程序以達到要求的功能。

    #include<stdio.h>

    int gcd(int a,int b)    i

    {int r;

      while(_____(19)_______)

      {r=a%b;a=b;(_____20_____);}

       return a;

    }

    void main()

    {int x,i,a[6]={12,56,48,32,16,24};

    x= (___21_____)    ;

    for(i=1;i<6;i++)

    x=gcd(___(22)_____,a[i]);

    printf("(%d,",a[O]);

    for(i=1;i<5;i++)

      printf("%d,",a[i]);

    printf("%d)=;d\n",a[5],x);

    }

    15.以下程序完成兩個長正整數(shù)的加法運算并輸出計算結(jié)果。函數(shù)add模擬手工加法運

算的過程,ab指向的數(shù)組中存儲的兩個以字符串形式表示的n位正整數(shù)相加,并將運算

結(jié)果以字符串形式保存到c指向的數(shù)組中。main函數(shù)中plp2數(shù)組分別存放被加數(shù)字符串

和加數(shù)字符串,p3數(shù)組存放運算結(jié)果字符串。若p1中的字符串為"1000000001"p2中的字

符串為"9000000009",調(diào)用add函數(shù)后p3得到的是以字符串表示的這兩個整數(shù)相加的結(jié)果

"10000000010"。試完善程序以達到要求的功能。

    #include "stdio.h"

    #include "string.h"

    void add(char a[],char b[],char c[],__(23)____)

    {int i,k;

    c[n]='\0';k=0;

    for(i=n-1;i>=0;i--)

    {c[i]=(a[i]-'O')+(b[i]-'0')+k;

     k=______(24)______;

     c[i]=c[i]%10+'0';

    }

    if(k)

    {for(i=n+1;i>O;i--)

      c[i]=___(25)____;

     c[i]=k+'0';

    }

    }

    void main()

    {char p1[80]="1000000001",pz[80]="9000000009",p3[80];

    int i,x=strlen(p1),y=strlen(p2);

    if(x<y)

    { for(i=x;i>=0;i--)

      {p1[i+y-x]=p1[i];p1[i]='0';}

       _____(26)______;

    }

    if(x>y)

     for(i=y;i>=0;i--)

     {p2[i+x-y]=p2[i];p2[i]='0';}

    add(p1,p2,p3,x);

    puts(p3);

    }

    16.以下程序創(chuàng)建-個鏈表并實現(xiàn)數(shù)據(jù)統(tǒng)計功能。函數(shù)WORD *create(char a[][20],

  int n)創(chuàng)建-個包含n個結(jié)點的單向鏈表,結(jié)點數(shù)據(jù)來自a指向的數(shù)組中存儲的n個單詞

  (字符串)。函數(shù)void count(WORD *h)統(tǒng)計h指向的單向鏈表中不同單詞各自出現(xiàn)的次數(shù),

  將統(tǒng)計結(jié)果保存到局部數(shù)組c中并輸出。程序運行時輸出結(jié)果為"red:1  green:2  blue:3"

  試完善程序以達到要求的功能。

    #include "stdio.h"

    #include "stdlib.h"

    #include "string.h"

    typedef struct w

    {char word[20];

    struct w *next

    }WORD;

    WORD *create(char a[][20],int n)

    {WORD *p1,*p2,*h=0;int i;   

    for(i=0;i<n;i++)

    {p1=(WORD *)malloc(sizeof(WORD));

    strcpy(___(27)___,a[i]);

    if(h==O)

      h=p2=p1

    else

    {p2->next=p1;p2=pl;}

    }

    p2->next=_____(28)____;

    return h;

    }

    void count(WORD *h)

    {  struct

       {char word[20];

        int num;

       }c[6]={0};

    int m=0,i;

    while(h)

    {if(m==O)

      {strcpy(c[0].word,h->word);

       c[0].num=1;m++;   

      }

    else

    {for(i=O;i<m;i++)

       if(strcmp(c[i].word,h->word)==0)

        {  ______(29)_____  ;

           break;

        }

       if(i>=m)

       {strcpy(c[m].word,h->word);

        c[m++].num=1;

       }

    }

    ____(30)_____;

    }

    for(i=0;i<m;i++)

      printf("%s%d",c[i].word,c[i].num);

    }

    void main()

    {char words[6][20]={"red","green","blue","blue","green","blue"};

    WORD *head=0

    head=create(words,6);

    count(head);

    }

 

    第一部分計算機基礎知識

1.  在下列有關現(xiàn)代信息技術的一些敘述中,正確的是    1   

  A.集成電路是20世紀90年代初出現(xiàn)的,它的出現(xiàn)直接導致了微型計算機的誕生

  B.集成電路的集成度越來越高,目前集成度最高的已包含幾百個電子元件

  C.目前所有數(shù)字通信均不再需要使用調(diào)制解調(diào)技術和載波技術

  D.光纖主要用于數(shù)字通信,它采用波分多路復用技術以增大信道容量‘    .

2.  最大的10位無符號二進制整數(shù)轉(zhuǎn)換成八進制數(shù)是    2    .。

  A.1023    B.1777

  C.1000    D.1024

3.  在下列有關目前PCCPU的敘述中,錯誤的是    3  

    A.CPU芯片主要是由Intel公司和AMD公司提供的

    B."雙核"是指PC機主板上含有兩個獨立的CPU芯片

    C.Pentium 4微處理器的指令系統(tǒng)由數(shù)百條指令組成

    D.Pentium 4微處理器中包含一定容量的Cache存儲器

4.  在下列有關當前PC機主板和內(nèi)存的敘述中,正確的是    4    。

    A.主板上的BIOS芯片是一種只讀存儲器,其內(nèi)容不可在線改寫

    B.絕大多數(shù)主板上僅有一個內(nèi)存插座,因此PC機只能安裝一根內(nèi)存條

    C.內(nèi)存條上的存儲器芯片屬于SRAM(靜態(tài)隨機存取存儲器)

    D.目前內(nèi)存的存取時間大多在幾個到十幾個ns(納秒)之間

5.  在下列有關PC機輔助存儲器的敘述中,正確的是    5    。

    A.硬盤的內(nèi)部傳輸速率遠遠大于外部傳輸速率

    B.對于光盤刻錄機來說,其刻錄信息的速度一般小于讀取信息的速度

    C.使用USB 2.0接口的移動硬盤,其數(shù)據(jù)傳輸速率大約為每秒數(shù)百兆字節(jié)

    D.CD-ROM的數(shù)據(jù)傳輸速率一般比USB 2.0還快

6.  在下列PCI/O接口中,數(shù)據(jù)傳輸速率最快的是    6    。

    A.USB 2.0          B.IEEE-1394

    C.IrDA (紅外)      D.SATA

 7.  計算機軟件可以分為商品軟件、共享軟件和自由軟件等類型。在下列相關敘述中,錯誤的是    7   

    A.通常用戶需要付費才能得到商品軟件的使用權,但這類軟件的升級總是免費的

    B.共享軟件通常是一種"買前免費試用"的具有版權的軟件

    C.自由軟件的原則是用戶可共享,并允許拷貝和自由傳播

    D.軟件許可證是一種法律合同,它確定了用戶對軟件的使用權限

8.  人們通常將計算機軟件劃分為系統(tǒng)軟件和應用軟件。下列軟件中,不屬于應用軟件類型的是    8  

    A.AutoCAD     B.MSN    C.Oracle      D.Windows Media Player

9.  在下列有關Windows 98/2000/XP操作系統(tǒng)的敘述中,錯誤的是    9   

    A.系統(tǒng)采用并發(fā)多任務方式支持多個任務在計算機中同時執(zhí)行

    B.系統(tǒng)總是將一定的硬盤空間作為虛擬內(nèi)存來使用

    C.文件()名的長度可達200多個字符

    D.硬盤、光盤、優(yōu)盤等均使用FAT文件系統(tǒng)

10. 在下列有關算法和數(shù)據(jù)結(jié)構(gòu)的敘述中,錯誤的是    10   

    A.算法通常是用于解決某一個特定問題,且算法必須有輸入和輸出

    B.算法的表示可以有多種形式,流程圖和偽代碼都是常用的算法表示方法

    C.常用的數(shù)據(jù)結(jié)構(gòu)有集合結(jié)構(gòu)、線性結(jié)構(gòu)、樹形結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)等

    D.數(shù)組的存儲結(jié)構(gòu)是一種順序結(jié)構(gòu)

11•因特網(wǎng)的IP地址由三個部分構(gòu)成,從左到右分別代表    11    。

    A.網(wǎng)絡號、主機號和類型號

    B.類型號、網(wǎng)絡號和主機號

    C.網(wǎng)絡號、類型號和主機號

    D.主機號、網(wǎng)絡號和類型號

12•在下列有關ADSL技術及利用該技術接入因特網(wǎng)的敘述中,錯誤的是    12    。

    A.從理論上看,其上傳速度與下載速度相同

    B.一條電話線上可同時接聽/撥打電話和進行數(shù)據(jù)傳輸

    C.利用ADSL技術進行數(shù)據(jù)傳輸時,有效傳輸距離可達幾公里

    D.目前利用ADSL技術上網(wǎng)的計算機一般需要使用以太網(wǎng)網(wǎng)卡

13.人們往往會用"我用的是10M寬帶上網(wǎng)"來說明白己計算機連網(wǎng)的性能,這里的"10M"

  指的是數(shù)據(jù)通信中的    13    指標。

  A.最高數(shù)據(jù)傳輸速率

  B.平均數(shù)據(jù)傳輸速率

  C.每分鐘數(shù)據(jù)流量

  D.每分鐘IP數(shù)據(jù)包的數(shù)目

14•計算機局域網(wǎng)按拓撲結(jié)構(gòu)進行分類,可分為環(huán)型、星型和    14    型等。

  A.電路交換

  B.以太  

  C.總線

  D.對等

15.網(wǎng)絡信息安全主要涉及數(shù)據(jù)的完整性、可用性、機密性等問題。保證數(shù)據(jù)的完整性就是 15  

  A.保證傳送的數(shù)據(jù)信息不被第三方監(jiān)視和竊取

  B.保證發(fā)送方的真實身份

  C.保證傳送的數(shù)據(jù)信息不被篡改

  D.保證發(fā)送方不能抵賴曾經(jīng)發(fā)送過某數(shù)據(jù)信息

16.某計算機系統(tǒng)中,西文使用標準ASCII碼、漢字采用GB2312編碼。設有一段純文本,其機內(nèi)碼為CB F5 DO B4 50 43 CA C7 D6 B8,則在這段文本中含有:  16   

    A.2個漢字和1個西文字符

    B.4個漢字和2個西文字符   

    C.8個漢字和2個西文字符

    D.4個漢字和1個西文字符

17.以下關于漢字編碼標準的敘述中,錯誤的是   17   

    A.GB 2312標準中所有漢字的機內(nèi)碼均用雙字節(jié)表示      

    B.我國臺灣地區(qū)使用的漢字編碼標準BIG 5收錄的是繁體漢字

    C.GB 18030漢字編碼標準收錄的漢字在GB 2312標準中一定能找到

    D.GB 18030漢字編碼標準既能與UCS(Unicode)接軌,又能保護已有中文信息資源

18.若波形聲音未進行壓縮時的碼率為64kb/s,已知取樣頻率為8kHz,量化位數(shù)為8,那么它的聲道數(shù)是    18   

  A.1    B.2   C.4 D.8 

19.從信息處理的深度來區(qū)分信息系統(tǒng),可分為業(yè)務處理系統(tǒng)、信息檢索系統(tǒng)和信息分析系統(tǒng)等。在下列幾種信息系統(tǒng)中,不屬于業(yè)務處理系統(tǒng)的是    19   

    A.DSS  B.CAI   C.CAM   D.OA

 20.在下列有關信息系統(tǒng)開發(fā)、管理及其數(shù)據(jù)庫設計的敘述中,錯誤的是    20    。

    A.常用的信息系統(tǒng)開發(fā)方法可分為結(jié)構(gòu)化生命周期方法、原型法、面向?qū)ο蠓椒ê?/SPAN>CASE方法等

    B.在系統(tǒng)分析中常常使用結(jié)構(gòu)化分析方法,并用數(shù)據(jù)流程圖和數(shù)據(jù)字典來表達數(shù)據(jù)和處理過程的關系

    C.系統(tǒng)設計分為概念結(jié)構(gòu)設計、邏輯結(jié)構(gòu)設計和物理結(jié)構(gòu)設計,通常用E-R模型作為描述邏輯結(jié)構(gòu)的工具

    D.從信息系統(tǒng)開發(fā)過程來看,程序編碼、編譯、連接、測試等屬于系統(tǒng)實施階段的工作

1.D  2.B  3.B  4.D  5.B  6.D    7.A  8.C  9.D  10.A  11.B  12.A  13.A  14.C  15.C  16.B  17.C  18.A  19.A  20.C

21.B   22.D 23.C 24.A  25. A  26.C 27.D 28.B 29.B 30.D

二:填空

(1)main函數(shù)定義  (2)32767  (3)3.15    (4)  6    (5)3.3   (6)2   3    5   6  (7)x=18, y=27 , z=18     (8)7

(9)11111   (10)12321    (11)1    3    9   (12)3    (13)4     (14)5   (15)yesno    (16)1,2    (17)2,3   (18)2,4     (19)b或b!=0

(20)b=r     (21)a[0]   (22)x          (23)int n    (24)c[i]/10        (25)c[i-1]     (26)x=y          (27)p1->word

(28)0或NULL     (29)c[i].min++               (30)h=h->next