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

正文內(nèi)容

c程序設(shè)計教程(上)林小茶編ppt-資料下載頁

2025-02-22 01:04本頁面
  

【正文】 量 。 int *p。 表示 p是一個指針變量 , p指向的存 儲單元是整型的 。 注意 , 指針變量與其他變量一樣 , 如果是 自動變量并且未賦值 , 指針變量的值將是不定 值 。 如果想讓 p的內(nèi)容是 i的地址 , 需要做一個 取地址運算 。 int i。 /*定義整型變量 i */ int *p。 /*定義指針變量 p */ p=amp。i。 /*p指向 i */ 定義指針的目的是為了通過指針去訪問內(nèi)存單元 。 運算符 “ *” 寫在指針變量的前面 , 就是通 過該指針訪問它所指向的存儲單元 。 我們在上 面三條語句后面 , 再加上一條執(zhí)行語句 , 變成: int i。 /*定義整型變量 i */ int *p。 /*定義指針變量 p */ p=amp。i。 /*p指向 i */ *p=3。 /*使 i的內(nèi)容為 3 */ 最后一句是將 p指向的存儲單元 i的內(nèi)容賦值為 3。 要點 (1) 如果有了定義 int *p, 說明 p是指針變 量 ( 也可以簡稱指針 ) , p的值應(yīng)該是地址 , 可以通過取地址運算符 amp。指向一個存儲單 元 , p本身要占一個存儲單元 ( 這一 點經(jīng)常被初學(xué)者忽略 ) 。 要點 (2) 指針變量可以指向任何一種基本數(shù)據(jù)類型 的存儲單元 , 指向何種類型的存儲單元 , 定義時 要明確地指出 , 并且不能隨便指向其他數(shù)據(jù)類型 的變量 。 例如 , 如果有定義 float *q;則 q只能指 向單精度浮點型的數(shù)據(jù)單元 , 而不能指向整型數(shù) 據(jù) 。 int i。 float *p。 p=amp。i。 /*錯誤 */ 上述程序段可能會引起預(yù)想不到的結(jié)果 。 要點 (3) 注意 “ *” 號的不同含義 , 它可以作為 算術(shù)運算符乘號 , 可以定義指針 , 還可以 存取指針?biāo)傅拇鎯卧膬?nèi)容 。 例如: int i。 /*定義整型變量 i */ int *p。 /*定義指針變量 p */ p=amp。i。 /*p指向 i */ *p=3*6。 /*使 i的內(nèi)容為 3*6=18 */ 要點 (4) 指針只是概念上的地址 , 不需要關(guān)心 它的具體數(shù)值 , 是 2022還是 3000, 都無關(guān) 緊要 。 因為對某個變量來說 , 由系統(tǒng)為它 申請動態(tài)或靜態(tài)內(nèi)存 , 在 C程序中不可直 接將內(nèi)存地址值賦值給一個指針變量 。 int*p。 p=2022。 /*錯誤 */ 要點 (5) 指向相同的數(shù)據(jù)類型的指針變量可以 相互賦值 , 指向不同類型對象的指針一般 不要做相互賦值 , 除非做強(qiáng)制轉(zhuǎn)換 。 而且 有時候 , 強(qiáng)制轉(zhuǎn)換也可能不能完全移植 。 int i。 int *py=amp。i。 int *px。 px=py。 上面程序段執(zhí)行以后 , px也指向 i。 指針運算符 amp。和 *的使用 前面已經(jīng)介紹了指針運算符 amp。和 *。 amp。是取 地址符 , *是取內(nèi)容符 , 通過 *, 可以存取指針 所指的存儲單元的內(nèi)容 。 例 。 include void main() { long data,y,*pointer。 data=7。 pointer=amp。data。 y=*pointer。 printf(\ny=%ld ,y)。 } 運行結(jié)果: y=7 注意: (1) 使用指針運算符 *和 amp。時 , 必須注 意運算符之間的優(yōu)先級 。 *和 amp。是同 級的 , 單目運算符與操作數(shù)結(jié)合方式 是從右至左 。 *amp。d的結(jié)果就是 d。 (2) 運算符 amp。只能用于變量或數(shù)組元素 。 所以 amp。(d+1)、 amp。 amp。A( A為數(shù)組名 ) 均為非法 。 (3) 不能用運算符 amp。取寄存器變量的地 址 , 因為寄存器變量沒有地址 。 (4) amp。x不能出現(xiàn)在賦值號的左邊 。 例 。 include void main() { int beta=10。 int *pointer,*q。 pointer=amp。beta。 *pointer=20。 beta=*pointer+30。 q=amp。beta。 printf(\n *q=%d ,*q)。 } 運行結(jié)果: *q=50 例 scanf函數(shù)的參數(shù) 。 include void main() { int x, y, sum,*p。 p=amp。x。 printf(\nPlease enter two integers:\n)。 scanf(%d%d,p,amp。y)。 sum=x+y。 printf(\n %d+%d=%d ,x,y,sum)。 } 第 3章 結(jié)構(gòu)化程序設(shè)計 ? 結(jié)構(gòu)化程序設(shè)計思想 ? 語句與分程序 ? 順序結(jié)構(gòu)程序設(shè)計 ? 關(guān)系運算符與邏輯運算符 ? 選擇結(jié)構(gòu)程序設(shè)計 ? 循環(huán)結(jié)構(gòu)程序設(shè)計 結(jié)構(gòu)化程序設(shè)計思想 結(jié)構(gòu)化程序設(shè)計思想的產(chǎn)生 20世紀(jì) 60年代 “ 軟件危機(jī) ” 的產(chǎn)生 是否在程序設(shè)計中使用 “ goto”語句的爭論 Corrado B214。hm和 Guiseppe 要有順序 、 選擇和循環(huán)三種形式的控制結(jié)構(gòu) ,就足以導(dǎo)出其它各式各樣的程序結(jié)構(gòu) , 從而在理論上奠定了結(jié)構(gòu)化程序設(shè)計的基礎(chǔ) 。 結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu) (1) 順序結(jié)構(gòu) 順序結(jié)構(gòu)就是一組逐條執(zhí)行的可執(zhí)行語句 。 按照書寫順序 , 自上而下的執(zhí)行 。 (2) 選擇結(jié)構(gòu) ( 分支結(jié)構(gòu) ) 選擇結(jié)構(gòu)是一種先對給定條件進(jìn)行判 斷 , 并根據(jù)判斷的結(jié)果執(zhí)行相應(yīng)命令的結(jié) 構(gòu) 。 (3) 循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)是指多次重復(fù)執(zhí)行同一組 命令的結(jié)構(gòu) 。 具有循環(huán)結(jié)構(gòu)的程序一般必須指定循 環(huán)的終止條件 , 以便對程序的循環(huán)進(jìn)行有 效的控制 , 以免進(jìn)入無限循環(huán) ( 或稱死循 環(huán) ) 的狀態(tài) 。 C程序的執(zhí)行部分由執(zhí)行語句構(gòu)成 。 執(zhí)行語句的種類 表達(dá)式語句 函數(shù)調(diào)用語句 控制語句 復(fù)合語句 ( 或稱分程序 ) 空語句 語句與分程序 最簡單的可執(zhí)行語句 。 只要在表達(dá) 式后面加上分號就可以了 。 例如: ++i。 x=y。 有效的表達(dá)式語句一般都要有賦值 運算 , 否則 , 不做任何賦值運算的表達(dá) 式大多數(shù)是無意義的 。 表達(dá)式語句 函數(shù)調(diào)用語句 由函數(shù)名 、 實際參數(shù)以及分號構(gòu)成 。 例如: printf(wele)。 printf是函數(shù)名 , “ wele”是實際參數(shù) 。 函 數(shù)名既可以是 C語言提供的庫函數(shù)名 , 也 可以是我們自己定義的函數(shù)名 。 控制語句 控制語句是用于控制程序流程的語句 , 控 制語句一般指那些改變了順序結(jié)構(gòu)的語句 。 C語言的控制語句 分支語句 ( if 和 switch) 循環(huán)語句 ( while、 dowhile、 for) 轉(zhuǎn)向語句 ( break、 goto、 continue、 return) 。 熟練掌握控制語句是學(xué)會程序設(shè)計的基礎(chǔ) 。 復(fù)合語句和分程序結(jié)構(gòu) 復(fù)合語句是用 { 和 }把數(shù)據(jù)說明語句和若干個有序的執(zhí)行語句組合在一起而構(gòu)成 。 其一般格式為 { [數(shù)據(jù)說明 ]; [語句 ]; } 復(fù)合語句在語法上相當(dāng)于一個簡單語句 , 在程序中可以作為一個獨立語句來看待 , 因此又稱為分程序 。 空語句 C語言中有一個很特殊的語句 , 即空語句 。 空語句 , 顧名思義 , 就是什么也不存在的語句 , 只有一個分號: 。 盡管空語句不會有任何命令執(zhí)行 , 但仍然是一個有用的語句 。 常用于循環(huán)語句中 , 使循環(huán)體為空 。 例如: for (sum=0,i=0。i=9。i++。sum=sum+i)。 順序結(jié)構(gòu)程序設(shè)計 順序程序設(shè)計的步驟可以歸納為: (1) 用預(yù)處理命令包含文件或進(jìn)行宏定義 ( 不是必須的 , 根據(jù)具體情況 ) ; (2) 定義變量 ( 分配內(nèi)存空間 ) ; (3) 為變量賦初值 ( 可以用賦值語句或 輸入函數(shù) ) ; (4) 計算; (5) 輸出結(jié)果 ( 用輸出函數(shù) ) 。 例 , 求長方形的面積和周長并輸出 , 用浮點數(shù)據(jù)處理 。 include void main() { double length,width,area。 /* 定義變量 */ printf(\n Enter length of rectangle:)。 /* 提示用戶輸入長方形的長 */ scanf(%lf,amp。length)。 /* 接收輸入 */ printf(Enter width of rectangle:)。 /* 提示用戶輸入長方形的寬 */ scanf(%lf,amp。width)。 /* 接收輸入 */ area=length*width。 /* 計算長方形的面積 */ printf(\nArea of rectangle is %lf,area)。 /* 輸出長方形的面積 */ printf(\nPerimeter of rectangle is %lf,2*(length+width))。 /* 輸出長方形的周長 */ } 例 編寫程序 , 輸入 x和 y, 交換它們的值 , 并輸 出交換前后接收輸入 。 /* swap x and y */ include void main() { int x,y,temp。 printf(\nPlease input two int number:)。 /* 提示用戶輸入兩個整數(shù) */ scanf(%d%d,amp。x,amp。y)。 /* 接收輸入 */ printf(\nbefore changed x=%3d y=%3d,x
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1