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

正文內容

c程序設計語言-資料下載頁

2025-07-15 18:19本頁面
  

【正文】 外部說明點到文件結束 無 函數(shù)內 /復合語句內 函數(shù) /復合語句內部 進入函數(shù) /復合語句時 變量初始化 初始化就是在定義變量時加賦值語句 int i=0,j=2,k=8,m=i*jk。 int days[]={31,28,31,30,31,30,31,31,30}。 char str[]=“hehe”,s1[]={?h?,?e?,?h?,?e?,?\0?}。 無初始化的變量值:全局變量與靜態(tài)變量為 0,其他不確定 函數(shù)的作用域 C語言內的函數(shù)都是平等的,不能在函數(shù)內定義其他函數(shù) static int fun()為內部函數(shù),作用域為該文件,只有該文件內其他函數(shù)才可以調用。 extern int fun()為外部函數(shù),能夠被整個程序所調用 C語言的預處理 預處理指令 宏定義: define 文件包含: include 條件編譯: ifdef ifndef if elif undef 其他: line error progma 每條預處理指令獨占一行 宏定義 define macro string 表示用 macro為標記符,代表后面的字符序列,程序遇到宏定義自動替換 define true 1 define Pi 宏定義可以定義宏定義 define Pi2 Pi*Pi 宏定義 宏定義出現(xiàn)在字符串中,不進行替換解釋 define STR “HEHE” printf(“STR”)。 define STR1 “jkhljbhjghjgfhgfhklgjdfkf\ ghjkefgldf” 反斜杠可以換行書寫 宏定義函數(shù) define MAX(a,b) ((a)(b)?(a):(b)) 求 a, b的最大值 注意加() max(p+q,r+s) 有()與沒有()就不相同了 宏定義通常全大寫 文件包含 ? include /*系統(tǒng) 定義的 include目錄下 */ ? include ―‖ /*當前 目錄 */ ? 將文件包含進來 ? 嵌套包含 ? 嵌套包含最多 8層 ? .h文件稱為頭文件 標準頭文件 ? 編譯環(huán)境自己帶的頭文件 ? TURBO C的頭文件(附錄 B) ? 其他軟件包的頭文件與 LiB( 連接庫) 條件編譯 ? ifdef macro_name ? 代碼塊 1 ? else ? 代碼塊 2 ? endif ? 若宏 macro_name已經(jīng)被定義,則執(zhí)行代碼1,否則執(zhí)行代碼 2 ifndef ? ifndef macro_name ? 代碼塊 1 ? else ? 代碼塊 2 ? endif ? 若宏 macro_name沒有被定義,則執(zhí)行代碼1,否則執(zhí)行代碼 2 if else ? if 常量表達式 ? 代碼塊 ? endif ? if 常量表達式 ? 代碼塊 1 ? else ? 代碼塊 2 ? endif elif endif ? if 常量表達式 1 ? 代碼塊 1 ? elif 常量表達式 2 ? 代碼塊 2 ? else ? 代碼塊 3 ? endif undef ? 取消 define的宏定義 ? undef Pi C語言程序格式 ? 頭文件 /源文件 ? 頭文件是記錄各種類型申明、函數(shù)申明的文件,可以被源文件 include ? 看其他人的程序,首先看頭文件 ? 可能出現(xiàn)有頭文件而沒有源文件的情況(只給庫 lib) 頭文件 ? 習慣上一個源文件對應一個頭文件 ? 頭文件中不放函數(shù)的實現(xiàn)過程部分 ? 頭文件表示一個源文件作為黑盒子時,外部能夠觀察使用的功能 TURBO C的工程文件 ? Project的組成 ? 選擇 project ? 清除 project 作業(yè) ? 完成以下宏定義 ? max(a,b,c) ? 進行各種測試證明程序的準確性 作業(yè) 2 ? 將上次作業(yè):求最小公倍數(shù)、最大公約數(shù)分為 3個文件: , , ? 設計程序實現(xiàn)之 數(shù)組與指針 ? 基本類型的組合,構成“構造類型” ? 數(shù)組是最基本的構造類型 ? 數(shù)組是一組有共同名稱的同類型變量的有序組合。 ? C語言的數(shù)組都是連續(xù)存放在內存中,數(shù)組的特定元素由下標來訪問。 ? 字符串是以‘ \0’結束的字符的數(shù)組 數(shù)組 ? 一些數(shù)字的有序序列 ? 內容:數(shù)字 ? 有序:有編號 ? 序列:有個數(shù) ? 例如:全班同學的身高 一維數(shù)組的定義 ? Type array_name[SiZE]。 ? type是類型,每個元素的類型; SiZE為數(shù)組的大小,必須是常量或者常量表達式,可以預先計算出來; array_name的名稱。 ? double b[10]。/*10個元素的 double型數(shù)組 */ ? int a[20]。 /*20個元素的整數(shù)數(shù)組 */ 數(shù)組的下標 ? C語言中數(shù)組的下標都是從 0開始的 ? char p[10]。 ? 十個元素為 p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9] ? 每個元素連續(xù)存放于內存 數(shù)組的下標 ? 全班 100個同學的身高: float height[100]。 ? 必須每個同學有 0~ 99的編號 ? height[33]是第 34個同學的身高值 ? 對數(shù)組的下標操作,頻繁使用是 for循環(huán) ? for ( j=0。j100。j++ ) – height[j]=。 越界 ? 超過數(shù)組下標范圍的對數(shù)組訪問 ? 例如: p[1]、 p[11]等 ? 越界的后果:不可預料的錯誤,可能讀寫其他變量,可能破壞了代碼段。 數(shù)組初始化 ? Type array_name={ value_list } 。 ? 例如 ? int a[8]={1,2,3,4,5,6,7,8}。 ? 有初始化,可以忽略數(shù)組的長度標記 ? int a[8]={1,2,3,4,5,6,7,8}。 ? 計算機自動分配 a數(shù)組為 8個長的數(shù)組 數(shù)組初始化 ? 可以只對數(shù)組的 前若干變量進行初始化 ? int fib[20]={0,1}。 ? 后面的 18個自動初始化為 0 ? C語言規(guī)定:只有靜態(tài)數(shù)組與全局數(shù)組能夠初始化,局部變量不允許賦初值 利用數(shù)組計算 fibonacci數(shù) ? int i,j。 ? static int fibonacci[20]={0,1}。 ? for ( i=2。i20。++i) – fibonacci[i]=fibonacci[i1]+ fibonacci[i2]。 數(shù)組元素 ? 使用方式與普通定義的 變量一樣 ? scanf(―%d‖,amp。a[0])。 ? printf(―%d\n‖,a[3])。 作業(yè) ? 定義一個數(shù)組,由用戶順序輸入數(shù)值,存儲在數(shù)組中 ,并將該數(shù)組排序為增序數(shù)組。 多維數(shù)組 ? Type array_name[M][N]。 ? M為行數(shù), N為列數(shù) ? 對其中元素對訪問: ? array_name[i][j]。 ? int a[3][2]。表示 3行 2列的二維數(shù)組 ? 高維數(shù)組 ? int a[7][8][9][5][3]。 多維數(shù)組的初始化 ? 類似一維數(shù)組 ? static int a[4][4]={ – {1, 3, 3, 1}, – {1, 3, 3, 1}, – {1, 3, 3, 1}, – {1, 3, 3, 1} ? }; /* 注意使用 {}與, */ 多維數(shù)組的局部初始化 ? int a[4][4] = { – {1,2,3}, – {1}, – {1,2}, – {4} ? }。 字符數(shù)組與字符串 ? 字符數(shù)組是存儲字符的數(shù)組,字符串是特殊的字符數(shù)組,以‘ \0’結束的字符數(shù)組 ? char a[10]。 ? 為那個存放 9個字符的字符串 字符串初始化 ? 兩種初始化方法 ? Char a[] = “ hello” 。 ? 等同于 ? char a[]={‘ h’ ,‘ e’ ,‘ l’ ,‘ o’ ,‘ \0’ }。 二維字符數(shù)組 ? Char a[M][N]。 ? 第一個定義了字符串的數(shù)目,第二個是每個字符串的最大長度 可執(zhí)行文件的成分 文件頭 代碼段:二進制代碼 數(shù)據(jù)段:程序使用的變量 重定位信息 符號表 調試信息 可執(zhí)行文件的運行 ? 讀可執(zhí)行文件頭,獲得代碼 /數(shù)據(jù)段大小 ? 在內存中建立相應的大小存放兩個段 ? 代碼 copy入內存 ? 將參數(shù)傳遞給程序 ? 初始化寄存器 ? 運行代碼段的 main函數(shù) 代碼段 ? 高級語句 匯編語言 機器語言 ? 代碼段就是機器語言的組合 數(shù)據(jù)段 ? 兩個組成部分:靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù) ? 數(shù)據(jù)段存儲各個變量,常量 內存 memory ? 計算機的基本組成部件,用來存儲程序的代碼與數(shù)據(jù) ? 內存大?。?1 3 6 128兆) ? 速度( 70、 60、 50、 6ns) 內存的編址 ? 內存是連續(xù)的存儲空間。為了便于對其中的某個部分進行操作,對內存進行編址。 ? 內存編址是連續(xù)的 ? 內存編址基本單位為 2個字節(jié) ? 32位計算機為 4字節(jié) 000000020004變量內存 例子: int i=3,j=6,k=9。 計算機對每個變量自動分配一個存儲空間。一般分配的空間都是連續(xù)的。 202220222022369變量i變量j變量k變量內存的大小 例子: long int i=3。 int j=6。 float k=9。 計算機對變量分配存儲空間的大小與變量類型有關。 202220222022369變量i變量j變量k20222022內存訪問 內存中存儲的是變量,對內存進行訪問,就是使用變量 變量使用方式: 直接使用變量名 使用變量的地址 直接使用變量名無須連接計算機內任何存儲變量,方便簡潔 直接內存地址訪問 內存地址訪問方式:需要了解變量的存儲地址,或者在已經(jīng)知道變量的存儲地址去訪問變量。 直接訪問方式:內存中對 i的存取是通過 i的地址來完成的。 如修改 2022地址的內容 202220222022369變量i變量j變量k間接訪問 內存中對 i的地址存放在另外的地方(如圖) 對 i的存取是通過對放地址的內存(如 3010)來完成的。 修改 3010的內容為地址的內存內容 2022202220223010369變量i變量j變量k2022 i_pointer地址的獲得 ? 地址到底是怎么表示的呢? – 用整數(shù)來表示 ? 已知一個變量,如何獲得它的地址? – 引入新的運算符 amp。 ? 例如 int i。 ? printf(―%d\n‖,amp。i)。 /* 打印 i的地址 */ 指針 ? 地址如何存儲呢? amp。i希望存放在某個變量中 ? int i_pointer = amp。i。 是不正確的,因為 i_pointer是地址 ,不僅僅是整數(shù) ? 引入新的定義方式: – int *i_pointer。 – i_pointer=amp。i。 指針的含義 ? type *pointer_name。 ? ^類型 ^指針名稱 ? int *ip。 /* ip是個指向整數(shù)類型的指針 */ ? float *fp。 /* fp是個指向浮點類型的指針 */ ? 類型只是說明指向的目的地址的內容的類型 類型標志符 *標志符 ? 類型標志符表示存儲的是什么類型的變量的地址 ? 指針變量名為標志符(無 *) ? 只能指向定義類型的變量 – int j。 – flaot *pointer。 – pointer=j。 ? 指針變量的賦值 ? eg: int i,j。 – int *pointer_1, *pointer_2。 – pointer_1=i。 – pointer_2=j。 i2022j2022pointer_23014pointer_13010i2022j2022pointer_23014pointer_13010給變量賦值的方法 兩種賦值方法 直接找變量地址 找 i_pointer( 指向變量 i) 變量的地址稱為該變量的指針 指針變量:存放地址的變
點擊復制文檔內容
數(shù)學相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1