① c語言里什麼是變數
所謂變數就是可以改變的。比如int a,b;你可以把2賦值給a,或者你看他不爽了,你喜歡3了,你就可以重新 a=3;a和b的值不是唯一的,是可以重新賦值的。像2,3,1.5之類數字就是常量,固定不變的!更加通俗點的說話就是,a看成一個盒子,裡面可以放衣服,也可以放褲子,或者零食。衣服,褲子永遠都是衣服褲子,但是盒子的東西可以拿出來,放進去。。。一直在變。
唯一不變的就是改變!能理解這句話嗎?
② 程序中什麼是變數啊
1.
常量記憶數據只能存儲一個固定的數據,永遠不變,所以這當然不能算得上是記憶數據
2.
變數存儲的數據可以改變,你可以讓它記憶5,下一步它可以變為10
3.
那麼請不用嘗試變數編程實現以下:
4.
輸入一個100之內的整數,輸出它。
5.
最後你會發現不使用變數無法實現
6.
因為你每次需要輸入的數需要存儲下來,而常量只能在程序開始才能"賦值"(指定值),自然就不能存儲這個數據了,而變數就是用來存儲數據的。
我的理解:常量是橡皮檫,雖然有各種形狀,但在你買時就已經決定形狀不可更改了,就好像你在一個程序中可以設置常量,常量的值可以設為1,2,10或者是實型的1.5,2.6也可以是'a'但一經設置便不可更改。而變數則像是橡皮泥,你可以輕易地改變他的形狀,但你不能輕易地改變它的類型,就如程序中你可以任意的改成它的值,從100到-100,從2到11111都行。
7.
望幫到你!
③ 請問VB的變數到底是什麼意思
vb程序中,變數是指該量在程序執行的整個過程中其值是可以改變的,但在運行的每一個瞬間每一個具體的運算過程中,它的值都是確定的.
在程序運行過程中,對程序中變數按其所分配相應的內存單元來存儲數據.在程序執行過程中,變數值的變化說白了就是與此變數相對應的內存單元內容的變化.
----------------------------------------
上面那段話是我引用的,在我理解變數就相當是電腦硬體中的內存,用來存儲你在程序中需要的一些數據,以便調用.我覺得你買本書,找幾個變數的簡單例子做一做就應該會明白了,畢竟變數是編程中最基本的元素.希望你早日找到答案~~
④ 在C語言源程序中,一個變數代表什麼
1.
變數是一個名字映射到一個存儲區域,方便我們的程序操縱。在C中的每一個變數有一個特定的類型,它決定了變數的存儲器的大小和構造范圍。變數名可以由字母,數字和下劃線字元。它必須以字母或下劃線開始。大寫字母和小寫字母是不同的,因為C語言是區分大小寫的。
2.
基本變數類型:
Type
Description
char
Typically
a
single
octet(one
byte).
This
is
an
integer
type.
int
The
most
natural
size
of
integer
for
the
machine.
float
A
single-precision
floating
point
value.
double
A
double-precision
floating
point
value.
void
Represents
the
absence
of
type.
C編程語言還可以定義各種其他類型的變數,如枚舉,指針,數組,結構,聯合等。
⑤ 如何理解C語言常量和變數
對於基本數據類型量,按其取值是否可改變又分為常量和變數兩種。在程序執行過程中,其值不發生改變的量稱為常量,其值可變的量稱為變數。它們可與數據類型結合起來分類。例如,可分為整型常量、整型變數、浮點常量、字元常量、字元變數、枚舉變數、枚舉變數。在程序中,直接常量是可以不經說明而直接引用的,而符號常量和變數則必須先定義後使用。
1、C語言常量和符號常量
在程序執行過程中,其值不發生改變的量稱為常量。
1.1直接常量(字面常量):
整型常量:12、0、-3;
實型常量:4.6、-1.23;
字型常量:『a』、『b'。
1.2符號常量
標識符:用來標識變數名、符號常量名、函數名、數組名、類型名、文件名的有效字元序列。
符號常量:用標識符代表一個常量。在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。
符號常量在使用之前必須先定義,其一般形式為:#define 標識符 常量其中#define也是一條預處理命令(預處理命令都以"#"開頭),稱為宏定義命令(在後面預處理程序中將進一步介紹),其功能是把該標識符定義為其後的常量值。一經定義,以後在程序中所有出現該標識符的地方均代之以該常量值。
習慣上符號常量的標識符用大寫字母,變數標識符用小學字母,以示區別。
例3.1 符號常量的使用。
#define PRICE 30main() {
int num,total;
num=10;
total=num*PRICE;
printf('total=%d",total);
}
用標識符代表一個變數,稱為符號常量。
符號常量與變數不同,它的值在其作用域內不能改變,也不能再被賦值。
使用符號常量的好處是:含義清楚;能做到「一改全改」。
2、C語言變數
其值可以改變的量稱為變數。一個變數應該有一個名字,在內存中占據一定的存儲單元。變數定義必須放在變數使用之前。一般放在函數體的開頭部分。要區分變數名和變數值是兩個不同的概念。
⑥ 解釋定義變數這個詞的意思。
變數或變數,是指沒有固定的值,可以改變的數。變數以非數字的符號來表達,一般用拉丁字母。變數是常數的相反。
變數用於開放句子,表示尚未清楚的值(即變數),或一個可代入的值(見函數)。變數是指在程序的運行過程中隨時可以發生變化的量。
⑦ c語言的變數定義
淺談C語言變數
王佰營 徐麗紅
任何一種編程語言都離不開變數,特別是數據處理型程序,變數的使用非常頻繁,沒有變數參與程序甚至無法編制,即使編制運行後的意義也不大。變數之所以重要,是因為變數是編程語言中數據的符號標識和載體。
C語言是一種應用廣泛的善於實現控制的語言,變數在C語言中的應用更是靈活多變。那麼變數究竟是什麼呢?變數是內存或寄存器中用一個標識符命名的存儲單元,可以用來存儲一個特定類型的數據,並且數據的值在程序運行過程中可以進行修改。可見,變數首先是一個標識符或者名稱,就像一個客房的編號一樣,有了這個編號我們在交流中就可方便言表,否則,我們只可意會,那多不方便。為了方便,我們在給變數命名時,最好能符合大多數人的習慣,基本可以望名知義,便於交流和維護;其次,變數是唯一確定的對應內存若干存儲單元或者某個寄存器。這些是編譯器來保證的,用戶一般不用費心。
程序員一旦定義了變數,那麼,變數就至少可為我們提供兩個信息:一是變數的地址,即就是,操作系統為變數在內存中分配的若干內存的首地址;二是變數的值,也就是,變數在內存中所分配的那些內存單元中所存放的數據。
由於程序的多樣需要,我們對變數也有各種各樣的要求,比如:變數的生命期,變數的初始狀態,變數的有效區域,變數的開闢地和變數的開辟區域的大小等等;為了滿足這些要求,C語言的發明者就設置了以下變數:
1、 不同數據類型的變數;如:char cHar, int iTimes, flaot faverage;
2、 全局變數或者叫全程變數;
3、 局部變數;
4、 靜態變數: 靜態全局變數和靜態局部變數;關鍵詞:static
5、 寄存器變數;關鍵詞:register;
6、 外部變數: 關鍵詞:extern;
C語言中,變數在內存中開闢地的大小由數據類型決定的,由於PC機中規定一個地址單元存一個位元組,不同的數據類型的變數,為其分配的地址單元數是不一樣的。C語言中除幾種基本的數據類型外用戶還可以自己定義所需要的數據類型:
1、 bool型 sizeof(bool): 1
2、 char型: sizeof(char): 1
3、 short型: sizeof(short): 2
4、 int型: sizeof(int): 4
5、 long型: sizeof(long): 4
6、 float型: sizeof(float): 4
7、 double型: sizeof(double): 8
8、 自定義型:如:
typedef struct tagMyData
{
char cHar;
int iTimes;
float faverage;
}MyDatap;
sizeof(MyDatap): 12
char szBuf[]="HELLO C&C++!";
sizeof(szBuf): 13
局部變數和全局變數是相對而言的;如下:局部變數 int itmp;
int Get_Max( const int& x, const int& y, const int& z )
{
int itmp;
if(x > y) itmp = x;
else itmp = y;
if( itmp > z ) return itmp;
else return z;
}
在函數內部說明的變數為局部變數,只有在函數執行時,局部變數才存在,當函數執行完退出後,局部變數隨之消失。也就是,當函數執行完退出後,原先在函數內定義的變數現在不能用,這通常由編譯器保證,它會阻止編譯通過。也就是說,原來為那個局部變數分配的內存,現在已經不屬於它,它再無權訪問了。如要再使用這些內存單元就必須從新定義變數來申請,只有分配給的變數才可訪問它。否則,就會出錯,如數組越界訪問。
與局部變數不同,全局變數在整個程序都是可見的,可在整個程序運行過程中,對於任何一個程序都是可用的。全局變數的說明的位置在所有函數之外,但可被任何一個函數使用,讀取或者寫入。如下:全局變數 int iCount, bool bForward;
int iCount; //全局變數;
bool bForward; //全局變數;
void add( void );
void dec( void );
void man(void )
{
while( iCount < 1000 && iCount > -1000)
{
add( );
dec( );
printf("COUNT:%d;\n", iCount)
}
}
void add( void )
{
if( bForward ) iCount++;
}
void dec( void )
{
if(!bForward ) iCount--;
}
可見,全局變數非常方便不同函數間數據共享,同樣,任何函數在在使用數據時,都不敢保證數據是否已被修改。如果程序員無法保證這個,就盡量避免使用全局變數。
靜態變數是分配在存儲器中C程序所佔據的數據段內, C程序運行的整個過程中一直保留,不會被別的變數佔用。靜態變數可以定義成全局變數或局部變數,當定義為全局變數時,在它定義的程序的整個運行期間均存在並且保持原來的存儲單元位置不會改變。那麼既然有了全局變數為什麼還要定義全局靜態變數呢?看下邊的示例:
模塊1:
int a;
static int b;
void fun1( void )
{
……
fun2( );
……
}
模塊2:
extern int a;
satic int b;
void fun2( void )
{
……
fun1( );
……
}
分別編譯,然後鏈接兩個模塊。。。。。。
模塊1和模塊2中,變數a為同一個變數;而變數b就不是同一個變數!雖然它們的的數據類型和名稱均相同;就是因為有static;原因是,如果在全局變數說明前加上靜態變數說明符static,它就會通知編譯器該全局變數只在被定義的這個文件或模塊中可見的。就是說,該靜態全局變數在其他文件中是不可見的,在其他文件中的程序是不允許訪問的。這在一定程度上減少了全局變數的副作用的影響。
同靜態全局變數定義一樣,當在局部變數名前加靜態變數說明符static,該變數就定義為靜態局部變數。編譯器為該變數建立永久存儲單元。永久是指C程序運行的整個過程中一直保留,不會被別的變數佔用。靜態局部變數和靜態全局變數的根本區別在作用區域上,靜態局部變數只在它被說明的函數或復合語句中有效,並且在兩次函數調用期間仍然保存其值不變,即就是有記憶功能;它們的生命期是相同的,和C程序整個運行期同在。如下例:
#include "stdafx.h"
void counts(void);
void countd(void);
int main(int argc, char* argv[])
{
int i = 0;
while( i++<10)
{
counts( ); //使用靜態局部變數
}
i = 0;
while( i++<10)
{
countd( ); //使用局部變數
}
return 0;
}
void counts(void) //使用靜態局部變數
{
static int isc ; //未賦初值;
isc++;
printf("dsc = %d;\n", dsc);
}
void countd(void) //使用局部變數
{
int idc = 0;
idd++;
printf("idc=%d;\n",idc);
}
執行結果為:
isc = 1; //使用靜態局部變數
isc = 2;
isc = 3;
isc = 4;
isc = 5;
isc = 6;
isc = 7;
isc = 8;
isc = 9;
isc = 10;
idc = 1; //使用局部變數
idc = 1;
idc = 1;
idc = 1;
idc = 1;
idc = 1;
idc = 1;
idc = 1;
idc = 1;
idc = 1;
通過以上程序你也看得出:
1、 局部變數和靜態局部變數的區別:記憶功能;
2、 靜態局部變數只初始化一次,並且默認初始化為0;
靜態變數在定義時若未被賦值,則編譯程序將其初始化為0;
寄存器變數不像其他變數那樣在內存中存放數據,而是在CPU的寄存器中暫存數據,使用寄存器變數比使用內存變數的操作速度快得多。只有整型和字元型變數可定義為寄存器變數。定義方式如下:
register int iTemp;
由於CPU中寄存器有限,盡量減少使用數量和和佔用時間,用完馬上釋放;不能定義為全局變數,也不能定義在結構或者類中。
為了大型程序的管理,將一個大型的程序分成若干個獨立的模塊和文件分別編譯,然後統一鏈接在一起。為了解決全局變數和函數的共用問題,就引入了extern關鍵字。這樣只需在一個文件中定義全局變數和函數,在另一個文件中要用到這些變數和函數時,只需將那個文件中的變數和函數說明表復制過來,在前面加上extern,告訴編譯器,這些變數和函數已經在別的文件中定義說明,在此不必再定義說明了。
⑧ 在C語言源程序中,一個變數代表什麼
變數是一個名字映射到一個存儲區域,方便我們的程序操縱。在C中的每一個變數有一個特定的類型,它決定了變數的存儲器的大小和構造范圍。變數名可以由字母,數字和下劃線字元。它必須以字母或下劃線開始。大寫字母和小寫字母是不同的,因為C語言是區分大小寫的。
基本變數類型:
Type Description
char Typically a single octet(one byte). This is an integer type.
int The most natural size of integer for the machine.
float A single-precision floating point value.
double A double-precision floating point value.
void Represents the absence of type.
C編程語言還可以定義各種其他類型的變數,如枚舉,指針,數組,結構,聯合等。
⑨ 計算機中的變數是什麼
變數就是存值的一個空間,變數需要聲明。
變數是儲存值的地方。 程序中有三種變數: 全局變數、局部變數和表的域。
單個名字可以指代一個全局變數也可以指代一個局部變數 (或者是一個函數的形參,這是一種特殊形式的局部變數)。
名字指 程序中定義的標識符。
所有沒有顯式聲明為局部變數 的變數名都被當做全局變數。 局部變數有其 作用范圍 : 局部變數可以被定義在它作用范圍中的函數自由使用。
在變數的首次賦值之前,變數的值均為 nil。
方括弧被用來對表作索引:
對全局變數以及表的域之訪問的含義可以通過元表來改變。 以索引方式訪問一個變數 t[i] 等價於 調用 gettable_event(t,i)。 ,有一份完整的關於 gettable_event 函數的說明。 這個函數並沒有在 lua 中定義出來,也不能在 lua 中調用。這里我們把提到它只是方便說明問題。)
var.Name 這種語法只是一個語法糖,用來表示 var["Name"]:
對全局變數 x 的操作等價於操作 _ENV.x。 由於代碼塊編譯的方式, _ENV 永遠也不可能是一個全局名字
個名字可以指代一個全局變數也可以指代一個局部變數 (或者是一個函數的形參,這是一種特殊形式的局部變數)。
名字指 程序中定義的標識符。
所有沒有顯式聲明為局部變數 的變數名都被當做全局變數。 局部變數有其 作用范圍 : 局部變數可以被定義在它作用范圍中的函數自由使用。
變數就是存值的一個空間,變數需要聲明。
變數是儲存值的地方。 程序中有三種變數: 全局變數、局部變數和表的域。
單個名字可以指代一個全局變數也可以指代一個局部變數 (或者是一個函數的形參,這是一種特殊形式的局部變數)。
名字指 程序中定義的標識符。
所有沒有顯式聲明為局部變數 的變數名都被當做全局變數。 局部變數有其 作用范圍 : 局部變數可以被定義在它作用范圍中的函數自由使用。
在變數的首次賦值之前,變數的值均為 nil。
方括弧被用來對表作索引:
對全局變數以及表的域之訪問的含義可以通過元表來改變。 以索引方式訪問一個變數 t[i] 等價於 調用 gettable_event(t,i)。 ,有一份完整的關於 gettable_event 函數的說明。 這個函數並沒有在 lua 中定義出來,也不能在 lua 中調用。這里我們把提到它只是方便說明問題。)
var.Name 這種語法只是一個語法糖,用來表示 var["Name"]:
對全局變數 x 的操作等價於操作 _ENV.x。 由於代碼塊編譯的方式, _ENV 永遠也不可能是一個全局名字
個名字可以指代一個全局變數也可以指代一個局部變數 (或者是一個函數的形參,這是一種特殊形式的局部變數)。
名字指 程序中定義的標識符。
所有沒有顯式聲明為局部變數 的變數名都被當做全局變數。 局部變數有其 作用范圍 : 局部變數可以被定義在它作用范圍中的函數自由使用。
⑩ 在程序設計中,什麼是變數
常量就是在整個程序的調用過程中,值不發生變化,也可以稱之為常量,比較好理解一點。所謂變數就是,在程序調用過程中,它的值隨著你所做的一些操作而改變,比如:讓它增值等等。如果還有什麼疑問,可以追問。