Re: [問題] 我想問有關宣告的問題
┌integer 整數
變數┼real 浮點數
└character 字串
以上三個都是變數,當然還有logical等等
parameter 常數,常數可以是整數,浮點數,字串等等
電腦裡的變數是儲存在記憶體(就是RAM)裡面的東西,
當你宣告的時候,就是告訴電腦要分配記憶體某個部份來儲存這個變數。
但是常數不是,常數是不可以改變數值的東西,它也不是記錄在記憶體。
例如:
real :: abc
這樣就是叫電腦分配記憶體的某個區塊,這個區塊的名字叫做abc,且這個區塊
儲存的變數必須「只能」以浮點數的方式儲存
「=」這個等號不是你平常數學裡的等號,等號的意思是把「等號右邊的值」儲存到
「等號左邊的變數」
例如:
abc=3.0
這樣電腦就會去找名叫abc的記憶體區塊,然後把3.0這個浮點數儲存在這個記憶體區塊。
又例如:
abc=1.5*2.0
這樣電腦就會去找名叫abc的記憶體區塊,然後把1.5*2.0的值(也就是3.0這個浮點數),
儲存在這個記憶體區塊。
再舉例:
integer :: i
i=3
這樣電腦就會先分配一個記憶體區塊並把這個記憶體區塊命名為i,而且這個
叫做i的記憶體區塊「只能」儲存整數。然後電腦就會去找命名為i的記憶體區塊,
將3這個整數值儲存進這個區塊。
再再舉例:
integer :: i
i=3.0
同上,但是這次問題來了。3.0這個浮點數要存入「只能」儲存整數的i,
這樣就怪怪的,所以大部分的電腦就會無條件捨去法,自動變成
「把整數3儲存到名為i的記憶體區塊」。
這樣看來好像還是沒有問題,但是如果是下面這個程式
integer :: i
i=3.5
就慘了,因為3.5這個浮點數被轉換成3這個整數,然後在儲存在名為i的記憶體區塊。
這就是初學者很常犯的毛病。
累了,還沒跟你說到常數,
其餘不懂的地方可以看彭國倫的書,或是板上其他大大指點。
※ 引述《john11894324 (維尼)》之銘言:
: INTEGER REAL CHARACTER
: 常數 實數 字串
: 我想問的是有關宣告的問題?
: 不宣告 所代表的是哪一種東西?上述三者
: 代表一個空間嗎?
: 還有常數與實數差在哪?
: 我知道我的問題有點多!
: 拜託大家了
: (第一個學的程式語言是fortran真不知該如何理解)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.128.128.198
推
03/05 20:41, , 1F
03/05 20:41, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章