1. 程式人生 > 其它 >C primer plus (更新中)

C primer plus (更新中)

目錄

C語言概述總結

1.int main()中int表明main()函式返回一個整數,viod 表明main()不帶任何引數。、

2./* */中間加註釋(可以多行註釋),“//"也可以註釋。

3.對於變數命名可以用小寫,大寫字母,數字,下劃線來命名,名稱第一個字元必須是字母或下劃線,不能是數字。作業系統和C庫中常使用一個或者兩個下劃線作為開始,所以最好避免這樣命名

4.函式由函式頭和函式體結合,函式頭:函式名,傳入該函式的資訊型別和函式返回型別。函式體:語句,宣告。

一個簡單的C程式格式如下:

#include <stdio.h>
int main(void)
{
    語句
    return 0;
}

5.程式需要有可讀性

6.如何呼叫函式

#include <stdio.h>
void butler(void);
int main(void)
{
    printf("I will summon the bulter function.\n");
    butler();
    pritnf("Yes.Bring me some tea and writeable DVDs.\n");
    return 0;
}
void butler(void)
{
printf("You rang ,sir?\n");
}

資料和c的總結

1.最小的儲存單位是位(bit)。

2位元組(byte)是常用的計算機儲存單位。

3.一個字長有8位,字長越大,其資料轉移越快。

4.0X或0x表示十六進位制值。

5.以十進位制顯示數字,使用%d。以八進位制顯示數字,使用%o。以十六進位制顯示數字,使用%x。

要顯示各進位制數的字首0,0x,必須分別使用%#o,%#x

#include <stdio.h>
int main(void)
{
    int x = 100;
    
    printf("dec = %d;octal = %o;hex = %x\n",x,x,x);
    printf("dec = %d; octal = %#o; hex = %#x\n",x,x,x);
    
    return 0;
}

執行結果:dec = 100;octal = 144;hex = 64
        dec = 100;octal = 0144;hex = 0x64

6.列印unsigned int型別的值,使用%u;列印long型別的值,使用%ld。

在x和o之前可以使用字首l,%lx表示以十六進位制格式列印long型別整數,%lo表示以八進位制格式列印long型別整數。

使用單引號括起來的單個字元被稱為字元常量,而用雙引號括起來的為字串。

char bro;//宣告一個char型別的變數
bro = 'T';//為其賦值,該T為字元,且在ASCII中有相對應的值
bro = T;//此時T為變數
bro = T;//此時T為字串

printf函式使用%c列印字元,使用%f列印浮點數,用e列印指數記數法的浮點數

使用sizeof可以知道當前系統的指定型別的大小是多少

#include <stdio.h>
int main(void)
{
    pritnf("Type int has a size of %zd bytes.\n",sizeof(int));
    pritnf("Type char has a size of %zd bytes.\n",sizeof(char));
    pritnf("Type long has a size of %zd bytes.\n",sizeof(long));
    return 0;
}
執行結果;Type int has a size of 4 bytes
    Type char has a size of 1 bytes
    Type long has a size of 8 bytes

把一個型別的數值初始化給不同型別時,編譯器會把其轉換成匹配的數值

int cost = 12.99;
float pi = 3.1415926;

C語言編譯器會把cost的浮點數值轉換成整型,會直接截掉小數點後面的部分,並且不進行四捨五入。

而第二個會丟失精度,因為float只能保證前6位的精度

printf()和scanf()

1.printf函式

%c單個字元 %d十進位制整數 %e浮點數用e計數 %f浮點數 %p指標

2. 格式字串中的轉換說明一定要與後面的每個專案匹配

3.sizeof運算子以位元組為單位返回型別或值的大小

4.例如%2d就是兩個字元寬度,在轉換說明前加數字是表示最小寬度

5.對於.數字來說就是表示數字的精度。

6.陣列由連續的儲存單元組成,c語言用\0來表示字串的結束。

include<stdio.h>
#define PRAISE "You are an extraordinary being"
    int main(void)
{
    char name[40];
    
    printf("What's your name?");
    scanf("%s",name);
    printf("Hello, %s. %s\n",name,PRAISE);
    
    return 0 ;
}

結果What's your name?Angela Plains
    Hello,Angela。You are an extraordinary being

scanf只讀取了Angela Plains的Angela 。它在遇到第一個空白後就不在讀取了。根據%s轉換說明,scanf只會讀取字串中的一個單詞,而不是一整句。

7.strlen函式給出字串的字元長度

8.#define 可以定義字元和字串常量 字串用雙引號,字元用單引號

基本運算子

賦值運算子 “=”

1.=將右邊的值賦予給左邊

2.左值用於標識可修改的物件。右值指的是能賦給可修改的左值的量,且本身不是左值。

加法運算子

1.加法運算子用於加法運算,使其兩側的值相加。

減法運算子

1.減法運算子用於減法運算,使其左側的數減去右側的數

除法運算子

1.整數除法會截斷計算結果的小數部分,不會四捨五入結果。混合整數和浮點數計算的結果是浮點數。

其他運算子

1.求模運算子

求模運算子就是求餘數。例如13%5的餘數為3,q