歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言與數學的聯系和區別

C語言與數學的聯系和區別

日期:2017/3/1 10:04:02   编辑:Linux編程

我經常問一些同學這樣的問題:你要來學習C語言了,你數學成績好嗎?這並不是說數學成績好,學起C語言來就輕松,也不是說數學成績不好就完全學不成。數學成績好,說明你邏輯思維缜密,你思考的時候腦筋轉彎比較快,但是,你容易受到數學思維的干擾。數學成績不好,說明你邏輯思維較差一些,但是,受到數學思維干擾的情況就比較少。好了,廢話不多說,我只說一下初學者最不容易理解C語言的一些東西。

一:=與==的問題

如果你看著這個表達式:

num=num+1;

你可能會說:這個表達式怎麼都不可能成立。確實,在數學思維裡面,這個表達式確實是永遠不會成立的。因為num絕對不可能與num+1相等。但是,在C程序裡面,這個可是一個重要的表達式。

首先你要弄明白的是:“=”符號的含義。在C程序中,“=”符號表示“賦值”,即:讓左邊的變量或表達式接收右邊表達式的值。所以,num=num+1的真正含義是:把變量num加上1的結果賦值給num。由於賦值運算符的特殊性,即:先完成“=”號右邊的運算,再進行賦值,所以num=num+1,是先運算num+1,再把num+1的結果賦值給num。

那麼,C程序裡面表示“相等”的符號呢?答案是“==”,即兩個賦值符號連接在一起,就表示相等了。

二:函數的區別

在數學中和C編程中,經常聽到一個名詞“函數”。但是,C編程中的函數和數學中的函數意義是不一樣了。數學中的函數大概就是“映射”這樣吧(PS:鄙視一下我自己,數學知識忘光了),但是,C編程的函數,卻是“功能”的意思,因為在英語中“函數”和“功能”都是function一詞。C編程中的函數,實際上就是將一個大的功能,分解成許多小的功能,然後放在main函數中進行調用,實際上就是各個功能模塊在main函數裡面進行一次“驅動”。所以,用數學的思維去理解C語言的函數,那只能是自己撞南牆。

Copyright © Linux教程網 All Rights Reserved