C#中方法的參數有四種類(lèi)型: 1. 值參數類(lèi)型 (不加任何修飾符,是默認的類(lèi)型) 2. 引用型參數 (以ref 修飾符聲明) 3. 輸出型參數 (以out 修飾符聲明) 4. 數組型參數 (以params 修飾符聲明)---------------------------------------------------------------------1、值類(lèi)型是方法默認的參數類(lèi)型,采用的是值拷貝的方式。
簡(jiǎn)單講就是傳遞參數到方法體內,js、asp、mvc等寫(xiě)函數有帶參數的話(huà),我們外部引用都會(huì )傳遞值進(jìn)去。function c(int c){ alert(c); return c;}var x = c(5/*5就是值參數傳遞*/);2和3、一般比較不常使用。
4、params 關(guān)鍵字可以指定在參數數目可變處采用參數的方法參數。也就是說(shuō)。
使用params可以自動(dòng)把你傳入的值按照規則轉換為一個(gè)新建的數組。這個(gè)參數個(gè)數是可控的,像1不可控,寫(xiě)的方法是帶幾個(gè)參數。
引用的時(shí)候就傳遞幾個(gè)值進(jìn)去public static void p(params object[] list){/*一般通過(guò)編列,計算結果*/for(var i = 0; i < list.length; i++){ alert(list[i]);}}object[] arr = new object[3] { 1, 'a', "k" };p(arr);。
C 類(lèi)的定義:類(lèi)是定義同一類(lèi)所有對象的變量和方法的藍圖或原型。
類(lèi)也可以定義類(lèi)變量和類(lèi)方法。可以從類(lèi)的實(shí)例中或者直接從類(lèi)中訪(fǎng)問(wèn)類(lèi)變量和方法。
類(lèi)方法只能操作類(lèi)變量,不必訪(fǎng)問(wèn)實(shí)例變量或實(shí)例方法。系統在第一次在程序中遇到一個(gè)類(lèi)時(shí)為這個(gè)類(lèi)建立它的所有類(lèi)變量的拷貝,這個(gè)類(lèi)的所有實(shí)例共享它的類(lèi)變量。
C 對象的定義:定義一個(gè)類(lèi)就相當于創(chuàng )建了一個(gè)新的class類(lèi)型。要使用類(lèi),還必須用已經(jīng)定義的類(lèi)去說(shuō)明它的實(shí)例變量(即對象)。
在C 中,class類(lèi)型一旦被定義,它的實(shí)例變量(對象)就能被創(chuàng )建,并初始化,且能定義指針變量指向它。 實(shí)例化的類(lèi)就是對象。
類(lèi)和對象其實(shí)是C語(yǔ)言里的結構體的延伸,在C 里,struct 和 class其實(shí)本質(zhì)上是一樣的,唯一區別就是struct默認是公開(kāi)的,class默認是私有的,公開(kāi)時(shí)需要聲明為public;還有就是C語(yǔ)言里的結構體,不能包含函數和繼承,C 可以包含函數以及繼承其他的類(lèi)。
參考地址:/zh-cn/library/x53a06bb(VS.80).aspx 在C#中可以定義兩種變量類(lèi)型:值類(lèi)型和引用類(lèi)型。
值類(lèi)型存儲實(shí)際值,而引用類(lèi)型則為對存儲在內存中某處的值的引用。值類(lèi)型在堆棧上分配,大多數程序語(yǔ)言都能應用它。
引用類(lèi)型在堆上分配,通常代表類(lèi)實(shí)例。在C#代碼中還可以定義自己的值和引用類(lèi)型。
所有值和引用類(lèi)型都由一個(gè)名為object的基本類(lèi)發(fā)展而來(lái)。在C#中還可以通過(guò)隱性轉換(不會(huì )造成數據丟失)或顯性轉換(可能造成數據丟失或降低精確度)來(lái)改變數據類(lèi)型。
預定義C#值類(lèi)型 sbyte:存儲8位帶符號整數。sbyte中的s代表帶符號(signed),意味著(zhù)變量可為正值或負值。
sbyte變量的最小可能值為-128,最大可能值為127。 byte:存儲8位無(wú)符號整數。
與sbyte變量不同,byte變量不帶符號,并且只能存儲正數值。byte變量的最小可能值為0,最大可能值為225。
short:存儲16帶符號整數。short變量的最小可能值為32768,最大可能值為32767。
int:存儲32位帶符號整數。int變量的最小可能值為-2147483648,最大可能值為2147683647。
uint:存儲32位無(wú)符號整數。unit中的u代表無(wú)符號。
uint變量的最小可能值為0,最大可能值為4294967295。 long:存儲64位帶符號整數。
long變量的最小可能值為-9223372036845775808,最大可能值為9223372036845775807。 ulong:存儲64位無(wú)符號整數。
ulong中的u代表無(wú)符號。ulong變量的最小可能值為0,最大可能值為18446744073709551615。
char:存儲16位Unicode字符。Char變量的最小可能值為值為0的Unicode字符,最大可能值為值為655535的Unicode字符。
float:存儲32位還符號浮點(diǎn)值。float變量的值介于±1.5 x 10-45到±3.4 x 1038之間。
double:存儲64位帶符號浮點(diǎn)值。double變量的值介于±5.0 x 10-324到 ±1.7 x 10308之間。
decimal:存儲128位帶符號浮點(diǎn)值。decimal類(lèi)型變量適用于金融計算。
decimal類(lèi)型變量的值介于±1.0 x 10-28到±7.9 x 1028之間。 bool:存儲兩個(gè)可能值——真或假——中的一個(gè)。
應用bool類(lèi)型變量是C#與C和C++不同的一個(gè)地方。在C和C++中,整數值0與假同義,而任何非零值與真同義。
但在C#中,這些類(lèi)型不再同義。你不能將一個(gè)整數變量轉換成一個(gè)等同的bool值。
如果你需要應用一個(gè)表示真或假條件的變量,應使用bool變量而非int變量。 預定義C#引用類(lèi)型 string:表示一個(gè)Unicode字符串。
用它可輕松操作并分配字符串。字符串不可變,也就是說(shuō)它一旦建立就不能修改。
因此當你試圖修改一個(gè)字符串,如將它與另一個(gè)字符串連接時(shí),會(huì )建立一個(gè)新字符串對象來(lái)存儲新生成的字符串。 object:表示一個(gè)通用類(lèi)型。
在C#中,所有的預定義和用戶(hù)定義的類(lèi)型都由object類(lèi)型或System.Object類(lèi)發(fā)展而來(lái)。每個(gè)類(lèi)都創(chuàng )造了有自己的名字空間,指方法和變量可以知道彼此的存在,可以使用。
public類(lèi)不但可以被同一程序包中的其它類(lèi)使用,別的程序包中的類(lèi)也可以使用; 變量和方法的修飾字public、protected、private: public:任何其他類(lèi)、對象只要可以看到這個(gè)類(lèi)的話(huà),那么它就可以存取變量的數據,或使用方法。 protected變量和方法: 如果一個(gè)類(lèi)中變量或方法有修飾字protected,同一類(lèi)、同一包可以使用。
不同包的類(lèi)要使用,必須是該類(lèi)的子類(lèi),可以存取變量或調用。 同包的類(lèi) 不同包但是是子類(lèi) private不允許任何其他類(lèi)存取和調用; 當子類(lèi)中的變量名與父類(lèi)的相同,原來(lái)的變量被遮蓋。
方法的覆蓋(overriding)和重載(overloading)。子孫類(lèi)中定義的方法和祖先類(lèi)中某個(gè)方法同名、同參數行,則祖先類(lèi)中的該方法被覆蓋;方法的重載是指一個(gè)對象的多態(tài)性,即多個(gè)方法用相同的名稱(chēng),但參數行不同。
final: final在方法之前,防止該方法被覆蓋; final在類(lèi)之前,標是該類(lèi)不能被繼承; final在變量之前,定義一個(gè)常量。 static: 在變量或方法之前,表明它們是屬于類(lèi)的; 靜態(tài)變量在各實(shí)例間共享,如果是public靜態(tài)變量,則其它類(lèi)可以不通過(guò)實(shí)例化訪(fǎng)問(wèn)它們; 靜態(tài)方法稱(chēng)為類(lèi)的方法,因此不用實(shí)例化即可調用(面向過(guò)程) 一個(gè)對象的方法可以訪(fǎng)問(wèn)對象的數據成員,盡管不屬于方法的局部變量;一個(gè)類(lèi)的方法只能訪(fǎng)問(wèn)自己的局部變量。
當需要為變量、常量以及函數定義并分配存儲空間時(shí),要定義數據類(lèi)型。
C/C++ 數據類(lèi)型C語(yǔ)言包含5個(gè)基本數據類(lèi)型: void, integer, float, double, 和 char.
類(lèi)型 描述
void 空類(lèi)型
int 整型
float 浮點(diǎn)類(lèi)型
double 雙精度浮點(diǎn)類(lèi)型
char 字符類(lèi)型
C++ 定義了另外兩個(gè)基本數據類(lèi)型: bool 和 wchar_t.
類(lèi)型 描述
bool 布爾類(lèi)型, 值為true 或 false
wchar_t 寬字符類(lèi)型
類(lèi)型修飾符
一些基本數據類(lèi)型能夠被 signed, unsigned, short, 和 long 修飾. 當類(lèi)型修飾符單獨使用的時(shí)候, 默認的類(lèi)型是 int. 下表是所有可能出現的數據類(lèi)型:
bool
char
unsigned char
signed char
int
unsigned int
signed int
short int
unsigned short int
signed short int
long int
signed long int
unsigned long int
float
double
long double
wchar_t
類(lèi)型大小和表示范圍
基本數據類(lèi)型的大小以及能夠表示的數據范圍是與編譯器和硬件平臺有關(guān)的. "cfloat" (或者 "float.h") 頭文件往往定義了基本數據類(lèi)型能夠表示的數據的最大值和最小值. 你也可以使用 sizeof 來(lái)獲得類(lèi)型的大小(字節數) . 然而, 很多平臺使用了一些數據類(lèi)型的標準大小,如. int 和 float 通常占用 32位, char 占用 8位, double 通常占用64位. bools 通常以 8位 來(lái)實(shí)現.
C語(yǔ)言的基本數據類(lèi)型為:整型、字符型、實(shí)數型。
這些類(lèi)型按其在計算機中的存儲方式可被分為兩個(gè)系列,即整數(integer)類(lèi)型和浮點(diǎn)數(floating-point)類(lèi)型。
這三種類(lèi)型之下分別是:short、int、long、char、float、double 這六個(gè)關(guān)鍵字再加上兩個(gè)符號說(shuō)明符signed和unsigned就基本表示了C語(yǔ)言的最常用的數據類(lèi)型。
下面列出了在32位操作系統下 常見(jiàn)編譯器下的數據類(lèi)型大小及表示的數據范圍:
擴展資料:
在c語(yǔ)言中,為了定義變量、表達語(yǔ)句功能和對一些文件進(jìn)行預處理,還必須用到一些具有特殊意義的字符,這就是關(guān)鍵字,我們用戶(hù)自己定義的變量函數名等要注意不可以與關(guān)鍵字同名。
參考資料來(lái)源:搜狗百科-C語(yǔ)言
C語(yǔ)言的三種基本數據類(lèi)型為整型,實(shí)型,字符型。
1 整型,包括short, int, long等,用以表示一個(gè)整數,默認為有符號型,配合unsigned關(guān)鍵字,可以表示為無(wú)符號型。
2 實(shí)型,即浮點(diǎn)型,包括float, double等,用來(lái)表示實(shí)數,相對于整型,該類(lèi)型可以表示帶有小數部分的數值。需要注意的是,實(shí)型在計算機語(yǔ)言中為近似值表示,并非準確值,在多次計算后可能會(huì )出現真值偏差。
3 字符型,即char型,用來(lái)表示各種字符,與ascii碼表一一對應。除可以用來(lái)表示各類(lèi)字符外,char型的其它規則與整型相同,可以認為char是一種特殊的整型。
1、整型int2(或4)同短整型(或長(cháng)整型)
2、短整型short2-32768~32767
3、長(cháng)整型long4-2的31次方~2的31次方-1
4、無(wú)符號整型unsigned[int]2(或4)同無(wú)符號短整型(長(cháng)整型)
5、無(wú)符號短整型unsignedshort20~65535(0~2的16次方-1)
6、無(wú)符號長(cháng)整型unsignedlong40~2的32次方-1
7、單精度實(shí)型float4-10的38次方~10的38次方
8、雙精度實(shí)型double8-10的308次方~10的308次方
9、字符型char1-128~127
擴展資料
unsignedlong的使用
例:
#include<cstdio>
intmain()
{
unsignedintui=-1;
unsignedlongul=-1;
unsignedlonglongull=-1;
size_tst=-1;
printf("ui=%u,ul=%lu,ull=%llu,st=%zu\n",ui,ul,ull,st);
return0;
}
c語(yǔ)言的變量有三種類(lèi)型:char,int,float,double 其中char為字符類(lèi)型的變量是八位的,最前一位作為符號位,后面七位作為數據位.它的存儲范圍在-128到127之間. int整數類(lèi)型的變量是16位的,最前一位為符號位,后面的15位作為數據位.它的存儲范圍在-215到215-1.也就是-32768到32767.它不包擴小數點(diǎn)以后的數,在一般編譯器中給int類(lèi)型賦予帶有小數的數.編譯器會(huì )自動(dòng)去掉小數點(diǎn)后面的數保留整數部分. float為浮點(diǎn)數類(lèi)型.首先要說(shuō)明的是浮點(diǎn)數有兩部分組成,第一部分是指數,也就是多少次冪嘛.第二部分是由尾數組成也就是一個(gè)數科學(xué)表示發(fā)之后除去冪那部分剩下的(呵呵!!!)如1.33333.那么c中的浮點(diǎn)數就有三部分.32位的浮點(diǎn)數第一位就是第一部分它決定數的符號.第二部分是八位的指數.第三部分是23位的尾數.所以浮點(diǎn)數具有6到7位的存儲精確度.范圍為3.4e-38到3.4e+38的數值.注:3.1415926e+7表示3.1415926.0.在給浮點(diǎn)數賦值的時(shí)候可以采用如下方法.123.45和1.2345e2是等價(jià)的. double為雙精度型變量.c編譯器通常用64位來(lái)存儲雙精度性變量.它的精確度能夠達到14到15位.64位中第一位是符號位.后面的11位是指數位.最后的52位是尾數.它的范圍是-1.7e-308到1.7e+308. 類(lèi)型標識符:unsigned,short,register,long和signed. 其中unsigned提示編譯器不要保留符號位,這樣可以擴大數據類(lèi)型正數的范圍.比如unsigned int的范圍就變位0到65535了. short類(lèi)型用在有的編譯器不能給太大的存儲范圍,需要給一個(gè)比較低的溢出界限.比如有的編譯器就用的是32位來(lái)存儲int類(lèi)型.用short來(lái)標識它可以保證int是用16位來(lái)標識的. register表示一個(gè)變量可能會(huì )用得很頻繁.需要很快得存取速度所以指定的把它存到寄存器當中. long表示不希望用16位來(lái)存儲整形變量時(shí)可以用long指定它用32位來(lái)存儲可以得到更大得表示范圍. 當然還有long unsigned int 這樣得類(lèi)型. 用戶(hù)自定義數據類(lèi)型 用戶(hù)可以使用typedef來(lái)自己定義自己需要得數據類(lèi)型.如下例: typedef unsigned long int myint; myint num1; 這樣num1就是unsigned long int類(lèi)型的了.。
位域 有些信息在存儲時(shí),并不需要占用一個(gè)完整的字節, 而只需占幾個(gè)或一個(gè)二進(jìn)制位。例如在存放一個(gè)開(kāi)關(guān)量時(shí),只有0和1 兩種狀態(tài), 用一位二進(jìn)位即可。為了節省存儲空間,并使處理簡(jiǎn)便,C語(yǔ)言又提供了一種數據結構,稱(chēng)為“位域”或“位段”。所謂“位域”是把一個(gè)字節中的二進(jìn)位劃分為幾 個(gè)不同的區域, 并說(shuō)明每個(gè)區域的位數。每個(gè)域有一個(gè)域名,允許在程序中按域名進(jìn)行操作。 這樣就可以把幾個(gè)不同的對象用一個(gè)字節的二進(jìn)制位域來(lái)表示。 一、位域的定義和位域變量的說(shuō)明位域定義與結構定義相仿,其形式為: struct 位域結構名 { 位域列表 }; 其中位域列表的形式為: 類(lèi)型說(shuō)明符 位域名:位域長(cháng)度 例如: struct bs { int a:8; int b:2; int c:6; }; 位域變量的說(shuō)明與結構變量說(shuō)明的方式相同。 可采用先定義后說(shuō)明,同時(shí)定義說(shuō)明或者直接說(shuō)明這三種方式。例如: struct bs { int a:8; int b:2; int c:6; }data; 說(shuō)明data為bs變量,共占兩個(gè)字節。其中位域a占8位,位域b占2位,位域c占6位。對于位域的定義尚有以下幾點(diǎn)說(shuō)明: 1. 一個(gè)位域必須存儲在同一個(gè)字節中,不能跨兩個(gè)字節。如一個(gè)字節所剩空間不夠存放另一位域時(shí),應從下一單元起存放該位域。也可以有意使某位域從下一單元開(kāi)始。例如: struct bs { unsigned a:4 unsigned :0 /*空域*/ unsigned b:4 /*從下一單元開(kāi)始存放*/ unsigned c:4 } 在這個(gè)位域定義中,a占第一字節的4位,后4位填0表示不使用,b從第二字節開(kāi)始,占用4位,c占用4位。 2. 位域的長(cháng)度不能大于一個(gè)int的長(cháng)度,也就是說(shuō)不能超過(guò)32位。 3. 位域可以無(wú)位域名,這時(shí)它只用來(lái)作填充或調整位置。無(wú)名的位域是不能使用的。例如: struct k { int a:1 int :2 /*該2位不能使用*/ int b:3 int c:2 }; 從以上分析可以看出,位域在本質(zhì)上就是一種結構類(lèi)型, 不過(guò)其成員是按二進(jìn)位分配的。 二、位域的使用 位域的使用和結構成員的使用相同,其一般形式為: 位域變量名·位域名 位域允許用各種格式輸出。 main(){ struct bs { unsigned a:1; unsigned b:3; unsigned c:4; } bit,*pbit; bit.a=1; bit.b=7; bit.c=15; printf("%d,%d,%d\n",bit.a,bit.b,bit.c); pbit=&bit; pbit->a=0; pbit->b&=3; pbit->c|=1; printf("%d,%d,%d\n",pbit->a,pbit->b,pbit->c); } 上例程序中定義了位域結構bs,三個(gè)位域為a,b,c。說(shuō)明了bs類(lèi)型的變量bit和指向bs類(lèi)型的指針變量pbit。這表示位域也是可以使用指針的。 程序的9、10、11三行分別給三個(gè)位域賦值。( 應注意賦值不能超過(guò)該位域的允許范圍)程序第12行以整型量格式輸出三個(gè)域的內容。第13行把位域變量bit的地址送給指針變量pbit。第14行用指針 方式給位域a重新賦值,賦為0。第15行使用了復合的位運算符"&=", 該行相當于: pbit->b=pbit->b&3位域b中原有值為7,與3作按位與運算的結果為3(111&011=011,十進(jìn)制值為 3)。同樣,程序第16行中使用了復合位運算"|=", 相當于: pbit->c=pbit->c|1其結果為15。程序第17行用指針?lè )绞捷敵隽诉@三個(gè)域的值。 為了節省空間,可以把幾個(gè)數據壓縮到少數的幾個(gè)類(lèi)型空間上,比如需要表示二個(gè)3位二進(jìn)制的數,一個(gè)2位二進(jìn)制的數,則可以用一個(gè)8位的字符表示之。 struct { char a : 3; char b : 3; char c : 2; } ; 這個(gè)結構體所占空間為一個(gè)字節,8位。節省了空間。
滿(mǎn)意請采納
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.711秒