c語言i2
㈠ c語言中 i*i與i^2有什麼區別
i*i即i的平方,相當於pow(i,2);
i^2在c語言中表示按位異或運算,是邏輯運算符
㈡ C語言程序中!i1&i2是什麼類型的
這就是個表達式·~~~
i1和i2為兩個變數·~~一般為int類型 & 是位與運算符 !是非運算符
!i1&i2 按照優先順序,會先對i1進行非運算,然後結果與i2進行位與運算。
㈢ C語言程序中!i1&i2是什麼類型的
這就是個表達式·~~~
i1和i2為兩個變數·~~一般為int類型
&
是位與運算符
!是非運算符
!i1&i2
按照優先順序,會先對i1進行非運算,然後結果與i2進行位與運算。
㈣ c語言中i%2是什麼意思
a%b是a除以b的余數,i%2就是i除以2的余數,當除以2的時候一般用來判斷前面那個數的奇偶性,i%2==0就說明i是偶數,==1就說明i是奇數
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。
C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
(4)c語言i2擴展閱讀
發展歷史:c語言誕生於美國的貝爾實驗室,由D.M.Ritchie以B語言為基礎發展而來,在它的主體設計完成後,Thompson和Ritchie用它完全重寫了UNIX,且隨著UNIX的發展,c語言也得到了不斷的完善。
為了利於C語言的全面推廣,許多專家學者和硬體廠商聯合組成了C語言標准委員會,並在之後的1989年,誕生了第一個完備的C標准,簡稱「C89」,也就是「ANSI c」,目前,最新的C語言標准為2011年發布的 「C11」。
㈤ c語言中的i2=i1+++i1是什麼意思
因為++運運算元優先於+
i2
=
i1+++i1
等同
i2
=
(i1++)+i1。
再者,i1++,實際上i1的數值會在計算式結束後生效,所以式子可以分解成
i2
=
i1+i1,i1=i1+1
假設i1=2,
則i2
=
i1+i1
=
2;
i1=3
再例:如果
i2
=
i1+(++i1),++i1會在算式中生效,結果會變成,
i1=i1+1,i2
=
i1+i1
假設i1=2,
則
i1=3;
i2
=
i1+i1
=
6
㈥ C語言 為什麼 i和i2 地址相同 值相同
關鍵點:
一、i和i2分別在兩個不同的函數a和b中出現;
二、i和i2的地址是系統自動分配的;
三、當運行a函數時,系統自動為i分配一個地址;當運行b函數時,a函數已經運行完,i的內存被回收,換句話說,變數i已經不存在了(現象是:這時已經查不到i的值了);所以,系統在為i2分配變數地址時,會把這時已經空閑的原來i的地址又分配給i2。
這很正常,不會出現沖突。
㈦ C語言i+=2和i=+2的區別
1、運算順序不相同
簡單說就是i=i+2 比 i+=2多了一次對變數 i 的運算。i=i+2是先用i的結果,然後在進行i=i+2的式子進行處理。i+=2是先進行i=i+2,然後得出來的結果就是i。
在表達式中,i=i+2就是先進行加法,然後在進行賦值。而i+=2就是先賦值然後在進行加法。
2、得到的結果不相同
C語言中i+=2等同於i=i+2這是簡略寫法,但是計算時演算法不相同,i=i+2更容易得出i的賦值。如果i的值為1(i=1),i=i+2得到i的結果是i=3,而i+=2得到的結果是i=1,運算得到的值不相同。
3、運算效率不相同
i=i+2運算效率最低,因為運算時讀取右i的地址i+1,讀取左i的地址;將右值傳給左邊的i(編譯器並不認為左右i的地址相同),而i+=2運算時讀取右i的地址,令i=1,將得到的值傳給i(因為i的地址已經讀出)。
(7)c語言i2擴展閱讀:
i=i+2和i+=2都是運用賦值的相關知識,將確定的數值賦給變數的語句叫做賦值語句。各程序設計語言有自己的賦值語句,賦值語句也有不同的類型。所賦「值」可以是數字,也可以是字元串和表達式。
很多語言都使用「等於號」(即「=」)來作為賦值號,所以可能和和平時的理解不同,在使用的時候應予以注意。
㈧ c語言,i%2是什麼意思
a%b是a除以b的余數,i%2就是i除以2的余數,當除以2的時候一般用來判斷前面那個數的奇偶性,i%2==0就說明i是偶數,==1就說明i是奇數
㈨ C語言為什麼答案為31,為什麼i為2會執行,他不由case 0控制嗎
C語言中的switch(i)語句,是按照後面幾個case語句的順序,從前往後依次查找對應的i值,並從查到的那一句開始執行後面所有的語句(包括case),除非碰到一個break命令,後面的語句就不會被執行了。
你發的程序中,沒有一個break,所以會全部執行。具體是:
循環前a的值為0,循環是從i=1到4執行循環體(i=5時結束循環):
當i=1時,匹配case1,執行從case1開始的3個語句,a先+3再+5變成0+3+5=8;
當i=2時,匹配case2,執行從case2開始的兩個語句,a也是先+3再+5變成8+3+5=16;
當i=3時,匹配case3,執行從case3開始的4個語句,a先+2+3再+5變成16+2+3+5=26;
當i=4時,匹配case4,找不到,所以匹配default語句,執行這一句,a=26+5=31。
所以,a的最後結果是31。
想要程序只執行匹配的那一句,而不要執行後面的語句,則必須在每一個case語句的最後,都增加一個「default;」命令。如本例修改下面幾句:
case 0:break;
case 3:a+=2;break;
case 1:break;
case 2:a+=3;
default:a+=5;(本句不改)
這樣修改以後,a的運行結果是10。
㈩ c語言中的i2=i1+++i1是什麼意思
結果和編譯器有關,一般是遵從右組合規則,也就是i1+(++i1)