freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

avr單片機(jī)c語(yǔ)言編程(文件)

 

【正文】 返回 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 69 2022/8/22 5 編譯預(yù)處理 ?預(yù)處理 ? 在編譯之前對(duì)源程序進(jìn)行“預(yù)處理” ? 預(yù)處理命令不是 C語(yǔ)句,末尾沒有分號(hào) ? 預(yù)處理命令不在可執(zhí)行文件中執(zhí)行 ? 預(yù)處理命令都以 開始 ? 包括 宏定義 、 文件包含 、 條件編譯 等 ?舉例 ? define MAX 1000 ? include 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 70 2022/8/22 宏 (Macro)定義 5 編譯預(yù)處理 ?無參數(shù)的宏定義 ?帶參數(shù)的宏定義 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 71 2022/8/22 5 編譯預(yù)處理 無參數(shù)的宏定義 ?一般形式 ? define 標(biāo)識(shí)符 字符串 ?說明 ? 把源程序中相應(yīng)標(biāo)識(shí)符予以替換 ? 僅是簡(jiǎn)單的字符串替換,沒有任何語(yǔ)法正確性檢查 ? 有效范圍從定義處開始,到文件結(jié)束,或者由 undef命令終止作用域 ? 行末沒有分號(hào),如有分號(hào)將會(huì)被一起替換 define R define PI define L 2*PI*R define begin { define end } define forever for(。)。 s==11 */ s=S2(x+y, xy)。 */ /* z==7, i==6, j==8 */ } 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 73 2022/8/22 5 編譯預(yù)處理 文件包含 ?一般形式 ? include filename ? include filename ?說明 ? 把另一個(gè)源文件的全部?jī)?nèi)容包含進(jìn)來 ? 預(yù)編譯后,它們已成為一個(gè)文件 ? 頭文件的擴(kuò)展名一般用 .h,但并非規(guī)定 ? 調(diào)用庫(kù)函數(shù)一般使用 ,也可以使用 ? 調(diào)用用戶編寫的頭文件應(yīng)使用 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 74 2022/8/22 條件編譯 5 編譯預(yù)處理 ?條件編譯 ? 對(duì)某些部分的源程序指定編譯的條件 ? 可以減少被編譯的語(yǔ)句,減少目標(biāo)程序的長(zhǎng)度,減少運(yùn)行時(shí)間 ? 有利于移植程序,增加程序的靈活性 ?命令形式 ? ifdef...else...endif ? ifndef...else...endif ? if...else...endif 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 75 2022/8/22 ① 如果標(biāo)識(shí)符被定義過 * 如果標(biāo)識(shí)符未被定義過 ifdef 標(biāo)識(shí)符 ifndef 標(biāo)識(shí)符 程序段 1 程序段 1 /*編譯此程序段 */ else else /*else部分可省略 */ 程序段 2 程序段 2 /*反之,編譯此程序段 */ endif endif *此處指標(biāo)識(shí)符用 define等命令定義過 。 ifdef DEBUG printf(a=%d,b=%d\n,a,b)。 數(shù)組 :相同數(shù)據(jù)類型變量的有序集合。下標(biāo)可以有多個(gè),下標(biāo)的個(gè)數(shù)稱為數(shù)組的維數(shù)。 例: int a[5]。 ERROR! ? 常量表達(dá)式表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。也就是說, C語(yǔ)言不允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義。 引用方式: 數(shù)組名 [下標(biāo) ] 下標(biāo)可以是整型常量或整型表達(dá)式。 for(i= 9; i>= 0; i) printf( %d,a[i])。 ?使一個(gè)數(shù)組中全部元素值為 0 int a[10]={0,0,0,0,0,0,0,0,0,0}; 或 int a[10]={0}。 只初始化前 5個(gè)元素 , 后 5個(gè)元素為 0。 行數(shù) 列數(shù) 例: float a[3][4],b[5][10]; 不能寫成 float a[3,4],b[5,10]。例如,可以把 a[3][4]看作是一個(gè)一維數(shù)組,它有 3個(gè) 元素, 每個(gè)元素又是一個(gè)包含 4個(gè)元素的一維數(shù)組 : a[0] a[0][0] a[0][1] a[0][2] a[0][3] a[1] a[1][0] a[1][1] a[1][2] a[1][3] a[2] a[2][0] a[2][1] a[2][2] a[2][3] 上面定義的二維數(shù)組可以理解為定義了三個(gè)一維數(shù)組,即相當(dāng)于 f1oat a[0][4],a[1][4],a[2][4] 此處把 a[0],a[1],a[2]看作一維數(shù)組名 。 如: a[2][3]錯(cuò)了,其最大下標(biāo)為 1和 2。如:static inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}。如: static int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}。 ⒉ 字符數(shù)組的初始化 一維數(shù)組賦初值 :用單個(gè)字符對(duì)每一個(gè)元數(shù)賦值 。 ERROR! ?如果初值個(gè)數(shù)小于數(shù)組長(zhǎng)度,則只將這些字符賦給數(shù)組中前面那些元素, 其余的元素自動(dòng)為空字符 (即 ‘ \0’ )。 等價(jià)于: char str1[5]={ ’h’, ’e’, ’l’, ’l’, ’o’}。 w a n g \0 \0 z h a n g \0 l i u \0 \0 \0 str數(shù)組在內(nèi)存中存儲(chǔ)形式 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 2022/8/22 92 6 數(shù)組及指針 字符數(shù)組 3. 字符數(shù)組的引用 可以引用 字符數(shù)組中的一個(gè)元素 ,得到一個(gè)字符。,39。},{39。,39。}, {39。,39。,39。,39。,39。,39。}}。 } } * * * * * * * * \0 \0 * \0 \0 \0 * \0 * \0 * \0 \0 \0 * \0 * \0 * \0 \0 \0 * \0 \0 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 2022/8/22 93 4. 字符串和字符串結(jié)束標(biāo)志。 for(i=0; i5; i++) { for(j= 0; j5; j++) printf(%c,diamond[i][j])。,39。},{39。,39。},{39。,39。,39。,39。,39。, 39。 main() { char diamond[][5]={{39。 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 2022/8/22 91 6 數(shù)組及指針 字符數(shù)組 二維數(shù)組賦初值 二維數(shù)組的每一行可以存放一個(gè)字符串。 ?如果初值個(gè)數(shù)與預(yù)定的數(shù)組長(zhǎng)度相同,在定義時(shí)可以省略數(shù)組的長(zhǎng)度,系統(tǒng)會(huì)自動(dòng)根據(jù)初值個(gè)數(shù)確定數(shù)組長(zhǎng)度。 把 5個(gè)字符分別賦給 str1[0]~str[4]這 5個(gè)元素 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 2022/8/22 90 注意: ?如果花括弧中提供的初值個(gè)數(shù)(即字符個(gè)數(shù))大于數(shù)組長(zhǎng)度,則作語(yǔ)法錯(cuò)誤處理。 ⒈ 字符數(shù)組的定義 char 數(shù)組名 [下標(biāo) ]。如: static int a[3][4]={{1},{0,6},{0,0,11}}。如: static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}。 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 2022/8/22 87 6 數(shù)組及指針 二維數(shù)組 數(shù)組名 [行下標(biāo) ] [列下標(biāo) ]; 如: a[2][3],數(shù)組元素可出現(xiàn)在表達(dá)式中,也可被賦值如: a[1][2]= a[0][2]/2。 6 數(shù)組及指針 二維數(shù)組 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 例 : int a[2][3]。 include main() {int i; static int a[10]; printf(input 10 numbers:\n); for(i=0; i10; i++) scanf(%d, amp。 例如: int a[5]={1, 2, 3, 4, 5}; 可以寫成 : int a[]= {1, 2, 3, 4, 5}。例如 int a[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; ?只給一部分元素賦值。 例: main () { int i,a[10]。n); int a[n]。注意不能使用數(shù)組元素 a[10]。 a[0] a[1] a[2] a[3] a[4] 分配內(nèi)存 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 2022/8/22 79 6 數(shù)組及指針 一維數(shù)組定義的幾點(diǎn)說明: ? 數(shù)組名命名規(guī)則和變量名相同,遵循標(biāo)識(shí)符定名規(guī)則。 數(shù)組名,用標(biāo)識(shí)符命名。 數(shù)組用一個(gè)名字作為標(biāo)識(shí)。 } 條件編譯 結(jié)果: a=10,b=20 c=0 如果沒有 define行呢? 只輸出c=0 返回 2022/8/22 77 6 數(shù)組及指針 C 語(yǔ)言可以根據(jù)用戶需要,用基本數(shù)據(jù)類型定義特殊性質(zhì)的數(shù)據(jù)類型,稱為 構(gòu)造類型 。 clrscr()。 s==7 */ z=max(i++, j++)。 s=S1(x+y, xy)。 undef PI /* 取消對(duì) PI的宏定義 */ forever。 clrscr( )。 } 【 結(jié)果 】 5, 25 如果第二行不加上 extern呢? 【 結(jié)果 】 12, 2 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 68 2022/8/22 4 函數(shù)及其調(diào)用 求程序運(yùn)行結(jié)果 int a=0。 x=a+b。 x=ab。 } main() { int a=8。 } 【 結(jié)果 】 a=3,b=5,c=2 a=5,b=2,c=1 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 66 2022/8/22 4 函數(shù)及其調(diào)用 int a=3,b=5。//注意應(yīng)用范圍 c=b*2。 m=i+a+b。 p=func(k,m)。 } 變量跟蹤 main( ) f函數(shù) a i b c f(a) 2 0 0→1 4 7 1 0→1 5 8 2 0→1 6 9 【 結(jié)果 】 7 8 9 如果去掉 static呢? 【 結(jié)果 】 7 7 7 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 64 2022/8/22 4 函數(shù)及其調(diào)用 求程序運(yùn)行結(jié)果 main() { int k=4,m=1,p。 static int c=3。//清楚屏幕,內(nèi)部函數(shù) for (i=0。 ■ auto型(自動(dòng)變量型) 變量值存放在主存儲(chǔ)器的 動(dòng)態(tài)存儲(chǔ)區(qū) (堆棧方式); 優(yōu)點(diǎn) ——同一內(nèi)存區(qū)可被不同變量反復(fù)使用。 為什么使用變量前要先對(duì)其數(shù)據(jù)類型進(jìn)行“說明” ——好比看電影前先買票訂座 ◆ 預(yù)留存儲(chǔ)空間(如 char型為 1個(gè)字節(jié) ,int型為 2個(gè)字節(jié) ? ) ◆ 確定存儲(chǔ)方式(如 char型存放 ASCII值 ,int型存放補(bǔ)碼值 ? ) 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 58 2022/8/22 ? 變量 (局部 /全局)兩大屬性: 數(shù)據(jù)類型 例如,擴(kuò)大到整個(gè)源文件(模塊),對(duì)于多源文件(模塊)可以擴(kuò)大到其它源文件(模塊)。 有參函數(shù)的形式參數(shù)也是局部變量: 只在其所在的函數(shù)范圍內(nèi)有效。 機(jī)電系統(tǒng)控制電路設(shè)計(jì) 54 2022/8/22 4 函數(shù)及其調(diào)用 局部變量 概念: 是指在一定范圍內(nèi)有效的變量。在函數(shù)內(nèi)是通過 return語(yǔ)句返回值的。 關(guān)于形參和實(shí)參的說明: ? a、形參只有當(dāng)調(diào)用時(shí)才臨時(shí)分配存儲(chǔ)單元。 前例中,函數(shù)頭 int max(int x,int y,int z)中 x,y,z就是形參
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1