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

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
2.1程序與程序文件

程序與程序文件

考點(diǎn)1 程序的概念、建立與執(zhí)行

  1程序的概念
  程序是能夠完成一定任務(wù)的命令集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當(dāng)運(yùn)行程序時(shí),系統(tǒng)會(huì)按照一定的次序自動(dòng)執(zhí)行包含在程序文件中的命令。
  2程序文件的建立與修改
  程序文件的建立與修改一般是通過調(diào)用系統(tǒng)內(nèi)置的文本編輯器來進(jìn)行的。其建立步驟如下。
  (l)打開文本編輯窗口。
  (2)在文本編輯窗口中輸入程序內(nèi)容,此處所輸入的程序命令不會(huì)馬上被執(zhí)行。
  (3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。
  3打開或修改程序文件的方法
  (1)從“文件”菜單中選擇“打開”命令,彈出“打開”對(duì)話框。
  (2)在“文件類型”列表框中選擇“程序”。
  (3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。
  (4)編輯修改后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件,若要放棄修改,可直接按Esc鍵,或從“文件”菜單中選擇“還原”命令。
  4程序文件的執(zhí)行
  程序文件建立后,可使用多種方式、多次執(zhí)行它,常用的以下有兩種方式。
  (l)菜單方式。
  (2)命令方式。

考點(diǎn)2 簡單的輸入輸出命令

  程序一般都包含數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。
  1 INPUT命令
  格式:INPUT[<字符表達(dá)式>]TO<內(nèi)存變量>
  功能:該命令等待用戶從鍵盤輸入數(shù)據(jù),當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。
  注釋:輸入的數(shù)據(jù)可以是常量、變量,也可以是更為一般的表達(dá)式。但不能不輸入任何內(nèi)容直接按回車鍵輸入字符串時(shí)必須加定界符,輸入邏輯型常量時(shí)要用圓點(diǎn)定界(如.T. ,.F.),則輸入日期時(shí)間型常量時(shí)要用大括號(hào)(如{^2001-03-01})。
  2 ACCEPT命令
  格式:ACCEPT[<字符表達(dá)式>]TO<內(nèi)存變量>
  功能:該命令等待用戶從鍵盤輸入字符串,當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。
  注釋:該命令只能接收字符串。用戶在輸入字符串時(shí)不需要加定界符;否則,系統(tǒng)會(huì)把定界符作為字符串本身的一部分。如果不輸入任何內(nèi)容而直接按回車鍵,系統(tǒng)會(huì)把空串賦給指定的內(nèi)存變量。
  3 WAIT命令
  格式:WAIT[<字符表達(dá)式>][TO<內(nèi)存變量>][WINDOW[AT<行>,<列>]]
          [NOWAIT][CLEARINOCLEAR][TIMEOUT<數(shù)值表達(dá)式>]
  功能:該命令顯示字符表達(dá)式的值作為提示信息,暫停程序的執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)程序運(yùn)行。
  注釋:<內(nèi)存變量>用來保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標(biāo),那么<內(nèi)存變量>中保存的將是空串若不選TO <內(nèi)存變量>短語,則輸入的單字符不保留。

小提示:
  如果用DO命令執(zhí)行查詢文件、菜單文件,在文件名中必須要包括擴(kuò)展名(QPR、MPR)。

7.2 程序的基本結(jié)構(gòu)

  程序結(jié)構(gòu)是指程序中命令或語句執(zhí)行的流程結(jié)構(gòu),包括3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

考點(diǎn)3 順序結(jié)構(gòu)

  順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),它是按命令在程序中出現(xiàn)的先后次序依次執(zhí)行。

考點(diǎn)4 選擇結(jié)構(gòu)

  支持選擇結(jié)構(gòu)的語句包括條件語句和分支語句。
  1條件語句
  格式:
      IF<條件>
          <語句序列1>
      [ELSE>
        <語句序列2>]
        ENDIF
  功能:該語句根據(jù)<條件>是否成立從兩組代碼中選擇一組執(zhí)行。
  語句的執(zhí)行流程圖如圖7-1和圖7-2所示。
 
   圖7-1有ELSE的選擇語句                   圖7-2無ELSE的選擇語句
  2分支語句
  格式:DO CASE
      CASE<條件1>
          <語句序列1>
        CASE<條件2>
          <語句序列2>
   ……
        CASE<條件n>
          <語句序列n>
        [OTHERWISE
          <語句序列>]
        ENDCASE
   功能:語句執(zhí)行時(shí),依次判斷CASE后面的條件是否成立。分支語句實(shí)現(xiàn)的是一種擴(kuò)展的選擇結(jié)構(gòu),可以根據(jù)條件從多組代碼中選擇一組執(zhí)行。分支語句的流程如圖7-3所示。


 
             圖7-3 多分支語句

考點(diǎn)5 循環(huán)結(jié)構(gòu)

  循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過程中,其中的某段代碼被重復(fù)執(zhí)行若一干珠。被重復(fù)執(zhí)行的代碼段,通常稱為循環(huán)體。Visual FoxPro支持循環(huán)結(jié)構(gòu)的語句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。
  1 DO WHILE - ENDDO語句
    格式:
        DO WHILE<條件>
            <語句序列1>
          [LOOP]
            <語句序列2>
          [EXIT]
            <語句序列3>
            ENDDO
  功能:首先判斷循環(huán)條件是否為真,如果成立則執(zhí)行DO WHILE和ENDDO之間的命令序列,如果遇到LOOP語句,則回到DO WHILE處繼續(xù)執(zhí)行,遇到EXIT語句,則退出循環(huán)體;當(dāng)執(zhí)行到ENDDO時(shí),再次返回DO WHILE處判斷循環(huán)條件,一直到條件為假時(shí),退出循環(huán)體,執(zhí)行ENDDO之后的語句。
  DO WHILE循環(huán)語句的控制流程如圖7-4和圖7-5所示。


 
   圖7-4基本循環(huán)結(jié)構(gòu)圖           7-5含有LOOP或EXIT的循環(huán)
  2 FOR - ENDFOR語句
    格式:
        FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長>]
              <循環(huán)體>
            ENDFOR
  功能:首先將初值賦給循環(huán)變量,然后判斷循環(huán)條件是否成立(若步長為正值,則循環(huán)條件為<循環(huán)變量><=<終值>;若步長為負(fù)值,則循環(huán)條件為<循環(huán)變量>>=<終值>)。如果成立,則執(zhí)行循環(huán)體,然后循環(huán)變量增加一個(gè)步長值,并再次判斷循環(huán)條件,一直到條件為假時(shí),退出循環(huán)體。該語句通常用于實(shí)現(xiàn)循環(huán)次數(shù)已知情況下的循環(huán)結(jié)構(gòu)〕
  3 SCAN - ENDSCAN語句
  格式:
        SCAN[<范圍>][FOR<條件1>][WHERE<條件2>]
              <循環(huán)體>
            ENDSCAN
   功能:該循環(huán)語句一般用于處理表中記錄,語句可指明需要處理的記錄范圍及應(yīng)滿足的條件。執(zhí)行該語句時(shí),記錄指針自動(dòng)、依次地在當(dāng)前表的指定范圍內(nèi)滿足條件的記錄上移動(dòng),對(duì)每一條記錄執(zhí)行循環(huán)體內(nèi)的命令。

  7.3 多模塊程序
  模塊是一個(gè)相對(duì)獨(dú)立的程序段,它可以被其他模塊調(diào)用,也可以調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱為子程序,把調(diào)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊。

考點(diǎn)6 模塊的定義和調(diào)用

  1模塊的定義
  在Visual FoxPro中,模塊可以是命令文件,也可以是過程。過程定義的語句格式為:
        PROCEDURE|FUNCTION<過程名>
            <命令序列>
          [RETURN[<表達(dá)式>]]
        [ENDPROCIENDFUNC]
  功能說明如下。
  (1) PROCEDURE|FUNCTION命令表示一個(gè)過程的開始,并命名過程。過程名必須以字母或下劃線開頭,可以包含數(shù)字、字母和下劃線。
  (2)當(dāng)程序執(zhí)行到RETURN命令時(shí),控制將轉(zhuǎn)回到調(diào)用處(或命令窗口),并返回表達(dá)式的值。若默認(rèn)RETURN命令,系統(tǒng)將在過程結(jié)束處自動(dòng)調(diào)用一條隱含的RETURN命令。
  (3)ENDPROC|ENDFUNC命令表示一個(gè)過程的結(jié)束。如果默認(rèn)此語句,那么過程結(jié)束于下一條PROCEDURE|FUNCTION命令或文件尾。
  2模塊的調(diào)用
  模塊調(diào)用的格式有兩種。
  (1)使用DO命令,格式如下。
        DO<文件名>|<過程名>
  (2)在名字后加一對(duì)小括號(hào),格式如下。
        <文件名>|<過程名>()
  3打開過程文件
  命令格式如下。
        SET PROCEDURE TO[<過程文件1>[,<過程文件2>,…][ADDITIVE]
  4關(guān)閉過程文件
  命令格式如下。
        RELEASE PROCEDURE<過程文件1>[,<過程文件2>,…]

考點(diǎn)7 參數(shù)傳遞

  模塊程序可以接收調(diào)用程序傳遞過來的參數(shù)。
  (1)PARAMETERS<形參變量1>[,<形參變量2>,…]。
  (2) LPARAMETERS<形參變量1>[,<形參變量2>,…]。
  說明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無其他區(qū)別。
  不管是PARAMETERS或LPARAMETERS,都應(yīng)該是模塊程序的第一條可執(zhí)行命令。
  (1)調(diào)用參數(shù)調(diào)用模塊程序參數(shù)的格式如下。
        DO<文件名>|<過程名>WITH<實(shí)參1>[,<實(shí)參2>,…]
        <文件名>|<過程名>(<實(shí)參1>[,<實(shí)參2>,…])
  說明:實(shí)參可以是常量、變量或一般表達(dá)式,調(diào)用模塊程序時(shí),形參的數(shù)目不能少于實(shí)參的數(shù)目,當(dāng)形參數(shù)目多于實(shí)參數(shù)目時(shí),多余的形參取初值邏輯假.F.。
  (2)參數(shù)的傳遞。模塊中參數(shù)的傳遞分為兩種:按值傳遞(實(shí)參一般為常量和表達(dá)式)和引用傳遞(實(shí)參一般為變量)。參數(shù)的傳遞方式可以重新設(shè)置,格式如下。
            SET UDFPARMS TO VALUE|REFERENCE

考點(diǎn)8 變量的作用域

  變量的一個(gè)重要屬性是作用域。變量的作用域指的是變量在什么范圍內(nèi)是有效或能夠被訪問的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。
  1.公共變量
  在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。
        PUBLIC<內(nèi)存變量表>
  說明:該命令是建立公共的內(nèi)存變量,并賦以初值邏輯假.F.。建立好的公共變量一直有效,即使程序結(jié)束返回命令窗口也不會(huì)消失,只有執(zhí)行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。
  2私有變量
  在程序中直接使用(沒有預(yù)先聲明),而由系統(tǒng)自動(dòng)隱含建立的變量都是私有變量。
  私有變量的作用域是建立它的模塊及其下屬的各層模塊。
  3局部變量
  局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結(jié)束時(shí),自動(dòng)釋放局部變量。格式如下
    LOCAL<內(nèi)存變量表>
  說明:該變量同樣給建立的內(nèi)存變量賦以初值邏輯假.F.,也必須先定義后使用。當(dāng)子程序中定義的變量名與主程序中同名時(shí),為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時(shí)無效。格式如下。
  (1)PRIVATE<內(nèi)存變量表>。
  (2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。
  說明:該命令并不建立內(nèi)存變量,它只是隱藏指定的在上層模塊中可能已經(jīng)存在的內(nèi)存變量,但是當(dāng)模塊程序返回到上層模塊時(shí),被隱藏的變量就自動(dòng)恢復(fù)有效性,保持原值。

7.4 程序調(diào)試

考點(diǎn)9 調(diào)試器環(huán)境

  程序調(diào)試是指在發(fā)現(xiàn)程序有錯(cuò)誤的情況下,確定出錯(cuò)位置并糾正錯(cuò)誤。計(jì)算機(jī)一般能夠發(fā)現(xiàn)程序的出錯(cuò)位置,但對(duì)于計(jì)算機(jī)不能發(fā)現(xiàn)的錯(cuò)誤,只能由用戶自己來查錯(cuò)。Visual FoxPro提供的功能強(qiáng)大的調(diào)試工具—調(diào)試器,可幫助我們進(jìn)行這項(xiàng)工作。
  調(diào)用調(diào)試器的方法一般有兩種。
  (l)選擇“工具”菜單中的“調(diào)試器”命令。
  (2)在命令窗口中輸入DEBUG命令。

考點(diǎn)10 設(shè)置斷點(diǎn)

  可以設(shè)置以下4種類型的斷點(diǎn)。
  (1)在定位處中斷:可指定一行代碼,當(dāng)程序調(diào)試執(zhí)行到該行時(shí),中斷程序運(yùn)行。
  (2)如果表達(dá)式值為真,則在定位處中斷:指定一行代碼及一個(gè)表達(dá)式,當(dāng)程序調(diào)試執(zhí)行到該行代碼時(shí),如果表達(dá)式值為真,就中斷程序運(yùn)行。
  (3)當(dāng)表達(dá)式值為真時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過程中,當(dāng)該表達(dá)式值為邏輯真.T.時(shí),中斷程序運(yùn)行。
  (4)當(dāng)表達(dá)式值改變時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過程中,當(dāng)該表達(dá)式值改變時(shí),中斷程序運(yùn)行。

考點(diǎn)11 “調(diào)試”菜單

  “調(diào)試”菜單包含執(zhí)行程序、選擇執(zhí)行方式、終止程序執(zhí)行、修改程序,以及調(diào)整程序執(zhí)行速度等命令。各命令具體功能如下。
  (1)運(yùn)行:執(zhí)行在跟蹤窗口中打開的程序:
  (2)繼續(xù)執(zhí)行:當(dāng)程序被中斷時(shí),該命令可使程序在中斷處繼續(xù)往下執(zhí)行。
  (3)取消:終止程序的調(diào)試執(zhí)行,并關(guān)閉程序。
  (4)定位修改:終止程序的調(diào)試執(zhí)行,然后在文本編輯窗口中打開調(diào)試程序。
  (5)跳出:以連續(xù)方式而非單步方式繼續(xù)執(zhí)行被調(diào)用模塊程序中的代碼,然后在調(diào)用程序的調(diào)用語句的下一行處中斷。
  (6)單步:單步執(zhí)行下一行代碼。如果下一行代碼調(diào)用了過程或者方法程序,那么該過程或者方法程序在后臺(tái)執(zhí)行。
  (7)單步跟蹤:單步執(zhí)行下一行代碼。
  (8)運(yùn)行到光標(biāo)處:從當(dāng)前位置執(zhí)行代碼直至光標(biāo)處中斷。
  (9)調(diào)速:打開“調(diào)整運(yùn)行速度”對(duì)話框,設(shè)置兩代碼行執(zhí)行之間的延遲秒數(shù)。
  (10)設(shè)置下一條語句:程序中斷時(shí)選擇該命令,可使光標(biāo)所在行成為恢復(fù)執(zhí)行后要執(zhí)行的語句。