1、機器語言
2、彙編語言
3、高級語言:C、C++、Java(基於虛擬機)
C語言開發:Unix,Linux,Mac OS,iOS,Android,Windows,Ubuntu
開發環境:visual studio,xcode(Apple),Eclipse(Java開發的IBM),Eclipse+CDT(插件), Intellij IDEA,CLion(基於idea),sublime text
4、編譯器:gcc、cl、clang
5、軟硬件選擇:雙核CPU、8G內存
操作系統環境:Ubuntu 14.04+64位 【Linux選擇CLion或Eclipse+CDT】
其實做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這裏我推薦一個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 輸出的文件名 需編譯的文件
執行編譯之後的文件:./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; (有數據類型,運行時替換)
9、long long c=20; (長整型,long 受限於操作系統;如果程序是32位的,那麼long的類型是4個 字節;如果是64位的,long爲8個字節;爲了使它在每一個操作系統全部都同樣 用8個字節,要使用long long ,全部都是8個字節)
二進制數:0b
十六進制:0x
八進制:0
9、無符號(正負號):unsigned int g=12;
int8_t 範圍:-128~127
uint8_t 範圍:0~255 (所有平臺通用)
10、實型數據:float 、double、long double 長雙精度(注:float f=3;float f=3.0;兩個等式等價)
%f:浮點類型(float)
\r回車符 如printf(“Hello\rworld”)運行結果:world
\b退格符 如printf(“Hello\bworld”)運行結果:Hellworld
\t製表符:以一定的格式顯示
\f換頁符
\ \
\“ “
11、字型變量 sizeof(char)獲得數據類型佔多少字節
%d:輸出整數編碼(十進制有符號數字)
%c:輸出字符
%f:輸出浮點數(用在有輸出語句中);%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);
}
結果爲:c
12、if-else 語句、switch語句(default情況是在所有情況都不符合的時候才執行的)
goto語句:標籤 label:
printf(“100\n”);
printf(“100\n”);
goto balel;
13、for循環:break;continue;goto的使用
14、while循環
注:%求餘數,1是ture(除了0之外其他都是),0是false。
15、do_while (先執行再判斷)
16、位運算:&位與,|位或,~位反(e=~e),^異或(相同爲0,不同爲1),>>相當於除以2,<<相當於乘 以2。
17、函數:putchar(ch); //ch可以爲數字也可以是字符,函數可以輸出字符
puts(string); //String爲字符串,函數可輸出字符串
char str[] =”Hello world” //字符數組
輸出字符(先進行編譯)
puts(”please inpput a char“);
char inputchar =getchar();
printf(“user input is %c\n”,inputchar);
18、數組:int arr[10];//創了10個,但數組下標是從0開始的,即a[0]~a[9]
一維數組:int arr[]={~};
二維數組:int arr[3][4]={~~};
字符數組:1)char str[10]=”Hello”; 或者char str[]=”Hello world”;
-
char str[10]={‘H’,’e’,’l’,’l’,’o’,’\0’};//當做字符數組結尾,不寫的話有風險(程序無法查找到結尾)
-
memset(str,0,10);//把字符數組的值全設爲0,10個元素
-
strlen(str);//獲取字符數組中字符個數char str[]=”Hello world”;