程式設計基本概念

2021-08-03 13:07:50 字數 2827 閱讀 1810

程式設計基本概念

一、賦值語句

1.c/c++ code

int i = 1;

void main()

在c++中,這樣的賦值操作時合法的,int i = i,i變數從宣告的那一刻起就是可見的,main()裡的i不是1,因為它與mian()外的i無關,而是乙個未定義的值。

2.#include

using namespace std;

int main()

3.int func(int x)

return count;

}

函式func功能是將形參x轉換為二進位制後,包含1的數量

二、i++

#include

main()

;

sint *ptr = arr;//ptr指向第乙個元素6

*(ptr++) += 123; //*ptr = *ptr+123;ptr++,此時第乙個元素129,ptr

//指向第二個元素7

printf(「%d,%d\n」,*ptr,*(++ptr));//從右到左運算,第乙個是(++ptr),也就是ptr++,*ptr = 8,此時ptr指向第三個元素8,所以全部為8

}

三、型別轉換

#inlcude

int main()

在x86系列的機器中,資料儲存是「小端儲存」,即低位存放在低位址單元,高位存放在高位址單元。

char *b = (char *)&a;&a可以認為是個指向unsigned int型別資料的指標,(char *)&a則把&a強制轉換成char *型別的指標,這時會發生截斷。截斷後,指標b只指向0xf7這個資料。因為bs是char *,是有符號數,所以列印出來是fffffff7

四、運算子問題

1.#include

using namespace std;

int main()

型別轉換問題:unsigned char b = ~a>>4+1;在計算這個表示式的時候,編譯器會先把a和4的值轉換成int型別(即所謂整數提公升)後再進行計算,當計算結果出來後,再把結果轉換成unsigned char 賦值給b。

運算子的優先順序問題:因為「~」的優先順序高於「>>」和「+」,所以本題的過程是這樣的:先對1010 0101取反0101 1010;再右移,因為「+」運算子的優先順序高於「>>」,所以直接右移5位,結果是0000 0010.

~a操作時,會對a進行整型提公升,a是無符號的,提公升時左邊補0(一般機器32為位,char是8位,左邊24個1;16位int則左邊補8個0),取反後左邊為1,右移就把左邊的1都移到右邊,再按照無符號讀取,才有250這個結果。

2.用乙個表示式,判斷乙個數x是否是2^n次方,不可用迴圈語句

解析:2 4 8 16這樣的數轉化成二進位制是10,100,1000,10000.如果x-1後與x做運算,答案若是0,則x為2^n次方

答案:!(x&(x-1))

3.int f(int x,int y)

五、c和c++問題

1.在c++程式中呼叫被c編譯器編譯後的函式,為什麼要加extern 「c」?

答:c++語言支援函式過載,c語言不支援函式過載。函式被c++編譯後在庫中的名字與c語言不同。假設某個函式的原型為void foo(int x,int y).該函式被c編譯器編譯後在庫中的名字為_foo,而c++編譯器則會產生像_foo_int_int之類的名字。

c++提供了c連線交換指定符號extern 「c」解決名字匹配問題

2.標頭檔案中的ifndef/define/endif是幹什麼用的?

答:標頭檔案中的ifndef/define/endif是條件編譯的一種,除了標頭檔案被防止重複引用(整體),還可以防止重複定義(變數,巨集或者結構)。

程式設計的基本概念

程式設計的基本概念 高階語言 低階語言 高階語言是簡單的說是需要軟體翻譯成二進位制 低階語言就面向機器的二進位制 寫乙個簡單的程式步驟 1 人們所說的資料結構,就根據任務 人家提的要求 想得到的輸出後輸入的資料,例子 管理用的軟體能輸出學生姓名年齡。就是資料要輸出的,還有輸入的 2 確定怎麼計算 根...

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

物件導向程式設計基本概念

定義 物件是指客觀存在的事物,由一組屬性和行為構成。物件 屬性 行為 在物件導向程式設計中,物件之間也需要聯絡,我們稱作物件的互動。定義 1 類是具有共同特徵的物件的抽象。2 類是對具有共同屬性和行為的一類事物的抽象描述。共同的屬性被描述為類的資料成員,共同行為被描述為類的成員函式。定義 例項是由類...