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

正文內容

基于自然語言思想的遞進c_c教程4ppt(已修改)

2025-01-31 10:02 本頁面
 

【正文】 我們采用的教材 ? 名詞的空間域 ? 名詞的時間域 第 6章名詞的空間域、時間域和物理存儲位置 ? 名詞的空間域和時間域不完全一致 。 有空間域的類型或量值,一定有時間域。 ? 有時間域的類型或量值,不一定有空間域。 C/C++程序的邏輯結構 ? 從可執(zhí)行的意義看,程序從小到大可分為如下邏輯單位: 1. 語句( statement) 。 2. 模塊( block) 。 3. 嵌套模塊 。 C/C++程序的邏輯結構 ? 從可執(zhí)行的意義看,程序從小到大可分為如下邏輯單位: 4. 文件( file) 。 5. 工程( project) 。 6. 工作區(qū)( workspace) 。 圖 6. 1 C/C++程序邏輯結構 間域 例 6. 1 量值模塊作用域的驗證 include int fun(int x) { int a=20。 //函數模塊 fun內定義的 a printf(\na= %d, x= %d, a, x)。 //printf(\nb= %d, b)。 // error C2065: 39。b39。 : undeclared identifier return a+x。 } void main() { int a=10。 //main模塊內定義的 a int b。 //main模塊內定義的 b printf(a= %d,a)。 //輸出的是 main函數內定義的 a的值 b=fun(a)。 printf(\na= %d, b= %d, a, b)。 //printf(\nx= %d, x)。 //error C2065: 39。x39。 : undeclared identifier } 例 6. 2 類型模塊作用域的驗證 include Person fun()。 void main() { Person LiSi。 // main模塊內聲明定義在另一個函數內類型Person的變量 LiSi=fun()。 } Person fun() { struct Person { //函數模塊 fun內定義的類型 Person int id。 char name[10]。 } ZS={1, 張三 }。 return ZS。 } 例 6. 3 嵌套模塊中的同名類型或量值的空間域 include void main() { struct Person { //main函數內(外層模塊)定義的 Person類型 int id。 char name[10]。 }。 struct Date { //main函數內(外層模塊)定義的 Date類型 int year。 int month。 int day。 }。 Person ZS。 {//內嵌模塊開始 struct Person {// 內層模塊定義的同名 Person類型 int id。 char name[10]。 int Class。 }。 Person LiSi。//使用內層模塊類型 Person定義變量 Date Birthday。 //Date類型只在外層定義,內層可見 printf(\n %d\n, sizeof(LiSi))。 //輸出內嵌 Person } //內嵌模塊結束 printf(\n %d\n, sizeof(ZS))。//輸出外層 Person的大小 //printf(\n %d, sizeof(LiSi))。 //error C2065: 39。LiSi39。 : undeclared identifier } 例 6. 4 文件中定義的類型或量值的空間域 include struct Person { //定義在文件中的 Person類型 int id。 char name[10]。 }。 int i。 //定義在文件中的 int型變量 i /*前面定義了類型和變量 */ /*后面引用了類型和變量 */ void main() { Person ZS={1,張三 }。 //外層模塊中引用 Person類型 { i=10。 // 內層模塊內應用變量 i printf(i= %d,i)。 } printf(\n%d %s\n, , )。 } 例 6. 5 類型的先引用,后定義 include int i。 /*類型定義在后,而引用在先,會出現(xiàn)莫名其妙的錯誤 */ void main() { Person ZS={1,張三 }。 //引用了定義在后面的Person類型 { i=10。 printf(i= %d,i)。 } printf(\n%d %s\n, , )。 } struct Person { //定義在文件后面的 Person類型 int id。 char name[10]。 }。 下面的示例程序演示了用 extern聲明定義在后的變量的情況。 例 6. 6 變量的先聲明,再應用,而后定義 include include struct Person { //定義在先的 Person類型 int id。 char name[10]。 }。 void main() { extern int i。 //聲明后面定義的變量 i =10。 //定義在后面的變量的引用 extern Person ZS。 //聲明后面定義的變量 =1。 //定義在后面的變量的引用 strcpy(, 張三 )。 //定義在后面的變量的引用 printf(\ni= %d, i)。 printf(\n%d %s\n, , )。 /* extern int j。 //問題語句開始 j=200。 printf(\nj=%d, j)。 int j。 // 問題語句結束 */ } Person ZS。 //定義在后的變量 int i。 //定義在后的變量 例 6. 7工程內全局類型和量值空間域 ? 首先,在 VC++中創(chuàng)建 Win32 Console Application工程 MyMFile(系統(tǒng)會自動添加文件擴展名 .dsw) ? 然后創(chuàng)建 C++ Source File文件 MyMFile0(系統(tǒng)會自動添加文件擴展名 .cpp),文件內容如下: int MyMax(int x, int y) { return xy?x:y。 } 這是求最大值函數的定義部分。 ? 再新建 C/C++ Header File文件 MyMFile(系統(tǒng)會自動添加文件擴展名 .h),文件內容如下: include include struct Person { int id。 char name[10]。 }。 int MyMax(int, int)。 int i=100。 ? 再新建 C++ Source File文件 MyMFile1,文件內容如下: include void main() { Person ZS。 =i。 strcpy(,張三 )。 printf(\ni= %d, i)。 printf(\n%d %s, , )。 int max。 max=MyMax(2,20)。 printf(\nmax= %d, max)。 putchar(39。\n39。)。 } ? 可能會有這樣的情況: – 某些全局類型、全局量值和函數 只使用在某幾個特定文件中 。 – 某些全局類型、全局量值和函數 嚴格限定只能使用在某一個特定文件中 。 如在上面的例子中,如果 是如下形式: static int MyMax(int x, int y) { return xy?x:y。 } 這時,程序就會出錯。 間域 ? 通常 :類型和量值的時間域和空間域是一致的。 ? 特殊情況下 :用關鍵字 static對定義的變量和函數做限定時,空間域和時間域不同。 static ? 模塊內用 static定義的量值(主要是變量)其空間域仍然限定在該模塊,但其時間域是整個工程。 ? 這種變量通常叫做 “ 靜態(tài)變量 ” 。 例 6. 8計算 1- 5的階乘 include int fac (int )。 //階乘函數聲明 void main() { int i。 for (i=1。 i=5。 i++) //循環(huán)調用階乘函數 printf(%d !=%d\n, i, fac(i))。 } int fac(int n) //計算階乘的函數 { //static int f=1。 //注釋掉的靜態(tài)定義 int f=1。 f=f*n。 return (f)。 } static ? 文件內只有三種成分: – ; – (主要是變量)的定義; – 。 例 6. 9工程內全局類型和量值時間域 在 VC++環(huán)境中新建工程 tem。然后新建 C++ Source File文件tem1。輸入如下代碼: int a=1。 static b=2。 再新建 C++ Source File文件 tem2。輸入如下代碼: include void main() { extern int a。//對定義在本工程其它文件中全局變量的聲明 // extern int b。 printf(\na= %d, a)。 // printf(\nb= %d, b)。 } static的總結 ? 定義的變量通常情況下,無論是動態(tài)的還是靜態(tài)的,都是存儲在 ROM(隨機只讀存儲器,內存)中的。 ? 在小型計算機或大型計算機中允許用關鍵字register定義存儲在 CPU的寄存器 中的變量 例 6. 10寄存器變量的定義和使用 include void main() { register int i。 for (i=0。 i10。 i++) printf(\n i= %d, i)。 } ? 編譯預處理是為編譯做的準備工作,為 C/C++語言程序的目標代碼編譯,連接和運行 掃清障礙 。 第 7章 編譯預處理 ——符號常量 ? 用一個簡單、容易理解的名字來標識另一個復雜、不容易理解且在程序中多次出現(xiàn)的部分,可以增加程序的簡潔性、易讀性。 如,預編指令 define NUM 100 定義宏名 NUM代表 100,以后程序中,所有 NUM在編譯前都替換為 100。所以語句 Person student[NUM]。 //定義長度是 100的 Person型數組 for (i=0。 iNUM。 i++) //循環(huán) 100次 當程序使用場合
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1