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

正文內(nèi)容

c程序設(shè)計實踐教程(中)ppt-在線瀏覽

2024-12-04 00:27本頁面
  

【正文】 。簡單程序可以做到,但復(fù)雜程序很難做到。例如,上面的頭文件 : ifndef _A2_H //A define _A2_H //B float area。 頭文件 : include ifndef _A1_H define _A1_H define PI define R endif 重新編譯源程序文件 。 程序的多文件組織 ? 單文件組織程序: 一個程序放在一個源程序文件中。 ? 多文件組織程序的優(yōu)勢: 便于代碼的設(shè)計、調(diào)試以及重用;便于多人協(xié)同編寫同一個程序等。 內(nèi)部函數(shù)和外部函數(shù) ? 內(nèi)部函數(shù)也稱靜態(tài)函數(shù): 僅限于本文件內(nèi)使用的函數(shù)。在定義函數(shù)時,函數(shù)的類型前加 extern或省略 extern,如: extern int f1( )//外部函數(shù):用 extern修飾 { ... } float f2( ) //外部函數(shù):省略 extern { ... } 外部函數(shù)應(yīng)用舉例 ? 文件 f(): int f(int x) { return x+1。 ... int i=f(x)。 外部變量 ? 文件 : extern int x=2。 coutx39。 } ?全局變量 x的定義性說明(extern可省 ),一是獲得了靜態(tài)存儲區(qū)的內(nèi)存和初值,二是允許本文件和其它文件使用。 則是引用性說明。 main()函數(shù)對外部變量 x做了引用性說明,擴展了外部變量 x的作用域,使 main函數(shù)可以訪問外部變量 x。 ? 頭文件是模塊的接口,提取的是模塊實現(xiàn) (對內(nèi) )和使用 (對外 )的關(guān)鍵信息,通常包含模塊中的全局類型定義、函數(shù)原型聲明、全局常量和變量的定義、模板和命名空間的定義、編譯預(yù)處理命令、注釋等。首先,在文件開始,用包含命令包含本模塊的頭文件;其次包含模塊中的函數(shù)定義、類類型的成員函數(shù)定義、編譯預(yù)處理命令、注釋等。程序由 3個文件組成:頭文件 Circle模塊的接口,聲明了函數(shù) area的原型;實現(xiàn)文件 Circle模塊的實現(xiàn)細節(jié),即函數(shù)area的定義;程序的主文件 Circle模塊的使用。 endif ⑵ include const float pi=。 } ⑶ include include void main(void) { float r。 cinr。\n39。 ? 在模塊 Circle的實現(xiàn)文件 Circle的主文件 ,都包含頭文件。這樣,模塊的實現(xiàn)中若違反接口約定,則會在編譯時報錯。一旦違規(guī)使用 Circle模塊,也會在編譯時報錯。 多文件組織 程序的編譯和鏈接 ? 編譯、鏈接一個由多文件組成的程序,有下列方式: ⑴包含命令方式; ⑵單獨編譯方式; ⑶工程 (或項目 )文件方式。這種方法比較適合規(guī)模不大的程序。 單獨編譯 ? 將各個源程序文件單獨編譯成目標程序,然后用操作系統(tǒng)或編譯器提供的鏈接程序?qū)⑦@些目標程序文件鏈接成一個可以執(zhí)行的程序文件。雖然,目前的 C++編譯器均支持這種方式,但很少有非專業(yè)人士愿意使用。這是多數(shù)流行 C++ IDE推薦的方法,使用簡便。 ? 右圖給出了例 VC++ IDE中的項目文件結(jié)構(gòu),讀者不妨一試。 ? 為什么引入數(shù)組? – 通過數(shù)組,可以方便地存儲和處理許多同類型數(shù)據(jù)。 值必須為正整數(shù) 例: int score[100]。 bool married[2] 。 表示元素個數(shù) 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 (續(xù)) ? ② 數(shù)組的存儲特點: – 在內(nèi)存中占據(jù)一組連續(xù)的存儲單元。 . . . 下標的取值范圍: 0 ~ 數(shù)組元素個數(shù) 1 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 (續(xù)) ? ③ 注意點: 用常量: const int num = 20。 能否用變量? int num = 20。 ! 數(shù)組的大小在編譯時必須確定,在程序執(zhí)行過程中不能改變 。 例: int arr[5] = {9,8,7,6,5}。 初始化方法 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 (續(xù)) ? ① 形式 1: 對所有元素賦初值。 a[0] . . . 0 1 2 . . . 9 a[1] a[2] a[9] 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 (續(xù)) ? ① 形式 1: 對所有元素賦初值。 int a[]={0,1,2,3,4,5,6,7,8,9}。 例如: int b[8]={1,2,3,4,5}。 a[0]=1, a[9]=2。如果表達式的值超出該范圍,這種現(xiàn)象稱為越界。 a[5]=3。 b=a。i5。 //錯: 數(shù)組之間不能直接相互賦值。 cin score。 for(int i=0。i++) cin score[i]。 couta。 for(int i=0。i++) couta[i]。斐波那契數(shù)的第一和第二個數(shù)分別為 0和 1,從第三個開始,每個斐波那契數(shù)是前兩個斐波那契數(shù)的和。 //定義數(shù)組 ,并初始化 for(int i=2。i++) //通過循環(huán)依次訪問數(shù)組元素 fib[i]=fib[i1]+fib[i2]。i20。 } 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 ? 例 某學(xué)校有若干名學(xué)生參加了 100米短跑測試,成績分別為 、 、 、 、 、 、 、 ,求出其中最快和最慢的成績。 //記錄當(dāng)前最快成績 int len=sizeof(score)/sizeof(double)。ilen。 else if(score[i]min) min=score[i]。 } 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 多維數(shù)組的定義、初始化和使用 ? 1.二維數(shù)組的定義 數(shù)據(jù)類型 數(shù)組名 [常量表達式 1][常量表達式 2] 例 : int a[3][4]。 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 理解二維數(shù)組 ? 二維數(shù)組可以看作一種特殊的一維數(shù)組,它的每個元素又是一個一維數(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] a 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 ? 引用數(shù)組元素的一般形式: 數(shù)組名 [行標 ][列標 ] ? 訪問二維數(shù)組的每個元素,一般通過二重循環(huán)。 for(int i=0。i++) for(int j=0。j++) x[i][j]=i*3+j+1。 int a[2][3]={{1,2,3},{4,5,6}}。 int a[2][3]={1,2,3,4,5,6}。 int a[][3]={1,2,3,4,5,6}。 int b[][4]={{3,3,3},{},{1,3}}。 include void main() { double sales[4][5]={0}。i4。 for(int j=0。j++) { cinsales[i][j]。 } } cout一季度 \t二季度 \t三季度 \t四季度 \t總額 \n。i4。j5。\t39。 ? 例 數(shù)組元素作為函數(shù)的實參 。 } 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 void main( ) { int a[5][2],i。i5。 a[i][1]=square(a[i][0])。i5。\t39。\n39。 ? 若一維數(shù)組做函數(shù)的形參,則調(diào)用該函數(shù)時, 相應(yīng)的實參用數(shù)組名 。 1 2 3 4 5 a[0] a[1] a[2] a[3] a[4] x[0] x[1] x[2] x[3] x[4] 8 a[7] x[7] … mul函數(shù)中 main函數(shù)中 合用內(nèi)存 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 例 設(shè)計一個函數(shù),完成數(shù)與向量的乘法運算。isize。 } void main( ) { int i,x[8]={1,2,3,4,5,6,7,8}。i8。\t39。 mul(x,8,2)。i8。\t39。 include int sum(int a[], int size)//size為形參數(shù)組大小 { int total=0。isize。 //累加 return total。 cout數(shù)組 a的元素之和 :sum(a,sizeof(a)/4)endl。 } 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 3.二維數(shù)組作為函數(shù)的參數(shù) void Transpose(int a[][4],int n) { for(int i=0。i++) for(int j=i。j++) { int t=a[i][j]。 a[j][i]=t。 應(yīng)明確指明列數(shù) 此處指定行數(shù)無效 需另設(shè)參數(shù)指定行數(shù) 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 字符數(shù)組 ? 字符數(shù)組:元素是字符的數(shù)組。,?a39。}。,?a39。}。//字符串后自動加 39。 char s2[]=“car”。\039。主要用于字符串的處理和輸出。 char s4[20]。 //輸入一個字符串存入 s4數(shù)組 couts4。 – 輸出時,若遇字符 ‘ \0?,則認為字符串結(jié)束。 – 第一個參數(shù):字符數(shù)組名; – 第二個參數(shù):允許輸入的最多字符個數(shù)。 include void main(void) { char str[51]。 (str,50)。\n39。 ? 字符串處理函數(shù):在頭文件 。例如: coutstrlen(abcd)。//結(jié)果為 3 調(diào)用該函數(shù)時也可用字符數(shù)組名做實參。 coutstrlen(s1)。例: char a[]=flower。 strcpy(a,b)。 //輸出結(jié)果為 red 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 ? 字符串連接函數(shù) strcat(字符數(shù)組名 1,字符數(shù)組名 2) 功能:將字符數(shù)組名 2中的第一個 ‘ \0?前的字符連接到字符數(shù)組名 1的第一個 ‘ \0?開始的單元中。 strcat(s1,s2)。 //輸出結(jié)果為 notebook 單擊此處編輯母版標題樣式 ? 單擊此處編輯母版副標題樣式 ? 字符串比較函數(shù) strcmp(字符串 1,字符串 2) – 功能:比較兩個字符串,并返回一個 int型值。 ? 若兩個字符串中的字符都相同,則認為兩個字符串相等;當(dāng)兩個字符串不等時,以最先出現(xiàn)的兩個不同字符的比較結(jié)果作為字符串的比較結(jié)果。 include include void strswap(char a[],char b[]) //交換兩個字符串 { char t[20]。strcpy(a,b)。 } void main(void) { char s[3][20]。 cins[0]s[1]s[2]。 if(strcmp(s[0],s[2])0) strswap(s[0],s[2])。 cout排序后的結(jié)果為: \n。i3。\n39。數(shù)據(jù)處理的基本操作。此時第一個元素作為新序列的第一個元素,不再參與后續(xù)排序。 – 依次類推,直到待排序序列中只剩下一個元素。 void SelectSort(int a[],int size) { int minIndex,t。isize。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1