<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [toc] # 基礎部分 ## 編譯/執行 main.c ```c #include <stdio.h> int main() { printf("我的第一個程序,你好,%s \n", "打工人"); return 0; } ``` 編譯并運行 `gcc main.c && ./a.out` gcc main.c 編譯 ./a.out 運行編譯結果 ## 文件操作 ```c char fname[] = "./lzsb.txt"; ``` ### 寫入文件 ```c char str[] = "你好,打工人"; // 欲寫入內容 FILE* f = fopen(fname, "w"); // 打開文件 fwrite(str, sizeof(str), 1, f); // 寫入 fclose(f); // 關閉文件占用 ``` ### 讀取文件 ``` FILE *f = fopen(fname, "r"); /* 取文件長度 START (適用2GB內文件) */ fseek(f, 0, SEEK_END); int size = ftell(f); fseek(f, 0, SEEK_SET); /* 取文件長度 END */ char buffer[size]; // 設置緩存區 fseek(f, 0, SEEK_SET); fread(buffer, size, 1, f); // 緩存變量, 讀取長度, 元素個數, 文件流 fclose(f); printf("%s", buffer); ``` ## bit和byte > bit 比特位, 8bit = 1byte 計算機只能認識二進制,每個bit只能存放0或1, 所以`bit`是計算機能讀懂的最小單位 ``` 11111111 一個字節,同時是8個bit(比特位) 01011011 ``` ``` 比特位,bit, b 字節,Byte, B ``` ![](https://img.kancloud.cn/c7/58/c758e0893f9fa056510b310dd8063fcb_942x648.png) ## 取值范圍 ![](https://img.kancloud.cn/a1/57/a157a11274bb45e41c1bed2c93e26314_933x646.png) 參考:[【C語言】《帶你學C帶你飛》\_嗶哩嗶哩\_bilibili](https://www.bilibili.com/video/BV17s411N78s?p=7) ## 基本數據類型 ![](https://img.kancloud.cn/d7/7d/d77dd7fab53cef7fd38a445c546842f9_696x493.png) **數值類/字符數據類型長度** |類型 | 長度 | | ---|---| |int |4| |short int |2| |long long int |8| |char |1| |_Bool |1| |float |4| |double |8| |long double |16| **signed 和 unsigned(無符號)** - `signed` 帶符號數字,可以存負數 - `unsigned` 不帶符號數字,不允許負數;只能存在`0`和非負數,多出來的空間可以存更大的數, 比`signed`翻一倍(似乎?) > 最佳實踐:默認情況所有整形都是`signed`,另外`printf`時無符號數字需要選對格式字符 ``` [signed] int age = -100; // 可以是負數 unsigned int age = 100; // 不帶符號, 不能是負數,最小為0 ``` ### 數據類型強制轉換 與php一樣 ``` int i = 1 + (int)1.8; // 強制把1.8轉換整數,舍棄小數點 ``` ## 常用函數 ### printf 格式化文本輸出,全稱`print format` ``` printf("%s出生于%d年%d三月", "余小波", 1997, 3); > 余小波出生于1997年3月 ``` **格式字符** - `%s` 用于替代字符串 - `%c` 用于替代一個字符 - `%d` 用于替代整數 - `%f` 用于替代小數 [更多參考](https://www.runoob.com/cprogramming/c-function-printf.html) ### sizeof 用于計算一個變量/常量/數據類型的占用長度 ```shell int age = 24; sizeof(age) > 4 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看