❶ c語言位變數定義
在c語言中定義bit型變數,可以使用位域來自定義。
位域的定義和位域變數的說明位域定義與結構定義相仿,其形式為:
struct 位域結構名
{ 位域列表 };
其中位域列表的形式為: 類型說明符 位域名:位域長度;
示例:通過位域來計算IEEE754浮點數標准中,單精度浮點數的最大值、最小值以及最小弱規范數。
#include <stdio.h>
typedef struct FP_SINGLE
{
unsigned __int32 fraction : 23;
unsigned __int32 exp : 8;
unsigned __int32 sign : 1;
} fp_single;
int main()
{
float x;
fp_single * fp_s = (fp_single *)&x;
fp_s->sign = 0;
fp_s->exp = 0xfe;
fp_s->fraction = 0x7fffff;
printf ("float 最大數: %le\n",(double)x);
fp_s->sign = 0;
fp_s->exp = 0x1;
fp_s->fraction = 0x0;
printf ("float 最小數: %le\n",(double)x);
fp_s->sign = 0;
fp_s->exp = 0;
fp_s->fraction = 0x1;
printf ("float 最小弱規范數:%le\n\n",(double)x);
return 0;
}
❷ c語言中,什麼樣的變數定義是合法的
C項是合法的。
在VB6中,變數的命名必須遵循以下規則:
1、變數名必須以字母或下劃線打頭,名字中間只能由字母、數字和下劃線「_」組成;最後一個字元可以是類型說明符;
2、變數名的長度不得超過255個字元;
3、變數名在有效的范圍內必須是唯一的。
4、變數名不能是VB中的保留字(關鍵字),也不能是末尾帶類型說明符的保留字,但可以把保留字嵌入變數名,關鍵字是指VB6語言中的屬性,事件,方法,過程,函數等系統內部的標識符。
(2)c語言變數擴展閱讀:
1、變數名在VB中是不區分大小寫的(如ABC、aBc、abc等都是一樣的)。C語言中區分大小寫。不同的語言有不同的規則。
2、定義和使用變數時,通常要把變數名定義為容易使用閱讀和能夠描述所含數據用處的名稱,而不要使用一些難懂的縮寫如A或B2等。
3、根據需要混合使用大小寫字母和數字。一個合理協議是,變數中每個單詞的第一個字母大寫。
4、另一個合理協議是,每個變數名以兩個或三個字元縮寫開始,這些字元縮寫對應於變數要存儲數據的數據類型。
參考資料:網路-變數
❸ C語言能不能使用中文變數名啊
C語言可以使用中文變數名。
c語言變數名規則是:
1、變數名以英文字母開頭;
2、變數名中的字母是區分大小寫的;
3、變數名不能是關鍵字;
4、變數名中不能包含空格、標點符號和類型說明符。
(3)c語言變數擴展閱讀
C語言中定義的關鍵字有:
由ANSI標準定義的C語言關鍵字共32個:auto、 double、 int、 struct、 break 、else、 long、 switch、case、 enum、 register 、typedef、 char 、extern 、return、 union 、const、 float 、short、 unsigned、 continue、 for、 signed 、void、default 、goto、 sizeof 、volatile、 do 、if 、while、 static。
這32個關鍵字就是已經被C語言本身使用,不能作為其他用途使用,比如不能定義成變數名、函數名。
❹ C語言中,變數到底是個什麼概念
C語言中的變數是指在程序運行時其值可以改變的量,變數的功能就是存儲數據。每個變數都有特定的類型,類型決定了變數存儲的大小和布局,該范圍內的值都可以存儲在內存中,運算符可應用於變數上。
變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。在指令式語言中,變數通常是可變的;但在純函數式語言(如Haskell)中,變數可能是不可變(immutable)的。
(4)c語言變數擴展閱讀
常量與變數
常量其值不可改變,符號常量名通常用大寫。
變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
變數的聲明有兩種情況:
1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。
2、另一種是不需要建立存儲空間的,通過使用extern關鍵字聲明變數名而不定義它。 例如:extern int a 其中變數 a 可以在別的文件中定義的。
❺ c語言變數基本類型有哪些
c語言的變數有三種類型:char,int,float,double
其中char為字元類型的變數是八位的,最前一位作為符號位,後面七位作為數據位.它的存儲范圍在-128到127之間.
int整數類型的變數是16位的,最前一位為符號位,後面的15位作為數據位.它的存儲范圍在-215到215-1.也就是-32768到32767.它不包擴小數點以後的數,在一般編譯器中給int類型賦予帶有小數的數.編譯器會自動去掉小數點後面的數保留整數部分.
float為浮點數類型.首先要說明的是浮點數有兩部分組成,第一部分是指數,也就是多少次冪嘛.第二部分是由尾數組成也就是一個數科學表示發之後除去冪那部分剩下的(呵呵!!!)如1.33333.那麼c中的浮點數就有三部分.32位的浮點數第一位就是第一部分它決定數的符號.第二部分是八位的指數.第三部分是23位的尾數.所以浮點數具有6到7位的存儲精確度.范圍為3.4e-38到3.4e+38的數值.注:3.1415926e+7表示3.1415926.0.在給浮點數賦值的時候可以採用如下方法.123.45和1.2345e2是等價的.
double為雙精度型變數.c編譯器通常用64位來存儲雙精度性變數.它的精確度能夠達到14到15位.64位中第一位是符號位.後面的11位是指數位.最後的52位是尾數.它的范圍是-1.7e-308到1.7e+308.
類型標識符:unsigned,short,register,long和signed.
其中unsigned提示編譯器不要保留符號位,這樣可以擴大數據類型正數的范圍.比如unsigned int的范圍就變位0到65535了.
short類型用在有的編譯器不能給太大的存儲范圍,需要給一個比較低的溢出界限.比如有的編譯器就用的是32位來存儲int類型.用short來標識它可以保證int是用16位來標識的.
register表示一個變數可能會用得很頻繁.需要很快得存取速度所以指定的把它存到寄存器當中.
long表示不希望用16位來存儲整形變數時可以用long指定它用32位來存儲可以得到更大得表示範圍.
當然還有long unsigned int 這樣得類型.
用戶自定義數據類型
用戶可以使用typedef來自己定義自己需要得數據類型.如下例:
typedef unsigned long int myint;
myint num1;
這樣num1就是unsigned long int類型的了.
❻ C語言變數定義
類型說明符
變數名稱
賦值表達式。這是基本的。
比如:int
a=1+2;
char
b='b';定義了一個整數型變數a
其值為1+2就是3,定義了一個字元型變數b,b的值為字元『b』。類型說明符變數名稱還可以加修飾說明,比如前面加上const表示這是一個不能修改值得常量等等。
❼ C語言變數
全局變數:
在函數外定義的變數是外部變數,外部變數是全局變數,全局變數可以為本文件中其它函數所共用,它的有效范圍從定義變數的位置開始到本源文件結束;
局部變數:
在一個函數內部定義的變數是內部變數,它只在本函數范圍內有效,也就是說只有在本函數內才能使用它們,在此函數以外時不能使用這些變數的,它們稱為局部變數;
靜態變數:
靜態變數的類型說明符是static。靜態變數當然是屬於靜態存儲方式,但是屬於靜態存儲方式的量不一定就是靜態變數,例如外部變數雖屬於靜態存儲方式,但不一定是靜態變數,必須由static加以定義後才能成為靜態外部變數,或稱靜態全局變數。對於自動變數,它屬於動態存儲方式。但是也可以用static定義它為靜態自動變數,或稱靜態局部變數,從而成為靜態存儲方式。
外部變數:
傳遞參數是給函數傳送信息的一種方法。函數還可以通過外部變數(externalvariable)進行通信。外部變數是聲明在任何函數體外的。
外部變數(有時稱為全局變數)的性質不同於局部變數的性質。
l靜態存儲期限。就如同聲明為static的局部變數一樣,外部變數擁有靜態存儲期限。存儲在外部變數中的值將永久保留下來。
l文件作用域。外部變數擁有文件作用域:從變數被聲明的點開始一直到所在文件的末尾。因此,跟隨在外部變數聲明之後的所有函數都可以訪問(並修改)它。
在C語言中,函數不能嵌套定義,但可以嵌套調用。
❽ c語言的變數定義
C語言中變數遵循「先定義後使用」的原則:
1、定義變數的格式:數據類型 變數名;
首先要強調的一點是:變數的定義是一條語句,每條語句都是以分號結尾的。故定義完變數,後面不要漏掉「;」分號。
在變數定義中,「數據類型」表示想要存儲什麼類型的數據就定義什麼類型的變數。
如想要存儲整數就定義成 int 型;想要存儲小數就定義成 float 型或 double 型;想要存儲字元就定義成 char 型等等。
「變數名」就是你想給這個變數起個什麼名字,通常都是用字母、數字與下劃線組合而成。比如:
「int i;double price;double goods_price2」等等。
就表示定義了一個整型變數 i、小數型變數price、goods_price2;
2、變數定義完成後,接下來就是使用變數,為變數賦值。
將一個值放到一個變數中,這個動作叫「賦值」。通俗點講,「給變數賦值」意思就是將一個值傳給一個變數。
賦值的格式是:
變數名 = 要賦的值;
它的意思是將=右邊的數字賦給左邊的變數。比如:
i = 3;
這就表示將 3 賦給了變數 i,此時 i 就等於 3 了。
3、變數的定義和賦值,可以分成兩步寫,也可以將它們合成一步,而且事實上,在實際編程中用得最多的也是合二為一的寫法。
形式如下:
數據類型 變數名 = 要賦的值;
比如:int i = 3;
就表示定義了一個變數 i,並把 3 賦給這個變數。它與
int i;
i =3;
是等價的。
在定義變數時也可以一次性定義多個變數,比如:
int i, j;
這就表示定義了變數 i 和 j。這里需要強調的是,當同時定義多個變數時,變數之間是用逗號隔開的,千萬別寫成分號。這是很多新手最容易犯的錯誤,即將逗號和分號記混了。
同樣也可以在定義多個變數的同時給它們賦值:
int i = 3, j = 4;
中間還是用逗號隔開,最後別忘記輸入分號。
最後需要注意的是,在較老的 C89/C90 標准(也稱 ANSI C 標准)中,變數只能在程序的開頭定義,或者說變數定義的前面不能有其他非聲明或非定義的語句。
(8)c語言變數擴展閱讀:
在主回答中,提到了變數定義時,變數名通常都是用字母、數字與下劃線組合而成,但是實際上,變數名也不是隨便組合的,變數定義需要遵循一定的規范,否則容易產生歧義,影響整體程序代碼 的可讀性。
所以在定義變數的時候,要注意以下命名規范:
(1)、變數名的開頭必須是字母或下劃線,不能是數字。實際編程中最常用的是以字母開頭,而以下劃線開頭的變數名是系統專用的。命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
標識符最好採用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復雜,用詞應當准確。
(2)、變數名中的字母是區分大小寫的。比如 a 和 A 是不同的變數名,num 和 Num 也是不同的變數名。當標識符由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。
比如: int CurrentVal;
這樣的名字看起來比較清晰,遠比一長串字元好得多。
(3)、變數名絕對不可以是C語言關鍵字,不能有空格。
(4)、變數名的長度應當符合「min-length && max-information」原則。
C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。