c語言變數定義
Ⅰ 在c語言中什麼是定義變數
不是很理解您問的問題,你是有否了解一點C基礎。
我只能猜測一下回答
例:定義變數
int
Num;
//定義了一個變數。int
整型,是標准C++中的數據類型。Num
是變數名。
int
Num1,
Num2,
Num3;
//
定義了3個整型變數,num1,num2,num3。(在同一行聲明同一類型變數,變數名之間用逗號間隔,語句末尾仍然是以;封號結束)
int
Num
=
5;
//定義一個
int型變數Num並且將值初始化為5;
例:輸入輸出操作
如果是C++,那麼首先包含頭文件
#include
<iostream>
using
namespace
std;
//然後在main
函數裡面寫上:
int
Num1,
Num2//
定義變數
cin
>>
Num1;
//輸入操作,對變數Num1進行寫入。
Num2
=
Num1;
//將變數Num1的值賦給Num2。
cout
<<
"Num2=
"
<<
Num2
<<
endl;
//
輸出變數num2的值。(endl是回車換行。)
Ⅱ c語言,變數的定義和使用
變數的聲明有兩種情況:
1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。
2、另一種是不需要建立存儲空間的。 例如:extern int a 其中變數a是在別的文件中定義的。
前者是「定義性聲明(defining declaration)」或者稱為「定義(definition)」,而後者是「引用性聲明(referncing declaration)」,從廣義的角度來講聲明中包含著定義,即定義是聲明的一個特例,所以並非所有的聲明都是定義,例如:int a 它既是聲明,同時又是定義。然而對於 extern a 來講它只是聲明不是定義。一般的情況下我們常常這樣敘述,把建立空間的聲明稱之為「定義」,而把不需要建立存儲空間的聲明稱之為「聲明」。很明顯我們在這里指的聲明是范圍比較窄的,即狹義上的聲明,也就是說非定義性質的聲明,例如:在主函數中:
int main() {
extern int A;
//這是個聲明而不是定義,聲明A是一個已經定義了的外部變數
//注意:聲明外部變數時可以把變數類型去掉如:extern A;
dosth(); //執行函數
}
int A; //是定義,定義了A為整型的外部變數
外部變數的「定義」與外部變數的「聲明」是不相同的,外部變數的定義只能有一次,它的位置是在所有函數之外,而同一個文件中的外部變數聲明可以是多次的,它可以在函數之內(哪個函數要用就在那個函數中聲明)也可以在函數之外(在外部變數的定義點之前)。系統會根據外部變數的定義(而不是根據外部變數的聲明)分配存儲空間的。對於外部變數來講,初始化只能是在「定義」中進行,而不是在「聲明」中。所謂的「聲明」,其作用,是聲明該變數是一個已在後面定義過的外部變數,僅僅是為了「提前」引用該變數而作的「聲明」而已。extern 只作聲明,不作任何定義。
(我們聲明的最終目的是為了提前使用,即在定義之前使用,如果不需要提前使用就沒有單獨聲明的必要,變數是如此,函數也是如此,所以聲明不會分配存儲空間,只有定義時才會分配存儲空間。)
用static來聲明一個變數的作用有二:
(1)對於局部變數用static聲明,則是為該變數分配的空間在整個程序的執行期內都始終存在。
(2)外部變數用static來聲明,則該變數的作用只限於本文件模塊。
Ⅲ C語言函數變數定義
#include<stdio.h>
void pre();
int input(int i);
void output(int i);
void adverstisement();
int main()
{
int i;
i=1;
while(1)
{
pre();
i=input( i);
output(i);
adverstisement();
}
return 0;
}
void pre()
{
printf("******************************/n歡迎使用小區自動售貨系統/n1.可口可樂/n2.鮮橙多/n3.百威啤酒******************************");
}
int input(int i)
{
printf("請選擇你所需要的商品");
scanf("%d",&i);
return i;
}
void output(int i)
{
switch(i)
{
case 1:
printf("請確認,你需要的是可樂/n請投幣3元");
break;
case 2:
printf("請確認,你需要的是橙汁/n請投幣4元");
break;
case 3: printf("請確認,你需要的是百威啤酒/n請投幣5元");
break;
default: { printf("輸入錯誤");
}
}
}
void adverstisement()
{
printf("節操冰棒即將上市,僅售0.5元");
getchar();
}
Ⅳ c語言中怎樣定義變數的語言
1、記住一條就夠了:在函數之外定義的變數就是全局變數。用static修飾的變數可以是全局的,也可以是局部的,所以說「用static修飾的變數是全局變數」是錯誤的。用static修飾的變數的生命周期與全局變數一樣,但可見性仍分全局和局部。
2、全局變數在整個c文件中都能使用,而局部變數在其作用域內才能使用,舉個例子:
1
2
3
4
5
6
7
8
9
10
11
int f = 7;// 這個是全局變數
int myadd(int a, int b)
{
int c = a + b;// c是局部變數,只能在myadd中使用
return c;
}
int main(void)
{
printf("%d\n", c);// 因為c是myadd中定義的局部變數,這里會報錯。
printf("%d\n", f);// f是全局變數,這句是正確的。
}
Ⅳ C語言變數定義
類型說明符
變數名稱
賦值表達式。這是基本的。
比如:int
a=1+2;
char
b='b';定義了一個整數型變數a
其值為1+2就是3,定義了一個字元型變數b,b的值為字元『b』。類型說明符變數名稱還可以加修飾說明,比如前面加上const表示這是一個不能修改值得常量等等。
Ⅵ 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語言中變數定義是什麼
變數來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變數可以通過變數名訪問。在指令式語言中,變數通常是可變的;但在純函數式語言(如Haskell)中,變數可能是不可變(immutable)的。
在一些語言中,變數可能被明確為是能表示可變狀態、具有存儲空間的抽象(如在Java和Visual Basic中);但另外一些語言可能使用其它概念(如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 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。
Ⅸ C語言變數的定義和聲明有什麼不同
C語言變數的定義和聲明的不同之處:
1、變數在使用前就要被定義或者聲明;
2、在一個程序中,變數只能定義一次,卻可以聲明多次;
3、定義分配存儲空間,而聲明不會。
(9)c語言變數定義擴展閱讀:
變數的定義:用於為變數分配存儲空間,還可以為變數指定初始值。在程序中,變數有且僅有一個定義。
聲明:用於向程序表明變數的類型和名字。
定義也是聲明:當定義變數的時候我們聲明了它的類型和名字。可以通過使用extern聲明變數名而不定義它。不定義變數的聲明包括對象名、對象類型和對象類型前的關鍵字extern。
extern聲明不是定義,也不分配存儲空間。事實上它只是說明變數定義在程序的其他地方。程序中變數可以聲明多次,但只能定義一次。
只有當聲明也是定義時,聲明才可以有初始化式,因為只有定義才分配存儲空間。初始化式必須要有存儲空間來進行初始化。如果聲明有初始化式,那麼它可被當作是定義,即使聲明標記為extern。
任何在多文件中使用的變數都需要有與定義分離的聲明。在這種情況下,一個文件含有變數的定義,使用該變數的其他文件則包含該變數的聲明(而不是定義)。
Ⅹ c語言中,什麼樣的變數定義是合法的
C項是合法的。
在VB6中,變數的命名必須遵循以下規則:
1、變數名必須以字母或下劃線打頭,名字中間只能由字母、數字和下劃線「_」組成;最後一個字元可以是類型說明符;
2、變數名的長度不得超過255個字元;
3、變數名在有效的范圍內必須是唯一的。
4、變數名不能是VB中的保留字(關鍵字),也不能是末尾帶類型說明符的保留字,但可以把保留字嵌入變數名,關鍵字是指VB6語言中的屬性,事件,方法,過程,函數等系統內部的標識符。
(10)c語言變數定義擴展閱讀:
1、變數名在VB中是不區分大小寫的(如ABC、aBc、abc等都是一樣的)。C語言中區分大小寫。不同的語言有不同的規則。
2、定義和使用變數時,通常要把變數名定義為容易使用閱讀和能夠描述所含數據用處的名稱,而不要使用一些難懂的縮寫如A或B2等。
3、根據需要混合使用大小寫字母和數字。一個合理協議是,變數中每個單詞的第一個字母大寫。
4、另一個合理協議是,每個變數名以兩個或三個字元縮寫開始,這些字元縮寫對應於變數要存儲數據的數據類型。
參考資料:網路-變數