組織程式:是處理資料的另乙個方面,讓程式按正確的順序執行各個步驟。
#define指令建立符號常量、const限定符建立不可更改的變數
/*此**不全*/
shoe =
3.0;
while
(shoe <
18.5
)//"<",小於;
while語句(迭代語句,又稱結構化語句)三部分:①關鍵字while ②圓括號中是待測試的條件 ③如果測試條件為真,則執行while迴圈體中的語句。
tips:迴圈體中單條語句,無需花括號。
1.c用運算子表示算術運算,c沒有指數運算子
2.c標準數學庫提供了pow( )函式用於指數運算(例:pow(3.5 , 2.2)
表示3.5的2.2次冪)
3.c中的"=』'是乙個賦值運算子,=號左邊必須是乙個變數名;"=="是「相等」
bmw =10;
//讀作:把值10賦值給變數bmw,賦值行為從右往左。
const
int two =2;
//此處'='表示初始化。
/*不能給常量賦值,常量本身就是他的值。*/
4.資料物件、左值和右值
(1)賦值表示式語句的目的是把值儲存到記憶體位置上,用於儲存值的資料儲存區域統稱為資料物件。
(2)標識物件的一種方法是使用變數名
(3)左值,用於標識特定資料物件的名稱或表示式。可修改的左值,用於標識可修改的物件,術語為物件定位值。
(4)右值,能賦值給可修改左值的量,本質是乙個值,且本身不是左值。可以是常量、變數或其他可求值的表示式,又稱為表示式的值。
(5)被稱為』項』的就是運算物件,即運算子操作的物件。
5.運算子
(1)二元運算子:需要兩個運算物件才能完成操作,例:+ - * / ;
(2)一元運算子:用於標明或改變乙個值的代數符號,只需要乙個運算物件。
(3)c無平方函式,可以用while迴圈和乘法來計算。
(4)整數除法結果是整數,小數部分被丟棄,稱為「趨零截斷」;浮點數除法和浮點數整數(此處整數被編譯器轉換成浮點數)混合除法,結果都是浮點數。
(5)優先順序:圓括號優先順序最高;乘法和除法優先順序高於加法和減法;共享統一運算物件的運算子,等級相同的從左往右;從左往右的結合律只適用於共享同一運算物件的運算子。
(6)sizeof運算子:以位元組為單位返回運算物件的大小(1位元組定義為char型別占用的空間大小),若運算物件是型別(如,float),則必須用圓括號將其括起來。size_t為sizeof返回值型別,為無符號整數型別,%zd為其轉換說明,也可用%u、%lu。typedef機制允許程式設計師為現有型別建立別名。
(7)求模運算子%(求餘數運算):只用於整數運算,給出其左側整數除以右側整數的餘數,通常用於控制程式流。負數求模規則:第乙個運算物件為負數,則求模結果為負;第乙個運算物件是正數,則求模結果為正。
(8)遞增或遞減運算子:"+ +" 「- -」,運算物件遞增或遞減1。
①兩者都有字首和字尾兩種模式,字首則可視為"先使用n,再遞增(減)";字尾則可視為"先遞增(減)n,再使用"。單獨使用遞增或遞減運算子時,前字尾結果一樣。例:i++;
②遞增和遞減運算子只能影響乙個變數(或可修改的左值)
③結合優先順序僅次於圓括號
④使用遞增遞減運算子的優點有生成機器**效率更高,程式更美觀
⑤不要一次使用太多遞(減)增運算子,編譯器可以自行選擇求值循序,會造成結果錯誤。如果乙個變數出現在乙個函式的多個引數中,不要對該變數使用遞增或遞減運算子;如果乙個變數多次出現在乙個表示式中,不要對該變數使用遞增或遞減運算子。
(9)強制型別轉換運算子:在某個變數前面放置使用圓括號括起來的型別名,將其右側值轉換成括號中指定型別。例:mice = (int)1.6 + (int)1.7;
6.c表示式和語句
(1)表示式定義:由運算子和運算物件組成,可以是變常量或二者的組合。最簡單的表示式是乙個單獨的運算物件。有些表示式由子表示式組成。
(2)表示式最重要的特性是:每個表示式都有乙個值,故宣告非表示式。例:q >3 ,次關係表示式的值是0或1。(此處與c++有所不同)
(3)語句,大部分以分號結尾,是c程式的基本構建塊,一條語句相當於一條完整的計算機指令。
(4)語句是指令,指令不一定是語句。
(5)***:作用是對資料物件或檔案的修改,是程式的主要目的。
(6)序列點:程式執行的點,在該點上,所有的***都在進入下一步之前發生。c語言中,語句的分號標記了乙個序列點。任何乙個完整表示式(即這個表示式不是另乙個更大表示式的子表示式)的結束也是乙個序列點。
(7)復合語句:亦稱為塊,是用花括號括起來的一條或多條語句。
7.型別轉換
(1)型別級別從高至低:long double >double>float >unsigned long long >long long >unsigned long >long>unsigned int >int(例外:當long和int大小相同時,unsigned int比 long 級別高)
(2)當型別轉換出現在表示式時,無論是unsigned 還是signed的char和short都會自動轉換成int。從較小型別轉換為較大型別,故這些轉換稱為公升級
(3)當作為函式引數傳遞時,char和short被轉換成int, float被轉換成double。
(4)一些規則:①目標型別是無符號整型,且待賦的值是整數時,額外的位將被忽略。②目標型別是有符號整型,且待賦的值是整數,結果因實現而異。③目標型別為整型,待賦的值是浮點數,行為未被定義。④浮點型別 被降級為整數型別時,原浮點值會被截斷。
8.引數和函式
(1)形參是變數,實參是函式呼叫傳遞提供的值,實參被賦給相應的形參。
(2)宣告函式就建立了被稱為形式引數的變數。變數名是函式私有的,即在函式定義中的函式名不會和別處的相同名稱發生衝突。
(3)原型即是函式的宣告,描述來了函式的返回值和引數。
(4)函式若不接受任何引數,函式頭的圓括號中應該寫上關鍵字(void)
(5)當把一種型別的值賦給另一種型別的變數時,值將被轉換成與變數的型別相同。
C Primer Plus第6版18個重點筆記
下面是我看 c primer plus 第6版這本書後所做的筆記,作為備忘錄便於以後複習。筆記部分 c 的const比c語言 define更好的原因?首先,它能夠明確指定型別,有型別檢查功能。其次,可以使用c 的作用域規則將定義限制在特定的函式或檔案中。第三,可以將const用於更複雜的型別,比如陣...
C Primer Plus(第6版)第四章程式設計練習
1.編寫乙個程式,提示使用者輸入名和姓,然後以 名,姓 的格式列印出來。include include int main 4.編寫乙個程式,提示使用者輸入身高 單位 英吋 和姓名,然後以下面的格式顯示使用者剛輸入的資訊 dabney,you are 6.208 feet tall 使用float型別...
C Primer Plus 中文版 前言
內容提要 本書全面講述了c語言程式設計的相關概念和知識。全書共17章。第1 2章學習c語言程式設計所需的預備知識。第3到15章介紹了c語言的相關知識,包括資料型別 格式化輸入輸出 運算子 表示式 流程控制語句 函式 陣列和指標 字串操作 記憶體管理 位操作等等,知識內容都針對c99標準 另外,第10...