1. 程式人生 > >C語言第一章至第五章知識點總結-數學類一班-2018216492

C語言第一章至第五章知識點總結-數學類一班-2018216492

一、知識點總結 第一章 為什麼要學C語言 1.遊戲、黑客和C語言 C語言的起源是Ken的工程師,在設計一款叫“Space Travel”的遊戲時,尋找到了免費的“遊戲機”,為了使“遊戲機”能夠執行作業系統,使用匯編語言編寫了UNIX的作業系統,並用高階語言編寫UNIX從而誕生了C語言。 2.C語言的優與劣 優: (1)、C語言能更直接的為作業系統而生,能更直接地與計算機底層打交道,精巧、靈活、高效。 (2)、C語言是目前執行效率最高的高階語言。 (3)、在需要繼承或維護已有C程式碼的地方還需要C語言。 (4)、C語言是首選媒介語言,必考 劣: (1)、無限制的自由使軟體出現錯誤的概率增大。 (2)、詭異離奇,缺陷重重。 3、小結 C語言,黑客精神的產物,令人痴迷,學習C語言最重要的是領會程式設計的要旨,領會計算思維,需要在不斷的程式設計實踐中用心體會。 第二章 C資料型別

1、C語言程式處理的資料有變數常量兩種形式 2、常見常量 (1)、整形常量:包括正整數、負整數和零在內的所有整數。 (2)、實型常量:浮點數,即小數點常量 (3)、字元型常量:用一對單引號括起來的任意字元 (4)、字串常量:用一對雙引號括起來的零個或多個字元 3、實型常量有單精度、雙精度和長雙精度之分,但無有符號和無符號之分 4、變數: (1)、識別符號: 合法的要求是由字母,數字,下劃線組成。有 其它元素就錯了。 並且第一個必須為字母或則是下劃線。第一個為數字就錯了 (2)、識別符號分為關鍵字、預定義識別符號、使用者識別符號。 (3)、關鍵字:不可以作為使用者識別符號號。main define scanf printf都不是關鍵字。迷惑你的地方If是可以做為使用者識別符號。因為If中的第一個字母大寫了,所以不是關鍵字。 (4)、預定義識別符號:背誦define scanf printf include。記住預定義識別符號可以做為使用者識別符號。 5、輸入輸出 (1)、使用printf和scanf函式時,要在最前面加上#include“stdio.h” (2)、print f可以只有一個引數,也可以有兩個引數。 (3)、printf(“a”,b);把b的變數、表示式、常量以a的形式展現出來 6、資料型別 資料型別:分為:基本型別(整型,實型,字元型,列舉型),指標型別,構造類 型(結構體型別,陣列型別,共用體型別),空型別(空型別合法哦,不要忘記了這個特殊哦)。 基本資料型別 16位編譯器32位編譯器 char:1個位元組char:1個位元組 char*(即指標變數):2個位元組char*(即指標變數):4個位元組(32位的定址 空間是2^32,即32個bit,也就是4個位元組。) short int:2個位元組short int:2個位元組 int:2個位元組int:4個位元組 unsigned int:2個位元組unsigned int:4個位元組 float:4個位元組float:4個位元組 double:8個位元組double:8個位元組 long:4個位元組long:4個位元組 long long:8個位元組long long:8個位元組 unsigned long:4個位元組unsigned long:4個位元組 一般只需要記int型別是2個位元組,float是4個位元組,double是8個位元組 第三章 簡單的算術運算和表示式
(1)算術運算子和算術表示式:注意自增++,自減–,自反-,++,–,當++.–,在變數後面的時候表示在本次運算的時候不會改變在“下次引用或者參與運算的時候才會自變;當+±-,在變數的前面的時候則是在本次運算就會發生自變(順便掌握+,–結合性是右結合,若i+++j等價於(i++)+j; (2)關係運算符:>,<,<=,>=,=,!=,和!=優先順序最低。 注意=與的區別:=是賦值的意思表示式的值是對變數賦的值,==是關係運算符,關係運算表示式的值為0或者1(關係運算的結果本應是邏輯值,但C語言中沒有邏輯資料型別,因此用整型資料來表示關係運算的結果)。 (3)邏輯運算子:&&,1l!在這幾個中優先順序!大於&&大於|l,優先順序是體現在結合性,上而不是運算的先後性上。如a=b=c=1;d=++all++b&&++c 在這個裡面&&最高那就是加粗部分先看成一個整體,運算順序還是從++a開始,即做完這個運算後,可以依次判斷出後邊的運算式子沒有必要計算了,所以d=1,a=2,b=1,c=1 (4)賦值運算子:簡單賦值運算子“=”其左邊必須是變數。一般形式:變數名=表達 複合賦值運算子:+=、-=、=、/=、%=、<<=、>>=、&=、^=、|=。注意當等號後面接的是表示式的時候要把表示式看成一個 整體即x
=y+8等價於x=x*(y+8),y+8是一個整體。 (5)強制型別轉換的一般形式:(型別名)表示式 表示式(double)(x+y),是將x+y的值轉換為double型別後得到的值,變數x,y和表示式x+y都保持原來的資料型別。 第四章 鍵盤輸入和螢幕輸出 (1)C程式的輸入 scanf()函式的- - -般形式為:scanf(“格式控制字串”,變數地址表); 這裡的格式控制與printf()中的一樣。變數地址表是由若干個地址組成的表列,可以是變數的地址,或字串的首地址。 getchar()函式的作用是從終端輸入一個字元。gechar函式沒有引數,一般形式: getchar() 常用數學類標準庫函式的簡單應用: abs()、 fabs()、fmod()、 sin(、 cos()、exp()、pow()、 log()、 log10()、 sqrt()。

(2)C程式的輸出 printf()函式的一般形式為:printf(“*格式控制字串”,輸出表列); 格式控制包括兩種資訊: ( 1)格式說明:由%和格式字元組成。如%d、%f等。作用是將輸出的資料轉換為指定的格式輸出。格式說明總是由%字元開始。 (2)普通字元:即需要原樣輸出的字元。如逗號、空格和換行符。所以在寫程式輸出結果時,這種字元要原樣寫出來。 C程式的輸出 printf()函式的一般形式為:printf(“格式控制字串”,輸出表列); 格式控制包括兩種資訊:( 1)格式說明:由%和格式字元組成。如%d、%f等。作用是將輸出的資料轉換為指定的格式輸出。格式說明總是由%字元開始。(2)普 通字元:即需要原樣輸出的字元。如逗號、空格和換行符。所以在寫程式輸出結果時,這種字元要原樣寫出來。 第五章 選擇控制結構 1.if語句與程式的單分支結構 形式:if(表示式) 語句 功能:若表示式的值為真,則執行語句。 注意,當函式作為if裡面的表示式的時候即 ifprinf("))的時候,則是以函式的返回值判斷if的真假,print輸出以1個字元則返回為1,所以這個if是真的; 2、if-else語句與程式的雙分支結構 形式:if(表示式) 語句1 else 語句2 功能:若表示式的值為真,則執行語句1,否則執行語句2 3.複合語句及其在程式中的使用 複合語句是用一對花括號“{}?”將若干條C語句括起來形成的語句序列。複合語句的基本形式如下所示: {語句1; 語句i; 語句n; } 注意: C語言的複合語句右括號“?”後不需要用分 號“;”結尾,如果在程式中有如下形式的語句格式出現,則應認為是複合語句後面跟了一個空語句: {語句序列;};/最後的分號是空語句/ 4.if語句的巢狀與程式的多分支結構 C語法規定else必須與最近的if相匹配。 5.switch語句與程式的多分支結構 形式: switch(表示式) {case常量表達式1:語句組1;} {case常量表達式2:語句組2;} {case常量表達式n:語句組n;} {default:語句組n+1;} a)常量表達式必須為整型、字元型或者列舉型,且值必須互不相同 b)case後可包含多個可執行語句,且不必加{} c)多個case可共用一組執行語句 d)當表示式的值和某個case後面的語句相匹配時,則執行相應case後面的語句,並繼 續執行之後的語句。若不希望繼續執行之後的語句,則使用break語句跳出switch語句。 二、C語言能解決什麼問題 1、使用順序結構解決諸如求簡單方程解,求最大最小值,求絕對值,簡單的邏輯運算,輸入輸出字元等問題。 2、使用條件結構可以解決複合方程解,求分段函式,求三角形型別,圓周長體積等問題。 三、我對C語言的感悟體會 1、C語言對於初學者來說較難入門,有一定難度。 2、C語言在解決實際問題中有一定方便。 3、C語言自帶的編譯器在初學者使用時有很大幫助,可以及時尋找到錯誤所在處。