Ⅰ c語言看不懂
對於第一個的一大堆的if條件語句,只能逐個的使用play_state的值去與後面的比較,當然要遵守&&運算符的短路規則,也就是對於a&&b,如果a的值為0,那麼就不用去判斷b是多少了,因為不管b是多少,對於&&運算符來說與0的運算其結果都為0。
至於你說的找不到play_state的值,play_state這個值,如果是在其他函數中或者if語句中定義的,那麼這個值可以不用看,因為這個值是局部變數,局部變數一但離開定義他的語句塊或者函數,其值將不會存在,而且在語句塊或函數外的程序是看不到局部變數的。因此對於play_state的值,你應該查找,是不是定義了一個全局變數,應找到全局變數的值才是有效的值。
至於邏輯預處理指令#if,其實這個語句就與C中的if語句是一樣的,如果#if後面的條件成立,則執行後面的語句,否則就跳出。並不是像你所說#ifdef語句,是否後面沒有定義就不用看了,應該判斷後面的條件是否成立。一般#if語句是與#define連合使用的,下面給你介紹一下#if語句。
邏輯預處理器指令:
1、邏輯#if指令:該指令原理與條件語句if相同,如果測試為真就執行後面的語句,如果為假則跳過後面的語句。該指令有兩種用法,其一可以用#if指令測試某個符號以前是否用#define指令定義過,這是最常用的用法,其二可以用來測試某個條件表達式是否為真。
2、#if指令用法一:測試某個符號是否以前用#define定義過,該用法的指令如下#if
defined
標識符
….
#endif
其縮寫形式為#ifdef
標識符….#endif表示如果,指定的標識符已被#define定義,則中間的語句就包含在源文件中,如果該標識符還未被#define定義,則跳過#if和#endif之間的語句,該語句以#endif結束,還要注意的是標識符前的關見字是defined比define多一個字母d。
3、測試標識符是否不存在:其語法為#if
!defined
標識符…..#endif縮寫形式為#ifnedf
標識符…..#endif表示如果指定的標識符沒有定義,則把#if和#endif之間的語句包含在源文件中,如果標識符已定義則跳過#if和#endif之間的代碼,實標上#ifndef語句比#ifdef語句使用得更頻繁,因為系統使用該語句防止頭文件被多次包含,
4、防止頭文件被包含多次的方:其方法為#ifndef
HY
#define
HY語句#endif程序在開始遇到標識符HY時沒有被定義,這時執行後面的語句,再第二次被使用時則標識符HY已經被定義,這時不會執行後面的語句,從而防止了同一頭文件被包含多次的情況。這里要注意使用#define後面定義的標識符不需要值。
5、#if語句還可以使用邏輯運算符以測試多個值,比如#if
defined
HY1&&HY2….#endif當HY1與HY2都為真時才執行,同樣還可以使用其他邏輯運算符。
6、#if指令用法二:測試某個表達式的值是否為真,其語法格式為:#if
常量表達式….#endif,注意常量表達式的求值結果應是整數常量表達式,比如#if
a=2
….
#endif測試a的值是否為2,如果為2則執行#if與#endif之間的語句。
4.7、多個#if選擇塊:和常規的if語句一樣#if也有對應的#else和#elif語句,比如#if
a=3
….
#else
….
#endif表示如果a=3則執行if後面且在#else前面的語句,如果為假則執行#else與#endif間的語句。#elif用來實現多個選擇,該語句和常規語句的else
if相似,比如#if
a=1
….
#elif
a=2
….
#elif
a=3….
#else
….
#endif表示,如果a=1則執行#if後的語句,如果a=2則執行該條件後的語句。
執行開始後,按順序先執行x=0;,因為它不在循環體內,所以只執行1次,
接下來是個循環嵌套,外層循環的for(i=1;i<n;i++)語句要執行n次,(因為要進行n次判斷),內層循環要執行n+(n-1)+(n-2)+...+1次,用等差數列求和公式表示這個和,就是n(n+1)/2次
Ⅱ C語言看不懂怎麼辦啊
看不懂就算了,不要強求自己,該背誦的背誦。剩下時間專心去看看VB和易語言,把VB和易語言學習深入一點,再回頭來看C你會有意想不到的收獲。
因為學些編程最終結果是要計算機這個機器來驗證結果的,他很客觀,你不要鑽牛角尖或者淺嘗輒止,寫代碼也是一個道理,寫不完整的代碼是編譯通不過的。什麼時候你能領悟到編程的整體思路,你才算入門,門都沒入你怎麼看得懂。有時候我也經常抱怨,為什麼中國人一開始製造不出計算機,研究不出編程語言,全是英文還不完整名稱都是縮寫。知道後來真的有了易語言,又發現還是老老實實回去搗鼓老外發明的東西,這種學習方法叫觸類旁通。淵博淵博你得先「博」,後才「淵」,廣泛學習才能觸類旁通,觸類旁通後才能領悟真理深入理解。
C是面向過程的語言,學習下思路可以,實用起來可不好用哦,單憑C想做一個軟體直觀顯示給別人看,需要編譯哦,還需要引用系統API和com+組件。這些在編程界都是比較深層次的東西。
Ⅲ c語言難嗎
還好,萬事開頭難,堅持下去就可以了。
看你的態度了,一定要相信自己,對自己有信心。
學習忌貪多、忌浮躁、忌急功近利。把學習計劃放的長一些,培養一個好的學習方法,一步一步慢慢走,終能學好的。
那麼究竟怎樣學習C語言呢?
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。
2:葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。
3:登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。
Ⅳ 對於C語言編程出了錯,怎麼能快速找出錯誤呢
代碼是否存在邏輯錯誤:
1、變數使用前未被數值
實例:
int main()
{
int x=5,y,z;
z=x*y;
printf("%d",z);
return 0;
}
在此程序中變數y在使用之前未被賦值,所以結果輸出z的值就會是系統隨機分配一個值給y再加乘以x的值。
2、把賦值賦值符號「=」與等於符號「==」相混淆
實例:
有一下語句:
if(a=5)
{
printf("a等於5");
}
輸出的結果永遠都是「a等於5」,原因是在執行if(a=5)之時,無論a之前是什麼值,此時都會被重新賦值為5,而不是把a的值與5相比較,而正確的表示比較的表示為:
if(a==5)
{
printf("a等於5");
}
(4)c語言的糟糕怎麼看擴展閱讀
C語言編程注意事項:
1、書寫標識符時,忽略了大小寫字母的區別。
2、將字元常量與字元串常量混淆。
3、忽略了變數的類型,進行了不合法的運算。
4、忽略了「=」與「==」的區別。
5、忘記加分號。
6、多加分號。
7、輸入變數時忘記加地址運算符「&」。
Ⅳ c語言編譯出錯,怎麼查找錯誤出在哪行
步驟:
1.打開源代碼文件,在控制台里查看錯誤類型。
Ⅵ C語言 編程後,有錯誤,怎麼查看是那部分出錯了!
不知道你用的什麼編譯器,大部分編譯器都會告訴你是在哪個文件的哪一行出錯和出的什麼錯
一般在錯誤上雙擊就能跳轉到那一行上去
1.if後面不能有分號,雖然編譯能過,但是錯誤的邏輯
2.你的問題是花括弧不匹配,按Ctrl+A全選,然後再按Alt+F8進行格式化,就能看到是哪裡多了或者少了
3.你在下面error那一行雙擊,就能看到哪一行不對
Ⅶ C語言 編程後,有錯誤,怎麼查看是那部分出錯了!
【編寫完代碼後直接編譯,如果有錯誤,編譯器會自動彈出提示的】
例子如下:
(7)c語言的糟糕怎麼看擴展閱讀:
C語言是一種計算機程序設計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統設計語言,編寫工作系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。
C語言適用范圍大。適合於多種操作系統,如Windows、DOS、UNIX、LINUX等等;也適用於多種機型。C語言對編寫需要硬體進行操作的場合,明顯優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。
Ⅷ 怎麼去查看C語言編程的運行結果
在工具欄里有運行的圖標,點擊之後開始運行,如果程序沒錯的話就會出結果。