C 基礎面試題(一)

2021-10-01 07:41:14 字數 3889 閱讀 1128

1.簡答介紹物件的構成,並做出說明

物件的構成:屬性,方法,事件

屬性:乙個物件與生俱來的,方法:乙個物件的主動行為,

事件:乙個物件的被動行為

2.c#中15中屬性型別分別是哪些

// 值型別

整數8種:byte,sbyte,short,ushort,int,uint,long,ulong,

小數三種:float,double,decimal,

// 引用型別

字串:string,字元型:char,物件型別:object

3、c#屬性賦值的四個步驟

①.看型別,是15種直接賦值

②.不是15種的等號後空格如果出智慧型提示,選擇需要的分號結束

③.空格空不出來,new空格選擇需要的分號結束,刪掉前半個小括號再加上看過載,根據智慧型提示繼續按照上面步驟繼續賦值

④特殊的屬性型別,如this.backcolor=color.red;

4.c#在編輯**中如何區別物件的三個組成部分

扳手為屬性,方塊為方法,閃電為事件

5.在編輯c#**中遇到物件的三個組成部分時應該如何處理?

屬性(扳手)根據屬性賦值的四個步驟進行,方法(方塊)刪掉前半個小括號然後加上看過載,根據提示進行賦值,事件(閃電)+=兩次tab

6.c#中方法賦值的基本過程詳細說明

方法(方塊)刪掉前半個小括號然後加上看過載,根據提示繼續按照屬性賦值四個步驟進行賦值,

7.簡單介紹裝箱和拆箱

裝箱:值型別轉引用型別,拆箱:引用型別轉值型別,拆箱前必須要有裝箱過程

8.常用的屬性型別轉換方式有哪些?至少三種

顯示轉換,隱式轉換,

convert.to… ,int.parse,tostring();

9.為什麼需要屬性型別的轉換

為保證表示式兩邊的資料型別相等,否則無法進行編譯

10,字串轉數字型別的方式有哪些?在轉換中需要注意什麼

int.parse(),;convert.toint32();

需要注意要轉換的字串必須是純數字。否側會丟擲異常

11,c#中+的作用有哪些

做運算子,拼接字串

+會導致隱式轉換,所以使用時應注意

12.簡單介紹.net,.netframework,c#是什麼

.net是一種技術,也可以說是乙個操作平台,.netframework是框架,是.net平台的基本類庫,c#是.net平台的一種開發語言

13.求出ob1010110對應的十進位制數,ox11ff對應的十進位制以及2進製

十進位制86,十進位制4607 0001 二進位制0001 1111 1111

14.事件中兩個引數sender,e的作用分別是什麼

sender是事件的發起者,e引數是事件物件,事件所攜帶的資訊

15,假設int a=10;int b=0; b=a++; 求b++的值:以及a++的值 b++=11;a++=12;

16, int i = 10; messagebox.show(++i+i++>22?「是」:「否」);求彈窗的結果

17,假設int i=11;int j=5;求出i%j,i/j及i/convert.float(j);

i%j=1;i/j=2;i/convert.float(j)=2.2;能轉的情況下為2.2

18.int i=9;求出i>>2(右移兩位),~i(取反)

先求出i的二進位制,為1001,右移兩位,十進位制為2

19,詳細介紹c#中的值型別和引用型別

值型別儲存在記憶體棧中,引用型別儲存在記憶體堆中,位址存放在記憶體棧中,

①引用型別可以派生出新的型別,而值型別不行,因為值型別是密封的。

②引用型別可以包含null但是值型別不行

③引用型別變數的賦值只是複製物件的引用而不複製物件的本身,而將乙個值型別變數複製賦給另乙個值型別變數時,將複製包含的值

20,c#中迴圈語法有哪些?具體如何使用,

for迴圈,while迴圈,do…while()迴圈,foreach()迴圈遍歷

for(迴圈變數;迴圈條件;更新迴圈變數++,–)

條件滿足時執行語句塊

while(判斷條件);

條件成立時執行語句塊

dowhile(判斷條件);

不管條件滿足不滿足都會先執行一遍do中的語句塊;

foreach(型別 名稱 in 需要遍歷的集合)

21.c#中邏輯控制選擇有兩種型別,詳細介紹其用法

if(判斷條件)else

判斷條件為真時執行語句塊中的語句,否則執行else中的語句

if(判斷條件)else if(判斷條件)

先判斷if條件,為真時執行if下面語句塊中的語句,if為假時判斷else if的判斷條件,為真時執行下方的語句塊。

注意:if為真則不判斷else if的判斷條件。

switch(表示式)

switch表示式會找對應的case匹配,如果匹配成功則會執行匹配成功的case下方的語句塊,如果case都不匹配,則會直接執行default下的語句塊

22,常量和變數的區別

常量為唯讀的不可更改值,而變數是可以更改值的;

宣告常量關鍵字:const

23,變數宣告為什麼要初始化?c#中如何保證變數的初始化問題?

強調安全性,c#編譯器需要用初始值對變數初始化後,之後才能在操作中引用該變數。

全域性變數如果不賦值系統會預設給值;而區域性變數則不會,所以使用區域性變數的時候要保證區域性變數都已賦值;

24,請說明變數的作用域如何判斷?

全域性變數作用域為整個類中,區域性變數的作用域為宣告的花括號中,

25,詳細介紹c#中斷點的使用規則

在需要監視的那行**中右鍵選擇新增斷點,或者在那行**最前面的灰色區域單擊,出現紅色的點則為成功,然後執行**,執行到斷點那行後使用f11逐語句或f10逐過程,進行跟蹤

26,請說明as型別轉換和前置()型別轉換的區別

用as轉換時即使轉換失敗也不會丟擲異常,

用前置()轉換時轉換不成功則會丟擲異常

27,請介紹return,break,continue的區別

return,跳出此語句塊,break跳出本次迴圈,執行下面的語句,只能跳出一層迴圈,continue跳出本次迴圈執行下次迴圈

28,c#中151中基礎型別的預設值分別是什麼?

整數字0,float為0.0f,double為0.0d,decimal為0.0m

char為乙個空格字元,string為乙個空字串,object為null

29,請說明&和&&,及|和||的作用以及區別

&&為邏輯判斷,表示式兩邊同真則為真

||為邏輯判斷,表示式兩邊一真一假則為真

&為邏輯與,|為邏輯或

&&/||有短路功能

&/|無短路功能

30,請介紹c/s程式和b/s程式是什麼

c/s :客戶端/伺服器 , b/s :瀏覽器/伺服器

C 基礎面試題

c c struct aa int a char b struct student 純虛函式的定義形式 virtual 0 在虛函式和純虛函式的定義中不能有static識別符號,原因很簡單,被static修飾的函式在編譯時候要求前期bind,然而虛函式卻是動態繫結 run time bind 而且被...

c 基礎 面試題

6 章 函式 15 章 物件導向程式設計 16章 模板與泛型程式設計 演算法題c 有哪些性質?封裝 繼承 多型 封裝 實現了類的介面和實現的分離,隱藏類的具體實現,只提供給使用者介面。可以通過訪問說明符實現 public private protected 繼承 從父類得到已有的特性,拓展已存在的 ...

C 面試題(一)

記憶體管理 記憶體的分配方式 答 分配方式有三種,1 靜態儲存區,是在程式編譯時就已經分配好的,在整個執行期間都存在,如全域性變數 常量。2 棧上分配,函式內的區域性變數就是從這分配的,但分配的記憶體容易有限。3 堆上分配,也稱動態分配,如我們用new,malloc分配記憶體,用delete,fre...