2021-12-04 15:59:50|已瀏覽:402次
入門C語言基礎問答
1、C語言是強類型的語言,這是什么意思?
任何程序都要處理數據,計算機可以處理的數據有多種類型。在C語言程序中,用來保存數據的變量必須事先定義才能在程序中使用。對于程序中使用到的常量、變量的類型要事先進行定義才能使用,這是保證程序可靠性的手段之一。早期的一些計算機程序設計語言不要求對變量的類型進行定義,因此,一個變量的類型在程序運行期間是不確定的,這將會降低程序的可靠性。2、如何理解變量與常量?
變量與常量相當于數據的可讀可寫與只讀,常量是數據的一種保護機制。在內存分配給程序的內存塊中有專門的常量(只讀)存儲區。
3、字符型數據與整型數據、浮點型數據為什么可以直接運算?
字符型數據用于表示ASCII字符。由于ASCII字符在內存中是以ASCII編碼的形式存儲的,因此可以將字符型數據看作一個整數與整型數據、浮點型數據直接進行算術運算,而這在其他的計算機語言中是不允許的。
4、如何理解逗號運算符和逗號表達式?
逗號表達式是C語言中特有的一種運算符。在C語言的所有運算符中,逗號運算的優先級最低。逗號運算符使用逗號將多個表達式連接起來,按照從左到右的順序依次計算其中的各個表達式的值,整個逗號表達式的值是最右端即最后計算的表達式的值。逗號表達式常用于在一條語句中連續完成多個計算或操作。例如,t=x;x=y;y=t;將會被作為三條語句處理,而t=x,x=y,y=t;則將被當作是一條語句處理。
5、整型數據的溢出問題
任何一種數據類型的數據在計算機中都有它確定的數值表示范圍,一旦超出這個范圍,就會產生溢出問題。
6、對于浮點型數據執行相等比較為什么有時會出現問題?
在C語言中,只有整型數據和字符型數據是精確表示的。浮點型數據采用的是指數表示形式,數據的有效位數是有限的,因此浮點型數據是不精確的。對于浮點型數據進行相等比較時,有時兩個相等的數進行比較也有可能出現不相等的情況。
為了解決浮點數相等比較時的誤差問題,可以規定當兩個數相減之后的絕對值小于一個足夠小的數時即認為它們相等。
7、沒有初始化的變量的初始值是什么?
如果該變量是靜態存儲類型的變量,系統編譯時會自動地賦初值0(對數值型變量)、空字符(對字符變量)、或者空指針(對指針型變量);而如果變量是動態存儲類型,則在沒有賦初值的情況下,將會有一個不確定的值(垃圾值,單元格使用過后遺留下的歷史值)充當其初值,這是非常危險的,尤其是對于一個不確定的指針來說,修改它所指向存儲單元的值可能會造成巨大危害。因此,一般都要求程序員為變量賦予合理的初值。
8、C語言中邏輯值1和0是如何判斷的?
C語言中,一般在進行邏輯運算時,將所有非零值都作為1,也就是邏輯真;而只有本身為0的值才當做0,也就是邏輯假參加判斷。
9、求解邏輯表達式時“有解即停”(短路求值)是什么意思?
當需要判斷多個條件同時成立或至少有一個成立時,需要使用邏輯運算符&&和||。表達式A && B表示當A與B均為真時,條件為真;表達式A || B表示當A與B至少一個為真時,條件為真。 當求解 A && B時,只要A為假則整個表達式一定為假,此時不需要求解表達式B。而對于表達式 A || B,只要表達式A為真,則整個表達式一定為真,此時不需要求解表達式B。10、窮舉法的基本思想是什么?
傳統的數學解題方法通常有列方程、尋找簡便算法等,那是因為人腦不能進行大量、高速的運算。在計算機數據處理中,可以通過循環程序讓計算機對一個問題的所有的可能情況進行判斷,從而得出那些滿足問題的約束條件的各種可能情況,這些可能的情況就是實際問題的解。由于計算機的高速度和機器性,能夠在程序的控制下自動連續地重復執行相同的處理,因此“窮舉法”在程序設計中具有廣泛應用。例如“雞兔同籠”的問題就可以通過窮舉法來解決。
本文由培訓無憂網達內教育課程顧問老師整理發布,更多課程信息可關注C語言培訓或添加老師微信:15033336050
注:尊重原創文章,轉載請注明出處和鏈接 http://m.dedgn.cn/news-id-6296.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注c語言頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050