




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計C語言程序設計課程回顧1、標識符的定義規(guī)則?2、C語言的基本數(shù)據類型有哪些?3、運算符的類型及優(yōu)先級。課程回顧1、標識符的定義規(guī)則?第8章編譯預處理8.1求解某校園圓形花壇的圓周長及圓面積 8.2 宏定義 8.3 文件包含 8.4 條件編譯在編譯之前對預處理命令進行處理。第8章編譯預處理8.1求解某校園圓形花壇的圓周長及圓面積8.1求解某校園圓形花壇的圓周長及圓面積任務描述 在幾何圖形的求解問題中,通常需要求解圓周長及面積,只要已知圓半徑便可依相應算法求解所需問題,并運用符號常量設計程序,計算圓周長及面積相關知識 宏定義和文件包含8.1求解某校園圓形花壇的圓周長及圓面積任務描述宏
2、定義和文【任務分析】本任務也可以拆分成3個子任務:任務1是完成輸入功能,即將球體的半徑存儲到計算機中;任務2是計算周長與體積;任務3是在屏幕上輸出計算結果。8.1求解某校園圓形花壇的圓周長及圓面積【任務分析】8.1求解某校園圓形花壇的圓周長及圓面積【數(shù)據處理】問題輸入r /*表示圓的半徑*/問題輸出circ /*存放圓的周長*/area /*存放圓的面積*/8.1求解某校園圓形花壇的圓周長及圓面積【數(shù)據處理】8.1求解某校園圓形花壇的圓周長及圓面積【程序實現(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(請輸入待求圓形花壇的半徑: scanf( %lfn,r);printf(所求圓形花壇的圓周長% .4f= circ n, circ(r)printf(所求圓形花壇的圓面積% .4f= area n, area(r)8.1求解某校園圓形花壇的圓周長及圓面積【程序實現(xiàn)】8.1求解某校園圓形花壇的圓周長及圓面積學習目標掌握無參數(shù)宏定義和帶參數(shù)宏定義的基本用法理解帶參數(shù)宏定義和函數(shù)調用的主要區(qū)別8.2 宏定義學習目標掌握無參數(shù)宏定義和帶參數(shù)宏定義的基本用法理解帶參數(shù)宏8.2
4、.1 無參數(shù)的宏定義基本形式# define 標識符 字符串 表示這是一條預處理命令宏定義命令為所定義的宏名 可以是常數(shù)、表達式、格式串等 # define PI 3.14159268.2.1 無參數(shù)的宏定義基本形式# define 標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幾點說明宏定義是用宏名來表示一個字符串,在宏展開時又以該字符串取代宏名。宏
5、定義不是說明或語句,在行末不必加分號,如加上分號則連分號也一起置換。宏定義必須寫在函數(shù)之外,其作用域為宏定義命令起到源程序結束。宏名在源程序中若用引號括起來,則預處理程序不對其作宏代換。宏定義允許嵌套,在宏定義的字符串中可以使用已經定義的宏名。習慣上宏名用大寫字母表示,以便于與變量區(qū)別。但也允許用小寫字母。對“輸出格式”作宏定義,可以減少書寫麻煩。 8.1.1 無參數(shù)的宏定義幾點說明宏定義是用宏名來表示一個字符串,在宏展開時又以該字8.1.2 帶參數(shù)的宏定義基本形式帶參數(shù)宏定義的一般形式為: #define 宏名(形參表) 字符串帶參數(shù)宏調用的一般形式為: 宏名(實參表);8.1.2 帶參數(shù)的
6、宏定義基本形式帶參數(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);分析以下程序運行結果。 8.1.2 帶參數(shù)的宏定義實例分析#include 分析以下程序運行幾點說明帶參宏定義中,宏名和形參表之間不能有空格出現(xiàn)。在帶參宏定義中,形式參數(shù)不分配內存單元,因此不必作類型定義。而宏調用中的實參有具體的值。要用它們去代換形參,因此必須作類型說明。在宏定義中的形參是標識符,而宏調用中的實參可以是表達式。在宏定義中,字符串內的形參通常要用括號括起來以避
7、免出錯。帶參的宏和帶參函數(shù)很相似,但有本質上的不同。宏定義也可用來定義多個語句,在宏調用時,把這些語句又代換到源程序內。8.1.2 帶參數(shù)的宏定義幾點說明帶參宏定義中,宏名和形參表之間不能有空格出現(xiàn)。8.8.1.3 終止宏定義基本形式一般形式為: #undefine 宏名#define G 9.8main(). /*G的有效范圍是從定義開始到#undef G止 */# undefine Gf1()8.1.3 終止宏定義基本形式一般形式為:學習目標掌握文件包含的形式和含義理解文件包含的兩種形式的主要區(qū)別8.3 文件包含學習目標掌握文件包含的形式和含義理解文件包含的兩種形式的主要文件包含預處理是指
8、在一個文件中將另外一個文件的全部內容包含進來的處理過程,即將另外的文件包含到本文件中。相關概念8.3 文件包含文件包含預處理是指在一個文件中將另外一個文件的全部內容包基本形式8.3 文件包含文件包含的一般形式為: #include 文件名或 #include 基本形式8.3 文件包含文件包含的一般形式為:幾點說明8.3 文件包含使用尖括號表示在包含文件目錄中去查找;使用雙引號則表示首先在當前的源文件目錄中查找,若未找到才到包含目錄中去查找一個include命令只能指定一個被包含文件,若有多個文件要包含,則需用多個include命令。文件包含允許嵌套,即在一個被包含的文件中又可以包含另一個文件幾
9、點說明8.3 文件包含使用尖括號表示在包含文件目錄中8.4 條件編譯基本形式1#ifdef 標識符程序段1#else程序段2#endif功能:如果標識符已被 #define命令定義過則對程序段1進行編譯;否則對程序段2進行編譯。如果沒有程序段2(它為空),本格式中的#else可以沒有,即可以寫為:#ifdef 標識符程序段#endif8.4 條件編譯基本形式1#ifdef 標識符8.4 條件編譯基本形式2#ifndef 標識符程序段1#else程序段2#endif功能:如果標識符未被#define命令定義過則對程序段1進行編譯,否則對程序段2進行編譯。這與第一種形式的功能正相反。8.4 條件編
10、譯基本形式2#ifndef 標識符8.4 條件編譯基本形式3#if 常量表達式程序段1#else程序段2#endif功能:如常量表達式的值為真(非0),則對程序段1 進行編譯,否則對程序段2進行編譯。因此可以使程序在不同條件下,完成不同的功能。 8.4 條件編譯基本形式3#if 常量表達式8.4 條件編譯實例分析從鍵盤輸入10個整數(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 條件編譯實例分析從鍵盤輸入10個整數(shù),并依所設置小型案例任務描述 要求任意輸入一行字母字符,根據需要設條件編譯,使之能將字母全改為大寫輸出或小寫輸出。分析 可先設定一個常量,作為后續(xù)進行預處理的條件編譯命令的條件選項,依不同的條件作相應的條件編譯。小型案例任務描述【數(shù)據處理】問題輸入LETTER /*作為存放字母字符的常量標識*/str /*一個字符串數(shù)組*/問題輸出轉換后的字母符號 相關計算公式小寫字母 - 32=大寫字母小型案例【數(shù)據處理】小型案例【算法】1讀取字符串數(shù)組的各個字符。2依LETTER標識條件,作相應的轉換。3用小寫字母與大寫字母間的差值為32進行計算轉換。小型案例【算法】小型案例#define LETTER 1main()char str20 =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 秋季安全應急課件
- AI技術助力實現(xiàn)精準健康預防與管理
- 2024年河南省洛陽市西工區(qū)中考一模語文試題(原卷版+解析版)
- 人工智能在醫(yī)學教育中的潛力與前景
- 供應鏈創(chuàng)新醫(yī)療行業(yè)的機遇與挑戰(zhàn)
- 從個人到全球探索基于區(qū)塊鏈的個性化醫(yī)療服務新模式
- 2024年山東聊城公開招聘社區(qū)工作者考試試題答案解析
- 多級離心泵企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 智能照明器具企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 耕種機械企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 首末件檢查記錄表
- 2022年SYB創(chuàng)業(yè)培訓講師考試
- GB∕T 37281-2019 廢鉛酸蓄電池回收技術規(guī)范
- 動火作業(yè)檢查清單
- 鋼管樁沉樁兩種工藝方法
- 滲透試驗報告
- 吊車包月租賃合同完美參考
- 亞馬遜品牌授權書(英文模板)
- 標準化與標準編寫PPT課件
- 螺桿壓縮機知識(課堂PPT)
- 靜電防護ESD培訓教材(完整版)
評論
0/150
提交評論