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

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
江蘇計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考前模擬試卷第2套

考試模擬2

 

1.下面關(guān)于集成電路(IC)的說(shuō)法中錯(cuò)誤的是_______(1)_______

A.集成電路是現(xiàn)代信息產(chǎn)業(yè)的基礎(chǔ)

B.現(xiàn)代PC機(jī)中使用的微型處理器都是超大規(guī)模或極大規(guī)模集成電路

C.集成電路的特點(diǎn)是體積小,重量輕,可靠性強(qiáng)

D.IC卡分存儲(chǔ)器卡與智能卡(CPU),比如手機(jī)的SIM卡就是一種存儲(chǔ)器卡

2.下面關(guān)于通信技術(shù)的敘述中,錯(cuò)誤的是_________(2)________

A.數(shù)字通信是當(dāng)代通信技術(shù)的主流,它比模擬通信更能適應(yīng)現(xiàn)代社會(huì)的要求

B.計(jì)算機(jī)網(wǎng)絡(luò)中采用的最基本的多路復(fù)用技術(shù)是時(shí)分多路復(fù)用技術(shù)

C.信息在光纖中傳輸時(shí),每隔一定距離需要加入中繼器,將信號(hào)放大后再繼續(xù)傳輸

D.無(wú)線(xiàn)通信可以按頻率分成中波,短波,超短波和微波,其中微波的波長(zhǎng)很短,通常在10m-100m之間

3.Pentinum處理器中的一個(gè)16位帶符號(hào)整數(shù),如果它的十六進(jìn)制數(shù)是FFF0,那么它的實(shí)際數(shù)值是________(3)____

A.-16    B.32768    C.0      D.-8

4.下面關(guān)于微處理器的敘述中不正確的是___(4)______

A.微處理器通常以單片集成電路制成

B.它具有運(yùn)算和控制功能,但不具備數(shù)據(jù)存儲(chǔ)功能

C.Pentinum4及其兼容的微處理器是目前PC機(jī)中使用最廣泛的一種處理器

D.Intel公司是國(guó)際上研制、生產(chǎn)CPU最著名的公司

5.下面關(guān)于PC機(jī)的主機(jī)敘述不正確的是_________(5)________

A.RAM代表隨機(jī)存取存儲(chǔ)器,ROM代表只讀存儲(chǔ)器,關(guān)機(jī)后前者所有存儲(chǔ)的信息會(huì)丟失,而后者不會(huì)

B.保存在BIOS中的自舉程序的功能是裝入操作系統(tǒng)

C. 數(shù)碼相機(jī)和優(yōu)盤(pán)中使用的芯片類(lèi)型是Flash Rom

D.I/O總線(xiàn)上有三類(lèi)信號(hào):數(shù)據(jù)信號(hào)、地址信號(hào)和控制信號(hào)

6. .磁盤(pán)存儲(chǔ)器的下列敘述中,錯(cuò)誤的是____(6)____。

A磁盤(pán)盤(pán)片的表面分成若干個(gè)同心圓,每個(gè)圓稱(chēng)為一個(gè)磁道

A.      硬盤(pán)上的數(shù)據(jù)存儲(chǔ)地址由兩個(gè)參數(shù)定位:磁道號(hào)和扇區(qū)號(hào)

B.       硬盤(pán)的盤(pán)片、磁頭及驅(qū)動(dòng)機(jī)構(gòu)全部密封在一起,構(gòu)成一個(gè)密封的組合件

C.       每個(gè)磁道分為若干個(gè)扇區(qū),每個(gè)扇區(qū)的容量一般是512字節(jié)

7. 在下列幾種存儲(chǔ)器中,速度慢、容量小的是_____(7)___。

A. 優(yōu)盤(pán)  B. 光盤(pán)存儲(chǔ)器  C. 硬盤(pán)存儲(chǔ)器  D.軟盤(pán)存儲(chǔ)器

8.下列有關(guān)操作系統(tǒng)作用的敘述中,正確的是___(8)____。

A. 有效地管理計(jì)算機(jī)系統(tǒng)的資源是操作

系統(tǒng)的主要作用之一

B. 操作系統(tǒng)只能管理計(jì)算機(jī)系統(tǒng)中的軟件資源,不能管理硬件資源

C. 操作系統(tǒng)提供的用戶(hù)界面都是圖形用戶(hù)界面

D. 在計(jì)算機(jī)上開(kāi)發(fā)和運(yùn)行應(yīng)用程序與安裝和運(yùn)行的操作系統(tǒng)無(wú)關(guān)

9.下面關(guān)于算法和數(shù)據(jù)結(jié)構(gòu)的敘述中,錯(cuò)誤的是___(9)__________

A.算法的基本特征是:確定性,有窮性,能行性,輸出

B.算法的一個(gè)顯著特征是,它解決的是一個(gè)問(wèn)題而不是一類(lèi)問(wèn)題

C.算法的好壞除了考慮正確性外,還要看執(zhí)行算法所占用的空間資源

D.數(shù)據(jù)結(jié)構(gòu)研究如何根據(jù)實(shí)際問(wèn)題組織數(shù)據(jù)與定義新數(shù)據(jù)類(lèi)型,與具體的程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)

10. 以太網(wǎng)是一種使用的最廣泛的局域網(wǎng),下面是關(guān)于以太網(wǎng)的敘述,

以太網(wǎng)的節(jié)點(diǎn)每次只能發(fā)送一幀信息

以太網(wǎng)中的每個(gè)節(jié)點(diǎn)都有一個(gè)唯一的地址,發(fā)送每一幀信息時(shí),必須包含自己的地址和接收節(jié)點(diǎn)的地址,該地址就是IP地址

以太網(wǎng)的數(shù)據(jù)傳輸速率為10Mbps—100Mbps,甚至更快

以太網(wǎng)大多使用集線(xiàn)器組網(wǎng),網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)通過(guò)網(wǎng)卡和雙絞線(xiàn)與集線(xiàn)器連接

正確的是_________(10)______

A.    B.   C.     D

11.廣域網(wǎng)是一種跨越很廣的的計(jì)算機(jī)網(wǎng)絡(luò),下面關(guān)于廣域網(wǎng)的敘述中,正確的是______(11)_____

A.廣域網(wǎng)是一種公用計(jì)算機(jī)網(wǎng),所有計(jì)算機(jī)都可無(wú)條件的接入廣域網(wǎng)

B.廣域網(wǎng)使用專(zhuān)門(mén)的通信線(xiàn)路,數(shù)據(jù)傳輸更高

C.廣域網(wǎng)能連接任意多的計(jì)算機(jī),也能將相距任意距離的計(jì)算機(jī)互相連接起來(lái)

D.廣域網(wǎng)像很多局域網(wǎng)一樣按廣播方式通信

12.能將異構(gòu)的計(jì)算機(jī)網(wǎng)絡(luò)互相連接起來(lái)的基本設(shè)備是________(12)________

A.中繼器   B.路由器     C.集線(xiàn)器   D.調(diào)制解調(diào)器

13.以下關(guān)于因特網(wǎng)提供的服務(wù),錯(cuò)誤的是_______(13)______

A.電子郵件必須要有郵件服務(wù)器才能使用,郵件服務(wù)器程序包括SMTP協(xié)議與POP3協(xié)議

BWeb服務(wù)器中的網(wǎng)頁(yè)采用的是http超文本傳輸協(xié)議傳輸

C.把網(wǎng)絡(luò)上一臺(tái)計(jì)算機(jī)中的文件移動(dòng)到另外一臺(tái)計(jì)算機(jī)中,稱(chēng)為遠(yuǎn)程文件傳輸,簡(jiǎn)稱(chēng)mailto

D.遠(yuǎn)程登錄的含義是用戶(hù)可以把自己的機(jī)器作為一個(gè)終端,通過(guò)因特網(wǎng)連接到遠(yuǎn)程的計(jì)算機(jī)上,就可以使用這臺(tái)計(jì)算機(jī)了,使用的協(xié)議是Telnet

14.下面對(duì)漢字編碼標(biāo)準(zhǔn)敘述錯(cuò)誤的是______(14)_____

A.采用GB2313,GBK,GB18030三種不同的漢字編碼標(biāo)準(zhǔn)時(shí),一些常用的漢字如國(guó)等,它們?cè)谟?jì)算機(jī)中的表示(內(nèi)碼)都是相同的

B.GB2312GBK主要在我國(guó)大陸使用,而臺(tái)灣、香港地區(qū)使用的是BIG5漢字編碼

C.GBK漢字編碼比GB2312的漢字多,已經(jīng)得到了較好的應(yīng)用,微軟公司的Windows操作系統(tǒng)均支持GBK編碼

D.Unicode是包含的漢字比GB18030的漢字多

15.下面關(guān)于圖像壓縮編碼的敘述中,錯(cuò)誤的是_____(15)_____

A.圖像壓縮編碼的目的是為了節(jié)省壓縮容量和減少在網(wǎng)絡(luò)上的傳輸時(shí)間

B.圖像數(shù)據(jù)壓縮都是有損的,重建的圖像與原始圖像不會(huì)相同

C.大多數(shù)圖像文件都對(duì)圖像進(jìn)行了壓縮編碼

D.GIFJPEG是常用的兩種文件格式,Gif圖像是無(wú)損壓縮,JPEG圖像是有損壓縮

16.下面關(guān)于計(jì)算機(jī)輸入輸出聲音信息的敘述中,錯(cuò)誤的是_____(16)_____

A.聲卡的主要功能是實(shí)現(xiàn)波形聲音和MIDI聲音的輸入和輸出

B.無(wú)論是波形聲音還是MIDI聲音的輸入,都需要使用麥克風(fēng)

C. 無(wú)論是波形聲音還是MIDI聲音的輸出,都需要使用揚(yáng)聲器

D.波形聲音和MIDI聲音可以混合在一起進(jìn)行輸出

17.數(shù)字視頻信息的數(shù)據(jù)量很大,目前DVD光盤(pán)上存儲(chǔ)的數(shù)字視頻應(yīng)用存儲(chǔ)的數(shù)字視頻采用的壓縮編碼標(biāo)準(zhǔn)是____(17)________

A.MPEG-1      B.MPEG-2        C.MPEG-4         DMPEG-7

18.用結(jié)構(gòu)化生命周期方法進(jìn)行信息系統(tǒng)開(kāi)發(fā),一般經(jīng)過(guò)五個(gè)階段,其正確順序?yàn)?/SPAN>____(18)__

A.系統(tǒng)分析,系統(tǒng)規(guī)劃,系統(tǒng)設(shè)計(jì),系統(tǒng)實(shí)施,系統(tǒng)維護(hù)

B. 系統(tǒng)規(guī)劃,系統(tǒng)分析,系統(tǒng)設(shè)計(jì),系統(tǒng)實(shí)施,系統(tǒng)維護(hù)

C. 系統(tǒng)分析,系統(tǒng)規(guī)劃,系統(tǒng)設(shè)計(jì),系統(tǒng)維護(hù),系統(tǒng)實(shí)施

D. 系統(tǒng)分析,系統(tǒng)設(shè)計(jì),系統(tǒng)規(guī)劃,系統(tǒng)實(shí)施,系統(tǒng)維護(hù)

19. 在下列有關(guān)Microsoft Office 2000的應(yīng)用程序功能的敘述中,正確的是___(19)____。

A.WordExcel編輯的文檔均可以另存為HTML語(yǔ)言

B.Word可以直接讀取Excel文檔(.xls),且Excel可以直接讀取Word文檔(.doc

C.WordExcel均支持表格的自動(dòng)填充功能

D.用戶(hù)不能利用“剪切板”功能在WordExcel編輯的文檔之間進(jìn)行交換數(shù)據(jù)

20在使用Microsoft Word 97/2000編輯文檔時(shí),如果需要打印當(dāng)前文檔的第4、6-8頁(yè),則應(yīng)___(20)_____,然后在出現(xiàn)的對(duì)話(huà)框中設(shè)置需打印的頁(yè)碼。

A.使用菜單命令“文件/打印”

B.單擊“常用”工具欄上的“打印”按鈕

C.按鍵盤(pán)上的PrtSc(PrintScreen)

D.按組合鍵ALT+PrtSc(PrintScreen)

C語(yǔ)言部分

21.在定義任何一個(gè)函數(shù)時(shí),下列選項(xiàng)中,______________是不可缺少的

A.函數(shù)名之前的數(shù)據(jù)類(lèi)型  B.函數(shù)名之后的一對(duì)圓括號(hào)  C.形式參數(shù)聲明  D.函數(shù)體內(nèi)的語(yǔ)句

22.已知某程序如下:

 float  p=1.5;

 #define p 2.5

 main()

     {printf("%f",p)}

    main函數(shù)中標(biāo)識(shí)符P代表的操作數(shù)是(22)  。

    Afloat型變量  Bdouble型變量    Cfloat型常量   Ddouble型常量

23.已有聲明"int s[2][3]",以下選項(xiàng)中(23)正確地引用了數(shù)組S中的基本元素。

  AS[1>2][!1]   BS[2][0]    CS[1]    DS

24.已有數(shù)據(jù)類(lèi)型定義和變量聲明如下:

    struct person

    {   int num

        char name[20],sex;

       strrut{int class;char prof[20]}in;

    }a={20"Li ning",'M',{5,"computer"}},*P=&a

    下列語(yǔ)句中正確的是(24)

    Aprintf("%s",a->name);    Bprintf("%s",P->inprof);

    Cprintf("%s",*pname);   Dprintf("  Ctr P->in->prof)

25.若有以下程序:

    int x

    int f(int Y)

    {return 標(biāo)識(shí)符;}   

    #include<stdioh>

    int w

    main()

    {int z=2f(z);…}

  則在函數(shù)freturn語(yǔ)句后允許出現(xiàn)的標(biāo)識(shí)符是  (25)  。

  Axw    Bxy    Czw    DNULL

26.邏輯"異或"運(yùn)算可描述為"a xor b",其中ab為參加運(yùn)算的兩個(gè)操作數(shù),運(yùn)算結(jié)果為當(dāng)

  且僅當(dāng)a、b兩個(gè)操作數(shù)中只有一個(gè)為真時(shí)才為真,其他情況下均為假。以下表達(dá)式中

    (26)可以正確表示邏輯"異或"運(yùn)算。

  Aa||b             Ba&&b

  C(a&&b)&&!(a||b)  D(a||b)&&!(a&&b)

27.若有聲明"int a [5],*b=a,(*c)[3],*d[3];",則在以下表達(dá)式中有語(yǔ)法錯(cuò)誤的是

    (27)    。

  Aa[0]=0    Bb[0]=0    Cc[O]=0 Dd[0]=0

28.若有聲明:

    int k,ab;  

    unsigned long y=5;

    double x=1.23;

  則以下表達(dá)式中正確的是(28)  。

  Ax%(-5)               Bx=y[6]

  Ck=(a=lb=2,&a+&b)  Da+=a-=(b=2)*(a=3)

29.以下跳轉(zhuǎn)語(yǔ)句中,只有 (29)  可以選擇不唯一的跳轉(zhuǎn)目的地。

  Acontinue;    Bbreak    Cgoto標(biāo)識(shí)符;    Dreturn

30.在缺省情況下,標(biāo)準(zhǔn)C的編譯系統(tǒng)中預(yù)定義的標(biāo)準(zhǔn)輸出流stdout直接連接的設(shè)備是

    (30)  。

  A.軟盤(pán)    B.硬盤(pán)    C.鍵盤(pán)  D.顯示器

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

●基本概念題(5)

1.在聲明變量時(shí),類(lèi)型修飾符unsigned一般用于修飾基本類(lèi)型中的int____(1)_________

2.已知某程序中有如下片段:

    int i;float f

    /*P的聲明*/

    P=&i;P=&f

  若要保證該段程序沒(méi)有任何語(yǔ)法錯(cuò)誤,P應(yīng)當(dāng)聲明為(  2  ) 

3.已有聲明"float xdouble y;int a;long bchat c;",則表達(dá)式x+y*a/x+b/y+c值的類(lèi)型為(3)

4.系統(tǒng)庫(kù)函數(shù)scanfgets在被調(diào)用執(zhí)行時(shí)都可以讀取從鍵盤(pán)輸入的一串?dāng)?shù)字字符,其中函數(shù)

    (4)具有將讀取的數(shù)字字符串轉(zhuǎn)換為整型數(shù)的功能。

5.在文件中,以符號(hào)常量EOF作為文本文件(字符流文件)的結(jié)束標(biāo)記,EOF代表的值是( 5 )

●閱讀程序題(11)

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

    #define PT 314 

    #define S(x)  PT*x*x

    main()   

    {int a=2;

      printf("%4.1f",6.28/S(a))

    }

7.已知int型變量的存儲(chǔ)字節(jié)數(shù)為2,以下程序運(yùn)行時(shí)輸出結(jié)果是( 7  )。

    #include<stdioh>

    main()

    {int a=3,b=2c=7,d=6e=8;

     long f=a*10000+b*1000+c*100+d*10+e;

     printf("%ld",f);

    }

8.以下程序運(yùn)行時(shí)輸出結(jié)果是(  8  )  。

    #include<stdioh>

    main()

    {char *P="student"

    if(P=="student")

      printf("yes"); 

    else

      printf("no");

    }  

9.以下程序運(yùn)行時(shí)輸出結(jié)果是(  9  )。

    #include<ctype.h>

    #include<stdio.h>

    main()

    {char *s="23a4";

     int k=0,a=0,b=0;

    do

    {if(isdigit(s[k]))

      {if(s[k]%2==0)

       {a=a+s[k]-'0'

        continue;

       }

       a=a+s[k]-'0';b=b+s[k]-'0'

    }

    }while(s[k+1]&&++k);

      printf("%d%d,%d\n"k,ab);

    }

10.以下程序運(yùn)行時(shí)輸出結(jié)果是(10)  。

    #include<stdioh>

    int f(int a[],int m,int b[],int n,int c[])

    {int i,jk=0t;

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

     {for(t=1,j=0;j<n;j++)

     if(a[i]==b[j])

     {t=Obreak;}

     if(t) c[k++]=a[i]

    }

      return k;

    }

    void main()

    {int x[]={7,2,3,6,5,4,1}y[]={5,10,7,98,6},z[10]w,j;

     w=f(x7,y6,z)

     for(j=0;j<wj++)printf("%d",z[j]);

    }   

11.以下程序運(yùn)行時(shí)輸出結(jié)果是(11)

    void fun(int *p1,int *p2)

    main()

    {int i,a[6]={1,23,4,56};

     fun(a,a+5)

     for(i=O;i<5i++) printf("%2d",a[i])

    }

    void fun(int *pl,int *p2)

    {int t

     if(pl<p2)   

     { t=*p1,*pl=*p2;*p2=t;

       fun(p1+=2,p2-=2)

     }

    }  

12.以下程序運(yùn)行時(shí)輸出結(jié)果的第一行是  ( 12 )  ,第二行是( 13 )

    void swap(int *a,int *b)

    {int c;

     c=*a;  *a=*b;  *b=c;

    }

    main()

    {int i,ja[3][3]={1,23,4,5,6,7,89};

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

    for(j=0;j<2-ij++)

      if(i==j)

        swap(&a[i][j],&a[i+2][j+2])

      else

        swap(&a[i][j],&a[i+1][j+1]);

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

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

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

      printf("\n");

    }

   }

13.以下程序運(yùn)行時(shí)輸出結(jié)果的第一行是  (  14  )  ,第二行是  ( 15 )  ,第三行是(16 )

  提示:函數(shù)int toupper(int ch)的功能是:將小寫(xiě)字母字符轉(zhuǎn)換為對(duì)應(yīng)的大寫(xiě)字母字符。

    #include<stdio.h>

    #include<ctype.h>

 

    long fun(char *s)

    {long n,signbase=10,t;

     for(;isspace(*s);s++);

     sign=(*s=='-')?-11;

     if(*s=='+'||*s=='-')s++;

    if(*s=='0'&&s++)

     {if(*s=='x||*s=='X')

       {base=16;S++}

      else

        base=8;

     } 

    for(n=0,t=1;t&&(isdigit(*s)||isalpha(*s))s++)

    switch(base)

      {case 10if(isdigit(*s)) n=n*base+*s-'0';

                else t=0;

                break

        case 8if(*s>='0'&&*s<='7')n=n*base+*s-'0';

                else t=0

                break;

        defaultif(isdigit(*s))n=n*base+*s-'0';

                 else

                  if(toupper(*s)>='A'&&toupper(*s)<='F')

         n=n*base+toupper(*s)-'A'+lO;  

        else t=0;

    }

    return sign*n

    }

    main()

    {char c1[]="0x1f"c2[]="0409",c3[]="-33a"

     printf("%ld\n%ld\n%ld",fun(c1),fun(c2),fun(c3)); 

    }

●完善程序題(14)

14.程序中函數(shù)double,mycos(double x)的功能是:根據(jù)下列公式計(jì)算cos(x)的近似值。

              cos(x)=1-x^2/2!+x^4/4!-x^6/6!+....+(-1)^n*(x^2*n/(2*n)!)

  精度要求:當(dāng)通項(xiàng)的絕對(duì)值小于等于10^-6時(shí)為止。

    #include<stdio.h>

    #include<  ____(17)____________>   

    double mycos(double x)   

    {int n=1;

     double sum=0,term=1.0

     while( ___(18)_________ >=le-6)

     {sum+=term;

      term*= ___(19)_________ ;

      n=n+2

     }

       return sum;

    }   

    main()

    {double x

     scanf("%lf",&x);

     printf("fx(%f)=%f,%f\n",x,mycos(x),cos(x));

    }

15main函數(shù)內(nèi)結(jié)構(gòu)數(shù)組P中的元素已按結(jié)構(gòu)成員index的值升序排列。以下程序先在P中插入s1s2兩組數(shù)據(jù),再將數(shù)組的所有元素輸出。要求插入數(shù)據(jù)后數(shù)組p中的元素仍按 結(jié)構(gòu)成員index的值升序排列。

    #include<stdioh>

    typedef struct s

    {int index;

    char text[10];

    }T;

    int inserttv(T *pT s,int n)

    {int k,j

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

      if(      20        )>sindex)

      {for(j=n;j>kj--)p[j]=p[j1];

       break;

      }

    (        21          )    =s;

    return n+1;

    }

    main()

    {int n;

     T p[8]={{0,"a",},{5"t",},{10,"e",},{15,"r"}}

     T s1={3,"f"}s2={16,"s"},*q;

     n=inserttv(p,s2  __________(22)__________ );

     for(q=p;q<p+nq++)printf("%d%s\n",q->indexq->text);

    }

16.以下程序的功能是:查找所有滿(mǎn)足以下條件的兩個(gè)整數(shù)對(duì):(1)兩個(gè)整數(shù)都是3位數(shù);(2)

  組成兩個(gè)整數(shù)各位的數(shù)字各不相同并且不出現(xiàn)數(shù)字O;(3)第二個(gè)數(shù)等于第一個(gè)數(shù)的兩

  倍。例如,134268就是滿(mǎn)足該條件的一個(gè)整數(shù)對(duì)。

    main()

    {int a,b,c,jk,ws[6],sum

     for(a=1;a<=5;a++)    /*a百位,b十位,c個(gè)位*/

        for(b=1;b<=9;b++)

           for(c=1c<=9;c++)

             {s[o]=as[1]=b;s[2]=c;

              sum= ____(23)_________ 

              sum=2*sum;

              if(sum>999) continue;

              s[3]= ______(24)_____________

              s[4]=(sum-s[3]*100)/10;

   s[5]=sum%10;

    _____(25)___________________

    for(j=0;j<5;j++)

      for(k=0k<6;k++)

        if(s[k]==0||j!=k&& ___(26)____________  w=0;

    if(w)

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

          printf("%d%d%d\n",s[k*3],s[k*3+1],s[k*3+2])

      }

    }

17.設(shè)有一個(gè)線(xiàn)性單鏈表的結(jié)點(diǎn)定義如下:

    struct node

    {int d;

     struct node next

    } 

函數(shù)int copy_dellist(struct node *head,int x[])的功能是:將head指向的單鏈表中存儲(chǔ)的所有

整數(shù)從小到大依次復(fù)制到x指向的整型數(shù)組中并撤消該鏈表;函數(shù)返回復(fù)制到x數(shù)組中的整

數(shù)個(gè)數(shù)。算法:找出鏈表中數(shù)值最小的結(jié)點(diǎn),將其值存儲(chǔ)到x數(shù)組中,再將該結(jié)點(diǎn)從鏈表中刪

除,重復(fù)以上操作直到鏈表為空為止。

    int copy_dellist(struct node *head,int x[])

    {struct node *pk,*pj,*pm*pn;

     int data,k=O;

     while(head!=0)

      {pk=head;data=pk->d;pn=pk;

       while(______(27)_______!=0)

       {pj=pk->next;

        if(_____(28)___________<data)

        {data=pj->d;pm=pk;pn=pj}

          pk=pj;

        }

       x[k++]=pn->d;   

       if( ___29___________)pm->next=pn->next;

       else head=pn->next;

       free(pn);

    }   

    ____(30)__________________ ;

}

 

 

參考答案

1.D2.D3.A4.B5.B6.B7.D8.A9.B10.A11.C12.C13.C14.D15.B16.B17.B18.B19.A20.A

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

(1)char (2)void *p;  (3)double  (4) scanf  (5)-1  (6)8.0   (7)-32768  (8) no  (9)3, 9, 3

(10)2,3,4,1  (11)6,2,4,3,5,1   (12)9   6  3   (13)8  5  2  (14)31  (15)32

(16)-33  (17) math.h  (18)fabs(term)  (19)--x*x/(n*(n+1))  (20)p[k].index  (21)p[k]

(22)inserttv(p,s1,4)  (23)a*100+b*10+c  (24)sum/100  (25)w=1;  (26)s[j]==s[k]

(27)pk->next  (28)pj->d  (29)pn!=head  (30)return k                                     

一:改錯(cuò)題(20)

題目:

 函數(shù)find_replace的功能是:s1串中查找s2子串,并用s3子串替換找到的所有s2子串,若s1串中沒(méi)有出現(xiàn)s2子串,則不做替換并使函數(shù)返回0,否則返回1.

 例如:若s1子串為”This is a test program and a test data.”,s2子串為”test”,s3子串為”actual”,若程序正確,輸出結(jié)果應(yīng)為:”This is a actual program and a actual data.”

含有錯(cuò)誤的源程序如下:

#include <stdio.h>

#include <string.h>

 

int find_replace(char *s1, char *s2, char  s3)

{

  int i,j,k=0,t=0;

  char temp[80];

  if(*s1='\0' || *s2='\0')

           return t;

  for(i=0;s1[i]!='\0';i++)

  {

    for(j=0,k=0;s1[j]= =s2[k];j++,k++);    /*比較s2是否在s1*/

                   if(s2[k]= ='\0')

                   {

          strcpy(temp, s1[j]);

                     strcpy(&s1[i],s3);

                     i=i+strlen(s3);

                     strcpy(&s1[i],temp);

                     t=1;

                  }

  }

  return t;

}

 

main()

{

  char line[80]="This is a test program and a test data.",

  substr1[10]="test",substr2[10]="actual";

  puts(line);

  if(find_replace(line,substr1,substr2)) puts(line);

  else printf("not found");

}

 

編程題目:

[題目]

1.        編寫(xiě)函數(shù)int encode(int a[ ][4]),對(duì)二維數(shù)組中左下三角的全部元素(包括對(duì)角線(xiàn)上的元素)做如下變換:(1)若該元素不是素?cái)?shù)則保持不變(2)若該數(shù)是素?cái)?shù),則用大于它的最小素?cái)?shù)替換該數(shù),函數(shù)返回二維數(shù)組左下三角的元素中素?cái)?shù)的個(gè)數(shù)

2.        編寫(xiě)main函數(shù),聲明一個(gè)二維數(shù)組并用以下測(cè)試數(shù)據(jù)給二維數(shù)組賦初值。調(diào)用encode函數(shù)對(duì)該數(shù)組作變換,將變換后的數(shù)組全部元素(以二維數(shù)組形式)及左下三角元素中素?cái)?shù)的個(gè)數(shù)寫(xiě)入文件myf2.out

測(cè)試數(shù)據(jù)                                

3   6   4    7

8   5   9    10

12  19  7    20

4   14   21   23

變換后的數(shù)據(jù)

5   6   4  17

8   7   9  10

12  23  11  20

4  14   21  29

1.將源文件取名為myf2c,輸出結(jié)果文件取名為myf2out   

2.?dāng)?shù)據(jù)文件的打開(kāi)、使用和關(guān)閉等操作均用C標(biāo)準(zhǔn)庫(kù)中緩沖文件系統(tǒng)的文件操作函數(shù)

實(shí)現(xiàn)。

3.源程序文件和運(yùn)行結(jié)果文件均須保存在T:盤(pán)的根目錄下,供閱卷用。

4.不要將myf2obj、myf2exe保存到T:盤(pán)中。

 

改錯(cuò)題答案:

(1)     int find_replace(char *s1, char *s2, char  s3)

 修改為:int find_replace(char *s1, char *s2, char  *s3)

(2)  if(*s1='\0' || *s2='\0')

      修改為:  if(*s1= ='\0' || *s2= ='\0')

(3) for(j=0,k=0;s1[j]= =s2[k];j++,k++);

     修改為:for(j=i,k=0;s1[j]= =s2[k];j++,k++);

(4) strcpy(temp, s1[j]);

   修改為: strcpy(temp, &s1[j]);

 

編程題答案:

#include <stdio.h>

#include <math.h>

 

int prime(int n)   /*判斷素?cái)?shù)算法*/

{

  int i,k=sqrt(n);

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

           if(n%i==0) return 0;

  return 1;

}

 

int encode(int a[][4])

{

  int i,j,k=0;

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

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

                   if(prime(a[i][j]))

                   {

          while(!prime(a[i][j]+=2));k++;/*求大于它的最小素?cái)?shù)*/

                   }

   return k;

}

 

main()

{

  FILE *fp;

  int a[4][4]={3,6,4,17,8,5,9,10,12,19,7,20,4,14,21,23},i,j,count=0;

  if((fp=fopen("myf2.out","w"))==NULL)

  {printf("create file myf2.out failed!\n");exit(0);}

  count=encode(a);

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

  {

    for(j=0;j<4;j++)

         {fprintf(fp,"%4d",a[i][j]);

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

         }

         fprintf(fp,"\n");

  }

  fprintf(fp,"count=%4d\n",count);

  fclose(fp);

}