小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

經(jīng)驗分享:C語言初學(xué)者常見的 22 個錯誤!建議收藏起來

 大炮李 2022-10-30 發(fā)布于廣西
文章圖片1

一.語言使用錯誤

在打代碼的過程中,經(jīng)常需要在中文與英文中進行轉(zhuǎn)換,因此常出現(xiàn)一些符號一不小心就用錯,用成中文。例如:“;”中文中的分號占用了兩個字節(jié),而英文中“;”分號只占用一個字節(jié)。編譯器只能識別英文。因此會報錯。在報錯后檢查這些字符時最需要眼力和時間的。因此打代碼是需注意。

二.忘打分號

分號是C語言是語句的標志,在C中無分號不成語句,無語句不能識別。

在編譯中如果沒有分號,編譯器就會將,b=2合到上一個語句a=1中,進而出現(xiàn)語法錯誤。

文章圖片2

三.多打分號

復(fù)合語句中,花括號后不應(yīng)再加分號,雖然不會有什么影響,但是多此一舉,毫無意義。

文章圖片3

另外,if(a == 0)后不應(yīng)加分號,if(a ==0)后加分號就會是語句提前結(jié)束,而使用if的目的就是為了控制其后的語句,加了分號之后。程序?qū)⒂肋h執(zhí)行i++,不論a是否等于0.

文章圖片4

for()后不應(yīng)加分號。

文章圖片5

本意是輸入4個數(shù),每輸入一個數(shù)后再將它輸出。由于for()后多加了個分號,導(dǎo)致循環(huán)變成空語句,此時就變成只能輸入一個數(shù)并輸出了。

四.變量命名的錯誤

C語言規(guī)定,標示符由字母,數(shù)字和下劃線“_'組成,它的第一個字母必須是字母或下劃線。

在C語言中變量的命名不允許出現(xiàn)的情況有以下三種:1.以數(shù)字開頭進行開頭;2.不能包含運算符;3.不能與系統(tǒng)保留字(即關(guān)鍵字重名)。一旦出現(xiàn)這三種情況之一,編譯器就會報錯。如下圖所示:

文章圖片6

這里附上C語言中的關(guān)鍵字,即用作專用的定義符,也稱為保留字。

文章圖片7

作為C語言的初學(xué)者,變量的命名往往是簡單單調(diào)的。而程序員大佬往往用具有特定意義的英文單詞進行命名,并形成了一套自己的命名法則:業(yè)界目前共有四種命名法則;駝峰命名法,匈牙利命名法,帕斯卡命名法和下劃線命名法。其中前三種是比較流行的命名法。1.駝峰命名法是將每個單詞(邏輯斷點)用大寫字母區(qū)分開。2.匈牙利命名法通過在變量名前面加上小寫字母的符號標識作為前綴,標識出變量的作用域,類型等。3.帕斯卡命名法。與駝峰命名法類似,只不過將開頭首字母換成了大寫字母。4.下劃線命名法是將每個單詞(邏輯斷點)用下劃線隔開。

文章圖片8

五.忽略大小寫字母的區(qū)別

文章圖片9

出現(xiàn)這種情況編譯器會將a和A認為是兩個不同的變量,因而報錯。因此在定義變量和輸出變量的同時要注意大小寫字母的一致性。因為C會將大寫字母和小寫字母看成是不同的字符。

六.數(shù)據(jù)類型的使用錯誤

例如:我們要輸出一個a = 3.1415的情形。如果數(shù)據(jù)類型使用錯誤,將得不到我們想要的結(jié)果。使用整型,將只輸出3。必須使用浮點型float,double,long double。

文章圖片10
文章圖片11

七.“/”運算時,和“%”時計算結(jié)果的錯誤

“/”運算時,參與運算的兩個數(shù)均為整型時,結(jié)果為舍去小數(shù)的整型數(shù),例如;

文章圖片12

盡管定義了浮點型但是結(jié)果卻是1.0,而不是我們想要的1.5。為得到1.5的結(jié)果,我們必須將3/2改成3.0/2,或者是3/2.0.才能輸出1.5的結(jié)果。

文章圖片13

如果除數(shù)和被除數(shù)中有一個為負值,其結(jié)果與具體實現(xiàn)有關(guān)。例如:“-9/7”在有的系統(tǒng)中計算結(jié)果為-2,有的系統(tǒng)計算結(jié)果為-1,這是對小數(shù)部分的舍入處理不同造成的?!?”要求參與的運算操作數(shù)均為整型,計算結(jié)果的符號與“%”左側(cè)運算對象的符號相同,如“-9/4'的結(jié)果為-1。一旦非整型,編譯器將報錯。

文章圖片14

也就是說整型變量a和b可以進行求余運算,而實型變量則不允許進行“求余”運算。

八.字符常量和字符串常量的表示錯誤

字符變量是用類型符char定義字符變量,字符常量是由一對單引號扣起來的單個字符;字符串常量是用雙引號括起來的字符序列,在C中通常以“/”作為結(jié)束標志。像下面的字符串'a',實際上包含兩個字符'a'和'',這把它們賦給一個變量是不行的。

文章圖片15

九.“=”與“==”的混淆

在C語言中“=”是賦值運算符,而“==”則是關(guān)系運算符。命名的不同者也就意味著作用不同和優(yōu)先級的不同。關(guān)系運算符的的優(yōu)先級高于賦值運算符。

文章圖片16

if()括號中的語句是進行判斷的內(nèi)容,判斷a是否等于4,所以說里面的符號應(yīng)該用關(guān)系運算符“==”而不是賦值運算符“=”。正確的表示如下:

文章圖片17

十.scanf()括號中忘記加地址運算符“&”

文章圖片18

這樣的書寫時不合法的。scanf函數(shù)是格式輸入函數(shù),它從標準輸入設(shè)備(鍵盤)讀取輸入信息。也就是按照啊a,b在內(nèi)存的地址將a,b的值存進去,“&a”就是指a在內(nèi)存中的地址。

十一.間隔符的不注意

scanf()函數(shù)一般以空格鍵,Tab鍵或Enter鍵作為分隔符,當格式中字符傳中存在非格式字符時,輸入時也需要一并輸入。例如:

文章圖片19

應(yīng)當輸入:

文章圖片20

十二.輸入數(shù)據(jù)時結(jié)束情況的不熟悉

C語言中,輸入數(shù)據(jù)時,遇到以下3種情況則認為該數(shù)據(jù)結(jié)束:

1.遇空格鍵,Tab鍵,或Enter鍵;

2.有指定數(shù)據(jù)長度時,系統(tǒng)自動按長度截??;

3.遇非法輸入。

十三.輸入字符的格式與要求不一致

在C中,在用“%c”輸入時,空格和轉(zhuǎn)義字符均作為有效字符。

文章圖片21

字符“a”賦給c1,字符“ ”賦給c2,字符“b”送給c3,因為%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。

十四.輸入數(shù)據(jù)時規(guī)定精度

文章圖片22

輸入數(shù)據(jù)時企圖規(guī)定精度,這樣做在C中是不合法的。

十五.使用switch語句中漏寫break語句

例如:打印學(xué)生成績

文章圖片23

如果漏寫break語句,case只起標號作用,而不起判斷作用。也就是假如輸入A,就會直接執(zhí)行到最后一個printf語句,而不會在第一個printf語句執(zhí)行后截止。因此必須在每個printf語句后加上break.例如:

文章圖片24

十六.數(shù)組的部分錯誤

1.數(shù)組后面的元素個數(shù)應(yīng)與聲明的一致。如果與聲明不一致,超出聲明后面的數(shù)字默認為0。

文章圖片25

2.必須聲明元素個數(shù)。

文章圖片26

十七.忽略了while和do-while語句在細節(jié)上的區(qū)別

文章圖片27
文章圖片28

如圖所示,當輸入i大于10時二者的結(jié)果就不同了。這是因為while循環(huán)是先判斷后執(zhí)行,而do-while循環(huán)是先執(zhí)行后判斷。對于大于10的數(shù),while語句中編譯器不循環(huán)循環(huán)體,而do-while語句編譯器則要執(zhí)行一次循環(huán)體。

十八.定義數(shù)組時誤用變量

文章圖片29

數(shù)組后面用方括號括起來的是常量表達式,可以包含常量和符號常量。即C不允許對數(shù)組的大小作動態(tài)定義。

十九.多加了地址運算符“&”

文章圖片30

C語言中,scanf函數(shù)中的輸入是字符數(shù)組名時,就不必在加地址符&。需改為:

文章圖片31

二十.同時定義了形參和函數(shù)中的局部變量

文章圖片32

形參應(yīng)該在函數(shù)體外定義,而局部變量應(yīng)該在函數(shù)體內(nèi)定義。應(yīng)改為:

文章圖片33

二十一.在定義數(shù)組時將定義的“元素個數(shù)”誤以為是可使的最大下標值

文章圖片34

C語言規(guī)定:定義時用a[10],表示數(shù)組有10個元素。其下標值由0開始,所以數(shù)組元素a[10]是不存在的。

二十二.二維數(shù)組的定義

1.C語言中,不能使用一次方括號來表示二維數(shù)組的元素,表示非法的例子如下:

文章圖片35

2.另外,由于系統(tǒng)不會檢查二維數(shù)組元素的下標是否越界,以此需要編程人員注意限制下標不要越界。例如:

文章圖片36

希望對于初學(xué)者的你有幫助!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多