C語言學習入門

來源:互聯網
上載者:User

編譯檔案:cc -c one.c two.c  產生.o目標檔案

連結檔案:cc one.o two.o     預設產生 a.out 執行檔案

指定產生的可執行檔名   cc -o one one.o 


連續編譯、連結:cc one.c      cc -o one one.c    中間產生的.o檔案會被刪除,最後產生執行檔案

cc one.c two.c   源檔案超過一個時,目標.o檔案便不會被刪除,

以後可以只編譯更改的源檔案  cc one.o two.o three.c



C語言32個關鍵字:

auto double int struct break else long switch

 

case enum register typedef char extern return union


const float short unsigned continue for signed void

 

default goto sizeof volatile do if while static





常量修飾:const

c 語言中的進位: 二進位:int a = 0B(b)1100 ;   八進位: int b = 027; 十六進位:int c = 0X(x)AF3;


printf(“%d”, a);      printf(“a=%d, b=%x”, a, b);


%4d,  若表示的位元大於4,再按原樣輸出; 若小於4,則補上空格輸出4位,, +4空格補左邊,-4空格補右邊


%.2f  輸出兩位小數,預設是6位


  %p    輸出記憶體的地址,,   如:printf(“變數a的地址是:%p”, &a)


scanf(“%f”, &a);  scanf(“%d, %s,%f”, &a,&b,&c);   接收多個時,分隔字元可以是任意符號

包括空格、tab、斷行符號




當數值比較小(在char的取值範圍內),用char 比用int 更節省記憶體開銷,因為它只佔1個位元組

char c = ‘A’;與 char c = 65; 是等效的。一個漢字佔兩個字元,用char是不行的,

需要用字元數組來儲存。


局部變數可以在聲明時不初始化,後續使用,與java不同;如果後續賦值是可以的,如果後續直接

使用系統賦給它的預設值是不好的,因為這是一個隨機的垃圾值,不是0。


可以在基礎資料型別 (Elementary Data Type)的前面加一些修飾符,也有人稱之為限定符,一樣的意思。

有以下4種類型修飾符: short  短型 long  長型 signed  有符號型     包括 正負數和0 unsigned  無符號型         正數和0 


// 下面兩種寫法是等價的

short int s1 = 1;

short s2 = 1;


// 下面兩種寫法是等價的

long int l1 = 2;

long l2 = 2;


// 可以連續使用2個long

long long ll = 10;


// 下面兩種寫法是等價的

signed int si1 = 3;

signed si2 = 3;


// 下面兩種寫法是等價的

unsigned int us1 = 4;

unsigned us2 = 4;


// 也可以同時使用2種修飾符

signed short int ss = 5;

unsigned long int ul = 5;


unsigned char c1 = 10;

signed char c2 = -10;


long double d1 = 12.0;


short int 取值範圍 類似java中的 short

long int                                            int

long longlong


C語言的基本語句跟Java中的差不多 迴圈語句(do while、while、for) 條件陳述式(if 、if-else、switch) goto語句  (比如在迴圈外 定義一個標記 Exit:;  在迴圈內可以 用 goto Exit;跳出迴圈)


算術運算子 +  加法運算子 -  減法運算子,或負值運算子 *  乘法運算子 /  除法運算子 %  模運算子,或稱取餘運算子,要求%兩側均為整型


關係運算子 <   小於運算子 <=  小於等於運算子 >   大於運算子 >=  大於等於運算子 ==  等於運算子 !=  不等於運算子


C語言中沒有boolean類型

在C語言中,關係運算的結果為"真"就返回1,"假"就返回0

int a1 = 5 >4;// 1


int a2 = 5 <4;// 0

* 還需注意的是,在C語言中,任何非0值都為"真",只有0值才為"假"如:if(-1){} 

if (a=0){}

在C語言中,可以不儲存關係運算的結果因此,下面的寫法是合法的:

int a = 10;

a > 10;

a == 0;


邏輯運算子 &&  邏輯與運算子 ||  邏輯或運算子 !   邏輯非運算子

邏輯運算的結果也只有兩個:成立就為"真",返回1;不成立就為"假",返回0

複合賦值運算子 +=  加賦值運算子。如a += 3+1,等價於 a = a +(3+1) -=  減賦值運算子。如a -= 3+1,等價於 a = a -(3+1) *=  乘賦值運算子。如a *= 3+1,等價於 a = a *(3+1) /=  除賦值運算子。如a /= 3+1,等價於 a = a /(3+1) %=  取餘賦值運算子。如a %= 3+1,等價於 a = a %(3+1)

自增運算子和自減運算子 ++  自增運算子。如a++,++a,都等價於a = a+1 --  自減運算子。如a--,--a,都等價於a = a-1

逗號運算子和逗號運算式

* 逗號運算子主要用於串連運算式,例如:

int a = 9;

int b = 10;

a = a+1 , b = 3*4;

逗號運算式的運算過程是:從左至右的順序,先計算運算式1,接著計算運算式2,...,最後計算運算式n

* 整個逗號運算式的值是最後一個運算式的值c = (++a, a *= 2, b = a * 5); <==> c=b;

三目運算子:int a = (b >5) ? 10 : 9;

sizeof可以用來計算一個變數或者一個常量、一種資料類型所佔的記憶體位元組數。

sizeof(10);

char c = 'a';

sizeof(c);

sizeof(float);

地址

1.電腦中的記憶體是以位元組為單位的儲存空間。記憶體的每一個位元組都有一個唯一的編號,這個編號就稱為地址。

凡存放在記憶體中的程式和資料都有一個地址,也就是說,一個函數也有自己的記憶體位址

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.