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