版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C 程序設(shè)計(jì) I 實(shí)驗(yàn)指導(dǎo)書信息工程學(xué)院計(jì)算機(jī)系目錄C 程序設(shè)計(jì)實(shí)驗(yàn)要求 實(shí)驗(yàn)一 簡單程序設(shè)計(jì) .測試驗(yàn)證結(jié)果溫度轉(zhuǎn)換 計(jì)算書費(fèi) 時間相加 1010101110121013實(shí)驗(yàn)二 分支結(jié)構(gòu)程序設(shè)計(jì) 2233410201021函數(shù)值計(jì)算 顛倒整數(shù) 整數(shù)排序 自整除數(shù) 選作題: Fibonacci Again102210231024實(shí)驗(yàn)三 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 1030 整數(shù)的立方和 1031 求累加和 1032 與 7 無關(guān)的數(shù) 1033 選作題:細(xì)菌繁殖 實(shí)驗(yàn)四 數(shù)組應(yīng)用 1040 楊輝三角形 1041 矩陣乘法 1042 學(xué)生成績管理 1043 選作題:大整數(shù)乘法 實(shí)驗(yàn)五 函數(shù)應(yīng)用 1050 各
2、類型變量在函數(shù)調(diào)用過程中的變化 1051 最大公約數(shù)和最小公倍數(shù) 1052 進(jìn)制轉(zhuǎn)換 1053 字符串替換 1054 排序 1055 選作題:數(shù)制轉(zhuǎn)換 實(shí)驗(yàn)六 綜合應(yīng)用 5667788910601061106210631064附錄 同一天生日 忽略大小寫比較字符串 不吉利日期 統(tǒng)計(jì)字符數(shù) 選作題: Digital Roots 9 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未
3、定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。 19一、Visual C+調(diào)試環(huán)境的使用二、TC環(huán)境下的使用三、實(shí)驗(yàn)報(bào)告要求 四、C程序設(shè)計(jì)常見錯誤及解決方案 19 錯誤!未定義書簽。 錯誤!未定義書簽。 錯誤!未定義書簽。C程序設(shè)計(jì)實(shí)驗(yàn)要求課程實(shí)驗(yàn)是 C 程序設(shè)計(jì)課程的一個重要的實(shí)踐環(huán)節(jié),要求每個同學(xué)按以下要求獨(dú)立完成每次實(shí)驗(yàn),每次 上機(jī)前必須編寫完實(shí)驗(yàn)要求的所有題目,并按輸出格式寫出程序的運(yùn)行結(jié)果,上機(jī)時調(diào)試程序并驗(yàn)證結(jié)果的 正確性,若與運(yùn)行結(jié)果不符,則要分析原因,上機(jī)時間由課內(nèi)和課外上機(jī)兩部分,以下時間為課內(nèi)上機(jī)時間。實(shí)驗(yàn)一 簡單程序設(shè)計(jì)目的及要求:1. 熟練掌握 C 開發(fā)環(huán)境的窗口
4、、菜單命令及相應(yīng)的命令 , 并掌握在開發(fā)環(huán)境下如何編輯、編譯、連接、運(yùn) 行一個C程序,以及如何保存和修改 C語言的源程序。2. 通過運(yùn)行一個簡單的 C 程序過程,逐步了解 C 程序的基本結(jié)構(gòu)及特點(diǎn)。3. 掌握C語言的基本數(shù)據(jù)類型,熟悉它們的使用方法及定義方式,了解各類型數(shù)據(jù)輸出時所用的格式轉(zhuǎn) 換符 ,熟悉各種運(yùn)算符和表達(dá)式的使用特點(diǎn)。4. 熟練掌握C中賦值運(yùn)算的使用。1010 測試驗(yàn)證結(jié)果習(xí)題。1011 溫度轉(zhuǎn)換Description華氏溫度和攝氏溫度的轉(zhuǎn)換公式為C = 59 * ( F -32 )其中:F為華氏溫度C攝氏溫度Input一個整數(shù)表示華氏溫度。Output輸出一行。該行包含一個浮
5、點(diǎn)數(shù)C,表示轉(zhuǎn)換的攝氏溫度。精確到小數(shù)點(diǎn)后兩位。Sample Input93Sample Output1012 計(jì)算書費(fèi)Description下面是一個圖書的單價表: 計(jì)算概論 元/ 本 數(shù)據(jù)結(jié)構(gòu)與算法元 / 本數(shù)字邏輯 元 / 本C+程序設(shè)計(jì)教程 78元/本 人工智能 35 元/本 計(jì)算機(jī)體系結(jié)構(gòu)元/本編譯原理 元/本 操作系統(tǒng) 43 元/本 計(jì)算機(jī)網(wǎng)絡(luò) 56 元/本JAVA程序設(shè)計(jì)65元/本給定每種圖書購買的數(shù)量,編程計(jì)算應(yīng)付的總費(fèi)用。Input輸入每行包含一組 10 個整數(shù) (大于等于 0 ,小于等于 100),分別表示購買的計(jì)算概論 、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)字邏輯、C+程序設(shè)計(jì)教程、人工智
6、能、計(jì)算機(jī)體系結(jié)構(gòu)、編譯原理、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、JAVA程序設(shè)計(jì)的數(shù)量(以本為單位)。每兩個整數(shù)用一個空格分開。Output輸出一行。該行包含一個浮點(diǎn)數(shù)f,表示應(yīng)付的總費(fèi)用。精確到小數(shù)點(diǎn)后兩位??捎?printf(%.2fn, sum) 來輸出 sum 的值,并精確到小數(shù)點(diǎn)后兩位。Sample Input1 5 8 10 5 1 1 2 3 4Sample Output1013 時間相加Description用整數(shù)表示時間,如:1050表示 10點(diǎn) 50分,2010表示 20點(diǎn) 10分。現(xiàn)輸入兩個時間,求兩個時間的和。例: 2030 + 850 = 5201055 + 850 = 1945
7、不是 2880不是 1905InputSample Input#Sample Output49兩行數(shù)據(jù),每行一個整數(shù)。Output輸出相加后的時間整數(shù)。Sample Input2030850Sample Output520實(shí)驗(yàn)分支結(jié)構(gòu)程序設(shè)計(jì)目的及要求:1. 掌握 C 程序設(shè)計(jì)的基本語句表達(dá)方式及基本語句結(jié)構(gòu)的方法。2. 掌握 C 語言中輸入、輸出函數(shù)的基本功能。3. 掌握順序和分支結(jié)構(gòu)程序設(shè)計(jì)的方法。4. 能獨(dú)立編寫順序及分支結(jié)構(gòu)的C 程序。1020 函數(shù)值計(jì)算Description有一個函數(shù)寫一程序,輸入y = x= 2x - 1= 3x - 11x 值,計(jì)算 y 值。( x 1 )(1
8、= x = 10 )Input一個整數(shù) x。Output輸出函數(shù)值 y。1021 顛倒整數(shù)Description給定一個最多 4 位的正整數(shù),將其顛倒過來輸出。 例如:輸入 123,則輸出 321。Input一個小于 10000 的正整數(shù)。Output顛倒后整數(shù)。Sample Input1234Sample Output43211022 整數(shù)排序Description對給定的 4 個整數(shù)進(jìn)行排序,將由小到大的順序輸出。Input一行中有 4 個整數(shù),整數(shù)之間用空格分隔。Output按升序輸出,各整數(shù)之間用一個空格分隔。Sample Input25 314 18 27Sample Output1
9、8 25 27 314Sample OutputSample Input1023 自整除數(shù)Description對一個整數(shù)n,如果其各個位數(shù)的數(shù)字相加得到的數(shù)m能整除n,則稱n為自整除數(shù)例如21,21%(2+1)=0,所以 21是自整除數(shù)。Input一個整數(shù) nOutput若n為自整除數(shù),則輸出 TRUE否則輸出FALSESample Input42Sample OutputTRUE1024 選作題: Fibonacci AgainProblem DescriptionThere are another kind of Fibonacci numbers: F(0) = 7, F(1) = 1
10、1, F(n) = F(n-1) + F(n-2) (n=2).InputInput an integer n. (n 1,000,000).OutputPrint the word yes if 3 divide evenly into F(n).Print the word no if not.Sample InputnoSam pie Out putyes實(shí)驗(yàn)三循環(huán)結(jié)構(gòu)程序設(shè)計(jì)目的及要求:1. 熟練掌握循環(huán)語句中 for語句、while語句和do while語句使用方法。2. 掌握編寫循環(huán)結(jié)構(gòu)程序的方法。1030整數(shù)的立方和Descri ptio n給定一個正整數(shù) k (1k10),求1
11、至U k的立方和 m。即m=1+2*2*2+k*k*k。Inp ut輸入只有一行,該行包含一個正整數(shù)k。Out put輸出只有一行,該行包含 1到k的立方和。Sample InputSam pie Out put2251031求累加和Descri ptio n有一分?jǐn)?shù)序列:2 , 3 , 5 , 8 , 13 , 21 1235813求出該序列的前 n項(xiàng)之和。Input輸入只有一行,該行包含一個正整數(shù)n ( n 200 ) 。Output序列前 n 項(xiàng)之和(保留兩位小數(shù))Sample InputSample Output1032 與 7 無關(guān)的數(shù)Description一個正整數(shù) ,如果它能被
12、7 整除,或者它的十進(jìn)制表示中某位數(shù)字為7,則稱其為與 7 相關(guān)的數(shù)。 現(xiàn)求所有小于等于n(n100)的與7無關(guān)的正整數(shù)的平方和.Input輸入為一行 ,正整數(shù) n,(n100) 。Output輸出小于等于 n 的與 7 無關(guān)的正整數(shù)的平方和Sample Input21Sample Output23361033 選作題:細(xì)菌繁殖Description 一種細(xì)菌的繁殖速度是每天成倍增長。例如:第一天有 10 個,第二天就變成 20 個,第三天變成 40 個, 第四天變成80個,。現(xiàn)在給出第一天的日期和細(xì)菌數(shù)目,要你寫程序求出到某一天的時候,細(xì)菌的數(shù)目。Input一行有 5個整數(shù), 整數(shù)之間用一個
13、空格隔開。 第一個數(shù)表示第一天的月份, 第二個數(shù)表示第一天的日期, 第三個數(shù)表示第一天細(xì)菌的數(shù)目,第四個數(shù)表示要求的那一天的月份,第五個數(shù)表示要求的那一天的日期。 已知第一天和要求的一天在同一年并且該年不是閏年,要求的一天一定在第一天之后。數(shù)據(jù)保證要求的一天的細(xì)菌數(shù)目在長整數(shù)( long )范圍內(nèi)。Output對于每一組測試數(shù)據(jù),輸出一行,該行包含一個整數(shù),為要求的一天的細(xì)菌數(shù)。Sample Input2 28 10 3 2Sample Output40實(shí)驗(yàn)四 數(shù)組應(yīng)用目的及要求:1. 理解并掌握一維數(shù)組、二維數(shù)組的定義及引用。2. 熟練掌握利用數(shù)組處理數(shù)據(jù)的方法。3. 掌握字符串?dāng)?shù)組和字符串
14、的使用方法及常用字符串函數(shù)在程序中的使用。1040 楊輝三角形Description打印出楊輝三角形的前 n 行。Input輸入一個正整數(shù)n ( n 20 )。Output楊輝三角形。Sample InputSample Output1041 矩陣乘法Description已知矩陣 A(mxn)和矩陣B(nxp),求C = A X B。Input第一行三個整數(shù)為m、n、p( m、n、p均小于10),從第二行開始為m行n列A矩陣,然后為n行p列的 B 矩陣。所有數(shù)據(jù)之間均由一個空格分隔。Output輸出m行p列的C矩陣,所有數(shù)據(jù)之間均由一個空格分隔。Sample Input2 3 41 0 33
15、 4 01 0 2 12 3 4 52 1 1 5Sample Output7 3 5 1611 12 22 231042 學(xué)生成績管理Description學(xué)生信息包括:學(xué)號、姓名、數(shù)學(xué)成績、英語成績、計(jì)算機(jī)成績。共有N個人(N=10,可在程序內(nèi)部定義,如用 #define N 10)的信息,要求計(jì)算每人的總成績,并按 總成績由高到低的順序輸出所有人的信息。最后輸出各門課程的平均成績(保留2 位小數(shù))。Input為調(diào)試方便, N 和學(xué)生信息可以在程序內(nèi)部以初值的方式賦值給對應(yīng)變量。Output見下例。Sample InputSample Output1000Name Maths zhang
16、90 wang 88 li 78 80English808582No100110031002average of Maths:Computer Total88 25880 253240average of English: average of Computer :1043 選作題:大整數(shù)乘法Description求兩個不超過 200 位的非負(fù)整數(shù)的積。Input0。有兩行,每行是一個不超過 200 位的非負(fù)整數(shù),沒有多余的前導(dǎo)Output一行,即相乘后的結(jié)果。結(jié)果里不能有多余的前導(dǎo)0,即如果結(jié)果是 342,那么就不能輸出為 0342。Sample InputSample Output實(shí)驗(yàn)五
17、函數(shù)應(yīng)用目的及要求:1. 理解函數(shù)的定義及函數(shù)的調(diào)用過程(函數(shù)的調(diào)用格式、調(diào)用方式及被調(diào)用函數(shù)的使用說明)2. 掌握局部變量、全局變量的說明形式和引用方法。3. 掌握函數(shù)的嵌套與遞歸調(diào)用的全過程。1050 各類型變量在函數(shù)調(diào)用過程中的變化Description采用單步運(yùn)行方式運(yùn)行下面程序,觀察各變量(靜態(tài)局部變量及自動變量)在函數(shù)調(diào)用過程中的變化。main()int a=3,i;for(i=0;i3;i+)printf( “ P=n%”d,p(a);int p(a)int a; static int c=1;auto int b=0;b=b+1;c=c+1;return(a+b+c);1051
18、 最大公約數(shù)和最小公倍數(shù)Description20、12對給定的兩組數(shù)(每組包括 2 個整數(shù)),分別計(jì)算出兩組數(shù)的最大公約數(shù)和最小公倍數(shù)的和。如:為第一組, 28、7 為第二組。第一組數(shù)的最大公約數(shù)為4,最小公倍數(shù)為 60;第二組數(shù)的最大公約數(shù)為 7,最小公倍數(shù)為 28 ;所以兩組數(shù)的最大公約數(shù)之和為11,兩組數(shù)的最小公倍數(shù)之和為 88 。Input輸入包括兩行,每行為一組,每組兩個整數(shù)。Output輸出包括兩行,第一行為兩組數(shù)的最大公約數(shù)之和,第二行為兩組數(shù)的最小公倍數(shù)之和。Sample Input20 1228 7Sample Output11881052 進(jìn)制轉(zhuǎn)換Description對
19、輸入的兩十六進(jìn)制數(shù) (兩個字符串) 由函數(shù)完成。例如:輸入 3a1、 80,由于 1057。,將其轉(zhuǎn)換成十進(jìn)制后再求和。 要求十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換功能3a1 轉(zhuǎn)換為十進(jìn)制后為 929, 80 轉(zhuǎn)換為十進(jìn)制后為 128,所以和為Input輸入包括兩行,每行為一個十六進(jìn)制數(shù)。Output輸出包括一行為兩數(shù)之和的十進(jìn)制表示。Sample Input3a180Sample Output10571053 字符串替換Description將一段英文文章中字符串用給定的字符串替換。Input輸入包括多行,第一行為一段英文文章(長度不超過80 )。以后每行包括 2 個字符串 (長度不超過 20),之間由空格
20、分隔,第一個串為原串,第二個串為替換串。當(dāng)遇到 0 0 兩個串時表示輸入結(jié)束,并且此行不需 處理。Output輸出替換后的文章。Sample Inputhello how are yes. h Hes ou0 0Sample OutputHello How are you.1054 排序Description對輸入的 10 個整數(shù)進(jìn)行排序,按從小到大的順序輸出。要求排序過程由函數(shù)完成。Input輸入包括一行,共 10 個整數(shù),各數(shù)之間由空格分割。Output在同一行上輸出排好序的10個數(shù),各數(shù)之間由空格分割。Sample Input25 48 13 27 68 76 43 20 9 65Sam
21、ple Output9 13 20 25 27 43 48 65 68 761055 選作題:數(shù)制轉(zhuǎn)換Description求任意兩個不同進(jìn)制非負(fù)整數(shù)的轉(zhuǎn)換( 進(jìn)制的表示符號為( 0, 1 , ., 9,Input 輸入只有一行,包含三個整數(shù) b進(jìn)制整數(shù)。a, b是十進(jìn)制整數(shù),2進(jìn)制16進(jìn)制),所給整數(shù)在long所能表達(dá)的范圍之內(nèi)。不同 A, B, C, D, E, F)oa, n, bo a表示其后的n是a進(jìn)制整數(shù),b表示欲將a進(jìn)制整數(shù)n轉(zhuǎn)換成2 = a, b = 16。Output輸出包含一行,該行有一個整數(shù)為轉(zhuǎn)換后的b進(jìn)制數(shù)。輸出時字母符號全部用大寫表示,即(0, 1,.9,A,B,C,
22、D,E,F(xiàn))。Sample Input15 AAB3 7Sample Output210306Hint用字符串表示不同進(jìn)制的整數(shù)。實(shí)驗(yàn)六 綜合應(yīng)用目的及要求:1. 掌握程序的基本方法和技巧,能夠獨(dú)立完成較復(fù)雜程序的設(shè)計(jì)。2. 掌握程序的調(diào)試方法,熟悉各種類型錯誤的改正方法。1060 同一天生日Description在一個有 200 人的大班級中,存在兩個人生日相同的概率非常大,現(xiàn)給出每個學(xué)生的學(xué)號,出生月日。 試找出所有生日相同的學(xué)生。Input第一行為整數(shù)n,表示有n個學(xué)生,n=200。11 位)和出生月 (1=m=12)此后每行包含一個字符串和兩個整數(shù),分別表示學(xué)生的學(xué)號(字符串長度為日(
23、i=d=31)。學(xué)號、月、日之間用一個空格分隔。Output對每組生日相同的學(xué)生,輸出一行,其中前兩個數(shù)字表示月和日,后面跟著所有在當(dāng)天出生的學(xué)生的學(xué) 號,數(shù)字、學(xué)號之間都用一個空格分隔。對所有的輸出,要求按日期從前到后的順序輸出。對生日相同的學(xué)號,按輸入的順序輸出。Sample Input6005 3 15015 4 5018 3 15008 4 5011 4 5021 8 10Sample Output3 15 005 0184 5 015 008 0118 10 0211061 忽略大小寫比較字符串Description一般我們用 strcmp 可比較兩個字符串的大小,比較方法為對兩個字
24、符串從前往后逐個字符相比較(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到0為止。如果全部字符都相同,則認(rèn)為相同;如果出現(xiàn)不相同的字符,則以第一個不相同的字符的比較結(jié)果為準(zhǔn)。但在有些時候,我們比較字符串的大小時,希望忽 略字母的大小,例如Hello和hello在忽略字母大小寫時是相等的。請寫一個程序,實(shí)現(xiàn)對兩個字符串進(jìn)行 忽略字母大小寫的大小比較。Input輸入為兩行, 每行一個字符串, 共兩個字符串。 (請用gets 錄入每行字符串) (每個字符串長度都小于 80)Output如果第一個字符串比第二個字符串小,輸出一個字符 如果第一個字符串比第二個字符串大,輸出一個字符 如果兩個字符串
25、相等,輸出一個字符 =Sample InputHello helloSample Output1062 不吉利日期Description 在國外,每月的 13 號和每周的星期 5都是不吉利的。特別是當(dāng) 13 號那天恰好是星期 5時,更不吉利。 已知某年的一月一日是星期 w,并且這一年一定不是閏年,求出這一年所有13號那天是星期5的月份,按從小到大的順序輸出月份數(shù)字。 (w=1.7)Input輸入有一行,即一月一日星期幾(w )。 (1=w3jBcl 旦 ilJ !. hlld V kipI僉注JQ -主足I 一” Ita企灣硝 J 丁帀nf311 、. -二呂 E 勺 Flira I 訶詢I
26、Wuffca|jncu!AILCCM AppWizsircJ Clusttr AcBoutce Type IZ-ard uiihjm AjpW1?HrJ SPnlAhntc PtnjRrI 空 DevSiudEo Jdd-ln Wizard tKlendcd Elured Proc Wizard AlSAHLnditnuioil WljwrJ tMokrfflc 痛 M PC ArfrveX C nntr =MFC AppWizArxldiq SUhC AjipWJurd |excj 摳削 ft* DjUrth鼻仍e t UKIhy Pmjcd世也j2翌凹釗巴IWlnSZ Dyntmic Li
27、nk Llbrcry Wln3?和皿祁Mh柏ryPrdjeCI rFfliriE:L uchHuii:Platfcirrrifi:OKCn(jRl圖1創(chuàng)建新的工程文件2)建立源文件再次選擇“File菜單中的“ New選項(xiàng),在四個標(biāo)簽中選擇“File標(biāo)簽,在其對話框選項(xiàng)中,選擇“C+ Source File,并在右邊的 Add project的選擇框內(nèi)打勾,激活其下面的選項(xiàng),然 后在File框內(nèi)輸入源文件名(如1st),單擊“0K按鈕,出現(xiàn)編輯屏幕,即可編寫程序(如圖2和圖3所示)。Il J!* lilt Vi4r Ins artEuE.1 d. Iozl= All/Am EalfrI 1III
28、AH ululmi 11臨11山匕怡*|【W(wǎng)u mtiim鮭re -(;代ale N(?-心恂冷乩“匸 * ”啻囲匹! & 1尸 Add tn prnfe-rr1tit3nicl5lLflijalliih;|L;lbvHUU1tlEiJFIIkugAcivc Server Paqc Blnaiy File Uitmap Hlc Header HIg E Cl I Source FKt 訪 Curtor rile PageJjienn FilrCK:;Macienit fO口e卻urcE Scripi 詡忡cuFCe I tmplAtr 1SQLSlNpI nie BTrwt FileCtncc
29、i圖2建立源文件卜.1x7 Hicur ViLuJ CMIB VI l1 u a 性討j|?lt Vi-HA 企S.CTE h-DjQct 鈕応J.血I4.豈電吊口 一“ IS虛葺J HIKJ|Vilnhitl|jJI All globaH m-mtrr: - main彩崔遇jr =1呦prlnlFCTUK lb j C pruyrjN.W);Include uuld Rd 111()ILJJ圖3編輯源文件3)編譯連接和運(yùn)行源程序程序編好后要進(jìn)行編譯連接和運(yùn)行,步驟如下:選擇“ Build菜單,單擊下拉菜單中的“ Com pile ”,這時系統(tǒng)開始對當(dāng)前的源程序進(jìn)行編譯,在編譯過程中,將所發(fā)現(xiàn)
30、的錯誤顯示在屏幕下方的“Build窗口中。根據(jù)錯誤提示,修改程序后再重新編譯,如還有錯誤,再繼續(xù)修改、編譯,直到?jīng)]有錯誤為止。編譯無誤后進(jìn)行連接,這時選擇 要進(jìn)行更改,直到編譯連接無錯為止。0 warning(s),說明編譯連接成功,“Build菜單中的“Build ”選項(xiàng)。同樣,對出現(xiàn)的錯誤 這時,在“Build窗口中會顯示如下信息:0 error(s),并生成以源文件名為名字的可執(zhí)行文件()運(yùn)行程序,選擇“ Build菜單中的輸出結(jié)果顯示在該窗口中(如圖“Execute ”選項(xiàng)。這時,會出現(xiàn)一個“ MROS窗口,4和圖5所示)。運(yùn)行結(jié)束后,可以回到“File菜單,點(diǎn)擊“ CloseWork
31、s pace 選項(xiàng),關(guān)閉當(dāng)前文件窗口。若要編輯新的源程序,可以再次打開“File菜單,重新建立工程文件,步驟如上所述;也可以點(diǎn)擊“File菜單中的“Open Works pacd選項(xiàng),打開一個已經(jīng)存在的源文件。罔 Fl la ? li i Viav Iridi-t 沖 ojcul Eiiilt Tjclz VinlohV Xcl-pCtrunFTC P 因 Ctmpiit Isl.即JF HiiL4 lit (If*三I All Qloh自 幽沁小 All- E-l-LcL 陀iLi.:+r1 Ct claccec31 at-1 AbagUebuEper Cterrots Cczuiectio
32、n.IS fl C 卩rngram.Vfl);! Eieette Isl. 電CtrUKbStt kctiv* Lnirarti&Ti. r *nf irsl 1 emuPi-fcfili.圖4編輯運(yùn)行源程序.1 cL ” 恤cMofi yioid DO -mJf .In t 7j tV Inx-iUfE. Pt jjmL uj LJ 7q1e AluJuv Jklf.kP QgMg 省審色尸”;前宙刑|(?0血荷Tj.I .lliflllin 宙 1 nt dansAfl哼 ChiswVicwl 馬 Fil占icj9創(chuàng)呂 fciF:bufcincludp uoln valnC )prlftt
33、fClhli 丄b d C pruyrdiiAn):=:1=占乂空沖咤百上工主*-亠0;去蘭耳壬令七7豐4=-lonHgjritlon; dst - win號 DebugGfHipillng. + I9ttpp LlfiKiny lt- B error( i) 0 wdr niiigfs)圖5顯示輸出結(jié)果二、TC環(huán)境下的使用H匚life圍囹I創(chuàng)耳aJ漢Iew二Ed it 二jol 1 Insert Indent Tab Fill Unindent E:HDHAME.CMessage如上圖是用戶進(jìn)入TC后的主菜單界面,下面是常用的命令及功能鍵: File菜單File的下拉菜單中有9個子命令,其功
34、能是完成文件的創(chuàng)建、存、取、退出等。Load :該命令為裝載命令,其功能是將已存盤的文件調(diào)入到當(dāng)前所編輯環(huán)境中。 Pick :選擇最近已編輯過的源程序文件。New :創(chuàng)建一個新的文件。Save :保存當(dāng)前所編輯的文件。Write to :將當(dāng)前的文件以另外一個文件名存盤。OS shell :從Turbo C切換到命令提示符窗口狀態(tài)下,可用EXIT命令返回。Quit :退出Turbo C,回到DOS提示符下。 常用的編輯鍵(在Edit狀態(tài)下)::刪除光標(biāo)所在的字符。:插入、改寫轉(zhuǎn)換鍵。:光標(biāo)到行首。:光標(biāo)到行尾。:向上翻頁:向下翻頁+N:插入一行+Y:刪除光標(biāo)所在行定義塊首定義塊尾塊移動塊復(fù)制塊
35、刪除+KB:+KK:+KV:+KC:+KY:+KH:塊取消+或 +C:中斷程序的運(yùn)行常用熱鍵的使用用加上Turbo C菜單欄上所對應(yīng)的第一個大寫字母,方可進(jìn)入對應(yīng)菜單 +F:進(jìn)入文件菜單、+E :進(jìn)入編輯菜單、+R:進(jìn)入運(yùn)行菜單+C:進(jìn)入編譯菜單等。 +F9運(yùn)行程序(對應(yīng) RUN菜單中的“ Runt令) +F5從TC屏幕切換到用戶屏幕(對應(yīng)RUN菜單中的 “ User screer命令) F1顯示當(dāng)前位置的幫助信息。 F2將當(dāng)前所編輯的文件存盤(對應(yīng) File菜單中的“ save命令)F3:裝入一個文件(對應(yīng) File菜單中的“l(fā)oac命令) F4程序運(yùn)行到光標(biāo)所在行。(對應(yīng)RUN菜單中的“G
36、o to cursor命令)二、程序調(diào)試步驟1. 啟動TC:在 Windows環(huán)境下進(jìn)入TC,屏幕將出現(xiàn)如下界面:I自動丄回國聞畫創(chuàng)百!遲File Edit HunCom pilefroject Options DebugBreok#制j電cITL ine 1圖1 TC界面2. 編輯源程序:進(jìn)入 TC菜單界面 7在file主菜單中選擇 “new”按回車后即可輸入C程序,缺省文件名為:(圖2所示)。(此步驟用于編輯一個新文件)z 口11甩I圍 團(tuán) aJ圓ILoadF3Pic斗fll匚F扌IJIB Edit Run Canpile FrojUrite to D irectory ChdDse di
37、rOS shell Quit ftlt-K*用戶可對文件名加以修改。3. 保存源文件在源程序輸入完成后,最好先保存源程序,以免在編譯運(yùn)行時,出錯而造成程序丟失。程序編輯完后, 可按“F2鍵進(jìn)行保存或選擇 “File菜單中的“saves行保存(圖3)。m 尉危I田I宣0 Aj辺Edit Biift Cowpile P Foject Op 土I 04dF3Pich Alt-F3 Neu Uni directory CIhange d irOS shell Quitflit-K例如文件名為:。保存時注意文件保存的路徑( A, C, D, E盤)以免在修改程序時,知道C程序所存放的位置。4. 編譯運(yùn)行
38、源程序可直接使用“Rur菜單中的“run命令或?qū)?yīng)的鍵命令 “Ctrl+F9系統(tǒng)自動執(zhí)行對 C程序的編譯、運(yùn)行,若程 序編譯成功,則產(chǎn)生目標(biāo)文件和可執(zhí)行文件,當(dāng)編譯時,程序出現(xiàn)錯誤,屏幕上會顯示相應(yīng)的錯誤信息及錯誤原因,這時,用戶可對程序加以修改,再進(jìn)行編譯運(yùn)行,得到正確的輸出結(jié)果。(圖4所示)FTle Elit訐FaF7F8圖4Line 1kffn loEPiJfc FfoiectKunCtrl-Ct I5. 查看結(jié)果可選擇“Rur菜單中的“user screen命令或?qū)?yīng)的鍵命令“ALT+F。如圖四所示(黃色標(biāo)記)6.如何修改源程序當(dāng)源程序出現(xiàn)錯誤時,需要修改,若程序已經(jīng)存盤,這時可使用T
39、C菜單“File中的“l(fā)oad命令,將需要修改的文件調(diào)入到當(dāng)前屏幕上,若程序在當(dāng)前屏幕上,則可直接修改,但修改后的程序必須重新存盤和編譯運(yùn) 行。(圖5所示)圖5F2Ik劃 Sa Write Directory Change dirOS shell quit Alt-X實(shí)驗(yàn)報(bào)告按以下格式書寫,不用抄題,其中:三、實(shí)驗(yàn)報(bào)告要求解題思路:解決問題的基本思想、數(shù)據(jù)組織方法及采用的算法描述。 調(diào)試分析:程序調(diào)試過程中遇到的主要問題,以及解決方法,收獲等。測試結(jié)果:對于可輸入多組測試數(shù)據(jù)的程序要至少給出三組測試數(shù)據(jù),以及對應(yīng)的程序運(yùn)行結(jié)果。例如:“C語言程序設(shè)計(jì)I”實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)一簡單程序設(shè)計(jì)班級:學(xué)號:姓
40、名:目的及要求:1. 熟練掌握2. 3. 1010測試驗(yàn)證結(jié)果1 )解題思路2)流程圖3)源程序代碼4)調(diào)試分析5)測試結(jié)果1011溫度轉(zhuǎn)換1 )解題思路2)流程圖3)源程序代碼4)調(diào)試分析5)測試結(jié)果1012 計(jì)算書費(fèi)1 )解題思路2)流程圖3)源程序代碼4)調(diào)試分析5)測試結(jié)果1013 時間相加1 )解題思路2)流程圖3)源程序代碼4)調(diào)試分析5)測試結(jié)果四、C程序設(shè)計(jì)常見錯誤及解決方案1.輸入/輸出控制與編程初步錯誤原因示例出錯現(xiàn)象解決方案變量未定義就使用int a=3,b=4; temp=a; a=b; b=te mp;糸統(tǒng)報(bào)錯:temp: undeclared identifier
41、(temp 是沒有聲明的標(biāo)識符)增加變量temp的定義, 再使用該變量變量名拼寫錯誤int temp; tep=2;糸統(tǒng)報(bào)錯:tep : undeclared identifier查看對應(yīng)的變量及其定 義,保證前后一致未區(qū)分大小與字母int temp;Temp=2;糸統(tǒng)報(bào)錯:TemP: undeclared identifier查看對應(yīng)的變 量及其定 義,區(qū)別大小寫字母變量定義位置錯誤int x=sizeof(int); p rintf(%d,x);int y=0;糸統(tǒng)報(bào)錯:missing ; beforetyp e將變量集中在語句塊開始 處定義,變量定義不能放 在可執(zhí)行語句中間使用了未賦值的
42、變 量,其值不可預(yù)測int a;p rintf(%d,a);系統(tǒng)告警:local variable a used without having been initialized養(yǎng)成對變量初始化的習(xí) 慣,保證訪問前有確定值不預(yù)先判斷除數(shù)是否為0int devide(int a,int b) return a/b; 系統(tǒng)無報(bào)錯或告警,但是當(dāng) 調(diào)用時第二實(shí)參為0時將出 現(xiàn)意外終止對話框在函數(shù)定義時增加對除數(shù) 為0的考慮并作處理,防 止運(yùn)行時出錯未考慮數(shù)值溢出的可 能int a=10000; a=a*a*a;p rintf(%d,a);系統(tǒng)無報(bào)錯或告警,但是輸 出結(jié)果不正確預(yù)先估計(jì)運(yùn)算結(jié)果的可能 范圍
43、,采用取值范圍更大的類型,如:double不用sizeof獲得類型或變量的字長int *p; p=(int *)malloc(4);系統(tǒng)無報(bào)錯或告警,但是在 平臺移植時可能出現(xiàn)問題改為:P=(int*)malloc(sizeof(int);語句之后丟失分號int a,b a=3;b=4;系統(tǒng)報(bào)錯: missing ; before identifier a找到出錯位置,添加分號忘記給格式控制串加 雙引號int x=sizeof(int); p rintf(%d,x);系統(tǒng)報(bào)若干個錯:missing ) before %等根據(jù)編譯器所指錯誤位 置,將格式串兩邊加” ”庫函數(shù)名拼寫錯誤, 大小寫字
44、母有區(qū)別int x=sizeof(int); P rintf(%d,x);Printf undefined; assuming extern returning int根據(jù)編譯器所指錯誤位 置,檢查函數(shù)名并修改未給scanf中的變量加 取地址運(yùn)算符&int y; scanf(%d,y);系統(tǒng)告警:local variable y used without having been initialized根據(jù)編譯器所指告警位 置,檢查并修改,增加取 地址符&在printf中的輸出變量前加上了取地址符&int y; scanf(%d,& y); p rintf(%d, &y);系統(tǒng)無報(bào)錯或告警,但是輸 出結(jié)果不正確先用調(diào)試器跟蹤觀察變量 的當(dāng)前值,如果變量值正 確而輸出結(jié)果不對,則檢 查Printf中的各個參數(shù),如 果輸入的數(shù)據(jù)與變量所獲 得的值不一致,則檢查 scanf中的各個參數(shù)漏寫了 printf中欲輸出的表達(dá)式scanf(%d,& y); p rintf(%d);系統(tǒng)無報(bào)錯或告警,但是輸 出結(jié)果不正確漏寫了 printf中與欲輸出的表達(dá)式對應(yīng)的 格式控制串int y; scanf(%d,& y);p rintf(%d,y,y+3);系統(tǒng)無報(bào)錯或告警,但是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人快遞包裹配送與包裝材料合同二4篇
- 四人合伙股份的協(xié)議書(二零二五年版)2篇
- 2025年金融產(chǎn)品銷售合同債務(wù)追討委托協(xié)議3篇
- 2025年度環(huán)保設(shè)備買賣雙方資金監(jiān)管與服務(wù)保障協(xié)議4篇
- 2025年高速公路施工升降機(jī)租賃及道路管制合同3篇
- 2025年度美甲店會員積分體系設(shè)計(jì)與運(yùn)營合同4篇
- 2025年高校教材編輯與審核服務(wù)合同3篇
- 2025年度個人二手挖掘機(jī)買賣合同法律風(fēng)險(xiǎn)防范范本3篇
- 2025年心理咨詢服務(wù)協(xié)議書范本(心理咨詢服務(wù)與公益活動)3篇
- 2025年度人工智能技術(shù)應(yīng)用保密協(xié)議3篇
- 2024年國家工作人員學(xué)法用法考試題庫及參考答案
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 人教版五年級上冊遞等式計(jì)算100道及答案
- 公司總經(jīng)理年會致辭范例2篇
- 三位數(shù)乘以兩位數(shù)-計(jì)算題大全
- 宏觀社會工作1
- 醫(yī)療大數(shù)據(jù)分析與挖掘技術(shù)
- 道路通行能力手冊第4章-高速公路基本路段
- 傳感器與測試技術(shù)試卷及答案
- 2020年普通高等學(xué)校招生全國統(tǒng)一數(shù)學(xué)考試大綱
評論
0/150
提交評論