程序员等级测试,你不进来试试么?听说等级高的都进一线bat了!
變量是什么?回答出一個(gè)清晰準(zhǔn)確的解釋可能會一下子難倒有經(jīng)驗(yàn)的程序員。
在討論變量之前,我們先來了解一下數(shù)據(jù)認(rèn)知。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
數(shù)據(jù)認(rèn)知
計(jì)算機(jī)系統(tǒng)中有各種類型的數(shù)據(jù),簡單的如int,char等。在更抽象的層面上,數(shù)據(jù)結(jié)構(gòu)也是一種數(shù)據(jù),一種復(fù)雜的數(shù)據(jù)類型。讓我們做一個(gè)測試,看看大家對數(shù)據(jù)類型的認(rèn)識面如何。
以下是各種數(shù)據(jù)類型的列表,熟悉的概念+1,大概知道含義但不是太確定+0.5,最后總分即表示你對數(shù)據(jù)類型的熟悉程度。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
abstract data type
array
bitmap
boolean variable
B-tree
character variable
container class
double precision
elongated stream
enumerated type
floating point
heap
index
integer
linked list
named constant
lookup table
member data
pointer
private
retroactive synapse
referential integrity
stack
string
structured variable
tree
typedef
union
value chain
variant
literal
local variable
請大家留言回復(fù),看看各位的分?jǐn)?shù)。
0-14分:新手
15-19分:中級程序員
20-24分:高級程序員
25-29分:比作者的水平還要高,可以考慮寫書了
30-32分:你不是一個(gè)誠實(shí)的人...
避免變量的隱式聲明
首先了解一下什么叫做隱式聲明(Implicit Declarations),有些語言支持這種特性,即不需要聲明一個(gè)變量,在使用一個(gè)沒有聲明的變量時(shí),系統(tǒng)會自動(dòng)幫你聲明。這個(gè)特性非常危險(xiǎn),如果一不小心你在寫變量名稱的時(shí)候出現(xiàn)了錯(cuò)誤,那么就會同時(shí)有兩個(gè)完全不同的變量在代碼中游走,導(dǎo)致程序出現(xiàn)各種奇怪的運(yùn)行邏輯,而你卻以為它們是同一個(gè)變量。
所以,對于隱式聲明,有以下一些建議:
關(guān)閉隱式聲明
聲明全部的變量
遵循某種命名規(guī)則
檢查變量名
變量的初始化
如果對于變量初始化沒有足夠的重視,會經(jīng)常導(dǎo)致一些與預(yù)期不符的情況出現(xiàn)。初始化一般會存在以下幾種問題:
從來沒有對變量賦過值;
變量的值已經(jīng)過期;
變量的一部分被賦值,而另一部分則沒有;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
那么如何避免初始化的錯(cuò)誤呢?
在聲明變量的時(shí)候初始化
float studentGrades[ MAX_STUDENTS ] = { 0.0 };
在靠近變量第一次使用的地方賦值
Dim accountIndex As Integer
accountIndex = 0
' code using accountIndex
...
Dim total As Double
total = 0.0
' code using total
...
Dim done As Boolean
done = False
' code using done
While Not done
在可能的情況下使用final或const
特別注意計(jì)數(shù)器和累計(jì)器。i、j、k、sum這種變量在做累加的時(shí)候,經(jīng)常會忘記被重置。
在類的構(gòu)造函數(shù)里初始化成員變量
注意編譯器的警告信息
檢查輸入?yún)?shù)的合法性
使用內(nèi)存訪問檢查工具來檢查錯(cuò)誤的指針
在程序開始初始化使用內(nèi)存
學(xué)習(xí)C/C++編程可以掃下方二維碼,學(xué)習(xí)編程,碼上開始!
?
總結(jié)
以上是生活随笔為你收集整理的程序员等级测试,你不进来试试么?听说等级高的都进一线bat了!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言和其他语言的不得不说的差别!
- 下一篇: 一文讲透,关于搭建指标体系,整理的重要知