1. 程式人生 > >【資訊學奧賽】【C++】(一)賦值語句

【資訊學奧賽】【C++】(一)賦值語句

一、基本知識

在C/C++中,“=” 在語言中的作用並非是數學意義上的“等於號”,也不表示判斷。

“=”在這裡的意思是賦值:表示把它右邊的值賦給左邊。

一般形式為:變數=表示式

有的時候編譯器會提示不是合法的“左值”,就是說賦值號左邊不是能被賦值的變數。

二、例題

輸入兩個正整數a和b,試交換a和b的值。 分析:這是一個典型的賦值題目,沒有其他的運算,只是賦值。 我們可以這樣類比,有兩個杯子A和B,分別裝了醋和醬油,現在讓你將兩個杯子所裝的交換,在沒有別的輔助條件的情況下是很難辦到的。所以,我們可以引入第三個杯子C,一個空杯子。我們是這樣操作的: 1.將A杯中的醋倒入C杯; 2.將B杯中的醬油倒入A杯;
3.將C杯中的醋倒入B杯; 在這裡我們將倒入的工作看成是賦值 於是就有: C=A; A=B; B=C; 注意以上步驟中,被倒入的杯子被放到了左邊。 參考程式碼:
#include<iostream> 

using namespace std;

int main()
{
	int a,b,c;
	cout<<"請輸入a和b的值,用空格隔開:"; 
	cin>>a>>b;	
	c = a; //注意這裡a的值雖然賦給了c但是a的值此時依然沒變 
	a = b; //同上,b的值這時沒變 ,但是a的值改變了 
	b = c; //交換完成,c的值不會改變 
	cout<<"交換後a和b的值分別為:" ; 
	cout<<a<<" "<<b<<endl; //列印交換後的a和b的值 
	
	return 0;
}