如何避免C語言初學者少走彎路
眾所周知,C語言具有簡潔緊湊,靈活方便,運算符豐富,數據類型豐富,表達方式靈活實用等特點,所以C語言程序設計更主動、靈活。它語法限制不太嚴格,程序設計自由度大,如對整型量與字元型數據及邏輯型數據可以通用等。但是事物都有兩面性,正是因為這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪裡的錯誤。看著有錯的程序,不知該如何下手,從哪裡改起。這裡羅列了一些C編程時常犯的錯誤,方便初學的小夥伴可以有個參考,做到心中有數,不至於毫無頭緒。
想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙
1.書寫標識符時,忽略了大小寫字母的區別。
main()
{
int a=5;
printf("%d",A);
}
編譯程序把a和A認為是兩個不同的變數名,而顯示出錯信息。C認為大寫字母和小寫字母是兩個不同的字元。習慣上,符號常量名用大寫,變數名用小寫表示,以增加可讀性。
2.忽略了變數的類型,進行了不合法的運算。
main()
{
float a,b;
printf("%d",a%b);
}
%是求余運算,得到a/b的整餘數。整型變數a和b可以進行求余運算,而實型變數則不允許進行「求余」運算。
3.將字元常量與字元串常量混淆。
char c;
c="a";
在這裡就混淆了字元常量與字元串常量,字元常量是由一對單引號括起來的單個字元,字元串常量是一對雙引號括起來的字元序列。C規定以「」作字元串結束標誌,它是由系統自動加上的,所以字元串「a」實際上包含兩個字元:『a"和『",而把它賦給一個字元變數是不行的。
想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙
4.忽略了「=」與「==」的區別。
在許多高級語言中,用「=」符號作為關係運算符「等於」。如在BASIC程序中可以寫
if (a=3) then …
但C語言中,「=」是賦值運算符,「==」是關係運算符。如:
if (a==3) a=b;
前者是進行比較,a是否和3相等,後者表示如果a和3相等,把b值賦給a。由於習慣問題,初學者往往會犯這樣的錯誤。
5.忘記加分號。
分號是C語句中不可缺少的一部分,語句末尾必須有分號。
a=1
b=2
編譯時,編譯程序在「a=1」後面沒發現分號,就把下一行「b=2」也作為上一行語句的一部分,這就會出現語法錯誤。改錯時,有時在被指出有錯的一行中未發現錯誤,就需要看一下上一行是否漏掉了分號。
{ z=x+y;
t=z/100;
printf("%f",t);
}
對於複合語句來說,最後一個語句中最後的分號不能忽略不寫(這是和PASCAL不同的)。
6.多加分號。
對於一個複合語句,如:
{ z=x+y;
t=z/100;
printf("%f",t);
};
複合語句的花括弧後不應再加分號,否則將會畫蛇添足。
又如:
if (a%3==0);
I++;
本是如果3整除a,則I加1。但由於if (a%3==0)後多加了分號,則if語句到此結束,程序將執行I++語句,不論3是否整除a,I都將自動加1。
再如:
for (I=0;I
本意是先後輸入5個數,每輸入一個數後再將它輸出。由於for()後多加了一個分號,使循環體變為空語句,此時只能輸入一個數並輸出它。
7.輸入變數時忘記加地址運算符「&」。
int a,b;
scanf("%d%d",a,b);
這是不合法的。Scanf函數的作用是:按照a、b在內存的地址將a、b的值存進去。「&a」指a在內存中的地址。
8.輸入數據的方式與要求不符。
scanf("%d%d",&a,&b);
輸入時,不能用逗號作兩個數據間的分隔符,如下面輸入不合法:
3,4
學習C語言始終要記住「曙光在前頭」和「千金難買回頭看」,「千金難買回頭看」是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是初學的小夥伴最不易做到的,然而卻又是最重要的。學習C語言就是要經過幾個反覆,才能前後貫穿,積累應該掌握的C知識。同時不要忘記上機實踐,希望熱愛編程的小夥伴可以早日成為大神~
想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙
※C加加構造函數Constructor
※在哪些領域,C加加相對於其他編程語言有著根本性的優勢?
※學習C語言必須掌握的6個經典程序
※C語言二維數組——先搞暈你
※C加加和C加加程序員快要被市場淘汰了?
TAG:C加加 |
※如何避免早產
※初學者怎樣避免瑜伽傷害
※8種常見酮初學者的錯誤,以及如何避免它們
※避免痔瘡誤區,少走彎路
※戀愛里如何避免被套路
※初學攝影如何避免犯常見錯誤
※心理學:如何避免被流言蜚語所傷,看這三方面就知道了
※若分手不可避免,請學會走路帶風
※學書法如何避免一錯再錯
※練瑜伽,初學者該如何避免「手肘/膝蓋」的超伸?
※如何避免頹廢
※如何避免錯誤訓練
※如何避免開養發館時多走彎路
※中老年女性應該如何避免「難言之癢」
※如何避免跳進「魚坑」
※如何避免兒童英語學習的誤區?
※怎麼避免出言不遜,或者語言傷人?
※如何避免小貓無聊
※如何避免尬聊?
※如何避免癌症誤診?