2020/7/16
在c語言中,&有三種作用,分別如下:
取位址。單目運算子。用來取乙個變數的位址。 比如
int i, *p;
p = &i;//這裡的&作用是取變數i的位址。
位操作中的與操作運算子。
也就是常說的and操作,雙目運算子。
計算的時候按位計算,&兩邊運算元對應位上全為1時,結果的該位值為1。否則該位值為0
比如0x12&0x23 轉為二進位制為:
b00010010&b00100011,
按位計算結果為b00000010,
即結果為0x02。
當兩個&&一起用的時候,表示為邏輯運算中的與運算。
邏輯運算結果只有0和1兩種結果。
一般在&&兩邊是兩個邏輯表示式。
當兩個表示式值均為1時,&&運算結果為1,否則為0。
比如2>1 && 0<1 這個的值為1&&1 = 1。
1>2 && 2>0 這個值為0&&1 = 0。
1>2 && 2>3 這個值為0&&0=0。
向上取整、向下取整什麼意思?
向上向下
取整函式
數隻會對小數點後面的 數字不為零 的數進行操作,
要是給它乙個整數 它就返回整數本身
對小數不為零的數操作:
給定 4.9
呼叫用向下取整函式 得到的是 4
呼叫用向上取整函式 得到的是 5
向上取整 不管四捨五入的規則 只要後面有小數前面的整數就加1
向下取整 不管四捨五入的規則 只要後面有小數忽略小數
c語言中void什麼意思?具體怎麼用?
void是是c語言的乙個關鍵字,其含義為空。
在c語言中,單獨的void有兩種用途,均用於函式中。
1 用於函式返回值。
形式為void func_name(…);
代表函式沒有返回值。在這樣的函式中,呼叫return語句時,不需要也不可以有引數。
注意,寫成
func_nmae(…);
的形式,在部分編譯器中可以編譯成功,但並不是沒有返回值,而是有乙個預設的整型(int)返回值的意思。
2 用於函式引數列表。
當函式沒有引數時,需要定義為
*** func_name(void);
的形式,表示本函式不需要任何引數。
注意,如果寫成
*** func_name();
的形式,與void不同,不是沒有引數,而是函式引數不定,可以接收任何長度的引數。
void 被翻譯為"無型別",相應的void * 為"無型別指標"。常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。
void 的作用
1.對函式返回的限定,這種情況我們比較常見。
2.對函式引數的限定,這種情況也是比較常見的。
一般我們常見的就是這兩種情況:
(1)當函式不需要返回值值時,必須使用void限定,這就是我們所說的第一種情況。例如:void func(int a,char *b)。
(2)0當函式不允許接受引數時,必須使用void限定,這就是我們所說的第二種情況。例如:int func(void)。
c語言裡如何呼叫void函式
main 函式的返回值用於說明程式的退出狀態。如果返回 0,則代表程式正常退出,否則代表程式異常退出。
在 c89中,main() 是可以接受void返回值的zhidao。在最新的 c99 標準中,只有以下兩種定義方式是正確的:
int main( void )
int main( int argc, char *ar** )
如果你不需要從命令列中獲取引數,回請用 int main( void ) ;否則請用 int main( int argc, char *ar** ) 。main 函式的返回值型別必須答是 int ,這樣返回值才能傳遞給作業系統。
如果 main 函式的最後沒有寫return 語句的話,c99 規定編譯器要自動在生成的目標檔案中(如 exe 檔案)加入 return 0 ,表示程式正常退出。注意,vc6 不會在生成的目標檔案中加入return 0 .不過,gcc3.2(linux 下的 c 編譯器)會在生成的目標檔案中加入return 0 。
當你使用void時(是在函式前,不來是在(void)這只是說沒有參自數),那就是空類2113型,即禁止在呼叫函式中使用被調5261用函式的返回值;簡單講就是不能4102用return返回函式值.
就像用int main就有1653返回值return 0;
而用void main就不能用return 0;
什麼是左值?
=是賦值運算子,它2113的作用是將乙個表示式的值賦給乙個5261左值。乙個表示式或者是乙個左值,4102或者是乙個右值。所謂左值是指乙個能用於賦值運算左邊的1653表示式。左值必須能夠被修改,不能是常量。回這裡是用變數作左值,指標和引用也可以作左答值。例如:
int a, b, c;
a=3;
b=4;
c = ( a + b )(2a - b) // 得出14
c++語言中可以放在等號左邊的變數,即具有對應的可以由使用者訪問的儲存單抄元,並且能夠由使用者去改變其值的量。 或者說左值是代表乙個記憶體位址值,通過這個記憶體位址,就可以對記憶體進行讀寫操作;這也就是為什麼左值可以被賦值的原因了。 相對應的還有右值:當乙個符號或者常量放在操作符右邊的時候,計算機就讀取他們的「右值」,也就是其代表的真實值。 比如: int ia,ib; ib=0; ia=ib; 在這裡,首先定義ia,ib。然後對ib賦值,知此時計算機取ib的左值,也就是這個符號代表的記憶體位置即記憶體位址值道,計算機取0的右值,也就是數值0;然後給ia賦值為ib,此時取ib的右值給ia的左值; 所以說,ib的左值、右值是根據他的位置來說的; 這也算是形式語言的乙個有意思之處吧。
C語言程式設計筆記2
這個系列是用來解決學校c語言課程的,並不適用於acm和oi 本系列部落格分為2部分,分別是 c語言程式設計筆記 網課 和 課堂總結 線下課 歡迎 ssw02的部落格 1.常量和變數定義 上一章節末尾留了這麼乙個程式 include int main 其中int price 0是乙個先前沒有見過的語句...
c語言程式設計課程筆記2
first 知識點總結 一 迴圈控制結構 1.while語句 當型迴圈 while 迴圈控制表示式 語句序列 注 迴圈次數未知時使用 2.do while語句 直到型迴圈 do語句序列 while 迴圈控制表示式 3.for語句 for 初始化表示式 迴圈控制表示式 增值表示式 語句序列 注 迴圈次...
《C 程式語言》學習筆記2
程式語言 c 學習的指導思想 focus on programming techniques,not on language features.2.1 c 設計思想 1 能提供使用者介面 成員函式 2 只有通過使用者介面才能訪問資料 privite 3 初始化 掃尾 重構,虛構函式 4 使用者 與實...