編程基礎刷題(一)

一、構造函數

構造函數用於類的對象創建時定義初始化的狀態。

Java構造函數:

 使用構造器時需要記住:

1.構造器必須與類同名(如果一個源文件中有多個類,那麼構造器必須與公共類同名)

2.每個類可以有一個以上的構造器

3.構造器可以有0個、1個或1個以上的參數

4.構造器沒有返回值

5.構造器總是伴隨着new操作一起調用


使用super調用父類構造器的語句必須是子類構造器的第一條語句

如果子類構造器沒有顯式地調用父類的構造器,則將自動調用父類的默認(沒有參數)的構造器。如果父類沒有不帶參數的構造器,並且在子類的構造器中又沒有顯式地調用父類的構造器,則java編譯器將報告錯誤


二、.引用

三種函數調用方式:值傳遞、引用傳遞和地址傳遞

  最後對值傳遞與引用傳遞作一個比較:

1. 在函數定義格式上有不同:
值傳遞在定義處是:Exchg1(int x, int y);
引用傳遞在這義處是:Exchg1(int &x, int &y);

2. 調用時有相同的格式:
值傳遞:Exchg1(a,b);
引用傳遞:Exchg3(a,b);

3. 功能上是不同的:
值傳遞的函數裏操作的不是a,b變量本身,只是將a,b值賦給了x,y函數裏操作的只是x,y變量而不是a,b,顯示a,b的值不會被Exchg1函數所修改。
引用傳遞Exchg3(a,b)函數裏是用a,b分別代替了x,y。函數裏操作的是a,b。



指針是存放內存地址的變量。

引用可以理解爲獲得變量的地址


三、拷貝構造函數



四、補碼,反碼,原碼,移碼

原碼:在真值前面加了一個符號位,不能直接參與運算,零有正零和負零

反碼:正數的反碼就是原碼。負數的反碼:在原碼基礎上,符號位不變,其餘各位取反。因此,零仍然有兩種表示方式

補碼:正數的補碼就是原碼。負數的補碼:反碼基礎上加一

移碼:移碼(又叫增碼)是符號位取反的補碼,一般用指數的移碼減去1來做浮點數階碼,引入的目的是爲了保證浮點數的機器零爲全0。


總結:正數的原碼、反碼和補碼是一致的。爲了解決零的問題引入了補碼。-128:1000000


五、浮點數

1bit符號位,8bit指數,23bit基數

指數要在原來的階碼基礎上加127


  float:
  1bit(符號位) 8bits(指數位) 23bits(尾數位)
  double:
  1bit(符號位) 11bits(指數位) 52bits(尾數位)


l六、.分散刷新

分散刷新是指將刷新週期分散安排在存取週期中(1:1)。刷新週期是指刷新一行所需要的時間。刷新間隔不超過2ms,即需要在2ms內刷新32行,所以刷新週期= 2ms / 32 = 0.0625ms = 62.5us.
集中刷新是指集中安排所有的刷新週期,也稱死區。
分佈式刷新:各刷新週期分散安排在2ms內,若有M行,則每過2/M ms 發一次刷新請求,刷新一行,2ms內刷新完所有的行


七、

由於操作系統對處理器的管理策略不同,其提供的作業處理方式也就不同,例如,批處理方式、分時處理方式、實時處理方式等等


八、常成員函數(c++)


返回類型 <類標識符::>函數名稱(參數表) const

如:void func() const

常成員函數不能用來更新類的成員變量,也不能調用類中未用const修飾的成員函數,只能調用常成員函數。即常成員函數不能更改類中的成員狀態

九、小端序機器:

高位字節放在高位地址中,低位字節放在低位地址中。

十、union

和struct類型相比,union中定義的變量共用一段內存,採用覆蓋技術,所佔內存長度爲最長內存成員的長度。

struct無論是否使用變量,全部分配內存地址。但是對於union,統一分配內存,節省了空間,存取方法多樣。

十一、java運行java文件(.class文件);javac將.java文件編譯成.class文件。

javadoc生成api文檔(從源代碼中抽取類、方法等註釋生成一個新的幫助文檔),jar生成jar包(將寫好的類進行打包)

十二、++(a++):a++的結果是4,是常量。++4是錯誤的,++智能針對變量計算。

十三、bool類型不能和任意類型進行轉化(int)True是錯誤的。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章