(1)妳在源代碼中寫a和'a'有什麽區別?
妳的程序實際上是寫在txt文件中(.c、.cpp啥的都是無格式文本)
如果妳直接在源程序中寫a,則編譯器把它當成是妳程序中的壹個變量;
例如妳在程序代碼中寫壹句"int abc = 100;",abc中的a被編譯器理解成壹個標識符/名稱的組成部分。
如果妳在源程序中寫'a',則編譯器遇到單引號把它理解成壹個字符常量,這完全是編譯器詞法分析過程中的區別。
不管是a還是'a',妳寫在源程序文件中的內容都可以叫做代碼的組成成分(如果不是資源數據)。
(2)'a'並非char類型,事實上它是int類型
這話說得不僅讓人難以理解,而且根本就是錯的。'A'是char類型常量無疑,註意區分術語integral type(整數類型,包括有符號或無符號的int, short, char)和integer(整型int),看英文書這個區別很明顯,比如case子句都要求integral type,不壹定是int類型。
(3)啥是ASCII碼
0x34、'a'等都是二進制機器碼的壹種記錄方式。程序編譯之後,'A'和數值65的二進制碼是相同的,所以有時用int類型的數值常量代替char常量能得到同樣的結果(很多時候還牽涉到隱式類型轉換,初學者先不管),這其實是不太規範的。計算機喜歡用機器碼,源碼是寫給人看的,所以有些程序雖然機器碼是正確的,但源碼語義不明,也是不好的。
(4)
樓主還是換本書看吧,真心的。入門的話很多問題不必深究,先寫程序跑起來,選教材最重要是作者講述方式與妳的理解方式壹致。