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

正文內(nèi)容

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

2025-11-28 21:47本頁面
  

【正文】 由可 執(zhí)行語句完成的 , 因此不能將初始化的 “ =”與 賦值號(hào)混淆 。 一維數(shù)組初始化的一般形式是: 數(shù)據(jù)類型說明符 數(shù)組名 [數(shù)組長度 ]={數(shù)值 , 數(shù) 值 , ... 數(shù)值 }; int data[5]={1,2,3,4,5}。 注意 ( 1) 允許初始化一部分元素 , 而不是全部 。 int data[5]={1,2}。 ( 2) 初始化數(shù)組時(shí) , 允許省略數(shù)組的長度 。 int data[]={1,2,3,4,5}。 與 int data[5]={1,2,3,4,5}。是完全等價(jià)的 。 ( 3) 初始化數(shù)組時(shí) , 不能對(duì)整個(gè)數(shù)組初始化 。 例如 , int data[5]=1。 例 判斷下列程序的運(yùn)行結(jié)果 。 include void main() { int i。 float price[5]={1},sum=0。 for (i=0。i5。i++) { sum=sum+price[i]。 } printf(Sum is %f\n,sum)。 } 例 下面的程序是否正確 ? 執(zhí)行的結(jié)果可能是什么 ? include void main() { int i。 float price[3]={1},sum=0。 for (i=0。i5。i++) { sum=sum+price[i]。 } printf(Sum is %f\n,sum)。 } 程序舉例 例 用數(shù)組方式解決 Fibonacci數(shù)列問題 , 求出 Fibonacci數(shù)列的前 20項(xiàng)存儲(chǔ)在數(shù)組中 , 并將數(shù)組 內(nèi)容輸出 。 include void main() { int i,fib[20]={1,1}。 /*初始化 */ printf(\n)。 for (i=2。i20。i++) fib[i]=fib[i1]+fib[i2]。 for (i=1。i=20。i++) { printf(%10d,fib[i1])。 if (i%5==0) printf(\n)。 /*換行 , 每行輸出 5個(gè) */ } } 例 一個(gè)小公司的 6個(gè)員工每人有一個(gè)代碼( 整 數(shù) 1到 6) , 員工找經(jīng)理報(bào)銷出租車費(fèi)時(shí) , 經(jīng)理要 記錄他的代碼和金額 。 編寫程序定義一個(gè) float數(shù) 組 , 記錄報(bào)銷的情況 。 經(jīng)理每次輸入員工的代碼 和報(bào)銷金額 , 允許一個(gè)員工報(bào)銷多次 , 若輸入的 員工號(hào)碼超出 1到 6, 則循環(huán)終止 , 最后列表輸出 每個(gè)人的報(bào)銷總數(shù) , 輸出內(nèi)容包括員工代碼和報(bào) 銷金額 。 解決方法: a[i]中存儲(chǔ)代碼為 i的員工的出租車費(fèi) 。 define SIZE 6 include void main() { int i,code。 float taxi[SIZE+1],fee。 for (i=1。i=SIZE。i++) /*將數(shù)組的每個(gè)元素清 0 */ taxi[i]=0。 printf(Please input code and fee:)。/*讀入第一組代碼和費(fèi)用 */ scanf(%d%f,amp。code,amp。fee)。 while (code=1amp。amp。code=6) { taxi[code]= taxi[code]+fee。 /*根據(jù)員工代碼號(hào)在相應(yīng)元素上累加 */ printf(Please input code and fee:)。 scanf(%d%f,amp。code,amp。fee)。 /*讀入下一組代碼和費(fèi)用*/ } printf(code fee\n,i, taxi[i])。 for (i=1。i=SIZE。i++) printf(%3d %\n,i, taxi[i])。 } 例 輸入某年某月某日 , 計(jì)算是該年的第幾天 。 題目分析: 計(jì)算某年某月某日是當(dāng)年的第幾天的方法是 將該月以前的各月的天數(shù)相加 , 再加上當(dāng)月的日 期 , 而要計(jì)算 3月以后的某天時(shí) , 要考慮 2月份是 28天還是 29天 。 用一維數(shù)組 month_day存儲(chǔ) 12個(gè) 月的天數(shù) , 該數(shù)組表示 2月份是 28天 。 通過判斷 代表年的數(shù)字 , 可確定是否是閏年 , 如果是閏年 將表示 2月份天數(shù)的元素改為 29天 。 include void main() { int i,flag,year,month,day,dayth。 int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31}。 printf(\nPlease input year/month/day:)。 scanf(%d/%d/%d,amp。year,amp。month,amp。day)。 dayth=day。 flag=(year%400==0)||(year%4==0amp。amp。year%100!=0)。 /*判斷閏年 */ if (flag) month_day[2]=29。 /*是閏年 , 2月份改為 29天 */ for (i=1。imonth。i++) dayth=dayth+month_day[i]。 /*日期累加 */ printf(\n%d/%d/%d is %dth day ,year,month,day,dayth)。 } 指針值的算術(shù)運(yùn)算 1. 在指針值上加減一個(gè)整數(shù) 假如有定義: int n,*p。 表達(dá)式 p+n( n=0) 指向的是 p所指 的數(shù)據(jù)存儲(chǔ)單元之后的第 n個(gè)數(shù)據(jù)存儲(chǔ)單 元 。 指針與一維數(shù)組 這里的數(shù)據(jù)存儲(chǔ)單元不是內(nèi)存單元 , 內(nèi)存單元的大小是固定的 , 而數(shù)據(jù)存儲(chǔ)單元的大小與數(shù)據(jù)類型有關(guān) ,一個(gè)整型變量占 2個(gè)字節(jié) , 一個(gè)長整型變量占 4個(gè)字節(jié) 。 因此在 p上加 n是按所指的數(shù)據(jù)存儲(chǔ)單元定比例增大 ,而不是直接加 n。 p p+2 例如整型占 2個(gè)字節(jié) , 地址按字 節(jié)編址 , 若 p=9000, 則 p+1=9002, p+2=9004, … p+n=9000+2*n。 因此 p+n的地址值實(shí)際等價(jià)于 (char *) p+ sizeof (*p)*n, 而不是指向 p 地址之后 的第 n個(gè)地址 ( 按字節(jié)編址 ) 。 假設(shè)有下列定義: int a[9],*pa。 則執(zhí)行 pa=a;與 pa=amp。a[0]。 都表示使 pa指向數(shù)組 a 的第一個(gè)元素 。 a和 p實(shí)際上都指向了數(shù)組 a的第一個(gè)元素 。 根據(jù)指針的算術(shù)運(yùn)算規(guī)則 , pa+1指向數(shù)組元素 a[1], pa+2指向數(shù)組元素 a[2], pa+i指向數(shù)組元 素 a[i]。 pa pa+1 pa+2 a[0] a[1] a[2] 例 輸出一個(gè)經(jīng)過初始化的數(shù)組內(nèi)容 。 include define SIZE 10 void main() { int a[SIZE]={1,2,3,4,5,6,7,8,9,10}。 int *pa,i。 pa=a。 /*pa指向 a[0] */ printf(\n)。 for (i=0。i SIZE 。i++) printf( %d,*(pa+i))。 /*輸出 pa+i指向的數(shù)組元素的內(nèi)容 */ } include define SIZE 10 void main() { int a[SIZE]={1,2,3,4,5,6,7,8,9,10}。 int *pa,i。 pa=amp。a[0]。 /*pa指向 a[0] */ printf(\n)。 for (i=0。i SIZE 。i++) { printf( %d,*pa)。 /*輸出 pa指向的數(shù)組元素的內(nèi)容 */ pa++。 /*pa移動(dòng)指向下一個(gè)數(shù)組元素 */ } } include define SIZE 10 void main() { int a[SIZE]={1,2,3,4,5,6,7,8,9,10}。 int *pa,i。 pa=a。 /*pa指向 a[0] */ printf(\nPlease enter %d integer,SIZE)。 for (i=0。i SIZE 。i++) /*讀入 10個(gè)數(shù) */ { scanf(%d,pa)。 pa++。 } for (i=0。i SIZE 。i++) { printf( %d,*pa)。 /*錯(cuò)誤 */ pa++。 } } 注意: 參于比較的指針?biāo)赶虻目臻g一 定在一個(gè)連續(xù)的空間內(nèi) 。 如何讓指針 指向連續(xù)的空間 ? 有兩種方法 , 一種 是指向一個(gè)數(shù)組的某些元素 , 另一種 是動(dòng)態(tài)申請(qǐng)一組連續(xù)的空間 。 2. 指針值的比較 使用關(guān)系運(yùn)算符 、 =、 、 =、 == 和 !=可以比較指針值的大小 。 如果 p和 q 是指向相同的類型的指針 變量 , 并且 p和 q指向同一段連續(xù)的存儲(chǔ)空 間 , p的地址值小于 q的值 , 則表達(dá)式 pq 的結(jié)果為 1, 否則表達(dá)式 pq結(jié)果為 0。 例 輸入 10個(gè)數(shù)到一個(gè)數(shù)組中 , 按照與輸入相反的順序輸出 。 include define SIZE 10 void main() { int a[SIZE]={1,2,3,4,5,6,7,8,9,10}。 int *pa,i。 int *qa。 pa=qa=amp。a[0]。 /*pa和 qa都指向 a[0] */ printf(\nPlease enter %d integer:,SIZE)。 for (。paqa+SIZE。pa++) /*讀入 10個(gè)數(shù) */ scanf(%d,pa)。 printf(Array data:,SIZE)。 for (pa。qa=pa
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1