C語言那點事兒(基礎篇)

2021-09-24 03:22:39 字數 3271 閱讀 4808

一、基本概念

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...