☀️光天化日学C语言☀️(03)- 变量 | 万物皆变化,唯有初心不变
C語言免費動漫教程,和我一起打卡! 🌞《光天化日學C語言》🌞
LeetCode 太難?先看簡單題! 🧡《C語言入門100例》🧡
數據結構難?不存在的! 🌳《數據結構入門》🌳
LeetCode 太簡單?算法學起來! 🌌《夜深人靜寫算法》🌌
文章目錄
- 一、前言
- 二、人物簡介
- 三、變量
- 1、變量的定義
- 2、變量的賦值
- 3、變量的初始化
- 4、變量的由來
- 5、多變量的定義
- 6、變量間的賦值
- 四、數據類型
- 1、內置數據類型
- 2、數據的大小
- 3、整數的表示范圍
- 五、變量名
- 1、標識符
- 2、關鍵字
- 3、命名規則
- 課后習題
一、前言
??本文作者是從 2007 年開始學 C語言 的,不久又接觸了C++,基本就是 C/C++ 技術棧寫了 14 年的樣子,不算精通,但也算差強人意。著有《夜深人靜寫算法》系列,且承諾會持續更新,直到所有算法都學完。主要專攻 高中 OI 、大學 ACM、 職場 LeetCode 的全領域算法。由于文章中采用 C/C++ 的語法,于是就有不少讀者朋友反饋語言層面就被勸退了,更何況是算法。
??于是,2021 年 06 月 12 日,《光天化日學C語言》 應運而生。并且作者在此承諾,這個系列全部文章均免費且開源,主要服務于高中生、大學生以及職場上想入坑C語言的志同道合之人,希望能給祖國引入更多編程方面的人才,并且讓自己的青春不留遺憾!
??本章的內容主要將介紹變量的定義、賦值、初始化以及一些常用的內置數據類型。
二、人物簡介
- 第一位登場的就是今后會一直教我們C語言的老師 —— 光天。
- 第二位登場的則是今后會和大家一起學習C語言的沒什么資質的小白程序猿 —— 化日。
三、變量
1、變量的定義
對于一個變量而言,有三部分組成:
??1)變量類型;
??2)變量名;
??3)變量地址;
- 在C語言中,我們可以通過如下的方式定義一個變量:
1)變量類型
- int表示變量類型,是英文單詞 Integer 的縮寫,意思是整數。
2)變量名
- Iloveyou表示變量名,也可以叫其它名字,例如:WhereIsHeroFrom、ILoveYou1314等等。
- 這個語句的含義是:在內存中找一塊區域,命名為Iloveyou,用它來存放整數。
- 需要注意的是,最后有一個分號,int Iloveyou表達了一個語句,要用分號來結束。
3)變量地址
2、變量的賦值
- C語言中可以用以下語句把 520 520 520 這個整數存儲到Iloveyou這個變量里:
- =在數學中叫 “等于號”,例如 1 + 1 = 2,但在C語言中,這個過程叫做變量的賦值,簡稱賦值。賦值是指把數據放到內存的過程。
3、變量的初始化
- 把上面的兩個語句連起來,得到:
- 當然,我們也可以寫成如下形式:
- 兩段代碼的執行結果相同,都是把Iloveyou的值變成 520 520 520;
4、變量的由來
- 如果我們需要,可以隨時改變它的值,如下代碼所示:
- 代碼執行完畢以后,它的值以最后一次賦值為準,正因為可以不斷修改,是可變的,所以才叫變量。
- 簡單總結一下就是:數據是放在內存中的,變量是給這塊內存起的名字,有了變量就可以找到并使用這份數據。
5、多變量的定義
- 如果幾個變量的類型一致,我們可以寫在一行上進行定義,如下:
- 這段代碼代表一次性定義了三個整型類型的變量,并且將z初始化為 5,等價于如下代碼:
6、變量間的賦值
- 變量不能賦值給數字,但是變量可以賦值給變量。
【例題1】給出如下代碼,求輸出結果是什么。
#include <stdio.h> int main() {int a = 1314, b = 520;b = a;a = b;printf("a=%d b=%d\n", a, b);return 0; }四、數據類型
- 接下來我們展開來講一下變量類型,更加確切的講,應該叫數據類型,C語言中有如下一些系統內置數據類型。
1、內置數據類型
- 從上面這個表,我們可以看到,有表示字符的,有表示整數的,也有表示浮點數的。
- 先來簡單看下每種內置類型是如何進行定義的:
2、數據的大小
- 字節是計算機中的一種基本單位,英文名為 Byte,計算機中所有的數據都是由字節組成的。
- 我們通常在計算機中看到的文件單位 B 、K、M 、G、T 和字節的關系如下:
- 一個字節在計算機里面是有 8 個位組成,一個位有 0 和 1 兩種狀態,所以一個字節能表示的狀態數就是 2 8 = 256 2^8 = 256 28=256。如圖四-2-1,代表的是一個字節的狀態,白色代表0,灰色代表1,它的二進制表示就是 ( 00001101 ) 2 (00001101)_2 (00001101)2?。
圖四-2-1
3、整數的表示范圍
- 這樣一來,上面提到的幾種整數類型,能夠表示的整數就顯而易見了,假設字節數為 n n n,那么能夠表示的整數個數就是能夠表示的狀態個數,即: 2 8 n 2^{8n} 28n 。
- 由于我們需要表示負數 和 零,實際的每種整數數據類型能夠表示的數字范圍如下表所示:
五、變量名
1、標識符
- 定義變量時,我們使用了諸如 love、Iloveyou這樣的名字,為了表達變量的作用,這就叫 標識符,即 Identifier。
- 標識符就是程序員自己起的名字,除了變量名,后面還會講到函數名、常量名、宏名、結構體名等,它們都是標識符。
2、關鍵字
- 關鍵字(Keywords)是由C語言規定的具有特定意義的字符串,通常也稱為保留字,例如 int、char、long、int、unsigned int等。
- 程序自己定義的標識符不能與關鍵字相同,否則會出現錯誤。
- 后續會對各個關鍵字進行一一講解。
3、命名規則
- ( 1 ) (1) (1) 必須由字母、數字 或者下劃線構成,如 _aa,a123,_都是合法的變量,?*、a a、#、都是非法的變量;
- ( 2 ) (2) (2) 不能以數字開頭,如123abc不是一個合法的變量名;
- ( 3 ) (3) (3) 大小寫敏感,即大小寫看成不同,即o和O不是同一個變量;
- ( 4 ) (4) (4) 不能將變量名和C語言的語法保留關鍵字同名;
- ( 5 ) (5) (5) C語言雖然不限制標識符的長度,但是它受到 編譯器 和 操作系統 的限制。例如在某個編譯器中規定標識符前 256 位有效,當兩個標識符前 256 位相同時,則被認為是同一個標識符。
- ( 6 ) (6) (6) 標識符命名時還是最好遵循 min-length-max-infomation 的原則,即以最小的長度表達最全的信息,不過這個是規范上的,語言層面是不會做過多的限制的。
【例題2】給出一段程序,請回答這段程序的運行結果。
#include <stdio.h>int main() {int IloveYou = 0;ILoveYou = 1314;ILoveYou = ILoveYou;ILoveYou = 520;printf("%d\n", ILoveYou);return 0; }- 建議先看代碼,心里想著一個答案,然后再去 光天化日學C語言(01)- 第一個C語言程序 中提到的在線編譯環境中將代碼一行一行敲出來,看看和你自己想的結果是否一致。
- 通過這一章,我們學會了 變量的定義、賦值、初始化,以及變量名命名規則,常用的數據類型,希望對你有幫助哦 ~ 祝大家早日成為 C 語言大神!
課后習題
- 【第03題】給定 a 和 b ,交換它們的值并輸出 | 四種解法
📢博客主頁:https://blog.csdn.net/WhereIsHeroFrom
📢歡迎各位 👍點贊 ?收藏 📝評論,如有錯誤請留言指正,非常感謝!
📢本文由 英雄哪里出來 原創,轉載請注明出處,首發于 🙉 CSDN 🙉
作者的專欄:
??👉C語言基礎專欄《光天化日學C語言》
??👉C語言基礎配套試題詳解《C試題100例》
??👉算法進階專欄《夜深人靜寫算法》
總結
以上是生活随笔為你收集整理的☀️光天化日学C语言☀️(03)- 变量 | 万物皆变化,唯有初心不变的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 21 步 教你成为一名成功的 Web 开
- 下一篇: 总部在新加坡!招AIGC算法工程师、测试