- 程序設計基礎教程:C語言
- 常東超 劉培勝 郭來德等編著
- 1138字
- 2020-05-07 11:49:29
2.5 賦值運算符和賦值表達式
在C語言中,賦值號“=”是一個運算符,稱為賦值運算符,由賦值運算符組成的表達式稱為賦值表達式,其形式如下:
變量名=表達式
賦值號的左邊必須是某一個變量名,賦值號的右邊必須是C語言中的合法表達式。賦值運算的功能是先求出右邊表達式的值,然后把這個值賦給賦值號左邊的變量,確切地說,是把該數據存入以該變量名為標識的存儲單元中。
例如,有如下程序段:
int a,b; /*定義兩個整型變量*/
a=5; /*把常量5賦給變量a*/
b=a+3; /*把a中的值加上常數3,然后賦給變量b,a中的值不變*/
在程序中可以多次給某一個變量賦值,每賦值一次,其相應的存儲單元中的數據就被更新一次,存儲單元中的當前數據就是最后一次所賦的那個數據。
看下面的程序段:
int a=5,b; /*定義兩個整型變量,同時給變量a賦初值為5,而變量b目前的值為不確定數*/
b=a+3; /*把a中的值加上常數3,然后賦值給變量b,b中的值為8,而a中的值不變*/
【例2.7】 變量的賦初值與變量的賦值關系舉例。
#include<stdio.h>
void main()
{ int a=5,b=5,c,d; /*給變量a和b同時賦初值為5,而變量c和d目前的值為隨機整數*/
c=6; /*把常量6賦給變量c,這時變量c中的值為6*/
d=6; /*把常量6賦給變量d,這時變量d中的值為6*/
printf("%d,%d\,%d,%d\n",a,b,c,d); /*輸出變量a,b,c,d的值*/
}
輸出結果:
5,5,6,6
使用賦值表達式要注意以下幾個方面:
①賦值運算符不是數學中的“等于號”,而是進行“賦予”操作。如:a=5+3 應讀作“先進行5+3運算,然后把運算結果賦給變量a”。
②賦值運算符的左邊只能是變量,不能是常量或表達式,而賦值運算符的右邊可以是常量或表達式。如:a+3=5,a+b=c等都是不合法的賦值表達式。
③賦值表達式x=y的作用是:將變量y所代表的存儲單元中的內容賦給變量x所代表的存儲單元,x中原有的數據被替換掉,而變量y所代表的存儲單元中的內容不變。簡單地說,就是把變量y的值賦給變量x,變量y的值不變,而變量x原有的值被y的值所替換。
④可以進行連續的賦值操作,但不可以進行連續的賦初值操作。a=b=5是合法的賦值表達式,由于賦值運算符的結合方向是自右向左,因此這個表達式等價于a=(b=5),即先將5賦給變量b,再把b的值賦給變量a。
⑤賦值表達式n=n+1的含義是:取出變量n中的值加1再放回到變量n中,即使變量n中的值增1。
⑥當賦值運算符兩邊的類型不一致時,要進行類型自動轉換。
a.實型數據(float或double)賦給整型變量時,會自動舍去小數部分,但不進行四舍五入。例如,int x=3.67,則x的值為3。
b.整型數據賦給實型變量時,數值不變,以實數形式存儲到變量中。例如,float x=2,則x=2.0。
c.字符型賦予整型,由于字符型為一個字節,故將字符的ASCII碼值放到整型量的低八位中,其余位補0。
d.整型賦予字符型,只把低八位賦予字符量,其余位丟失。
- Mastering phpMyAdmin 3.4 for Effective MySQL Management
- 三維圖形化C++趣味編程
- NumPy Essentials
- Apache Karaf Cookbook
- 精通Scrapy網絡爬蟲
- Linux命令行與shell腳本編程大全(第4版)
- Highcharts Cookbook
- PhoneGap:Beginner's Guide(Third Edition)
- Python極簡講義:一本書入門數據分析與機器學習
- HTML5開發精要與實例詳解
- 零基礎學C語言(升級版)
- Getting Started with Electronic Projects
- 金融商業數據分析:基于Python和SAS
- 讓Python遇上Office:從編程入門到自動化辦公實踐
- C#網絡編程高級篇之網頁游戲輔助程序設計