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

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
2011年春江蘇省計(jì)算機(jī)二級(jí)C考試筆試真題

絕密★ 啟用前

2011年春

江蘇省高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生

計(jì)算機(jī)基礎(chǔ)知識(shí)和應(yīng)用能力等級(jí)考試

二級(jí)試卷

試卷語(yǔ)種:C語(yǔ)言

 

  明:

1.本試卷包括計(jì)算機(jī)基礎(chǔ)知識(shí)部分和程序設(shè)計(jì)部分,考試時(shí)間共12 0分鐘;

2.本試卷滿分為60,分選擇題和填空題,試卷不分AB類型;

3.計(jì)算機(jī)基礎(chǔ)知識(shí)部分全部是選擇題(20),程序設(shè)計(jì)部分分為選擇題(1 0

  )和填空題(30)兩種;

4.選擇題用答題卡答題。每一項(xiàng)有AB、CD四個(gè)可供選擇的答案,請(qǐng)選

  擇其中一個(gè)你認(rèn)為正確的答案,HB鉛筆涂寫在答題卡的相應(yīng)答題號(hào)內(nèi)。

  每選對(duì)一項(xiàng)得1,不選或選錯(cuò)不得分;

5.填空題用答題紙答題。請(qǐng)將答案用藍(lán)、黑色鋼筆或圓珠筆填寫在答題紙的

  相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行,不得換行。每填對(duì)一個(gè)答案得1,

  不填或填錯(cuò)不得分;

6.請(qǐng)認(rèn)真填寫并仔細(xì)核對(duì)答題卡和答題紙上的學(xué)校名稱、準(zhǔn)考證號(hào)和姓名是

  否填寫正確。

7.考試結(jié)束時(shí)將試卷、答題卡和答題紙放在桌上,不得帶走。待監(jiān)考人員收

  畢清點(diǎn)后,方可離場(chǎng)。

 

第一部分計(jì)算機(jī)基礎(chǔ)知識(shí)

1.下列有關(guān)通信技術(shù)的敘述中,錯(cuò)誤的是___(1)___ 。

  A  無論是模擬通信還是數(shù)字通信,目前都是通過載波技術(shù)實(shí)現(xiàn)遠(yuǎn)距離的信息傳輸

  B  多路復(fù)用技術(shù)可以降低信息傳輸?shù)某杀?SPAN lang=EN-US>,常用的多路復(fù)用技術(shù)有TDMFDM

  C  衛(wèi)星通信屬于微波通信,它是微波接力通信技術(shù)和空間技術(shù)相結(jié)合的產(chǎn)物

  D  目前3G移動(dòng)通信有多種技術(shù)標(biāo)準(zhǔn),我國(guó)三大電信運(yùn)營(yíng)商均采用同一標(biāo)準(zhǔn)

2.使用存儲(chǔ)器存儲(chǔ)二進(jìn)位信息時(shí),存儲(chǔ)容量是一項(xiàng)很重要的性能指標(biāo)。存儲(chǔ)容量的單位有多種,下面不是存儲(chǔ)容量單位的是___(2)___    。

    A  TB

    B  XB

    C  GB   

    D  MB  

3.設(shè)有補(bǔ)碼表示的兩個(gè)單字節(jié)帶符號(hào)整數(shù)a=01001110b=01001111。則a-b的結(jié)果用補(bǔ)碼表示為___(3)___  。

    A  11111111

    B  10011101

    C  00111111

    D  10111111

4  下列有關(guān)PC機(jī)主板上BIOSCMOS的敘述中,錯(cuò)誤的是___(4)___ 

  A  BIOS芯片是一塊閃爍存儲(chǔ)器,其存儲(chǔ)的信息關(guān)機(jī)后不會(huì)丟失

  B  BIOS中包含加電自檢程序、系統(tǒng)自舉程序等

  C  CMOS芯片屬于易失性存儲(chǔ)器,它使用電池供電

  D  CMOS中存放著與硬件相關(guān)的一些配置信息,以及CMOS設(shè)置程序

5  下列有關(guān)PC機(jī)中央處理器(CPU)和內(nèi)存(內(nèi)存條)的敘述中,錯(cuò)誤的是___(5)___ 

  A  目前PC機(jī)所使用的PentiumCore 2微處理器的指令系統(tǒng)有數(shù)百條不同的指令

  B  所謂雙核CPU或四核CPU,是指CPU由兩個(gè)或四個(gè)芯片組成

  C  DDR內(nèi)存條、DDR2內(nèi)存條在物理結(jié)構(gòu)上有所不同,例如它們的引腳數(shù)目不同

  D  通常臺(tái)式機(jī)中的內(nèi)存條與筆記本電腦中的內(nèi)存條不同,不能互換

6  下列有關(guān)PC機(jī)I/O總線與I/O接口的敘述中,正確的是___(6)___  。

  APC機(jī)中串行總線的數(shù)據(jù)傳輸速率總是低于并行總線的數(shù)據(jù)傳輸速率

  B  SATA接口主要用于連接光驅(qū),不能連接硬盤

  C  通過USB集線器,一個(gè)USB接口理論上可以連接127個(gè)設(shè)備

  D  IEEEl394接口的連接器與USB連接器完全相同,均有6根連接線

7  藍(lán)光光盤(BD)是全高清影片的理想存儲(chǔ)介質(zhì),其單層盤片的存儲(chǔ)容量大約為___(7)___

  A4.7GB

  B. 8.5GB

  C17GB

  D25GB

8  下列有關(guān)PC機(jī)常用I/O設(shè)備(性能)的敘述中,錯(cuò)誤的是___(8)___。

  A  通過掃描儀掃描得到的圖像數(shù)據(jù)可以保存為多種不同的文件格式,例如JPEG TIF

  B  目前數(shù)碼相機(jī)的成像芯片均為CCD類型,存儲(chǔ)卡均為SD

  C  刷新速率是顯示器的主要性能參數(shù)之一,目前PC顯示器的刷新速率一般在60Hz以上

D  從彩色圖像輸出來看,目前噴墨打印機(jī)比激光打印機(jī)有性價(jià)比優(yōu)勢(shì)

9  下列有關(guān)計(jì)算機(jī)軟件的敘述中,錯(cuò)誤的是___(9)___   ·

    A  軟件的主體是程序,單獨(dú)的數(shù)據(jù)和文檔資料不能稱為軟件

    B  軟件受知識(shí)產(chǎn)權(quán)(版權(quán))法的保護(hù),用戶購(gòu)買軟件后僅得到了使用權(quán)

    C  軟件的版權(quán)所有者不一定是軟件的作者(設(shè)計(jì)人員)

    D  共享軟件允許用戶對(duì)其進(jìn)行修改,且可在修改后散發(fā)

10PC機(jī)從硬盤啟動(dòng)Windows XP操作系統(tǒng)是一個(gè)比較復(fù)雜的過程·在這個(gè)過程中,它需

  要經(jīng)過以下這些步驟:

  I.裝入并執(zhí)行引導(dǎo)程序

  .讀出主引導(dǎo)記錄

  Ⅲ.裝入并執(zhí)行操作系統(tǒng)

  .加電自檢

在上述步驟中,正確的工作順序是___(10)___

A  I、、、

B  、I、lI、

C  、II、I、

D  、、III

11.下列有關(guān)算法和程序關(guān)系的敘述中,正確的是___(11)___

  A  算法必須使用程序設(shè)計(jì)語(yǔ)言進(jìn)行描述

  B  算法與程序是一一對(duì)應(yīng)的

  C  算法是程序的簡(jiǎn)化

  D  程序是算法的具體實(shí)現(xiàn)

12.采用ADSL方式接入因特網(wǎng)時(shí),ADSLModem將電話線傳輸信道分為三個(gè)信息通道:

  語(yǔ)音通道、上行數(shù)據(jù)通道、下行數(shù)據(jù)通道。下列有關(guān)這三個(gè)信息通道的敘述中,錯(cuò)誤

的是 ___(12)___ ·

A  語(yǔ)音通道的頻帶最寬、采用的頻率最高,以保證電話通話的質(zhì)量

B  通常上行數(shù)據(jù)通道的數(shù)據(jù)傳輸速率低于下行數(shù)據(jù)通道的數(shù)據(jù)傳輸速率

C  ADSL的數(shù)據(jù)傳輸速率是根據(jù)線路情況自動(dòng)調(diào)整的

D  這三個(gè)信息通道可以同時(shí)工作,即可以同時(shí)傳輸信息(數(shù)據(jù))

13.無線局域網(wǎng)是以太網(wǎng)與無線通信技術(shù)相結(jié)合的產(chǎn)物,其采用的網(wǎng)絡(luò)協(xié)議主要是IEEE

制訂的___(13)___  

A  IEEE 8023

B IEEE 80211

C  IEEE 1394

D  IEEE 1394b

14.在因特網(wǎng)中目前主要采用IPv4協(xié)議,IP地址長(zhǎng)度為32,只有大約36億個(gè)地址。新的第6IP協(xié)議(IPv6)已經(jīng)將IP地址的長(zhǎng)度擴(kuò)展到___(14)___ ,幾乎可以不受限制地提供地址。

    A  48

    B  64

    C  128

    D  256   

15.因特網(wǎng)由大量的計(jì)算機(jī)和信息資源組成,它為網(wǎng)絡(luò)用戶提供了非常豐富的網(wǎng)絡(luò)服務(wù)。 下列與www服務(wù)相關(guān)的敘述中,錯(cuò)誤的是___(15)___    。

  A.  WWW采用客戶機(jī)/服務(wù)器工作模式

  B  網(wǎng)頁(yè)到網(wǎng)頁(yè)的鏈接信息由URL指出

  C  瀏覽器是客戶端應(yīng)用程序  

  D  所有的網(wǎng)頁(yè)均是HTML文檔

16.目前Windows操作系統(tǒng)支持多種不同語(yǔ)種的字符集,即使同一語(yǔ)種(例如漢語(yǔ))也可

  有多種字符集。下列字符集中,不包括臺(tái)、等繁體漢字的是___(16)___   

  A  GBK

  B  Big5

  C  GB2312

  D  GBl8030

17.下列與數(shù)字圖慟圖形相關(guān)的敘述中,錯(cuò)誤的是___(17)___    。

A.  彩色圖像在數(shù)字化過程中需進(jìn)行分色處理,然后對(duì)不同的基色進(jìn)行取樣和量化

B.  如果某RGB圖像的像素深度為12,則可表示的顏色數(shù)目為2

C.  數(shù)碼相機(jī)常用JPEG格式保存圖像文件,該格式的圖像大多采用有損壓縮編碼

D.圖形是計(jì)算機(jī)合成的圖像,也稱為矢量圖形

18.文件的擴(kuò)展名用于標(biāo)記文件的類型,用戶應(yīng)該盡可能多地知曉各類文件的擴(kuò)展名。下列文件中,屬于數(shù)字視頻的文件是___(18)___

  A  ABCRMVB

  B  ABCDLL

  C  ABCPDF

  D  ABCMIDI

19.下列幾種類型的系統(tǒng)軟件中,不屬于計(jì)算機(jī)集成制造系統(tǒng)(CIMS)范疇(或者說,CIMS無直接關(guān)系)的是___(19)___。

  A  GIS

  B  CAM

  C  MRP

  D  ERP

20下列有關(guān)Microsoft PowerPoint 2003Microsoft FrontPage 2003軟件的敘述中,錯(cuò)誤的是  20  。

A.  型用PowerPoint編輯演示文稿時(shí),可以將每張幻燈片保存為JPEG圖片

B.  利用PowerPoint編輯演示文稿時(shí),可以錄制聲音    。

C.  利用FrontPage制作網(wǎng)頁(yè)時(shí),無法直接查看網(wǎng)頁(yè)的HTML代碼

D.  利用FrontPage制作網(wǎng)頁(yè)時(shí),背景圖片可以設(shè)置為水印效果

 

 

第二部分C語(yǔ)言程序設(shè)計(jì)

一、選擇題(用答題卡答題,答案依次填在21--30答題號(hào)內(nèi),1O)

21.以下關(guān)于預(yù)處理命令的敘述中錯(cuò)誤的是___(21)_____ 。

  A.預(yù)處理命令由預(yù)處理程序解釋

  B.程序中的預(yù)處理命令是以#開始的

  C.若在程序的一行中出現(xiàn)多條預(yù)處理命令,這些命令都是有效的

  D.預(yù)處理命令既可以出現(xiàn)在函數(shù)定義的外部,也可以出現(xiàn)在函數(shù)體內(nèi)部

22.有如下程序段:

    char p1[80]=”NanJing",p2[20]=“Young",*p32=”O(jiān)lympic”;

    strcpy(p1,strcat(p2,p3));

    printf(“%s\n”,p1);

    執(zhí)行該程序段后的輸出是______(22)______

    ANanJingYoungOlympic    BYoungOlympic

    COlympic                DNanJing

23。已知有聲明”int x[2][3]={0},*p=x[0];”,以下表達(dá)式中有語(yǔ)法錯(cuò)誤的是__(23)____ ·

  Ax[0]=1    Bp[0]=1    C*p=1      D.x[0][O]=1

24.程序中已有預(yù)處理命令”#include <math.h>“和聲明”char x=4,y,*z;”,以下表達(dá)式中能通過編譯且無警告信息的是___(24)___ 

    Ay=sqrt(x)%2    By=“x”    Cy=’x’+1   D.y=&’x’

25.已知有定義和聲明:

    struct 

    {int x;}a[4]={{1},{1},{4},{6}},b;

    以下語(yǔ)句中語(yǔ)法正確的是___(25)___    。

    Aif(a[0]==a[1]) b=a[O];         Bif(a[0].x==a[1].x) b=a[0];

    Cif(a[0]>x==a[1]->x) b=a[0];   D。if(!(a[0]-a[1]))  b=a[0];

26已有聲明”int x,a=3,b=2;”,則執(zhí)行賦值語(yǔ)句”x=a>b++?a++b++;”,變量xa、b的值分別為___(26)___ 。

    A3 4 3    B3 3 4    C3 3 3 D4 3 4

 27下面選項(xiàng)中可用作變量名的是___(27)___

    ACase    Ba-b    C$cd   D2ab

 28.執(zhí)行以下程序后的結(jié)果是___(28)___

    #include<stdioh>

    void main()

    {  int x=3;

       do

      {

        printf(“%d\t”,x=x-3);

      }while(!x);

    }

    A.輸出一個(gè)數(shù):0         B.輸出一個(gè)數(shù);3

    C.輸出2個(gè)數(shù):0-3    D.無限循環(huán),反復(fù)輸出數(shù)

29.以下關(guān)予c語(yǔ)言函數(shù)的敘述中,正確的是___(29)___ 。

    A.在一個(gè)函數(shù)體中可以定義另一個(gè)函數(shù),也可以調(diào)用其他函數(shù)

    B.在一個(gè)函數(shù)體中可以調(diào)用另一個(gè)函數(shù),但不能定義其他函數(shù)    +

    C.在一個(gè)函數(shù)體中不可調(diào)用另一個(gè)囂數(shù),也不能定義其他函數(shù)

    D。在一個(gè)函數(shù)體中可以定義另一個(gè)函數(shù),但不能調(diào)用其他函數(shù)

30.設(shè)有聲明”int a=4,b=3,c=5;”,以下4個(gè)程序段中有3個(gè)程序段的執(zhí)行效果是相同的,另一個(gè)執(zhí)行效果不同的是___(30)___ 。

A。if(a>b)c=a,a=b,b=c;

Cif(a>b)c=a;a=b;b=c;

Bif(a>b){c=a,a=b,b=c;}

Dif(a>b){c=a;a=b;b=c;}

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

  基本概念

1.除goto語(yǔ)句外,在循環(huán)結(jié)構(gòu)中執(zhí)行___(1)____語(yǔ)句可提前結(jié)束本次循環(huán)直接進(jìn)入下一次循環(huán).

2.若有程序段”int a[10],*p=a,*q;q=&a[5];”,則表達(dá)式q-p的值是___(2)___  。

3.執(zhí)行語(yǔ)句序列”int a,b;a=b=4;a+=b%3;”,變量ab的值分別是___(3)___    。

4.執(zhí)行程序段”int x=0x6c;printf(“x=%x\n”,x);”后的輸出結(jié)果為___(4)___  。

5.使用TURBO C系統(tǒng)編譯C語(yǔ)言源程序后生成的文件名后綴是___(5)___ 

·  閱讀程序

6.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(6)___ 

  #include<stdio.h>

  #define L 10

  #define C L+L

  void main()

  { int  Area;

    Area=C*L;

    printf(“%d\n”,Area);

   }

7.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(7)___    。

    #include <stdio.h>

    enum{A,B,C=4} i;

    void main()

    { int k=0;

      for(i=B;i<C;i++)

        k++;

      printf(“%d”,k);

    }

8.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(8)___

 #include<stdio.h>

  void fun(int a)

  {  printf("%d",a%10);

     if((a=a/10)!=0) fun(a);

  }

  void main()

  {int a=-13; 

    if(a<0)

    {printf("-");

     a=-a;

    }

    fun(a);

   }

 

9.以下程序運(yùn)行時(shí)若輸入”2010 10”,則輸出到屏幕的結(jié)果中第一行是___(9)___ ,第三行是___(10)___    ·

 #include<stdio.h>

#include <string.h>

char *fun(int n)

{  static char s[20];

   static int c;

   char t[10]={0},i=0,j,k;

   while(n>0)

     t[i++]=n%10+'0',n=n/10;

   puts(t);

   for(j=0;j<i/2;j++)

        k=t[j],t[j]=t[i-1-j],t[i-1-j]=k;

   strcat(s,t);

   if(c<1)

   {strcat(s,"/");c++;}

   else

     strcat(s,"\0");

   return s;

}

void main()

{  int i,m;char *p;

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

   {scanf("%d",&m);

    p=fun(m);

   }

  puts(p);

}

1O.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(11)___,第二行是___(12)___   ,

  #include<stdio.h>

 #define M 3

 #define N 4

 void fun(int a[M][N])

 {  int i,j,p;

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

    {  p=0;

       for(j=1;j<N;j++)

        if(a[i][p]>a[i][j]) p=j;

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

    }

  }

  void main()

  {  int a[M][N]={{-1,5,7,4},{5,2,4,3},{8,2,3,0}};

     fun(a);

   }

11.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(13)___,第二行是___(14)___   ,

  #include<stdio.h>

  int f(int *x,int *y,int z)

  {   *x=*y;

      *y=z;

      z=*x;

      return  z;

  }

  void main()

  {  int a=1,b=2,c=3,d;

     d=f(&a,&b,c);

     printf(“%2d%2d\n%2d%2d_\ll”,a,b,c,d);

  }

12.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(15)___,第二行是___(16)___    ,

    #include  "stdio.h"

struct grade

{  int id;

   char level[3];

   int score[3];

};

char fun(struct grade *t)

{  int i,count=0,total=0;

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

   {  if(t->level[i]=='A')count++;

      total=total+t->score[i];

    }

    total=total+count;

    if(count==3)total++;

    return(total>380?'Y':'N');

}

void main()

{  int i;

   struct grade stu[3]={{106,"AAA",130,132,115},

   {107,"BAB",113,125,104},

   {109,"AAB",128,135,114}};

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

      printf("\%d  %c\n",stu[i].id,fun(&stu[i]));

}

13.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(17)___。第二行是___(18)___   

  #include  <stdio.h>

int fun(int a[],int *p)

{  int i,n;

     n=*p;

     p=&a[n-1];

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

       if(a[i]>*p) p=&a[i];

     return *p;

}

void main()

{  int a[5]={18,2,16,3,6},x=5,y;

     y=fun(a,&x);

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

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

}

·  完善程序

14.以下程序的功能是驗(yàn)證下列公式是否成立。請(qǐng)完善程序使其達(dá)到要求的功能。

x取某一值時(shí)公式等號(hào)左側(cè)的函數(shù)值表示為f(x),等號(hào)右側(cè)的級(jí)數(shù)值表示為g(x),f(x)g(x)的相對(duì)誤差小于10 ,即認(rèn)為f(x)g(x)相等。計(jì)算g(x)時(shí),當(dāng)最后一項(xiàng)的絕對(duì)值小于10 時(shí)停止累加。

f(x)g(x)的相對(duì)誤差計(jì)算公式:

include<stdio.h>

#include<math.h>

void main()

{double x,f,g,term;

 int n;

 printf(“\n input x(-1<x<1):”); 

 scanf(“___(19)___“,&x);

 f=1/______(20)_____    ;

 n=1;

 g=term=1;

 while(fabs(term)>1e-10)

 {term=term* ___(21)___)    ;

  g=g+term;

   ___(22)___ ;

   }

   if(fabs(f-g)/(fabs(f)+fabs(g))<1e-6)

      printf(“\ntrue x=%f,f=%f,g=%f”,x,f,g);

   else

      printf(“\nfalse x=%f,f=%f,g=%f”,x,f,g);

   }

15  以下程序的功能是:將輸入的十進(jìn)制整數(shù)轉(zhuǎn)換為指定進(jìn)制的字符串形式,itob函數(shù)的形參s指向的數(shù)組用于保存將形參n的值轉(zhuǎn)換為base進(jìn)制數(shù)后的字符串形式。請(qǐng)完善程序使其達(dá)到要求的功能。

    #include<stdio.h>

    void reverse(char s[])

    {  int i,j;

       char temp;

       for(j=0;s[j]!=’\0’;j++);

        for(i=O,j--;i<j;___(23)___,j--)

        {temp=s[i];

        s[i]=s[j];

        s[j]=temp;

        }

    }

    void itob(int n,char s[],int base)

    {  int i=0,sign,t;

       if((sign=n)<O)

         n=-n;

while(n>0)

{  t=  ___(24)___

       if(t>=1O)

         s[i++]=t-10+’A’;

       else

         s[i++]=___(25)___

       n=nbase;

      }

     if(sign<0)

        s[i++]=’-‘;

     ___(26)___   ;

    reverse(s);

    }

  void main()

  {  char str[100];

     int n,base;

     printf(”請(qǐng)輸入被轉(zhuǎn)換的十進(jìn)制整數(shù)和進(jìn)位制的基數(shù):\n”);

     scanf(“%d%d",&n,&base);

     itob(n,str,base);

    printtf(”轉(zhuǎn)換結(jié)果為:\n”);

    printf(“(10進(jìn)制數(shù))%d->%s(%d進(jìn)制數(shù))\n”,n,str,base);

  }

16.存儲(chǔ)一組整數(shù)的某單向鏈表結(jié)點(diǎn)定義為:

  typedef struct n

  {  int x;

     struct n *next;

  }NODE;

    函數(shù)NODE  *sort(NODE *head)采用插入法對(duì)head指向的單向鏈表中存儲(chǔ)的數(shù)據(jù)按成員x的值從小到大排序。

    算法提示:對(duì)鏈表中從第2個(gè)結(jié)點(diǎn)開始直到最后結(jié)點(diǎn)范圍內(nèi)的每個(gè)結(jié)點(diǎn)做以下操作:若第i個(gè)結(jié)點(diǎn)(i2開始)的成員x值大于或等于第i-1個(gè)結(jié)點(diǎn)的成員x,則保持第i個(gè)結(jié)點(diǎn)在鏈表中的位置不變:否則,先將第i個(gè)結(jié)點(diǎn)從鏈表中刪除(使第i-1個(gè)結(jié)點(diǎn)的指針域指向第i+1個(gè)結(jié)點(diǎn)),再將已脫離鏈表的原第i個(gè)結(jié)點(diǎn)插入到鏈表的前i-1個(gè)結(jié)點(diǎn)中,并保持插入結(jié)點(diǎn)后鏈表的前i個(gè)結(jié)點(diǎn)按成員x值從小到大有序。請(qǐng)完善sort函數(shù)使其達(dá)到要求的功能。

NODE *sort(NODE *head)

{   ___(27)___ *p1,*p2,*q1,*q2;

  p1=head;

  p2=p1->next;

  while(p2)

  {  if(p1->x<=p2->x)

    { p1=p2;

     ___(28)___=p2->next;

    }

    else

    {p1->next=___(29)___    ;   /*從鏈表中刪除p2指向的結(jié)點(diǎn)*/

     /*以下程序段實(shí)現(xiàn)將p2指向的結(jié)點(diǎn)插入鏈表中*/

     q1=head;  q2=q1->next;

     if(p2->x<head->x) 

     {p2->next=___(30)___;

      head=p2;

     }

    else

    {q1=head;

     q2=head->next;

     while(p2->x>q2->x)

    {  q1=q2;

       q2=q2->next;

     }

     p2->next=q2;

     q1->next=p2;

    }

    p2=p1->next;

   }

}  

return head;

}

 

(21)C(22)B(23)A(24)C(25)B(26)A(27)A(28)C(29)B(30)C
二:填空
(1)continue(2)5(3)5 4(4)x=108(5)obj
(6)110(7)3(8)-31(9)0102(10)2010/10
(11)-2(12)2(13)2 3(14)3 2(15)106 Y
(16)107 N(17)5(18)18(19)%lf(20)pow(1+x,1/3.0)
(21)n/(n+2)*x(22)n=n+3(23)i++(24)n%base
(25)t+'0'(26)s[i]='\0'(27)NODE(28)p2(29)p2->next(30)head