<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] # 變量 ~~~ 1byte = 8bit? ? 一個字節占8個二進制位 32位機中 char:????1個字節 short:???2個字節 int:???????4個字節 long:????4個字節 64位機中 char:????1個字節 short:???2個字節 int:???????4個字節 long: ? ?8個字節 ~~~ 變量定義的一般形式為:數據類型 變量名; 多個類型相同的變量:數據類型 變量名, 變量名, 變量名...; 注意:在定義中不允許連續賦值,如int a=b=c=5;是不合法的。 變量的賦值分為兩種方式:1.先聲明再賦值 2.聲明的同時賦值,例如: ~~~ int a; a=100; ~~~ ## 局部變量和全局變量 變量,按作用域范圍可分為兩種,即局部變量和全局變量。 局部變量也稱為內部變量。局部變量是在函數內作定義說明的。其作用域僅限于函數內, 離開該函數后再使用這種變量是非法的。在復合語句中也可定義變量,其作用域只在復合語句范圍內。 全局變量也稱為外部變量,它是在函數外部定義的變量。它不屬于哪一個函數,它屬于一個源程序文件。其作用域是整個源程序 ## 變量存儲類別 根據變量的生存周期來劃分,可以分為靜態存儲方式和動態存儲方式。 靜態存儲方式:是指在程序運行期間分配固定的存儲空間的方式。靜態存儲區中存放了在整個程序執行過程中都存在的變量,如全局變量。 動態存儲方式:是指在程序運行期間根據需要進行動態的分配存儲空間的方式。動態存儲區中存放的變量是根據程序運行的需要而建立和釋放的,通常包括:函數形式參數;自動變量;函數調用時的現場保護和返回地址等。 C語言中存儲類別又分為四類:自動(auto)、靜態(static)、寄存器的(register)和外部的(extern)。 1、用關鍵字auto定義的變量為自動變量,auto可以省略,auto不寫則隱含定為“自動存儲類別”,屬于動態存儲方式。 2、用static修飾的為靜態變量,如果定義在函數內部的,稱之為靜態局部變量;如果定義在函數外部,稱之為靜態外部變量 注意:靜態局部變量屬于靜態存儲類別,在靜態存儲區內分配存儲單元,在程序整個運行期間都不釋放;靜態局部變量在編譯時賦初值,即只賦初值一次;如果在定義局部變量時不賦初值的話,則對靜態局部變量來說,編譯時自動賦初值0(對數值型變量)或空字符(對字符變量)。 3、為了提高效率,C語言允許將局部變量得值放在CPU中的寄存器中,這種變量叫“寄存器變量”,用關鍵字register作聲明 注意:只有局部自動變量和形式參數可以作為寄存器變量;一個計算機系統中的寄存器數目有限,不能定義任意多個寄存器變量;局部靜態變量不能定義為寄存器變量。 4、用extern聲明的的變量是外部變量,外部變量的意義是某函數可以調用在該函數之后定義的變量 ## 注意 變量如果不初始化,可以編譯成功,但是執行的時候,很可能報錯.操作系統是如何管理內存的! 每當一個應用程序打開時,操作系統為其分配內存,內存有內存地址與內存單元,當應用程序初始化運行時,會往內存單元里面寫數據,當操作系統回收的時候,并不清空內存單元,所以就存在大量的垃圾數據 如果變量不初始化,就會默認讀取垃圾數據,有些垃圾數據會導致程序 崩潰 VC++2010編譯器可以感知變量沒有初始化,調試的時候就會出錯 所以,變量使用之前,必須初始化 # 格式化輸出 當輸出語句中包含普通字符時,可以采用一下格式: printf("普通字符輸出格式符", 輸出項); C語言中的常用格式化符: ![](https://box.kancloud.cn/5565e683d672eb87a98bba7dc0da93bb_778x184.jpg) `%p 以無符號16進制打印內存地址` `%x 16進制格式化` 數組名本身就表示地址 如果要輸出多個變量的并指定變量的位置時候,格式符還可以連用,變量之間需要用逗號隔開,如: ~~~ #include <stdio.h> int main(int argc, char const *argv[]) { int a; float b; a=10; b=7.56; char x ='c'; printf("整數:%d,小數:%f,字符%c \n",a,b,x); return 0; } ~~~ --- putchar輸出一個char ~~~ putchar(100); //輸出d是ascii碼 putchar('a'); //輸出a ~~~ # 常量 在程序執行過程中,值不發生改變的量稱為常量。C語言的常量可以分為直接常量和符號常量。 直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如: 整型常量:13、0、-13; 實型常量:13.33、-24.4; 字符常量:‘a’、‘M’ 字符串常量:”I love imooc!” 下面的代碼分別打印這四種直接常量: ~~~ printf("%d\n", 100); //整形常量 printf("%f\n", 3.14); //實型常量 printf("%c\n", 'A'); //字符型常量 printf("helloworld" ); //字符串型常量 ~~~ 在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為: ` #define 標識符 常量值 ` 修改常量,可以只需要修改一次,實現批量修改 ` #define 標識符 常量值 ` 符號常量的標示符一般習慣使用大寫字母,變量的標示符一般習慣使用小寫字母,加以區分。下面是一個使用符號常量的小例子: define也叫定義宏 ~~~ #include <stdio.h> #define PI 3.14 int main(int argc, char const *argv[]) { printf("圓周率: %f\n", PI); return 0; } ~~~ const也可以 ~~~ const int a = 1; int const b = 2; printf("%d\n", b); ~~~ 注意:常量是不可改變的 ## 區別 ~~~ #define Pai 3.14 const float pai 3.14 ~~~ const修飾的本身還是變量,但是不允許修改了 第一種方式: 是將pi定義成一種符號,此時pi只是3.14的別名,在編譯期間用3.14去取代pi的值,define相當于替換 第二種方式: 是將pi定義成變量,但告訴編譯器它的值是固定不變的,如果試圖修改,會報錯 define需要修改的時候,只需要修改一次,就可以實現批量修改,效率高而且準確 如果想修改的話只需要 ~~~ #define pi 3.14 #define pi 3 ~~~ ## 字符常量 數字0: 內存中存的是0 `'0'`: 內存中存的是48 `'\0'`: 內存中存的是0 `'\0' == '0'` --- * 定義:用單引號括起來的單個普通字符或轉義字符 * 字符常量的值:該字符的ASCII碼值 * 轉義字符:反斜線后面跟一個字符或一個代碼值表示 | 轉義字符 | 含義 | | --- | --- | | \n | 換行 | | \v | 垂直制表 | | \r | 回車 | | \a | 響鈴 | | \' | 單引號 | | \ddd | 3位8進制數代表的字符 | | \t | 水平制表 | | \b | 退格 | | \f | 換頁 | | \\ | 反斜線 | | \xhh | 2位16進制代表的字符 |
                  <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>

                              哎呀哎呀视频在线观看