c 的基本知識分享

2021-10-07 01:33:28 字數 3333 閱讀 5516

目錄dotnet

資料型別

運算子判斷語句

迴圈語句

break與continue

常量、列舉、結構

陣列dotnet

又名.net,為一種技術,一種平台,一種框架,三層結構,設有中間語言庫,可以相容其他程式語言在上面開發;程式語言為c#。

資料型別

資料型別分為數值型(如整型、浮點型等)、非數值型(如布林、字元、字串等);

(一)數值型:

整型:int、uint等;

浮點型:double、decimal等;

(二)非數值型:

字元型:char、string等;

布林型:bool;

資料型別 變數1=(資料型別)變數2;

例:int i=1;

double s=(double) i ;

//將整型變數i變換為浮點型;

例:int i =2;

double s = 2.1 / i;

s的結果為1.05;

為浮點型,i為整型,運算時i轉換為浮點型。

int i =2;

double s = 3/ i;

s的結果為1;//兩邊都為整型不用轉換;

**轉換,當運算子兩邊不是同一資料型別時,程式將自動完成型別轉換使兩邊資料為同一型別。

轉換原則為小型別向大型別轉換;

特點是不丟失變數的數值精度!

強制型別轉換:

convert.資料型別(變數);

例:double i=1.5;

int s=convert.toint32(i);

s=1;

//i的值丟失了精度。

隱型轉換和強制型別轉換都是小的往大的轉,數值型可以強制轉換為字元型,但字元型向數值型強制轉換時必須為數值才能轉換成功!

運算子 常用運算子有關係運算子、條件運算子、賦值運算子、計算運算子、邏輯運算子等;

(一)關係運算子:>、<、>=、<=、==、!=等;

優先順序:

計算》關係》條件》邏輯》賦值;

判斷語句;

判斷語句有if、if-else、if-else-if、switch-case,異常處理機制try-catch也是判斷的一種。

if:if(條件)

if-else:

if(條件)

else

if-else-if:

if(條件)

else if(條件)//上面if為假則判斷本條件。

switch-case:

switch(變數)

case n:變數為n則執行本行**;

break;

case m:變數為m則執行本行**;

break;··

case z:變數為z則執行本行**;

break;

deflect:變數沒有滿足上述則執行本**;

break;

try-catc:

trycatch

迴圈 迴圈語句有while、do-while、for等;

while:

while(迴圈條件)

//當迴圈變數不滿足迴圈條件時則跳出迴圈。

do-while:

dowhile(迴圈條件)

//先迴圈,後判斷。迴圈體至少執行一次。

for:

for(迴圈變數;迴圈條件;變數變化)

break與continue

break:

跳出的意思,在迴圈體中程式讀到本語句時自動跳出迴圈;

案例:while(i<9)//一直九中第乙個偶數。

i++;

}console.writeline(i);

console.redkey();

continue:

跳出的意思,與break不同的是continue在迴圈中為跳出本次迴圈,迴圈語句繼續執行。

案例while(i<9)//一直九中第所有個偶數。

i++;

}console.redkey();

注:無論是break還是continue在迴圈中一班都是與if語句結合使用。

常量、列舉、結構

常量:為程式中恆定不變的量,一般為數值。

int i=1;

//1為常量;

const int i=1;

//定義變數i為恆定常量,恆定值為1;在程式中i的值將無法再進行重新賦值。

列舉:在程式頭部對某個有固定範圍、重複出現的值進行列舉。在後面**中可以直接宣告引用,不用再次定義變數。

enum 列舉型別 列舉名稱

//列舉時其中用逗號隔開。

案例enum char ***jihe  //定義宣告

***jihe ***;

//宣告***為***jihe列舉型別

***=***jihe.男;

//***的值為***jihe列舉型別中的男;

列舉型別轉換(公式):

變數=(列舉名)(enum.parse(typeof(列舉名),等待轉換變數));

結構:在程式頭部對多個重複出現的值進行列舉。在後面**中可以直接宣告引用,不用再次定義變數。

public struck 結構名案例

public struck ren

//宣告名為ren的資料結構,結構體中有字串型、字元型、整型的變數。

ren student_1;

student_1.name=」zhangsan」;

student_1.***=」男」;

student_1.ge=21;

ren student_2;

student_2.name=」lisi」;

student_2.***=」女」;

student_2.age=19;

//宣告變數student_1、student_2為ren型的結構體,通過結構名+」.」即可引用結構體中的任意變數;

陣列陣列中可以存放多個同型別的值;

資料型別 陣列名稱=new 資料型別[陣列長度]

定義陣列時若給出所有值則可不用宣告陣列長度,陣列長度程式會自動計算得出。

若是定義空陣列則必須給出陣列長度。

陣列長度:陣列名.length

案列int age=new int[10]{};

int age=new int;

int age=new int[10];

age.length//陣列長度

注:陣列中每個值都有乙個下表索引,第乙個元值的下標索引為0;、

如0,1,2,3,4,5,6,7//下標索引

C 基本知識

內聯函式 在c 98的標準下為63個關鍵字 1.普通的命名空間 namespace n1 n1為命名空間的名稱 2.命名空間可以巢狀 namespace n2 namespace n3 3.同乙個工程中允許存在多個相同名稱的命名空間,編譯器最後會合成同乙個命名空間中。1.加命名空間名稱及作用域限定符...

c 基本知識

1.類 包含某一物體的基本屬性的抽象。2.物件 具體指某乙個物體。實實在在存在的東西。3.建構函式 負責類建立物件的函式。如果類沒有宣告建構函式,c 編譯器會提供預設的無參的建構函式。這個函式只負責建立物件,不負責物件初始化工作。4.析構函式 負責釋放物件,記憶體的 5.變數訪問修飾符 public...

c 基本知識

函式過載 c語言的符號生成規則 只和函式名有關 c 的符號生成規則 函式原型 函式頭部 1.返回值 返回值不能作為過載的依據,可能會產生二義性 2.函式名 c語言的符號生成規則只和函式名有關,如果把函式名作為返回值的話,就和c語言衝突了.3.函式形參 1 引數個數 2 引數型別 3 引數順序 函式形...