1樓:充曼華理儀
賦值語句是由賦值表示式再加上分號構成的表示式語句。其一般形式為:變數=表示式;
賦值語句的功能和特點都與賦值表示式相同。
它是程式中使用最多的語句之一。
由於在賦值符「=」右邊的表示式也可以又是乙個賦值表示式,因此,下述形式。
變數=(變數=表示式);
是成立的,從而形成巢狀的情形。
其之後的一般形式為:
變數=變數=…=表示式;
例如:a=b=c=d=e=5;
按照賦值運算子的右接合性,因此實際上等效於:
e=5;d=e;
c=d;b=c;
a=b;注意在變數說明中給變數賦初值和賦值語句的區別。
給變數賦初值是變數說明的一部分,賦初值後的變數與其後的其它同類變數之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。例如:int
a=5,b,c;
在變數說明中,不允許連續給多個變數賦初值。
如下述說明是錯誤的:
inta=b=c=5
必須寫為。int
a=5,b=5,c=5;
而賦值語句允許連續賦值。
注意賦值表示式和賦值語句的區別。
賦值表示式是一種表示式,它可以出現在任何允許表示式出現的地方,而賦值語句則不能。
下述語句是合法的:
if((x=y+5)>0)
z=x;語句的功能是,若表示式x=y+5大於0則z=x。
下述語句是非法的:
if((x=y+5;)>0)
z=x;因為x=y+5;是語句,不能出現在表示式中。
2樓:仁淑珍改丙
c語言賦值語句。
char*p="string"
是定義指標變數,並進行指標變數初始化的標準格式,沒有錯誤。
該語句相當於以下兩句:charp
定義指標變數,未初始化。
p="string"
s'/*p是指乙個字元,當前是s
注意*p不是字完整的符串。
p++p=='t'
p後移一位,指向t
初學者認識的誤區在於:認為char*p="string"
這裡的*與上面例子中的*p中的*認為是同一回事!這是錯誤的認識。
char*p="string"
中的*是指標變數定義中的標識,*跟隨的是char即:這裡是定義乙個指標變數p,其儲存的資料型別是char型別,即p本身儲存的是char
型別(位址)資料。
在c語言中賦值運算子有什麼作用?
3樓:夏天的小紅花
賦值符號"="
就是賦值運算子,作用是將乙個資料賦給乙個變數或將乙個變數的值賦給另乙個變數,由賦值運算子組成的表示式稱為賦值表示式。一般形式為:
變數名=表示式。
在程式中可以多次給乙個變數賦值,每賦一次值,與它相應的儲存單元中的資料就被更新一次,記憶體中當前的資料就是最後一次所賦值的那個資料。
例:a=12;此表示式讀作。
將10的值賦值給變數a。
說明褲基:a、如果賦值號兩邊的運算物件型別不一致,系統會自動進行型別轉換,轉換的規則:將賦值號右邊表示式的值的型別轉換成賦值號左邊納純粗變數的型別,例:int y=;在變洞鎮量y中最終儲存的是整數3。
b、可以將複製表示式的值再賦值給變數,形成連續賦值。
例如:x=y=25
是乙個連續賦值表示式,x=y=25等價於x=(y=25),所以表示式。
x=y=25
最終的值為25。
4樓:重慶新華電腦學校
賦值語句的作用是把某個常量。
或變數或表示式。
的值賦值給另乙個變數。符號為'=。這裡並不是等於的意思,只是賦值,等於用'==表示。
注意:賦值語句左邊的變數在程式的其他地方必須要宣告。
得已賦值的變數我們稱為左值,因為它們出現在賦值語句的左邊;產生值的表示式我們稱為右值,因為她它們出現在賦值語句歷激的右邊。常數只能作為右值。
例如: count=5; total1=total2=0;
第乙個賦值語句大家都能理解。
第二個賦值語句的意思是把0同時賦值給兩個變肢此襪量。這是因為賦值語句是從右向左扒渣運算的,也就是說從右端開始計算。這樣它先total2=0;然後 total1=total2;那麼我們這樣行不行呢?
total1=total2)=0;
這樣是不可以的,因為先要算括號裡面的,這時 total1=total2是乙個表示式,而賦值語句的左邊是不允許表示式存在的。
c語言中什麼樣的賦值語句語法和語義都是正確的?
5樓:小溪趣談電子數碼
對於如下說明,語法和語義都正確的賦值是:c、s=&a[1];
a、語法上正確(可能引起編譯警告)。若非靜態變數或全域性變數,否則s沒有被初始化,是隨機值,*s的值無法確定,即沒有確定的語義;若是靜態變數或全域性變數,s被初始化為0,對位址0的解引用操作沒有確定的語義。
b、錯誤。理由同上,對隨機位址的操作不具有確定的語義(s[0]等價於*s)。另外對隨機位址單元的寫操作(賦值)引起的後果不可預料。
c、正確,將a[1]的位址鎮喊賦值給指標s。
d、語法錯誤,c(int)和a(const int*)的型別不匹配,會引起編譯錯誤。
C語言賦值語句,C語言中賦值語句有什麼規則要求?
選ab中取模右邊不是整數 c中賦值號左側不是一個變數 d中第二個賦值號左側不是一個變數 吉祥二進位制 c語言中通過 運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的 int a 10 這是初始化a 0 10 這是賦值 初始化是一個順序點,編譯器保證每...
c語言庫函式與windows API 的區別?
簡單的理解 1 使用windows api編寫的程式,在其他作業系統 例如linux 下就無法執行了。2 如果只用c語言庫函式編寫的程式到其他作業系統下 支援標準c語言的 也可以執行。c 庫函式 是指 c 語言本身支援的一些基本函式,通常是彙編直接實現 的。api 函式是作業系統提供給使用者方便設計...
C語言中的這個賦值語句是什麼意思
風若遠去何人留 將str的第一個和第二個字元賦值成 0x 同時p指向第三個字元。即等效於 str 0 0 str 1 x p str 2 滄海雄風 原字串為 abc 指標賦值為 0xc 指標所在位置 c press any key to continue 這個看了就明白了 include stdio...