亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

計(jì)算機(jī)二級(jí)C語言程序上機(jī)指導(dǎo)

時(shí)間:2024-10-29 13:06:03 C語言 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)二級(jí)C語言程序上機(jī)指導(dǎo)

  引導(dǎo)語;C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。為了幫助大家了解計(jì)算機(jī)二級(jí)C語言上機(jī)考試,以下是百分網(wǎng)小編分享給大家的計(jì)算機(jī)二級(jí)C語言程序上機(jī)指導(dǎo),歡迎閱讀!

  一.C語言程序的上機(jī)步驟

  按照C 語言語法規(guī)則而編寫的C 程序稱為源程序。源程序由字母、數(shù)字及其它符號(hào)等構(gòu)成,在計(jì)算機(jī)內(nèi)部用相應(yīng)的ASCII 碼表示,并保存在擴(kuò)展名為“.C”的文件中。源程序是無法直接被計(jì)算機(jī)運(yùn)行的,因?yàn)橛?jì)算機(jī)的CPU 只能執(zhí)行二進(jìn)制的機(jī)器指令。這就需要把ASCII 碼的源程序先翻譯成機(jī)器指令,然后計(jì)算機(jī)的CPU 才能運(yùn)行翻譯好的程序。

  源程序翻譯過程由兩個(gè)步驟實(shí)現(xiàn):編譯與連接。首先對(duì)源程序進(jìn)行編譯處理,即把每一條語句用若干條機(jī)器指令來實(shí)現(xiàn),以生成由機(jī)器指令組成的目標(biāo)程序。但目標(biāo)程序還不能馬上交計(jì)算機(jī)直接運(yùn)行,因?yàn)樵谠闯绦蛑校斎、輸出以及常用函?shù)運(yùn)算并不是用戶自己編寫的,而直接調(diào)用系統(tǒng)函數(shù)庫中的庫函數(shù)。因此,必須把“庫函數(shù)”的處理過程連接到經(jīng)編譯生成的目標(biāo)程序中,生成可執(zhí)行程序,并經(jīng)機(jī)器指令的地址重定位,便可由計(jì)算機(jī)運(yùn)行,最終得到結(jié)果。

  虛線表示當(dāng)某一步驟出現(xiàn)錯(cuò)誤時(shí)的修改路線。運(yùn)行時(shí),無論是出現(xiàn)編譯錯(cuò)誤、連接錯(cuò)誤,還是運(yùn)行結(jié)果不對(duì)(源程序中有語法錯(cuò)誤或邏輯錯(cuò)誤),都需要修改源程序,并對(duì)它重新編譯、連接和運(yùn)行,直至將程序調(diào)試正確為止。

  除了較簡單的情況,一般的程序很難一次就能做到完全正確。在上機(jī)過程中,根據(jù)出錯(cuò)現(xiàn)象找出錯(cuò)誤并改正稱為程序調(diào)試。我們要在學(xué)習(xí)程序設(shè)計(jì)過程中,逐步培養(yǎng)調(diào)試程序目標(biāo)程序的能力,它不可能靠幾句話講清楚,要靠自己在上機(jī)中不斷摸索總結(jié),它可以說是一種經(jīng)驗(yàn)積累。

  程序中的錯(cuò)誤大致可分為三類:

  ² 程序編譯時(shí)檢查出來的語法錯(cuò)誤;

  ² 連接時(shí)出現(xiàn)的錯(cuò)誤;

  ² 程序執(zhí)行過程中的錯(cuò)誤。

  編譯錯(cuò)誤通常是編程者違反了C 語言的語法規(guī)則,如保留字輸入錯(cuò)誤、大括號(hào)不匹配、語句少分號(hào)等等。連接錯(cuò)誤一般由未定義或未指明要連接的函數(shù),或者函數(shù)調(diào)用不匹配等因素引起,對(duì)系統(tǒng)函數(shù)的調(diào)用必須要通過“include”說明。

  對(duì)于編譯連接錯(cuò)誤,C 語言系統(tǒng)會(huì)提供出錯(cuò)信息,包括出錯(cuò)位置(行號(hào))、出錯(cuò)提示信息。編程者可以根據(jù)這些信息,找出相應(yīng)錯(cuò)誤所在。有時(shí)系統(tǒng)提示的一大串錯(cuò)誤信息,并不表示真的有這么多錯(cuò)誤,往往是因?yàn)榍懊娴囊粌蓚(gè)錯(cuò)誤帶來的。所以當(dāng)你糾正了幾個(gè)錯(cuò)誤后,不妨再編譯連接一次,然后根據(jù)最新的出錯(cuò)信息繼續(xù)糾正。

  有些程序通過了編譯連接,并能夠在計(jì)算機(jī)上運(yùn)行,但得到的結(jié)果不正確,這類在程序執(zhí)行過程中的錯(cuò)誤往往最難改正。錯(cuò)誤的原因一部分是程序書寫錯(cuò)誤帶來的,例如應(yīng)該使用變量x 的地方寫成了變量y,雖然沒有語法錯(cuò)誤,但意思完全錯(cuò)了;另一部分可能是程序的算法不正確,解題思路不對(duì)。還有一些程序有時(shí)計(jì)算結(jié)果正確,有時(shí)不正確,這往往是編程時(shí),對(duì)各種情況考慮不周所致。解決運(yùn)行錯(cuò)誤的首要步驟就是錯(cuò)誤定位,即找到出錯(cuò)的位置,才能予以糾正。通常我們先設(shè)法確定錯(cuò)誤的大致位置,然后通過C 語言提供的調(diào)試工具找出真正的錯(cuò)誤。

  為了確定錯(cuò)誤的大致位置,可以先把程序分成幾大塊,并在每一塊的結(jié)束位置,手工計(jì)算一個(gè)或幾個(gè)階段性結(jié)果,然后用調(diào)試方式運(yùn)行程序,到每一塊結(jié)束時(shí),檢查程序運(yùn)行的實(shí)際結(jié)果與手工計(jì)算是否一致,通過這些階段性結(jié)果來確定各塊是否正確。對(duì)于出錯(cuò)的程序塊,可逐條仔細(xì)檢查各語句,找出錯(cuò)誤所在。如果出錯(cuò)塊程序較長,難以一下子找出錯(cuò)誤,可以進(jìn)一步把該塊細(xì)分層更小的塊,按照上述步驟進(jìn)一步檢查。在確定了大致出錯(cuò)位置后,如果無法直接看出錯(cuò)誤,可以通過單步運(yùn)行相關(guān)位置的幾條語句,逐條檢查,一定能找出錯(cuò)誤的語句。

  當(dāng)程序出現(xiàn)計(jì)算結(jié)果有時(shí)正確有時(shí)不正確的情況時(shí),其原因一般是算法對(duì)各種數(shù)據(jù)處理情況考慮不全面。解決辦法最好多選幾組典型的輸入數(shù)據(jù)進(jìn)行測試,除了普通的數(shù)據(jù)外,還應(yīng)包含一些邊界數(shù)據(jù)和不正確的數(shù)據(jù)。比如確定正常的輸入數(shù)據(jù)范圍后,分別以最小值、最大值、比最小值小的值和比最大值大的值,多方面運(yùn)行檢查自己的程序。

  下面我們以TC2.0為上機(jī)平臺(tái),對(duì)C 程序編譯、連接和調(diào)試作簡單介紹。建議一開始學(xué)習(xí)上機(jī)時(shí),把注意力放在程序的編譯、連接和運(yùn)行,已能運(yùn)行為目標(biāo),而把調(diào)試部分放到學(xué)習(xí)了第8 章后再看,只有具有一定的程序語句量,調(diào)試才有作用。

  二.Turbo C語言集成環(huán)境

  Turbo C 是一個(gè)常用的、最基本的C 語言工具,一般簡稱TC。它為C 語言開發(fā)提供了操作便利的集成環(huán)境。源程序的輸入、修改、調(diào)試及運(yùn)行都可以在TC 集成環(huán)境下完成,非常方便有效。TC2.0 系統(tǒng)非常小巧,但功能齊全。它主要支持DOS 環(huán)境,因此在操作中無法使用鼠標(biāo),更多的需要通過鍵盤操縱菜單或快捷鍵完成。這也成為使用TC 的一大遺憾。

  1. TC 啟動(dòng)

  由于TC 支持DOS 環(huán)境,TC 系統(tǒng)的安裝十分方便。如果有安裝盤,可以按照提示一步步完成安裝;如果沒有安裝盤,可以從其他機(jī)器直接拷貝已安裝好的系統(tǒng)。

  由于TC 是在DOS 環(huán)境下工作的,無法象Windows 應(yīng)用程序那樣,通過“開始”菜單的程序項(xiàng)運(yùn)行。首先要找到TC 系統(tǒng)的安裝(復(fù)制)目錄,雙擊其上的tc.exe 應(yīng)用程序,可以啟動(dòng)TC 系統(tǒng).

  菜單包含了所有操作的功能;編輯窗口是用于輸入、修改程序的區(qū)域;信息窗口將顯示程序編譯、連接和運(yùn)行過程中的錯(cuò)誤信息或有關(guān)提示信息;快捷熱鍵提示將給出常用操作的快捷鍵提示信息,以方便用戶的操作。

  2. 運(yùn)行程序

  要運(yùn)行一個(gè)C 程序,必須經(jīng)過:輸入源程序、修改錯(cuò)誤、編譯連接和運(yùn)行幾個(gè)步驟。

  (1) 編輯

  在編輯窗口中,直接輸入程序。如果要進(jìn)行修改,可以使用【↑】、【↓】、【←】、【→】四個(gè)方向鍵,移動(dòng)光標(biāo)到所需位置,然后刪除錯(cuò)誤,輸入正確的內(nèi)容。

  (2) 編譯、連接和運(yùn)行

  同時(shí)按下【Ctrl】+【F9】鍵,將對(duì)編輯窗口中的程序,完成編譯、連接和運(yùn)行三個(gè)步驟。

  ² 如果程序沒有錯(cuò)誤,將直接運(yùn)行程序;

  ² 如果存在編譯錯(cuò)誤,信息窗口中將顯示錯(cuò)誤信息,并終止連接與執(zhí)行步驟;

  ² 如果編譯通過,但存在連接錯(cuò)誤,信息窗口中將顯示錯(cuò)誤信息,并終止執(zhí)行步驟。

  任何錯(cuò)誤都必須糾正后,重新按【Ctrl】+【F9】鍵運(yùn)行。如果還有錯(cuò),繼續(xù)修改,直到能正確執(zhí)行為止。

  即使通過了編譯和連接,并不說明程序就沒有錯(cuò)誤了,解題思路錯(cuò)誤或語句的錯(cuò)誤使用(語句格式?jīng)]有錯(cuò)),都會(huì)導(dǎo)致無法得到正確的結(jié)果,甚至程序無法正確執(zhí)行。如果程序在執(zhí)行過程中無法結(jié)束(死機(jī)),可以按【Ctrl】+【break】強(qiáng)制結(jié)束。(【break】位于鍵盤最右上角——功能鍵)。

  (3) 輸入數(shù)據(jù)

  如果程序中有scanf( )語句,則屏幕將出現(xiàn)一個(gè)黑底的輸入窗口,等待輸入數(shù)據(jù),通常是輸入一個(gè)數(shù)據(jù),打一個(gè)空格或回車,然后輸入下一個(gè)數(shù)據(jù)。直到輸入完所有的數(shù)據(jù)。如果scanf( )語句中格式規(guī)定是逗號(hào)分隔,則各數(shù)據(jù)之間要輸入逗號(hào)。

  (4) 查看結(jié)果

  輸入完數(shù)據(jù),系統(tǒng)將自動(dòng)關(guān)閉輸入窗口,運(yùn)行程序后,回到編輯窗口。但運(yùn)行結(jié)果并未在屏幕上顯示,若要查看運(yùn)算結(jié)果,需要按【Alt】+【F5】才出現(xiàn)輸出窗口?赐旰,再按任意鍵將關(guān)閉輸出窗口。

  對(duì)于沒有輸入要求的程序,按下【Ctrl】+【F9】運(yùn)行,屏幕上不會(huì)有什么變化,但這并不表示程序未被運(yùn)行,按【Alt】+【F5】就能看到結(jié)果。

  通過上述步驟,同學(xué)們可以快速掌握C 語言的上機(jī)過程,運(yùn)行自己的程序。但還只能處理一些簡單的問題,如果想更有效地調(diào)試運(yùn)行C 程序,下面的內(nèi)容是必不可少的。

  (5) 運(yùn)行環(huán)境設(shè)置

  第一次上機(jī)時(shí),如果一個(gè)簡單正確的程序卻無法運(yùn)行,需要檢查一下運(yùn)行環(huán)境是否設(shè)置正確。具體參看下面“TurboC 菜單”中介紹的“Option”菜單項(xiàng)。

  3. Turbo C 菜單

  前面介紹的是上機(jī)過程中的最基本的一些操作。為了對(duì)TC 的功能有一個(gè)全面的了解,我們將對(duì)各主要菜單項(xiàng)分別予以介紹。

  由于TC 環(huán)境下不能使用鼠標(biāo),對(duì)打開菜單欄有兩種方法:

  ² 按【F10】,然后按【←】或【→】選擇相應(yīng)菜單位置,再按回車鍵【Enter】。

  ² 按【Alt】+【菜單上紅色大寫字母】

  當(dāng)選中一個(gè)菜單后,會(huì)彈出下拉菜單項(xiàng),通過【↑】或【↓】選擇相應(yīng)菜單項(xiàng),再按回車鍵【Enter】,完成菜單功能操作。按【Esc】可以取消菜單選擇(不是撤銷菜單功能)。

  TC 中提供了完善的幫助信息,按【F1】屏幕上將彈出幫助窗口。但其中的信息都是英文的。TC 的快捷鍵通常是組合鍵,如【Ctrl】+【F9】表示要同時(shí)按下兩個(gè)鍵。對(duì)于三鍵的組合鍵,其前兩個(gè)鍵要同時(shí)按下,松手后再按第三個(gè)鍵,如【Ctrl】+【k】+【b】表示先同時(shí)按下【Ctrl】鍵和【k】鍵,松手后再按【b】鍵。

  (1) File 菜單(文件操作)

  ● Load(【F3】):調(diào)入一個(gè)已存在的程序文件(擴(kuò)展名為c)!綟3】是快捷鍵。

  ● Pick(【Alt】+【F3】):從最近曾經(jīng)調(diào)入過的文件中選擇一個(gè)調(diào)入。

  ● New:清除編輯窗口中的程序,供輸入一個(gè)新程序。

  ● Save(【F2】):把編輯窗口中的程序保存到文件中。如果該程序已經(jīng)保存過,該操作將更新文件內(nèi)容;如果該程序是新輸入的,需要進(jìn)一步輸入文件名稱或路徑。

  ● Write to:把當(dāng)前程序?qū)懙搅硗饷奈募希喈?dāng)于Windows 文件菜單中的“另存為”功能。

  ● Quit(【Alt】+【x】):退出TC 系統(tǒng)。

  (2) Edit (編輯操作)

  它沒有下拉菜單,按回車鍵【Enter】直接進(jìn)入編輯窗口,在編輯過程中,一些常用的編輯功能依靠快捷鍵實(shí)現(xiàn)。

  ● 【Ctrl】+【y】:刪除光標(biāo)所在行的整行信息。

  ● 【Ctrl】+【k】+【b】:把光標(biāo)所在位置定義為塊信息的頭部。

  ● 【Ctrl】+【k】+【k】:把光標(biāo)所在位置定義為塊信息的尾部。塊頭部定義與塊尾部定義要按順序配合起來使用,所定義的塊變成白底藍(lán)字。

  ● 【Ctrl】+【k】+【h】:取消所定義的塊信息。若重新定義新塊也會(huì)取消原定義塊。

  ● 【Ctrl】+【k】+【c】:把定義的塊信息復(fù)制到光標(biāo)所在位置。

  ● 【Ctrl】+【k】+【v】:把定義的塊信息移動(dòng)到光標(biāo)所在位置。

  ● 【Ctrl】+【q】+【f】:查找特定字符,它會(huì)在屏幕上部提示輸入查找字符,如圖A-3 所示,當(dāng)輸入了“main”后,屏幕上出現(xiàn)Option 信息,要求輸入查找方式:

  ² G 對(duì)整個(gè)文件進(jìn)行查找

  ² 回車 從光標(biāo)當(dāng)前位置向后查找

  ● 【Ctrl】+【q】+【a】:替換字符串。它在上面查找的過程中,再輸入替換字符Replace。

  ● 【Ctrl】+【L】:重復(fù)上一次查找或替換。

  ● 【Ctrl】+【q】+【[】:對(duì)光標(biāo)所處位置的“(、[ 或 {”定位相應(yīng)的“}、] 或)”。這在程序中檢查三種括號(hào)是否匹配十分有用。

  在“記事本”中選中一塊文本,使用鼠標(biāo)能很方便地實(shí)現(xiàn)。而在TC 中由于無法使用鼠標(biāo),只能通過鍵盤進(jìn)行,我們需要定義文本塊的開始位置與結(jié)束位置,當(dāng)選中后,文字變成白底藍(lán)字,然后才能實(shí)現(xiàn)文本塊的復(fù)制和移動(dòng),步驟與“記事本”中相似。因此上述5個(gè)操作需要配合使用。

【計(jì)算機(jī)二級(jí)C語言程序上機(jī)指導(dǎo)】相關(guān)文章:

2024二級(jí)c語言上機(jī)題庫04-18

2017計(jì)算機(jī)二級(jí)C語言上機(jī)最終預(yù)測題07-08

計(jì)算機(jī)二級(jí)考試C++語言程序設(shè)計(jì)上機(jī)考試試題05-10

2017計(jì)算機(jī)二級(jí)C語言上機(jī)測試題附答案10-24

2016年計(jì)算機(jī)二級(jí)C語言上機(jī)考試技巧05-31

計(jì)算機(jī)二級(jí)C語言考試上機(jī)考試題及答案10-29

2024年9月計(jì)算機(jī)二級(jí)《C語言》上機(jī)試題及答案10-30

2016計(jì)算機(jī)二級(jí)《C++》上機(jī)練習(xí)題06-09

全國計(jì)算機(jī)二級(jí)《C++》上機(jī)試題及答案08-15

計(jì)算機(jī)二級(jí)C++C++語言概述09-24