版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言程序設(shè)計(jì)C語言程序設(shè)計(jì)課程回顧1、標(biāo)識(shí)符的定義規(guī)則?2、C語言的基本數(shù)據(jù)類型有哪些?3、運(yùn)算符的類型及優(yōu)先級(jí)。課程回顧1、標(biāo)識(shí)符的定義規(guī)則?第8章編譯預(yù)處理8.1求解某校園圓形花壇的圓周長及圓面積 8.2 宏定義 8.3 文件包含 8.4 條件編譯在編譯之前對(duì)預(yù)處理命令進(jìn)行處理。第8章編譯預(yù)處理8.1求解某校園圓形花壇的圓周長及圓面積8.1求解某校園圓形花壇的圓周長及圓面積任務(wù)描述 在幾何圖形的求解問題中,通常需要求解圓周長及面積,只要已知圓半徑便可依相應(yīng)算法求解所需問題,并運(yùn)用符號(hào)常量設(shè)計(jì)程序,計(jì)算圓周長及面積相關(guān)知識(shí) 宏定義和文件包含8.1求解某校園圓形花壇的圓周長及圓面積任務(wù)描述宏
2、定義和文【任務(wù)分析】本任務(wù)也可以拆分成3個(gè)子任務(wù):任務(wù)1是完成輸入功能,即將球體的半徑存儲(chǔ)到計(jì)算機(jī)中;任務(wù)2是計(jì)算周長與體積;任務(wù)3是在屏幕上輸出計(jì)算結(jié)果。8.1求解某校園圓形花壇的圓周長及圓面積【任務(wù)分析】8.1求解某校園圓形花壇的圓周長及圓面積【數(shù)據(jù)處理】問題輸入r /*表示圓的半徑*/問題輸出circ /*存放圓的周長*/area /*存放圓的面積*/8.1求解某校園圓形花壇的圓周長及圓面積【數(shù)據(jù)處理】8.1求解某校園圓形花壇的圓周長及圓面積【程序?qū)崿F(xiàn)】#include stdio.h#define PI 3.14159double circ(double r)return (2.0*P
3、I*r);double area(double r)return (PI*r*r);main()double r; printf(請(qǐng)輸入待求圓形花壇的半徑: scanf( %lfn,r);printf(所求圓形花壇的圓周長% .4f= circ n, circ(r)printf(所求圓形花壇的圓面積% .4f= area n, area(r)8.1求解某校園圓形花壇的圓周長及圓面積【程序?qū)崿F(xiàn)】8.1求解某校園圓形花壇的圓周長及圓面積學(xué)習(xí)目標(biāo)掌握無參數(shù)宏定義和帶參數(shù)宏定義的基本用法理解帶參數(shù)宏定義和函數(shù)調(diào)用的主要區(qū)別8.2 宏定義學(xué)習(xí)目標(biāo)掌握無參數(shù)宏定義和帶參數(shù)宏定義的基本用法理解帶參數(shù)宏8.2
4、.1 無參數(shù)的宏定義基本形式# define 標(biāo)識(shí)符 字符串 表示這是一條預(yù)處理命令宏定義命令為所定義的宏名 可以是常數(shù)、表達(dá)式、格式串等 # define PI 3.14159268.2.1 無參數(shù)的宏定義基本形式# define 標(biāo)8.1.1 無參數(shù)的宏定義#include #define R 3.0#define PI 3.1415926#define L 2*PI*R#define S PI*R*Rmain() printf(L=%fnS=%fn,L,S); 8.1.1 無參數(shù)的宏定義#include stdio幾點(diǎn)說明宏定義是用宏名來表示一個(gè)字符串,在宏展開時(shí)又以該字符串取代宏名。宏
5、定義不是說明或語句,在行末不必加分號(hào),如加上分號(hào)則連分號(hào)也一起置換。宏定義必須寫在函數(shù)之外,其作用域?yàn)楹甓x命令起到源程序結(jié)束。宏名在源程序中若用引號(hào)括起來,則預(yù)處理程序不對(duì)其作宏代換。宏定義允許嵌套,在宏定義的字符串中可以使用已經(jīng)定義的宏名。習(xí)慣上宏名用大寫字母表示,以便于與變量區(qū)別。但也允許用小寫字母。對(duì)“輸出格式”作宏定義,可以減少書寫麻煩。 8.1.1 無參數(shù)的宏定義幾點(diǎn)說明宏定義是用宏名來表示一個(gè)字符串,在宏展開時(shí)又以該字8.1.2 帶參數(shù)的宏定義基本形式帶參數(shù)宏定義的一般形式為: #define 宏名(形參表) 字符串帶參數(shù)宏調(diào)用的一般形式為: 宏名(實(shí)參表);8.1.2 帶參數(shù)的
6、宏定義基本形式帶參數(shù)宏定義的一實(shí)例分析#include #define ADD(x) x+xvoid main()int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(sum=%d,sum);分析以下程序運(yùn)行結(jié)果。 8.1.2 帶參數(shù)的宏定義實(shí)例分析#include 分析以下程序運(yùn)行幾點(diǎn)說明帶參宏定義中,宏名和形參表之間不能有空格出現(xiàn)。在帶參宏定義中,形式參數(shù)不分配內(nèi)存單元,因此不必作類型定義。而宏調(diào)用中的實(shí)參有具體的值。要用它們?nèi)ゴ鷵Q形參,因此必須作類型說明。在宏定義中的形參是標(biāo)識(shí)符,而宏調(diào)用中的實(shí)參可以是表達(dá)式。在宏定義中,字符串內(nèi)的形參通常要用括號(hào)括起來以避
7、免出錯(cuò)。帶參的宏和帶參函數(shù)很相似,但有本質(zhì)上的不同。宏定義也可用來定義多個(gè)語句,在宏調(diào)用時(shí),把這些語句又代換到源程序內(nèi)。8.1.2 帶參數(shù)的宏定義幾點(diǎn)說明帶參宏定義中,宏名和形參表之間不能有空格出現(xiàn)。8.8.1.3 終止宏定義基本形式一般形式為: #undefine 宏名#define G 9.8main(). /*G的有效范圍是從定義開始到#undef G止 */# undefine Gf1()8.1.3 終止宏定義基本形式一般形式為:學(xué)習(xí)目標(biāo)掌握文件包含的形式和含義理解文件包含的兩種形式的主要區(qū)別8.3 文件包含學(xué)習(xí)目標(biāo)掌握文件包含的形式和含義理解文件包含的兩種形式的主要文件包含預(yù)處理是指
8、在一個(gè)文件中將另外一個(gè)文件的全部?jī)?nèi)容包含進(jìn)來的處理過程,即將另外的文件包含到本文件中。相關(guān)概念8.3 文件包含文件包含預(yù)處理是指在一個(gè)文件中將另外一個(gè)文件的全部?jī)?nèi)容包基本形式8.3 文件包含文件包含的一般形式為: #include 文件名或 #include 基本形式8.3 文件包含文件包含的一般形式為:幾點(diǎn)說明8.3 文件包含使用尖括號(hào)表示在包含文件目錄中去查找;使用雙引號(hào)則表示首先在當(dāng)前的源文件目錄中查找,若未找到才到包含目錄中去查找一個(gè)include命令只能指定一個(gè)被包含文件,若有多個(gè)文件要包含,則需用多個(gè)include命令。文件包含允許嵌套,即在一個(gè)被包含的文件中又可以包含另一個(gè)文件幾
9、點(diǎn)說明8.3 文件包含使用尖括號(hào)表示在包含文件目錄中8.4 條件編譯基本形式1#ifdef 標(biāo)識(shí)符程序段1#else程序段2#endif功能:如果標(biāo)識(shí)符已被 #define命令定義過則對(duì)程序段1進(jìn)行編譯;否則對(duì)程序段2進(jìn)行編譯。如果沒有程序段2(它為空),本格式中的#else可以沒有,即可以寫為:#ifdef 標(biāo)識(shí)符程序段#endif8.4 條件編譯基本形式1#ifdef 標(biāo)識(shí)符8.4 條件編譯基本形式2#ifndef 標(biāo)識(shí)符程序段1#else程序段2#endif功能:如果標(biāo)識(shí)符未被#define命令定義過則對(duì)程序段1進(jìn)行編譯,否則對(duì)程序段2進(jìn)行編譯。這與第一種形式的功能正相反。8.4 條件編
10、譯基本形式2#ifndef 標(biāo)識(shí)符8.4 條件編譯基本形式3#if 常量表達(dá)式程序段1#else程序段2#endif功能:如常量表達(dá)式的值為真(非0),則對(duì)程序段1 進(jìn)行編譯,否則對(duì)程序段2進(jìn)行編譯。因此可以使程序在不同條件下,完成不同的功能。 8.4 條件編譯基本形式3#if 常量表達(dá)式8.4 條件編譯實(shí)例分析從鍵盤輸入10個(gè)整數(shù),并依所設(shè)置的編譯條件將其中的最大值或最小值顯示出來。#include #define MFLAG 1mai()int i,M;int array10;for (i=0;i10;i+) scanf(%d,&arrayi); M=array0; for (i=1;i1
11、0;i+) #if MFLAGif (Marrayi) M=arrayi; #endifprintf(M=%d,M);8.4 條件編譯實(shí)例分析從鍵盤輸入10個(gè)整數(shù),并依所設(shè)置小型案例任務(wù)描述 要求任意輸入一行字母字符,根據(jù)需要設(shè)條件編譯,使之能將字母全改為大寫輸出或小寫輸出。分析 可先設(shè)定一個(gè)常量,作為后續(xù)進(jìn)行預(yù)處理的條件編譯命令的條件選項(xiàng),依不同的條件作相應(yīng)的條件編譯。小型案例任務(wù)描述【數(shù)據(jù)處理】問題輸入LETTER /*作為存放字母字符的常量標(biāo)識(shí)*/str /*一個(gè)字符串?dāng)?shù)組*/問題輸出轉(zhuǎn)換后的字母符號(hào) 相關(guān)計(jì)算公式小寫字母 - 32=大寫字母小型案例【數(shù)據(jù)處理】小型案例【算法】1讀取字符串?dāng)?shù)組的各個(gè)字符。2依LETTER標(biāo)識(shí)條件,作相應(yīng)的轉(zhuǎn)換。3用小寫字母與大寫字母間的差值為32進(jìn)行計(jì)算轉(zhuǎn)換。小型案例【算法】小型案例#define LETTER 1main()char str20 =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園年度伙委會(huì)會(huì)議
- 高考新課標(biāo)語文模擬試卷系列之70
- 污水處理行業(yè)客服工作思考
- 公務(wù)員工作總結(jié)服務(wù)群眾恪盡務(wù)
- 包包設(shè)計(jì)師設(shè)計(jì)款式新穎的時(shí)尚包包
- 綜合ICU護(hù)士總結(jié)
- 餐飲傳媒業(yè)營銷趨勢(shì)總結(jié)
- 口腔科護(hù)士關(guān)愛口腔健康
- 藝術(shù)行業(yè)服務(wù)員工作總結(jié)
- 提升現(xiàn)金流管理能力的行動(dòng)計(jì)劃
- 2024新一代變電站集中監(jiān)控系統(tǒng)系列規(guī)范第2部分:設(shè)計(jì)規(guī)范
- 財(cái)富管理課程設(shè)計(jì)
- 快樂寒假安全先行寒假安全教育主題班會(huì)課件
- 燃燒仿真.燃燒仿真軟件:OpenFOAM:湍流燃燒仿真原理
- 2024-2025學(xué)年七年級(jí)語文上冊(cè)第一學(xué)期 期末綜合模擬測(cè)試卷(人教版)
- 浙江省臺(tái)金七校2023-2024學(xué)年高一下學(xué)期4月期中考試英語試題
- 藍(lán)色卡通風(fēng)胃腸減壓護(hù)理
- 小學(xué)單位換算-體積
- 叉車自行檢查記錄表
- 2024新安全生產(chǎn)法知識(shí)考試題庫及答案大全
- 專題5 書面表達(dá)-2023-2024學(xué)年譯林版五年級(jí)上冊(cè)英語期末專題復(fù)習(xí)
評(píng)論
0/150
提交評(píng)論