1、機(jī)器語言
2荠医、匯編語言
3吁脱、高級語言:C、C++彬向、Java(基于虛擬機(jī))
C語言開發(fā):Unix兼贡,Linux,Mac OS娃胆,iOS遍希,Android,Windows缕棵,Ubuntu
開發(fā)環(huán)境:visual studio孵班,xcode(Apple),Eclipse(Java開發(fā)的IBM)招驴,Eclipse+CDT(插件)篙程, Intellij IDEA,CLion(基于idea)别厘,sublime text
4虱饿、編譯器:gcc、cl、clang
5氮发、軟硬件選擇:雙核CPU渴肉、8G內(nèi)存
操作系統(tǒng)環(huán)境:Ubuntu 14.04+64位 【Linux選擇CLion或Eclipse+CDT】
其實做為一個開發(fā)者,有一個學(xué)習(xí)的氛圍跟一個交流圈子特別重要這里我推薦一個C語言C++交流群583650410爽冕,不管你是小白還是大牛歡迎入駐仇祭,大家一起交流成長。
Windows 7+ 64位
Mac OS 10.10+ 64位
6颈畸、Helloworld:安裝編譯器:sudo apt-get install g++
控制臺:工具(nano乌奇、vim、vi)編寫hello.c文件
編譯:gcc -o 輸出的文件名 需編譯的文件
執(zhí)行編譯之后的文件:./hello
7眯娱、Eclipse生成的文件
1)Debug 生成文件比較大
2)Relese 生成文件比較小
8礁苗、了解Clion中CMake和GDB
Shift+F6:改文件名
Shift+Alt+X:運行
常量:1)#define MY_AGE 10000 (編譯文件時,把文件中的常量替換成常量值)
2)推薦:const int MY_AGE1=10000; (有數(shù)據(jù)類型徙缴,運行時替換)
9试伙、long long c=20; (長整型,long 受限于操作系統(tǒng)于样;如果程序是32位的疏叨,那么long的類型是4個 字節(jié);如果是64位的百宇,long為8個字節(jié)考廉;為了使它在每一個操作系統(tǒng)全部都同樣 用8個字節(jié),要使用long long 携御,全部都是8個字節(jié))
二進(jìn)制數(shù):0b
十六進(jìn)制:0x
八進(jìn)制:0
9昌粤、無符號(正負(fù)號):unsigned int g=12;
int8_t 范圍:-128~127
uint8_t 范圍:0~255 (所有平臺通用)
10、實型數(shù)據(jù):float 啄刹、double涮坐、long double 長雙精度(注:float f=3;float f=3.0;兩個等式等價)
%f:浮點類型(float)
\r回車符 如printf(“Hello\rworld”)運行結(jié)果:world
\b退格符 如printf(“Hello\bworld”)運行結(jié)果:Hellworld
\t制表符:以一定的格式顯示
\f換頁符
\\ \
\“ “
11、字型變量 sizeof(char)獲得數(shù)據(jù)類型占多少字節(jié)
%d:輸出整數(shù)編碼(十進(jìn)制有符號數(shù)字)
%c:輸出字符
%f:輸出浮點數(shù)(用在有輸出語句中)誓军;%lf是用在輸出語句中scanf袱讹。
%s:輸出格式為字符串
11、自定義類型(typedef)
typedef char jkxy_char; //底層是uint8_t
typedef uint8_t jkxy_char1;
int main(){
jkxy_char c=’c’;
printf(“%c\n”,c);
}
結(jié)果為:c
12昵时、if-else 語句捷雕、switch語句(default情況是在所有情況都不符合的時候才執(zhí)行的)
goto語句:標(biāo)簽 label:
printf(“100\n”);
printf(“100\n”);
goto balel;
13、for循環(huán):break壹甥;continue救巷;goto的使用
14、while循環(huán)
注:%求余數(shù)句柠,1是ture(除了0之外其他都是)浦译,0是false棒假。
15、do_while (先執(zhí)行再判斷)
16精盅、位運算:&位與帽哑,|位或,~位反(e=~e)叹俏,^異或(相同為0妻枕,不同為1),>>相當(dāng)于除以2她肯,<<相當(dāng)于乘 以2佳头。
17、函數(shù):putchar(ch)晴氨; //ch可以為數(shù)字也可以是字符,函數(shù)可以輸出字符
puts(string); //String為字符串碉输,函數(shù)可輸出字符串
char str[] =”Hello world” //字符數(shù)組
輸出字符(先進(jìn)行編譯)
puts(”please inpput a char“);
char inputchar =getchar();
printf(“user input is %c\n”,inputchar);
18籽前、數(shù)組:int arr[10];//創(chuàng)了10個,但數(shù)組下標(biāo)是從0開始的敷钾,即a[0]~a[9]
一維數(shù)組:int arr[]={~};
二維數(shù)組:int arr[3][4]={~~};
字符數(shù)組:1)char str[10]=”Hello”; 或者char str[]=”Hello world”;
2) char str[10]={‘H’,’e’,’l’,’l’,’o’,’\0’};//當(dāng)做字符數(shù)組結(jié)尾枝哄,不寫的話有風(fēng)險(程序無法查找到結(jié)尾)
3) memset(str,0,10);//把字符數(shù)組的值全設(shè)為0,10個元素
4) strlen(str);//獲取字符數(shù)組中字符個數(shù)char str[]=”Hello world”;