一、基本概念
1.程式:
編寫程式的目的,無非是解決現實世界中的問題;計算機解決任何現實世界中問題的過程無外乎:輸入——處理——輸出
輸入(input):讓計算機獲得要處理的資料
處理(process):計算機按照問題的要求對輸入的資料進行計算、處理
輸出(output):計算機告訴使用者問題的答案(計算、處理結果)
程式 = 演算法 + 資料結構
2.程式的三大結構:
順序,選擇/分支,迴圈
3.c程式的構成:
3.1乙個c程式由乙個或多個源程式檔案(.c)構成,小的程式一般也就乙個原始檔
3.2 每個c程式中必須包含也只能包含乙個main函式,該函式是程式執行的起點也是程式執行的終點
3.3每個原始檔(.c)則可以由程式設計師編寫的乙個或多個函式組成,每個函式都實現特定的功能
4.c程式的編寫與執行過程:
4.1編寫**,儲存在c源程式(.c)檔案內
4.2編譯源程式,生成目標**(.obj)檔案
4.3進行連線處理,生成可執行**程式(.exe)**檔案
二:c語言符號
1.字符集:c語言語言所能識別的各種字元的集合
2:識別符號用於對常量、變數、函式、陣列、型別等資料物件命名的有效字串行
用法2.1:識別符號只能由字母、數字及下劃線_3種字元組成
2.2:第乙個字元不能是數字
2.3.c語言區分大小寫字母,例如a和a是不同的識別符號
3.關鍵字:是c語言中預定義的已經使用到的具有特殊意義的識別符號
c語言中的關鍵字:break,case,char,const,continue,default,do,double, else,enum,float,for,goto,if,int,long,return,short,signed,sizeof,static,struct,switch,union,unsigned,void,while
4.c語言的主要資料型別
4.1:char:用於儲存單個字元,本質上是乙個0到255之間的無符號整數
示例:charc1 = 『a』;
charc2 = 97;
printf("%c%c\n", c1, c2);
printf("%d%d\n", c1, c2);
顯示結果為:
aa9797
4.2特殊字元的ascii值:
其中,大小寫字母之間存在如下關係:
大寫字母的ascii碼 = 相應小寫字母的ascii碼 – 32
例如:'a』的ascii為65,'a』的ascii是97,因此:
『a』 = 『a』 - 32
4.3:\xhh 16進製制數 :
語句:printf(「abc\x31\x32\x33\x41\x42\x43」);
顯示:abc123abc
4.4:字元陣列
字元陣列的定義與初始化方法:
char a = ; /* 陣列a長度為3 /
char b = ; / 陣列b長度為4,最後乙個元素是字元\x0 /
char c = 「abc」; / 陣列c長度為4,最後乙個元素是字元\x0 */
而底下是錯誤的,因為將字元陣列初始化為字串時必須使用雙引號:
char a = 『china』;
4.5:列舉
最典型的例子是:
enum weekday ;
這裡,關鍵字enum表示宣告乙個名為weekday的列舉型別,程式設計師可以用這個新的型別來定義變數,例如:
weekday w1, w2, w3, w4;
表示定義了4個weekday型別的變數w1、w2、w3和w4!現在的問題是,可以給這些變數賦以什麼樣的值哩?很簡單,這些變數的值只能是{}內7個值(謂之列舉元素或列舉常量)之一,即只能這樣給變數賦值:
w1 = mon;
w2 = tue;
w3 = tue;
w4 = sun;
4.6:結構體
/* 定義結構體型別struct student /
struct student
s0; / 定義結構體型別的同時定義其變數 s0 /
/ 定義結構體型別struct student的變數s1、s2及結構體陣列變數s */
4.7:
指標變數可以進行加減法運算
例如定義:
char a[20] = 「hello」, *p = &a[0];
printf"%c", ++p); // 注意:這裡是%c和++p
會在螢幕上顯示字元:e
而定義:
char a[20] = 「hello」, *p = a;
printf("%s", ++p); // 注意:這裡是%s和++p
會在螢幕上顯示字串:ello
4.8指標型別
例一:
#include#includeint main()
答案:0
4.9常量與變數
#include#include#includeint main()
答案:12 C 的那點事兒
一 預處理 定義 在編譯之前所做的處理,主要包括 標頭檔案 預處理會展開 巨集定義 預處理會替換掉 條件編譯 二 標頭檔案 作用 將一些公用 如函式原型宣告,型別宣告,全域性變數宣告,巨集定義等,放到乙個檔案中,以提供跨工程 復用,減少 重複書寫。處理方式 內容展開 若標頭檔案中有遞迴包含逐級展開 ...
C語言關於const的那點事兒
const應該是單詞constant的縮寫,意思是永恆的不變的。const這個關鍵字用得到的地方很多,用的方式也很多,因此讓人疑惑的地方也比較多,今天做個總結。const int a int const a 都是把a常量化了,告訴大家不要修改a的值,如果你非要修改a的值 const int a 10...
C 專題 const那點事兒
目錄限定符const是老生常談的話題了,不管是面試還是平時工作都會經常遇到,你真的對它了解了麼?我這裡主要是從三個維度進行總結,並進行例項驗證。const修飾內建型別 以下兩種表達是等價的 const int a 0 int const b 1 a 1 不允許,編譯報錯 b 2 不允許,編譯報錯co...