【ch02】最簡(jiǎn)單的C程序設(shè)計(jì)-機(jī)器人做算術(shù)_第1頁(yè)
【ch02】最簡(jiǎn)單的C程序設(shè)計(jì)-機(jī)器人做算術(shù)_第2頁(yè)
【ch02】最簡(jiǎn)單的C程序設(shè)計(jì)-機(jī)器人做算術(shù)_第3頁(yè)
【ch02】最簡(jiǎn)單的C程序設(shè)計(jì)-機(jī)器人做算術(shù)_第4頁(yè)
【ch02】最簡(jiǎn)單的C程序設(shè)計(jì)-機(jī)器人做算術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

機(jī)器人程序設(shè)計(jì)(C語(yǔ)言)新工科建設(shè)之路·機(jī)器人技術(shù)與應(yīng)用系列最簡(jiǎn)單的C程序設(shè)計(jì)一機(jī)器人做算術(shù)第二章整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示01首先將HelloRobot.c另存為RobotComputation.c,然后按照第1章的步驟建立一個(gè)新的項(xiàng)目,將RobotComputation.c加入項(xiàng)目,并將源程序修改成如下代碼。#include<uart.h>intmain(void)inti;uart_Init();i=7*11;printf("What's7×11?\n");printf("Theansweris:%d\n";i);while(1);整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示將項(xiàng)目編譯、連接、生成執(zhí)行代碼,下載并運(yùn)行,查看輸出結(jié)果是否與圖2-1一樣。整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示RobotComputation.c是如何工作的C語(yǔ)言用關(guān)鍵字int定義整型變量。int是英文單詞integer(整數(shù))的前三個(gè)字母。整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示變量的定義在程序執(zhí)行過(guò)程中,其值可改變的量稱為變量。它們與數(shù)據(jù)類型結(jié)合起來(lái)分類,可以分為整型變量、浮點(diǎn)變量、字符變量等。整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示變量的定義所有C語(yǔ)言變量必須在使用之前定義。定義變量的一般形式如下:

typevariable_list;整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示變量的定義在C語(yǔ)言中,標(biāo)志符是對(duì)變量、函數(shù)名和其他各種用戶定義對(duì)象的命名。整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示變量的定義uart_Init()函數(shù)在第1章已經(jīng)介紹過(guò),這里不再重復(fù)。例如,語(yǔ)句i=7*11;整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示變量的定義稱為賦值運(yùn)算符,由“=”連接的表達(dá)式稱為賦值表達(dá)式,其后加“;”構(gòu)成賦值語(yǔ)句,般形式為:

變量=表達(dá)式;整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示語(yǔ)句C語(yǔ)言規(guī)定,任何表達(dá)式在其末尾加上";"就構(gòu)成語(yǔ)句。例如:

printf("What's7X11?\n");printf("Theansweris:%d\n";i);整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示語(yǔ)句第一個(gè)printf語(yǔ)句輸出雙引號(hào)中的字符串作為運(yùn)算顯示提示,這在第1章中已經(jīng)用到。第二個(gè)printf語(yǔ)句先輸出"Theansweris:",再輸出變量i的值。

“%d”就是格式字符串,表示后面要輸出i的值,并且是十進(jìn)制數(shù)。d是decimal(十進(jìn)制)的首字母。整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示語(yǔ)句十進(jìn)制是我們?nèi)粘1硎緮?shù)據(jù)的一種方法,所有的數(shù)據(jù)都由10個(gè)數(shù)字組成,即由0~9組成。但是計(jì)算機(jī)為了方便存儲(chǔ)數(shù)據(jù),表示數(shù)據(jù)的原理同人類有些差別,主要采用二進(jìn)制和十六進(jìn)制存儲(chǔ)和表示數(shù)據(jù)。整型數(shù)據(jù)的運(yùn)算和結(jié)果顯示算術(shù)運(yùn)算符和整型變量表2-2給出了C語(yǔ)言允許的算術(shù)運(yùn)算符。在C語(yǔ)言中,運(yùn)算符“+”“-”“*”和“/”的用法與大多數(shù)計(jì)算機(jī)語(yǔ)言相同,幾乎可以用于C語(yǔ)言定義的任何數(shù)據(jù)類型。浮點(diǎn)型數(shù)據(jù)的運(yùn)算02浮點(diǎn)型數(shù)據(jù)的運(yùn)算C語(yǔ)言中的浮點(diǎn)數(shù)(floatingpointnumber)就是平常所說(shuō)的實(shí)數(shù)(realnumber)?,F(xiàn)在來(lái)看浮點(diǎn)型數(shù)據(jù)的定義、運(yùn)算和顯示方法。繼續(xù)將RobotComputaition.c修改成如下代碼:#include<uart.h>intmain(void)floata,b,h;uart_init();a=123456.789;b=a+20;printf("%f\n",b);while(1);浮點(diǎn)型數(shù)據(jù)的運(yùn)算編譯、下載和運(yùn)行上述程序,結(jié)果為123456.800000。計(jì)算機(jī)直接將小數(shù)點(diǎn)后的第2位進(jìn)行了四舍五入。浮點(diǎn)型數(shù)據(jù)的運(yùn)算系統(tǒng)把一個(gè)浮點(diǎn)型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分分別存放。指數(shù)部分采用規(guī)范化的指數(shù)形式。實(shí)數(shù)123456.789在內(nèi)存中的存放形式如圖2-2所示。浮點(diǎn)型數(shù)據(jù)的運(yùn)算這4字節(jié)中究竟用多少位來(lái)表示小數(shù)部分,多少位來(lái)表示指數(shù)部分,C語(yǔ)言標(biāo)準(zhǔn)并無(wú)具體規(guī)定,由各C語(yǔ)言編譯系統(tǒng)自定。不少C語(yǔ)言編譯系統(tǒng)以24位表示小數(shù)部分(包括符號(hào)),以8位表示指數(shù)部分(包括指數(shù)的符號(hào))。浮點(diǎn)型數(shù)據(jù)的運(yùn)算受到表示小數(shù)位的位數(shù)限制,float型數(shù)據(jù)的小數(shù)部分只能接受7位有效數(shù)字,所以第一個(gè)123456.789數(shù)字的最后兩位小數(shù)不起作用,最后就顯示123456.8。而在a=123456.789e5時(shí),也是因?yàn)樾?shù)部分的有效數(shù)字是7位,加20的運(yùn)算根本體現(xiàn)不出。浮點(diǎn)型數(shù)據(jù)的運(yùn)算為了提高浮點(diǎn)數(shù)的表示精度,還可以定義雙精度浮點(diǎn)數(shù)(double)和長(zhǎng)雙精度浮點(diǎn)數(shù)(longdouble)。浮點(diǎn)型數(shù)據(jù)的運(yùn)算通過(guò)以上實(shí)際編程實(shí)踐可知,在編程過(guò)程中要避免將一個(gè)很大的數(shù)和一個(gè)很小的數(shù)直接相加或者相減,否則會(huì)將這些“小的數(shù)”丟失。這也是我們學(xué)習(xí)程序設(shè)計(jì)時(shí)最容易忽略的地方,也是最容易出錯(cuò)的地方。字符型數(shù)據(jù)03字符型數(shù)據(jù)字符常量字符常量是指用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,如'a'、'9'、'!'。字符常量中的單引號(hào)只起到定界作用并不表示字符本身。字符型數(shù)據(jù)字符常量在C語(yǔ)言中,字符是按其對(duì)應(yīng)的ASCII值來(lái)存儲(chǔ)的,一個(gè)字符占1字節(jié),見(jiàn)表2-3。字符型數(shù)據(jù)ASCIIASCI是美國(guó)標(biāo)準(zhǔn)信息交換碼(AmericanStandardCodeforInformationInterchange)的縮寫(xiě),用來(lái)指定計(jì)算機(jī)中每個(gè)符號(hào)對(duì)應(yīng)的代碼,也叫做計(jì)算機(jī)的內(nèi)碼(code)。字符型數(shù)據(jù)字符常量C語(yǔ)言中字符常量是按整數(shù)存儲(chǔ)的,所以字符常量可以像整數(shù)一樣在程序中參與相關(guān)的運(yùn)算,如:a'-32;/執(zhí)行結(jié)果97-32=65A+32;//執(zhí)行結(jié)果65+32=9719'-9;//執(zhí)行結(jié)果57-9-48字符型數(shù)據(jù)轉(zhuǎn)義字符轉(zhuǎn)義字符是一種特殊的字符常量,以“\”開(kāi)頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。例如,前面各例printf()函數(shù)中用到的“\n”就是一個(gè)轉(zhuǎn)義字符,其意義是“回車換行”。字符型數(shù)據(jù)轉(zhuǎn)義字符通常使用轉(zhuǎn)義字符表示用一般字符不便于表示的控制代碼,如用于表示字符常量的單引號(hào)(')、用于表示字符串常量的雙引號(hào)(")和反斜杠(\)等。表2-4給出了C語(yǔ)言中常用的轉(zhuǎn)義字符。字符型數(shù)據(jù)字符型數(shù)據(jù)轉(zhuǎn)義字符廣義地講,C語(yǔ)言字符集中的任何一個(gè)字符均可用轉(zhuǎn)義字符來(lái)表示。表中的“\ddd”和“xhh”正是為此而提出的。ddd和hh分別為八進(jìn)制和十六進(jìn)制的ASCII值。如“\101”表示字母“A”,“\102”表示字母“B”,“\134”表示反斜杠,"XOA"表示換行等。字符型數(shù)據(jù)字符變量字符變量用來(lái)存放字符常量,只能存放一個(gè)字符。字符變量的定義形式如下:charcl,c2;字符型數(shù)據(jù)字符變量它表示c1和c2為字符變量,各放入一個(gè)字符,因此可以用下面語(yǔ)句對(duì)c?、c2賦值:c1='a';c2=A;字符型數(shù)據(jù)字符變量所有C語(yǔ)言編譯系統(tǒng)都規(guī)定用1字節(jié)來(lái)存放一個(gè)字符,或者說(shuō),一個(gè)字符變量在內(nèi)存中占1字節(jié)。字符型數(shù)據(jù)字符變量將字符常量放到字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中,而是將該字符相應(yīng)的ASCII值放到存儲(chǔ)單元中。既然在內(nèi)存中字符數(shù)據(jù)以ASCII值存儲(chǔ),那么它的存儲(chǔ)形式就與整數(shù)的存儲(chǔ)形式類似,這就使得字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。字符型數(shù)據(jù)字符變量編寫(xiě)如下程序,編譯、連接,生成可執(zhí)行文件,下載執(zhí)行,看看運(yùn)行結(jié)果是否同所預(yù)計(jì)的一樣。#include<uart.h>intmain(void)chara,b,h;uart_init();a=97;b=98;printf("%c%c\n",a,b);printf("%d%d\n",a,b);while(1);字符型數(shù)據(jù)工程素質(zhì)和技能歸納本章涉及的主要技能①整型數(shù)據(jù)變量的定義和使用,變量的命名規(guī)則。②C語(yǔ)言的運(yùn)算符、算術(shù)表達(dá)式和賦值語(yǔ)句。③整型數(shù)據(jù)的輸出格式符。④整型數(shù)據(jù)在內(nèi)存中的表示方式和表示范圍。⑤浮點(diǎn)型數(shù)據(jù)變量的定義和使用。⑥浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的表示方法。⑦浮點(diǎn)數(shù)據(jù)的運(yùn)算和格式顯示。⑧字符型數(shù)據(jù)與ASCII值,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式和輸出。字符型數(shù)據(jù)工程素質(zhì)和技能歸納常見(jiàn)錯(cuò)誤①變量名稱定義和規(guī)范問(wèn)題。C語(yǔ)言程序區(qū)分各種變量名稱的大小寫(xiě),同一個(gè)名字如果大、小寫(xiě)不一樣,C語(yǔ)言都將其視為不同的變量。②變量類型一經(jīng)確定,就確定了其能夠表示的最大的數(shù)和最小的數(shù)。如果變量取值超過(guò)了這個(gè)范圍,就會(huì)出現(xiàn)意外的結(jié)果

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論