C 語言複習筆記
我們不多逼逼,直接上 !!!
C語言屬於編譯型語言 (計算機語言分類)
C語言 執行的過程:
編譯成 *.obj (編譯器 把 *.c 檔案 編譯成 *.obj檔案)
連線成 *.exe (連結器 把 *.obj 檔案 連結成 *.exe檔案)
C程式的一般 組成 (非全面的):
標號語句
複合語句
表示式語句
選擇語句
迭代語句
跳轉語句
關鍵字
識別符號
運算子
資料
1 .#include 指令和標頭檔案
#include <stdio.h>
上面的語句的作用相當於把stdio.h檔案中的所有內容都輸入該行所在的位置。
實際上。這是一種“拷貝——貼上”的操作。
#include
2 . main()函式
main的標準寫法void main(void)
3 .註釋
// 這裡是註釋
/*
這裡是註釋
*/
4 .花括號、函式體和塊
{
...
}
5 .宣告
要使用 某變數 、 某函式 或結構體等 必須先聲明後才能呼叫
基本型別:
詳見
實際資料長度(非標準長度!!! 視環境與機器 而定論 具體情況具體分析):
討論 “__int64 與long long 的區別”(無興趣可以無視):
https://blog.csdn.net/shiwei408/article/details/7463476
__int64 型別的輸入與輸出:
#include <stdio.h>
void test__int64IO();
void main(void){
test__int64IO();
}
void test__int64IO(){
// 測試 __int64 型別的 輸入 輸出
__int64 x ;
printf("請輸入一個整數:");
scanf("%I64d",&x);
printf("%I64d\n",x);
}
6 .賦值
7 .printf() 函式
它是一個標準的輸出函式
8 .return 語句
為提高可讀性,我們還是要保持寫return語句的習慣
int main(void){ ... return 0; }
基本資料型別
整型:
ISO C規定int的取值範圍最小為-32768~32767。這句話沒有毛病它說的是最小,不是最大的規定!
不過,隨著技術的發展,現在的個人計算機常見的是,long long佔64位、long佔32位、short佔16位、int佔16位或32位(依計算機的自然字長而定)。
原則上,這4種類型代表4種不同的大小,但是在實際使用中,有些型別之間通常有重疊(大小重疊 如下圖的int long大小是重疊的)。
C 標準對基本資料型別只規定了允許的最小大小。
對於16位機,short 和 int的最小取值範圍是[-32768,32767];
對於32位機,long的最小取值範圍是[-2147483648,2147483647,];
對於unsigned short 和 unsigned int ,最小取值範圍是[0,65535];
對於unsigned long ,最小取值範圍是[0,4294967295];
long long型別是為了支援64位的需求(c99中的新定義的標準),最小取值範圍是[-9223372036854775808,9223372036854775807]
usigned long long 的最小取值範圍是[0,1844674407370955161]
參考:https://blog.csdn.net/tenlee/article/details/44997015
進位制數:
八進位制用0表示字首010
表示十進位制的8、或者是000010
其實還是10進位制的8
十六進位制 用0x、0X表示字首0x0021
表示的是十進位制的33、0X101
表示的是257
小程式:
程式
#include <stdio.h>
#include <math.h>
void testBases(void);
void main(void){
testBases();
}
void testBases(void){
int x = 100;
printf("%#o,%d\n",010,010);
printf("%#x,%d\n",0x10,0x10);
printf("%d\n",0x0021);
printf("%d\n",0x00101);
printf("十進位制=%d; 八進位制=%o; 十六進位制=%x;\n",x,x,x);
printf("帶符號 #\n十進位制=%#d; 八進位制=%#o; 十六進位制=%#x;\n",x,x,x);
}
比較噁心的一個點
printf("%ld,%ld,%ld\n",5ul,5UL,5Lu);
u、l 大小寫都可以,表示的意思都是一樣的
u 表示的是無符號
l 表示的是長整型
char型別用於儲存字元,但是從技術層面看,char是整數型別。
因為char型別實際上存的是整數而不是字元。
計算機使用數字編碼來處理字元,即用特定的整數表示特定的字元。
最常用的是ASCII編碼。