⑴ 在c語言中,i++與++i的區別,當i=5時,他們的變數值與表達式的值分別是多少
你好
這是個變數自加的問題,i++和++i是有區別的。
當一段代碼里出現
...i++;...
或...++i;...
時,他們其實沒多大區別,只是++i的執行效率要高些,但對結果i的值都是一樣的。
但如果代碼里出現的是
...m=i++;...
或...m=++i;...
時,他們結果就不一樣了,因為i++是先賦值再自加(可以理解為2句:m=i;++i;),而++i是先自加再賦值(可以理解為2句:++i;m=i)。也就是說如果i=5,那麼執行之後,前者的m=5;而後者m=6.
這些你可以試一下再慢慢體會,希望對你有幫助。。。
⑵ c語言的表達式是什麼
C語言表達式的定義是:用C語言運算符將運算對象連接起來的式子,就叫表達式。
C語言在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。
基本構成:
數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
常量與變數:常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
數組:如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。
指針:如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
⑶ C語言中表達式的值怎麼算
此式即等同於 (4!=3)&&(2)&&(4+1<5)
1代表真,0代表非,則原式即 1&&1&&0 所以值為0。
例如:
-12/5 = -2 只為這個是整數運算,結果只取整數部分。
62 1*(6+7) + 7 *(6+1) = 13 +49 62
3.2 *(6+7+1) = 44.8
(3)c語言表達式值和變數值擴展閱讀:
一個表達式的賦值和算符的定義以及數值的定義域是有關聯的。
兩個表達式若被說是等值的,表示對於自由變數任意的定值,兩個表達式都會有相同的輸出,即它們代表同一個函數。
一個表達式必須是合式的。亦即,其每個算符都必須有正確的輸入數量,在正確的地方。如表達式2+3便是合式的;而表達式*2+則不是合式的,至少不是算術的一般標記方式。
表達式和其賦值曾在20世紀30年代由阿隆佐·邱奇和Stephen Kleene在其λ演算中被公式化。λ演算對現代數學和電腦編程語言的發展都曾有過重大的影響。
⑷ c語言表達式和變數的值
你好,只是求表達式的值,先從最右邊算起,先y=y*m;再y=y-y*m;最後y=y+(y-y*m),題目就是求最後y的值
⑸ c語言中,關系表達式和邏輯表達式的值是什麼
c語言中,關系表達式和邏輯表達式的值是0或1。
邏輯表達式的值是一個邏輯值,即"true"或"false"。C言語編譯體系在給出邏輯運算效果時,以數字1示意"真",以數字0示意"假",但在推斷一個量是不是為"真"時,以0示意"假",以非0示意"真"。
因為浮點數在計算機中不能異常正確地示意,所以,推斷兩個浮點數是不是相同時,一般不運用關聯運算符"即是"(==),而是應用區間推斷方法來完成。
(5)c語言表達式值和變數值擴展閱讀:
C語言中提供了三種邏輯運算符:
&& :與運算。
|| :或運算。
! :非運算,與運算符&&和或運算符||均為雙目運算符。
具有左結合性。非運算符!為單目運算符,具有右結合性。
邏輯運算符和其它運算符優先順序的關系可表示如下: !(非)→&&(與)→||(或)
⑹ C語言變數和表達式結果的儲存方式的問題,請看題
根據C語言隱式類型轉換規則,當表達式中存在有符號類型和無符號類型時所有的操作數自動轉換為無符號類型。b = a;的時候a會自動轉換為無符號類型,-1的二進制數全是1,轉換為無符號後就是兩位元組的最大值65535,所以a和b的值都變成了65535,然後用8進制輸出65535結果就是177777。
⑺ 在程序中變數與表達式是什麼
在命令操作或程序執行過程中,其值可以改變的量為變數。包括內存變數和欄位變數,
。表達式是由常量、變數、函數、運算符及圓括弧組成的有意義的式子。通常可將變數看作表達式的特例。
⑻ 關於c語言表達式的值
這個是運算順序的問題,第一個i++ 第二個是++i
k=k++;這句話因為++在後面 所以先賦值,後運算,先把k=11賦值 再對k進行+1運算,所以是11 12
k=++k;這句話++在前面,所以先計算++再對k賦值。所以也就是第二個先變成4.2 在對k進行賦值。以上就是出現兩種結果的原因