




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、鹽城師范學院備課稿紙實驗1: C語言程序初步實驗名稱: C語言程序初步 實驗類型: 驗證型 一、實驗目的了解Turbo C集成開發環境。熟悉C程序的實現過程和方法。掌握編輯、編譯、連接、運行程序的過程和方法。了解常見的兩種語法錯誤(Error/Warning)。二、實驗內容了解Turbo C集成開發環境的功能,熟悉菜單、熱鍵基本操作啟動、退出Turbo C集成開發環境。了解F5/F6;F10,、功能鍵;Alt+高亮度鍵的效果和作用。激活文件菜單(File)、編譯菜單(Compile)、運行菜單(Run)、監視菜單(Break/Watch),查看菜單選項。在Turbo C下完成“源程序清單”中規
2、定的程序題。三、實驗要求實驗中仔細觀察本實驗創建的目錄、文件,回答實驗小結和思考中的問題。在Turbo C下完成“源程序清單”中規定的程序題。編輯、編譯、運行程序并獲得程序結果;如果程序有錯,記錄編譯、連接遇到的提示錯誤。仔細思考出錯原因,并更正之。編制的程序必須保存在D:用戶目錄中。注:用戶目錄可以用學號或姓名拼音簡寫。四、實驗步驟、過程啟動操作系統,查找Turbo C集成開發環境安裝位置(路徑)。假如為:C:TC,查看目錄中是否有tc.exe,此程序就是Turbo C集成開發環境的執行程序。記住您的系統Turbo C2.0的安裝位置。啟動、退出Turbo C集成開發環境。啟動Turbo C
3、集成開發環境。如:雙擊tc.exe文件圖標。退出Turbo C集成開發環境。File-Quit 退出Turbo C集成開發環境再次啟動Turbo C環境。(同前)Turbo C環境中,F5/F6;F10,、功能鍵;Alt+高亮度鍵的效果和作用。重復按F6鍵,仔細觀察。當前激活窗口在編輯窗口、消息窗口之間切換。重復按F5鍵,仔細觀察。當前激活窗口最大,正常狀態之間切換。先按F10,可以看到主菜單被激活,按、,主菜單各個項被依次激活,試著按、可以打開相應菜單。重點瀏覽File(文件管理)、Run(程序運行控制)、Compile菜單(程序編譯、連接)菜單。最后按ESC鍵光標回到編輯窗口。主菜單各個項
4、,首字母為紅色(高亮度)??梢园碅lt+高亮字母,直接激活相應菜單選項。例如按Alt+F激活File菜單,比F10再按光標快捷多了!按ESC鍵光標回到編輯窗口。觀察當前源程序名NONAME.C表示當前的程序還沒有取名字,以后保存程序時,系統會提示輸入源程序名。按照下面步驟完成第1個程序題?!癋ile”-“New”創建一個新的源程序文件輸入源程序,全屏幕編輯源程序?!癋ile”-“Save”保存源程序(文件名應按題目要求)。觀察編輯窗口源程序名是否已經修改。用Windows資源管理器查看用戶目錄中是否產生了源程序文件*.c?!癈ompile”-“Build all”編譯、連接源程序。如果有語法錯
5、誤,修改源程序后再次編譯、連接程序,直到沒有語法錯誤,系統提示成功。編譯連接成功后用Windows資源管理器查看用戶目錄中是否產生了目標文件*.obj,可執行文件*.exe,觀察其命名規則。“Run”-“Run”運行程序,用Alt-F5切換到用戶屏幕查看運行結果。對比結果是否與預期相同。如果發現邏輯錯誤結果與預期不同,修改源程序,重復(3)-(5)保存、編譯、運行程序,直到程序獲得正確結果。注意:必須順序完成程序編輯、編譯連接、運行的各個過程。沒有正確編譯成功的程序是不可能運行的!程序開發中經常用“File”“Save”保存源程序以免意外導致源程序丟失。按步驟5完成第2個程序題。注意:Erro
6、r致命錯的程序不能產生目標程序、執行程序,必須修改程序,并重新編譯,直到成功。按步驟5完成第3個程序題。注意:Warning警告錯的程序可以產生目標程序、執行程序,試著運行一下??纯唇Y果!_,還是修改吧,警告錯一般也意味著程序有毛病,盡管這種程序可以強行編譯連接為可執行程序,但結果一般都有問題。五、源程序清單、測試數據、結果。最簡單的C程序。(要求文件名:1_1.c)main() printf(Hello world!n);一個具有致命語法錯的程序。(要求文件名:1_2.c)main() int i=9 printf(i=%dn,i)一個具有警告語法錯的程序。(要求文件名:1_3.c)main
7、()int i=9,j,s; s=i+j;printf(s=%dn,s);六、實驗小結F5/F6;F10,、功能鍵;Alt+高亮度鍵的效果和作用?答:F10,、:F10激活Turbo C主菜單,光標鍵選擇菜單之間;回車確認。F5:編輯窗口或消息窗口最大/恢復;F6:切換編輯窗口/消息窗口。Alt+高亮度鍵,直接激活主菜單項。與C語言程序直接相關的幾種文件及擴展名分別是什么?答:C語言源程序、目標程序、可執行程序,其后綴分別為*.c,*.obj,*.exe。C語言程序主要的實現過程?答:分為編輯、編譯、連接、運行四個階段。其中,開發環境中,編輯完成后,可以直接啟動運行,但分解的階段仍然是四個,前
8、面階段未完成,程序仍然不能運行。C語言程序主要的錯誤?答:程序錯誤分為:語法錯誤:編譯系統可以協助查找出來的語法上的錯誤。語法錯還包括:致命錯Error/和警告錯Warning。致命錯必須修改!,警告錯可以不修改,但常常暗示程序存在問題。邏輯錯誤:運行結果與預期不符,與程序算法邏輯相關的錯誤。實驗2:順序程序設計實驗名稱: 輸入與輸出程序設計 實驗類型: 驗證性 一、實驗目的掌握:使用標準輸入/輸出函數進行常見數據類型的數據的輸入/輸出方法。初步培養編制程序框圖和源程序、準備測試數據以及實際調試程序的獨立編程能力。二、實驗內容在Turbo C下完成程序題:根據商品原價和折扣率,計算商品的實際售
9、價(結果精確到小數點后2位)根據圓柱體的半徑和高,計算圓周長、圓面積、圓柱體表面積、圓柱體體積(結果精確到小數點后3位)注:變量名可以自由選擇,以易于理解為原則;數據由鍵盤輸入。三、實驗要求實驗前編制程序框圖、編寫源程序、準備測試數據。實驗測試數據要求從鍵盤輸入。應盡力追求程序的完美。比如要求輸入數據,應當顯示提示字符串,提示用戶輸入;輸出時要求有文字說明。在Turbo C下完成程序的編輯、編譯、運行,獲得程序結果。如果結果有誤,應找出原因,并設法更正之。編制的程序必須保存在D:用戶目錄中。注:用戶目錄可以用學號或姓名拼音簡寫。四、實驗步驟、過程啟動操作系統。啟動Turbo C集成開發環境。(
10、方法與實驗1相同)完成2個程序題。(編輯、保存、編譯連接、運行程序,步驟與實驗1相同)退出Turbo C集成開發環境,關機。五、源程序清單、測試數據、結果。根據商品原價和折扣率,計算商品的實際售價程序流程圖:main() float price,discount,fee; printf(Input Price,Discount:); scanf(%f%f,&price,&discount); fee=price*(1-discount/100); printf(Fee=%.2fn,fee);運行:Input Price,Discount:100 10Fee=90.00注:下劃線表示程序運行后用
11、戶輸入的數據,表示回車,以后不再解釋。2、根據圓柱體的半徑和高,計算圓周長、圓面積、圓柱體表面積、圓柱體體積程序框圖(略)void main()float r,h,pi=3.1415926;float c0,s0,s,v;printf(Input r,h(m):);scanf(%f,%f,&r,&h);c0=2*pi*r;s0=pi*r*r;s=2*pi*r*h+2*pi*r*r;v=pi*r*r*h;printf(c0=%.3f(m)ns0=%.3f(m2)ns=%.3f(m2)nv=%.3f(m3)n,c0,s0,s,v);運行:Input r,h(m):1,2c0=6.283(m)s0=
12、3.142(m2)s=18.850(m2)v=6.283(m3)六、實驗出現的問題、實驗結果分析(參考)C語言變量先定義后使用,變量名大小寫敏感。scanf輸入數據,變量應當使用取地址運算。scanf函數格式字符串中的普通字符要原樣輸入,否則會發生錯誤。七、實驗小結若scanf(%f,%f,&price,&discount);如何輸入兩個數據?答:scanf函數格式字符串中非格式字符要求原樣輸入,printf函數格式字符串中非格式字符在輸出時原樣輸出。由于格式字符串為%f,%f,即要求兩個浮點數之間由,分隔,所以輸入數據時必須輸入,。例如:Input Price,Discount:100,10
13、實驗3:選擇結構程序設計實驗名稱: 選擇結構程序設計 實驗類型: 驗證性 一、實驗目的掌握關系、邏輯運算符及其表達式的正確使用。掌握if語句和switch語句的使用。了解Turbo C程序調試的基本方法。二、實驗內容在Turbo C下完成程序題:有如下函數,要求輸入x的值,求y的值。 |X|,X0Y= X2,0X10 LogX,X10輸入1-7之間的任意數字,程序按照用戶的輸入輸出相應的星期值。某單位馬上要加工資,增加金額取決于工齡和現工資兩個因素:對于工齡大于等于20年的,如果現工資高于2000,加200元,否則加180元;對于工齡小于20年的,如果現工資高于1500,加150元,否則加12
14、0元。工齡和現工資從鍵盤輸入,編程求加工資后的員工工資。三、實驗要求實驗前繪制程序流程圖,編制源程序、準備測試數據。在Turbo C下完成程序的編輯、編譯、運行,獲得程序結果。實驗中可以采用Turbo C程序調試基本方法協助查找程序中的邏輯問題。四、實驗步驟、過程編輯、編譯、運行程序題1,分別使用數據-5,0,5,10,100做測試。編輯、編譯、運行程序題2,分別使用數據1,7,8做測試。編輯、編譯、運行程序題3,測試數據見下表:工齡y(年)現工資S0(元)252200221900181700161400嘗試跟蹤程序題1運行。用F7或F8鍵單步跟蹤程序,用F7檢查變量值,用F4可以將程序運行到
15、光標當前位置。五、源程序清單、測試數據、結果。給定y=f(x)函數,要求輸入x的值,求y的值。#include main() float x,y; scanf(%f,&x); if(x0) y=fabs(x); else if(x10) y=x*x; else y=log10(x); printf(%fn,y);測試運行:-55.00000000.000000525.000000101.0000001002.0000002、輸入1-7之間的任意數字,程序按照用戶的輸入輸出相應的星期值。main() int week; printf(Input(1-7):); scanf(%d,&week);
16、switch(week) case 1:printf(Mon.n); break; case 2:printf(Tue.n); break; case 3:printf(Wed.n); break; case 4:printf(Tur.n); break; case 5:printf(Fri.n); break; case 6:printf(Sat.n); break; case 7:printf(Sun.n); break; default:printf(The input is wrong!n); 測試運行:Input(1-7):1Mon.Input(1-7):5Fri.Input(1-7
17、):8The input is wrong!3、工資計算。main() float s0,s; int y; printf(Input s0,y:); scanf(%f,%d,&s0,&y); if(y=20) if(s0=2000)s=s0+200; else s=s0+180; else if(s0=1500)s=s0+150; else s=s0+120; printf(s=%fn,s);測試運行:Input s0,y:2200,25s=2400.000000Input s0,y:1900,22s=2080.000000Input s0,y:1700,18s=1850.000000Inp
18、ut s0,y:1400,16s=1520.000000六、實驗出現的問題、實驗結果分析(不要照抄哦,_)求絕對值對于浮點數要使用函數fabs。使用abs是對整數取絕對值。以10為底的對數,應當使用函數log10。0X10不能表示為0=x10,否則盡管無語法錯誤,但是含義不正確。case語句與常量之間應當有空格,否則當做語句標號處理。如case1:。(使用單步跟蹤發現)。七、實驗小結程序錯誤分為語法錯誤和邏輯錯誤。語法錯誤可以由編譯器協助檢查,邏輯錯誤編譯器無法檢查出來。程序邏輯錯誤比語法錯誤更加隱蔽,程序跟蹤可用于發現程序邏輯錯誤。調用庫函數應當包含對應頭文件,幫助進行類型匹配檢查和類型轉化
19、,保證函數調用使用正確參數。實驗4:循環結構程序設計實驗名稱: 循環結構程序設計 實驗類型: 驗證型 一、實驗目的掌握while,do-while,for循環的語法結構與應用。掌握while,do-while循環的區別。掌握Turbo C單步執行調試程序的方法。二、實驗內容完成程序題:用三種循環結構,求1000以內奇數的和。用while,do-while循環求i-10的連加和,i由用戶輸入。有一堆零件(100200個之間),如果以4個零件為一組進行分組,則多2個零件;如果以7個零件為一組進行分組,則多3個零件;如果以9個零件為一組進行分組,則多5個零件。編程求解這堆零件總數。提示:用窮舉法求解
20、。即零件總數x從100-200循環試探,如果滿足所有幾個分組已知條件,那么此時的x就是一個解。分組后多幾個零件這種條件可以用求余運算獲得條件表達式。三、實驗要求實驗前編制源程序、對第2個實驗內容需要準備測試數據。在Turbo C下完成程序的編輯、編譯、運行。查看、分析程序結果。四、實驗步驟、過程編輯、編譯、運行程序題1。編輯、編譯、運行程序題2,分別使用數據3,15做測試。編輯、編譯、運行程序題3。五、源程序清單、測試數據、結果。用三種循環結構,求1000以內奇數的和。(1)用while結構實現void main() long sum; int i,item; sum=0,i=0,item=2
21、*i+1; while(item1000) sum=sum+item; i+; item=2*i+1; printf(1+3+5+.999=%ldn,sum);(2)用do-while結構實現void main() long sum; int i,item; sum=0,i=0,item=2*i+1; do sum=sum+item; i+; item=2*i+1; while(item1000); printf(1+3+5+.999=%ldn,sum);(3)用for結構實現void main() long sum; int i,item; for(sum=0,i=0,item=2*i+1;
22、 item1000; i+,item=2*i+1) sum=sum+item; printf(1+3+5+.999=%ldn,sum);運行結果:1+3+5+.999=2500002、用while,do-while循環求i-10的連加和,i由用戶輸入。(1)用while循環實現main() int sum=0,i; printf(Input i:);scanf(%d,&i); while(i=10) sum+=i; i+; printf(sum=%dn,sum);測試運行結果:Input i:7sum=34Input i:15sum=0(2)用do-while循環實現main() int su
23、m=0,i; printf(Input i:);scanf(%d,&i); do sum+=i; i+; while(i=10); printf(sum=%dn,sum);測試運行結果:Input i:7sum=34Input i:15sum=153、窮舉法搜索計算零件總數main() int x,flag=0; for(x=100; x=200; x+) if(x%4=2&x%7=3&x%9=5) flag=1; break; if(flag)printf(x=%dn,x); else printf(no answer!n);運行結果:x=122六、實驗出現的問題、實驗結果分析對于累加問題,
24、獲得的累加值可能超過變量允許的范圍,出現溢出錯誤(邏輯錯誤-編譯時不能發現)。程序題1:原來sum定義為int,后來改為long后程序獲得了正確的結果。七、實驗小結變量類型的選擇應當考慮變量的使用范圍。循環程序可以用三種結構實現,三種結構一般情況可以相互替換。while,do-while循環的區別:while先判斷循環條件,如果條件滿足再執行循環體,如果條件不滿足,循環體一次也不執行。do-while先執行一次循環體再判斷循環條件,以決定是否再次執行循環體,即就是說循環體至少執行一次。窮舉法是利用計算機高速計算能力試探搜索求解復雜問題的一種很好的方法。實驗5:數組程序設計實驗名稱: 數組程序設
25、計 實驗類型: 驗證型 一、實驗目的掌握一維數組和二維數組的定義、初始、數組元素引用。掌握一維數組和二維數組的輸入/輸出。掌握與數組有關的算法。二、實驗內容編制程序,求Fibonachi數列的前10項。提示:Fibonachi的第1,2項分別為1,1。其后任何一項滿足ai=ai-2+ai-1。編寫找出1100之間能被7或11整除的所有整數,存放在數組a中,并統計其個數。要求以每行排列5個數據的形式輸出a數組中的數據。設有44的方陣,其中的元素由鍵盤輸入。求出(1)主對角線上元素之和;(2)輔對角線上元素之積;(3)方陣中最大的元素。提示:主對角線元素行、列下標相同;輔對角線元素行、列下標之和等
26、于方陣的最大行號(或最大列號)下標、行列號基于0。三、實驗要求編制源程序,對于程序3輸入測試數據。在Turbo C下完成程序的編輯、編譯、運行。查看、分析程序結果。四、實驗步驟、過程編輯、編譯、運行程序題1。編輯、編譯、運行程序題2。編輯、編譯、運行程序題3。測試數據:1 2 3 45 6 7 89 10 11 1213 14 15 16五、源程序清單、測試數據、結果。1、求Fibonachi數列的前10項main() int f11=0,1,1,n; for(n=3; n=10; n+) fn=fn-1+fn-2; for(n=1; n=10; n+) printf(%d ,fn); pri
27、ntf(n);程序結果:1 1 2 3 5 8 13 21 34 552、找出1100之間能被7或11整除的所有整數main() int n=0,a100,i; for(i=1; i=100; i+) if(i%7=0|i%11=0) an=i; n+; printf(n=%dn,n); for(i=0; in; i+) printf(%dt,ai); if(i+1)%5=0)printf(n); printf(n);程序結果:n=227 11 14 21 2228 33 35 42 4449 55 56 63 6670 77 84 88 9198 993、方陣求出(1)主對角線上元素之和;(
28、2)輔對角線上元素之積;(3)方陣中最大的元素。#include #define N 4main() int aNN,s1=0,s2=1,max=0,i,j; for(i=0; iN; i+) for(j=0; jN; j+) scanf(%d,&aij); max=a00; for(i=0; iN; i+) for(j=0; jmax)max=aij; printf(s1=%d,s2=%d,max=%dn,s1,s2,max);程序結果:1 2 3 45 6 7 89 10 11 1213 14 15 16s1=34,s2=3640,max=16六、實驗出現的問題、實驗結果分析數組下標范圍容
29、易搞錯,容易產生越界錯誤。利用scanf()輸入數據時取地址符號(&)容易忘記。七、實驗小結典型算法需要在理解的基礎上記憶。實驗8:字符數組與字符串函數實驗名稱: 字符數組與字符串函數 實驗類型: 驗證型 一、實驗目的掌握字符數組的定義、初始、數組元素引用、輸入輸出。掌握字符數組的處理掌握常用字符串處理函數二、實驗內容編制程序:對鍵盤輸入的字符串進行逆序,逆序后的字符串仍然保留在原來字符數組中,最后輸出。(不得調用任何字符串處理函數,包括strlen)例如:輸入hello world 輸出dlrow olleh編寫程序:對從鍵盤任意輸入的字符串,將其中所有的大寫字母改為小寫字母,而所有小寫字母
30、改為大寫字母,其它字符不變。(不調用任何字符串處理函數)例如:輸入:Hello World!輸出:hELLO wORLD!編寫程序:從鍵盤輸入4個字符串(長度20),存入二維字符數組中。然后對它們進行排序(假設由小到大順序),最后輸出排序后的4個字符串。(允許使用字符串函數)提示:字符串比較可以用strcmp函數實現,排序方法可以選擇法或冒泡法。三、實驗要求繪制流程圖、編制源程序,測試數據。1-2題不得使用任何字符串處理函數,3題允許使用字符串處理函數。在Turbo C下完成程序的編輯、編譯、運行。查看、分析程序結果。四、實驗步驟、過程編輯、編譯、運行程序題1,使用數據:hello world
31、做測試。編輯、編譯、運行程序題2,使用數據:Hello World做測試。編輯、編譯、運行程序題3,使用數據:SpanishChinaAmericaJapan做測試。五、源程序清單、測試數據、結果。1、字符串進行逆序main() char str100;int n,i,j; gets(str); n=0; while(strn)n+; for(i=0,j=n-1; ij; i+,j-) char k=stri; stri=strj; strj=k; puts(str);測試運行結果:hello worlddlrow olleh2、大寫變小寫,小寫變大寫#include main() char
32、s100; int i; gets(s); for(i=0; si!=0; i+) if(si=A&si=a&si=z)si-=32; puts(s);測試運行結果:Hello World!hELLO wORLD!3、串排序(采用選擇法排序)#include #define N 4main() char sN20; int i,j; for(i=0; iN; i+)gets(si); for(i=0; iN-1; i+) for(j=i+1; j0) char t20;strcpy(t,si); strcpy(si,sj); strcpy(sj,t); for(i=0; iN; i+)puts
33、(si);測試運行結果:SpanishChinaAmericaJapanAmericaChinaJapanSpanish六、實驗小結對于字符串的處理可以將字符串當作字符數組逐個元素處理,也可以調用字符串處理函數整體處理。字符串串尾結束符號0在編制字符串處理程序很重要。字符串處理函數可以減輕編程工作量,了解并熟悉常用字符串處理函數乃至其它系統函數可以提高軟件開發的效率。要調用系統函數一般應包含此系統函數的“頭文件”,以便編譯系統檢查調用格式。如果在編程時忘記一個系統函數的調用格式,可以將光標停留在此函數上,并按ctrl+F1鍵聯機查詢。gets()可以輸入帶空格字符串,而scanf()不能。實驗
34、6:函數的定義與調用實驗名稱: 函數的定義與調用 實驗類型: 綜合型 一、實驗目的掌握函數定義(返回、函數名、參數、函數體),調用。掌握函數的聲明嵌套調用、遞歸調用。二、實驗內容編制函數fun,其功能是:刪除一個字符串中指定的字符。要求:原始字符串在主函數中輸入,處理后的字符串在主函數中輸出。例如:輸入“I am a teacher,you are a student”和e輸出“I am a tachr,you ar a studnt”。編制函數sortstr,其功能是對多個字符串進行排序。要求:欲排序的字符串在主函數中輸入,排好序的字符串在主函數中輸出。提示:排序算法可參照實驗9第4題,即將
35、排序算法改為由一個函數sortstr實現。掌握函數聲明的使用。三、實驗要求1、2題編制源程序和測試數據;在Turbo C下完成程序的編輯、編譯、運行并分析程序結果。3題按實驗步驟完成,認真觀察,仔細思考思考題。四、實驗步驟、過程編輯、編譯、運行程序題1。使用字符串:“I am a teacher,you are a student”以及字符e做測試。編輯、編譯、運行程序題2。使用數據:“Spanish”、“China”、“America”、“Japan”、“England”做測試。掌握函數聲明的使用輸入下面程序,編譯、連接,如果沒有輸錯,應該提示成功。運行獲得正確結果100。float fun
36、(float f) return f*f;void main() float k;k=fun(10.0); printf(%fn,k);把fun函數移到main()函數之后,再次編譯,提示錯誤:Type mismatch in redeclaration of fun,(重新定義了fun,類型不一致)。提示:移動一塊程序可以用KB,KK定義要移動的塊,然后移動光標到要移動的目標位置,KV移動程序塊。另外,KC還可以復制一塊程序,試試吧!在main()函數前增加函數聲明float fun(float f);,再次編譯,提示成功并能正確運行獲得結果。思考:在什么情況需要函數聲明?五、源程序清單、測
37、試數據、結果。刪除字符串中指定的字符#include void fun(char ,char);void main() char s100,c; gets(s); c=getchar(); fun(s,c); puts(s);void fun(char s,char c) int i,j; for(i=0; si!=0; i+) if(si=c) for(j=i; sj!=0; j+) sj=sj+1; 測試運行:I am a teacher,you are a studenteI am a tachr,you ar a studnt字符串進行排序(選擇法)#include void sort
38、str(char s20,int n) int i,j; for(i=0; in-1; i+) for(j=i+1; j0) char t20; strcpy(t,si); strcpy(si,sj); strcpy(sj,t); void main() char s520; int i; for(i=0; i5; i+)gets(si); sortstr(s,5); for(i=0; i5; i+)puts(si);測試運行:SpanishChinaAmericaJapanEnglandAmericaChinaEnglandJapanSpanish函數聲明的使用float fun(float
39、 f) return f*f;void main() float k;k=fun(10.0); printf(%fn,k);或:float fun(float f);void main() float k;k=fun(10.0); printf(%fn,k);float fun(float f) return f*f;是正確的程序形式。六、實驗小結通過編制兩個函數,您認為定義函數的關鍵是什么?答:定義函數的關鍵是確定函數頭。確定了函數頭就確定了函數的整體框架。應該在理解函數功能基礎上,確定函數形式參數(出入口參數)、返回值類型(出口參數),進而確定函數頭。在什么情況需要函數聲明?答:函數調用出
40、現在函數定義前時,應該在函數調用前進行函數聲明。這樣,可以使編譯器在函數調用時就可以明確函數調用格式,產生正確的編譯目標代碼。實驗7:指針實驗名稱: 指針 實驗類型: 驗證型 一、實驗目的進一步理解指針概念。掌握指針變量的定義、初始化以及通過指針變量對數據的訪問。掌握指針與一維數組的關系。二、實驗內容運行下面程序,理解指針的概念。main()int a10=1,2,3,4,5,6,7,8,9,10;int *p;for(p=a; p=A&*p=a&*p=0&*p=9)c2+;else if(*p= ) c3+;p+;printf(%dt%dt%dt%dn,c0,c1,c2,c3);測試運行:H
41、ello World! 3.14 WB4 8 3 3六、實驗思考程序1中“p=A&*p=a&*p=0&*p=9”分別表示什么含義?這幾個條件表達式太長,Turbo C有無系統函數可以替代?程序2中“int c4=0;”定義的數組是什么作用?c0-c3分別代表什么?程序2中“char s100;”定義的數組是什么作用?假設int *p1;float *p2;那么p1=p1+5,p2=p2+5分別是什么含義?賦值后p1、p2存放的地址值分別增加了多少?假設float *p;請問p,*p,&p分別代表什么?畫圖表示。假設p是一個指針變量,指針變量p為什么必須初始化后,才可以用*p訪問?畫圖表示。兩個
42、程序對指針的初始化分別用哪條語句完成?實驗8:文件實驗名稱: 文件 實驗類型: 驗證型 實驗準備:數據文件d1.txt,d2.txt,din.txt一、實驗目的1、掌握文件輸入/輸出的操作過程。2、掌握文件的基本打開方式3、掌握文件常用文件函數的應用二、實驗內容將兩個文本文件連接成一個文本文件。給文本文件加上行號后存儲到另外一個文本文件.提示:讀文件一行函數int getline(FILE *fp, char buffer )由教師提供。函數功能:從fp指向的文本文件中讀取一行,并存放在緩沖區buffer中。返回值:0正常讀取以n結束的文本行,文件沒有結束;1讀取到一部分文本,文件結束;2未讀
43、取到文本,文件結束。三、實驗要求理解題意,編制程序和測試數據文件。程序應當詳細注釋。四、實驗步驟、過程(學生自行填寫,填寫程序實現過程)五、源程序清單、測試數據、結果。兩個文件連接#include void main()char n180,n280,n380;FILE *fp1,*fp2,*fp3;char ch;printf(.link two file.n);printf(first file :); gets(n1);printf(second file:); gets(n2);printf(linked file:); gets(n3);fp1=fopen(n1,r);fp2=fopen(n2,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師團隊培訓:數字化轉型與素質提升
- 蘇教版七下生物第4單元第十二章第一節 人體的激素調節-教學設計
- 疫苗免疫記憶機制考核試卷
- 電動汽車充電站能效管理考核試卷
- 五年級品德與社會上冊 一方水土養一方人教學設計 泰山版
- 移動應用在后勤中的運用考核試卷
- 培訓半年度總結
- 小學語文人教部編版 (五四制)五年級上冊第二單元語文園地教學設計及反思
- 項目三 任務二 廢舊物品巧利用(教學設計)-浙教版勞動二年級上冊
- 家政培訓業績展示
- 《MCGS嵌入版組態應用技術》課件-項目6MCGS對象元件庫構件的修改與制作
- 氣管插管術培訓課件
- 國家開放大學畢業生登記表-
- 電腦故障診斷卡說明書
- 企業重組所得稅特殊性處理實務(深圳市稅務局)課件
- 2022年7月2日江蘇省事業單位招聘考試《綜合知識和能力素質》(管理崗客觀題)及答案
- 瓦斯超限事故專項應急預案
- 苗木質量保證措施
- 【公司利潤質量研究國內外文獻綜述3400字】
- 水利工程分部分項劃分表
- 學生班級衛生值日表模板下載
評論
0/150
提交評論