ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:29.33KB ,
资源ID:12381639      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12381639.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中央电大计算机专业高级程序设计C语言参数详解手册.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

中央电大计算机专业高级程序设计C语言参数详解手册.docx

1、中央电大计算机专业高级程序设计C语言参数详解手册* * * * Mini-C Language reference * * * *index1:Mini-c初學者reference1.1:給初學寫程式的人1.2:用語說明1.2.1:所謂的變數1.2.2:所謂的函數1.2.3:所謂的常數1.2.4:所謂的運算子1.3:程式的控制文法及命令1.3.1:讓程式整體分岐 if-else文1.3.2:反覆執行相同的程式1 while文1.3.3:反覆執行相同的程式2 do-while文1.3.4:反覆執行相同的程式3 for文1.3.5:從反覆的命令中跳離1 break1.3.6:從反覆的命令中跳離2

2、continue1.3.7:跳離函數 return1.3.8:範例程式說明1.4:程式後面;時有時無2:Mini-C programmers reference2.1:程式的構成要素2.1.1:compiler 識別的文字2.1.2:命令行2.1.3:Mini-C中 support的key word2.1.3.1:int2.1.3.2:return2.1.3.3:其他support的key word2.1.4:Mini-C不support的key word2.1.4.1:因資料型態的限制而刪除2.1.4.2:因scope等的限制而刪除2.1.4.3:因structure的限制而刪除2.1.4.

3、4:因語言體係的簡略化而刪除2.1.5:參數2.1.6:運算子2.1.6.1:Mini-C中support的運算子2.1.6.2:不support的運算子2.1.7:常數2.8:其他限制事項2.9:用語解說2.9.1:key word2.9.2:參數2.9.3:compiler2.9.4:資料型2.9.5:參數3:Mini-C常數reference4:Mini-C標準函數reference5:HR2 標準搭載程式reference* * 1:Mini-C初學者reference * *1.1:給初學寫程式的人此reference為介紹關於所謂的Mini-C程式語言。 Mini-C為根據C語言所

4、開發出來HR2的原始 C語言。將市面上C語言具有的功能,刪除一部分。Mini-C只能在HR2中控制機器人。理解Mini-C之後,只要稍微再進修,或許能成為會寫C語言的程式設計師?!使用Mini-C,了解程式的有趣之處實為一大樂事。程式及程式語言程式為讓電腦依照所想動作的命令集合。程式語言為紀錄程式的語言。就如同英國說英語、法國說法語,我們所處的日本說日語般,每個國家都有自己的語言,程式語言即為在電腦圖使用的語言。國中初學英語時,雖完全不懂,但畢業後至少應該了解一些。提起程式語言,不要持有我一定不行的想法。英語的規則(文法、句法結構等)雖很多,但如果決定學C語言,其規則比英語少很多。 C語言的規

5、則綜合的話,大約占A4紙的一張。程式是將對電腦所下的命令記錄下來。寫程式即為對電腦下命令。所謂的寫程式作業稱為programing,寫程式的人稱為程式設計師。寫程式時使用特殊的語言。此語言稱為程式語言。程式語言有各個種類。COBOLFORTRANC語言等。程式語言是以人們易於了解的方式寫成。如果是電腦無辨識的就必須翻譯成電腦可辨識的東西。進行翻譯作業的稱之為compiler。1.2:用語說明本章關於做程式說明,以受予必要的予備知識為目的,說明程式的編寫方法及必要的用語。對本章的說明或許會有疑問,對於此疑問請先將之視為是那種東西嗎進行下一步。進入下一步應該可以解決疑問點。1.2.1:所謂的變數請

6、將變數視為代表輸入的某一數值,舉例說明的話,如同水會自水龍頭中流出一樣,水如果流入排水溝即不能收回。但是,如果有茶杯的話,會如何呢?可用茶杯取水。此時,水為數值、茶杯為變數,亦即可保存輸入值的稱為變數,此外,變數(茶杯)使用之前,必須先準備好,準備變數(茶杯)稱之為宣告變數。變數宣告及變數名稱宣告變數時,在變數名稱之前加上int,變數名稱之後留空白,記述變數名稱,最後加上;。變數名稱最多可辨識10個文字,即使大小寫的錯誤也可以辨識。記述方法main() int cup ; 宣告變數cup cup = 7 ; 將7置入變數cup1.2.2:所謂的函數所謂的函數即做某些一定的處理,將其處理結果傳回

7、的程式。函數中可將必要的要素傳達至某些一定的處理。這些必要的要素稱之為參數。Mini-C中函數最多可傳達3個參數。傳回之處理結果稱之為傳回值。一般傳回值會傳回一定的處理成功或失敗。以自動販賣機為例說明,沒有將錢投入,自動販賣機不會運作。因此將錢投入後,和所投金額相同的鈕會亮燈,然後在欲購買東西的鈕上按一下,自動販賣機即會將該物放下。將這一連串的動作譬喻成函數,自動販賣機即為函數,錢即為叫出函數,按下按鈕即為參數,放出東西即為傳回值,某些一定的處理即為依據按的鈕不同,變化放出得東西。函數名稱可辨識10個文字,即使大小寫的錯誤也可以辨識。構成程式的要素一般為函數。Mini-C準備了讓機器人做基本動

8、作的函數,此函數稱為標準函數。關於標準函數的詳細說明請呼叫標準函數REFERENCE。記述的方法沒有參數時func() 函數func()的開始 int cup ; cup = 7 ; 函數func()的結束有參數時func( int value ) 函數func()的開始,參數VALUE的宣告 int cup ; cup = value+7 ; 函數func()的結束範例程式 0| main() 1| int a ; 2| a = func( 10 ) ; 3| print( a ) ; 4| 5| 6| func( int value ) 7| int cup ; 8| cup = valu

9、e+7 ; 9| return( cup ) ;10| 執行此範例程式,畫面右下方會出現17。第2行的參數10改變後,會顯現出變更後的值和7加起來之值。第6行的函數func()用於第2行,使用第2行的函數func(),稱之為呼叫函數。1.2.3:所謂的常數所謂的常數即為可將一定的數值輸入,常數和變數不同,一旦宣告即不能變更。Mini-C中標準函數的傳回值,完全回歸常數。宣告常數請在函數以外的行進行。記述的方法#define VAL 7 常數 VAL 的宣告func( int value ) int cup ; cup = value+VAL ; 增加常數 VAL 及變數之 value說明函數之

10、地方為cup = value+7 ;因將7宣告為常數,所以變成cup = value+VAL ;。1.2.4:所謂的運算子運算子用於數字的計算、數值的比較。以下說明Mini-C中使用的基本運算子。因尚有其它的運算子,詳細的內容請參照Mini-C REFERENCE。種類 特記事項及例子+ 加算運算子 10+7 = 17- 減算運算子 10-7 = 3* 乘算運算子 10*7 = 70/ 除算運算子 求出除算的答案 10/7 =1 21/7 =3% 餘數運算子 求出除算的餘數 10%7 = 14%7 =0= 代入運算子 代入一定從右至左進行 不等式左邊運算子 a 0 左邊比右邊小= 等式左邊不等

11、運算子 a 不等式右邊運算子 a 0 右邊比左邊小= 等式右邊不等運算子 a = 0 右邊比左邊小或相等= 等式運算子 a = 1 左邊和右邊相等!= 不等式運算子 a != 0 左邊和右邊不相等& 關係理論積運算子 ab & cb | cd a和b、c和d兩者有一成立+ 增加運算子 1加算,變數a為0時,a+的答案變成1。- 減少運算子 1減算,變數a為1時,a-的答案變成0。1.3:程式控制文法和命令主要是為了比較演算的結果,以下為命令的說明及使用例。最後則為範例程式的執行結果。1.3.1:讓整個程式分道執行 if-else文此文法為將程式控制的內容分成2個的命令。判定是否滿足if後面()

12、中所寫的條件。滿足時,執行()之後用總括的程式。範例1 0| main() 1| int a ; 2| int b ; 3| 4| a = buggage() ; 5| if( a = FAIL ) 6| do 7| b = seek( ERG ) ; 8| while( b = CONT ) ; 9| get() ;10| 11| else12| do13| b = seek( WALL ) ;14| while( b = CONT ) ;15| put() ;16| 17| 此程式第4行的函數buggage()的傳回值,歸在所謂的a變數中。因此,第5行變數a若為常數FAIL的話,會執行自第

13、7行至第10行的函數get()。此外if else文為即使else的部份不寫,也不會產生格式錯誤。範例2 0| main() 1| int a ; 2| 3| a = move() ; 4| if( a = FAIL ) 5| round( RIGHT ) ; 6| 7| 此程式第4行的函數move()的傳回值,如果常數FAIL的話,會執行round()。不是常數FAIL時,不會做任何動作。1.3.2:反覆執行相同的程式1 while文此文法為如果滿足while後面()中所寫的條件,即執行其後開始為止中間的程式。範例3 0| main() 1| int a ; 2| 3| a = SUCCES

14、S ; 4| while( a = SUCCESS ) 5| a = move() ; 6| 7| snooze() ; 8| 此程式當變數a為常數SUCCESS時,連續執行函數move()。跳離重覆,函數move()的傳回值變為1時即結束。另,while文中將()中的評價進行最初化,函數a的值在第3行定義為常數SUCCESS,將之初期化。若在while之後的()中寫入1,將不斷地反覆執行;相反地,寫入0反覆的命令一次也不會執行,沒有任何意義。範例4 不斷地執行反覆命令 0| main() 1| int a ; 2| 3| a = 1 ; 4| while( 1 ) 5| a = move()

15、 ; 6| 7| 範例5 反覆的命令一次也不會執行 0| main() 1| int a ; 2| 3| a = 1 ; 4| while( 0 ) 5| a = move() ; 6| 7| 1.3.3:反覆執行相同的程式2 do-while文此文法為和while如同兄弟般的東西,while文在最初會進行條件的判斷,但do-while則在最後判斷條件。亦即無條件執行一次do之後所寫 開始while之前 程式為止。試著將範例3用do-while改寫看看。範例6 0| main() 1| int a ; 2| 3| do 4| a = move() ; 5| while( a = SUCCESS

16、 ) ; 6| snooze() ; 7| 此程式和範例3相同,變數a連續執行常數SUCCESS 之反覆函數MOVE()。另亦和WHILE文一樣,於 WHILE之後的()中寫入1,將不斷的反覆執行,相反地,寫入0,只執行一次反覆命令,即結束反覆命令。1.3.4:反覆執行相同的程式3 FOR文以上說明WHILE文和 DO-WHILE文()中指定的條件不成立時,即結束反覆,此文法執行反覆命令的次數可事先指定。FOR之後寫3個式子。第1為給予初值的式子,第2為條件判斷,第3為演算式子。FOR文為第2的條件判斷成立時,執行 中的程式。範例7 0| main() 1| int a ; 2| 3| for

17、( a=1 ; a10 ; a+ ) 4| move() ; 5| 6| 7| 此程式為先將變數a給予1的初值。再進行第2的條件判斷。若條件成立時即執行FOR之後 中的程式。在第2次以後的反覆中不再給予初值。第2次以後先進行第3的演算式子,再進行第2的條件判斷。如果成立,即執行反覆的程式。,執行式此程式,變數a即從1開始,執行比10小 中的程式,因此函數MOVE()合計為執行9次。1.3.5:自反覆的命令中跳離1BREAK此為命令反覆的命令結束之指令。即使反覆命令的條件成立,反覆中也可從中跳離。能跳離反覆命令的只有1。範例8 0| main() 1| int a ; 2| int b ; 3|

18、 for( a=0 ; a20 ; a+ ) 4| do 5| b = move() ; 6| if( b = FAIL ) 7| round( RIGHT ) ; 8| break ; 9| 10| while( 1 ) ;11| 12|13| 此程式為當函數MOVE()的傳回值為常數FAIL時,執行ROUND()、跳離DO-WHILE文的反覆命令。但是FOR文的反覆,必須當變數A的值變成20時才能跳離。1.3.6:自反覆的命令中跳離2 CONTINUE此命令為中斷反覆命令 中的程式,直接跳至反覆命令的 之處。範例9 0| main() 1| int a ; 2| int b ; 3| do

19、 4| a = move() ; 5| if( a = FAIL ) 6| round( RIGHT ) ; 7| 8| b = check( FRONT ) ; 9| if( b != ERG )10| continue ;11| 12| break ;13| while( 1 ) ;14| snooze() ;15| 此程式為函數FIND() 的傳回值為常數FAIL時,因第10行的CONTINUE命令變有效,不執行第12行的BREAK命令,而進行 WHILE 嵾?)的條件判斷。將反覆停止,函數CHECK()傳回值必須為常數ERG的值。1.3.7:跳離函數 RETURN此命令若在函數內,在任

20、何地方函數自動結束之前,可強制將函數結束的命令。RETURN只有值為1時,才可將函數結束。範例10 0| main() 1| int a ; 2| 3| do 4| a = seek( ERG ) ; 5| while( a = CONT ) ; 6| return( a ) ; 7| 此程式為當函數SEEK()的傳回值介於常數CONT時,執行DO-WHILE的反覆命令。-1以外的傳回值,用RETURN命令將函數SEEK()的傳回值反還。1.3.8:範例程式說明以上說明所寫的範圍程式,若在HR2 EDITOR中編寫,將如以下說明動作。初學寫程式的人試著寫寫看如何。範例1機器人持有ERG時,找到

21、作成牆壁的命令,移動至該場所,放置ERG。未持有ERG時,不易取得ERG。範例2讓機器人前進。因障礙物等,機器人前進失敗時,讓機器人轉換至右方。範例3反覆所謂讓機器人前進1次的動作,以障礙物讓機器人變得不能前進為止。變得不移動時,機器人即睡覺。範例4讓所謂讓機器人前進1次的動作,無論怎麼樣皆會反覆。範例5在該地不動,不執行反覆命令。範例6和範例3相同範例7將所謂讓機器人前進1次的動作反覆9次。範例8反覆20次讓機器人在因障礙物而不能前進之前,使其前進。不能前進時,讓其轉向右方的動作。範例9a:讓機器人前進1次,前進失敗即向右方轉。機器人不能發現眼前喜歡顏色的ERG時, 即反覆a:的動作。 若能

22、發現即跳離反覆命令,睡覺。範例10機器人在抵達有ERG地點之前,持續呼叫函數seek(),未能發現erg或沒有能抵達的道路,即在該地不動。以return回到變數a的值(函數seek()的傳回值)。1.4:程式後面的;時有時無程式1行之後的;時有時無;密切注意載於前項的範例程式的話,或許有人已經察覺到或的後面不加上;。變數的宣告或函數的呼叫之後加上;,使用if或while的命令不加;do-while之後的while部份加上;可說是例外。此乃因為do-while的while部份完全在被關閉 ,不得不加上;,最後do-while的;或許不太容易理解,但只要知道有此東西即可。* * 2:Mini-C

23、PROGRAMMERS REFERENCE * *此REFERENCE以C語言和M的不同為中心,解說Mini-C的功能。對初學C語言的人而言,有一些難的用語,請參考用語解說。2.1:程式的構成要素2.1.1:電腦識別的文字compiler及editor識別的文字,雖以ASCII碼為準據,但也有不少沒有對應的東西。對以文字標示或escape 沒有對應。只能使用以下的文字 0x00 NULL 0x2d - 0x09 TAB 0x2f / 0x0a LineFeed 0x30-0x39 0-9 0x0d CarrigeReturn 0x3a : 0x1a EOF 0x3b ; 0x20 0x3c 0

24、x25 % 0x41-0x5a A-Z 0x26 & 0x5f _ 0x28 ( 0x61-0x7a a-z 0x29 ) 0x7b 0x2a * 0x7c | 0x2b + 0x7d 0x2c ,上述以外的文字雖為錯誤的文字,但也有例外,在命令行內無論寫什麼皆可識別。2.1.2:註解行對C語言中所用的 /* */ 註解,Mini-C沒有對應。註解以/標示,該行/的右側即為註解(C+型)。註解最多為48文字,因註解行被視為一空白文字,其中無論為何種文字列,電腦皆忽視。2.1.3:Mini-C中support的key word因Mini-C不support一部分的命令、資料型;因此,key wo

25、rd的數目和標準C語言相較比較少。Mini-C中support的key word 如下:break continue do else for int return while但是,int被視為定義的變數使用,不具有指定型態的意思。以其和C語言之不同為中心做解說。2.1.3.1:intMini-C中,變數的資料型態加上符號只有16bit。因此,能表達的數自為-3276832767。Mini-C中,一個INT只能定義一個變數。 X int aaa,bbb ; /在C語言中雖會被識別,但在 /Mini-C中是錯誤的。 int aaa ; int bbb ;此外,也不可在定義變數時給予初值,初值設定為

26、宣告文,請用別的命令執行。 X int aaa = 0 ; /在C語言中雖會被識別,但在 /Mini-C中是錯誤的。 int aaa ; aaa = 0 ;2.1.3.2:return用於指定函數的傳回值,在Mini-C中,因函數皆會變成int的型態,可當傳回值使用的為-3276832767。 X return(40000) ; 因比32767大,所以不正確。 return(100) ;return之指定,也會使用計算式。 reutrn (aaa+bbb*2) ;沒寫return時,傳回值為不定值。2.1.3.3:其它support的key word以下的key word之使用方法完全和C語言

27、一樣。break,continue,do,for,while2.1.4:Mini-C中不support的key word以下所列的key word在Mini-C中不supportauto char case const default double enumextern float goto long registershort signed sizeof static struct switchtypedef union unsigned void volatile 以下為詳細的說明2.1.4.1:因資料型的限制而刪除變數加上符號只有16bit,因此,無以下的key word。double,long,float,short,unsigned,signed,void若使用上面的key word即會產生錯誤。2.1.4.2:因scope的限制而刪除變數只在檔案中存在scope的static型或函數內具有scope的lo

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1