c語言看不懂,C語言看不懂

時間 2021-05-07 20:00:40

1樓:剛喬幹悅欣

對於第一個的一大堆的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

2樓:匿名使用者

同道中人啊,我也是這麼過來的,現在已經參加工作快2年了,剛剛入門是這樣的,以後積累多了就沒事了,學海無涯苦作舟嘛。

3樓:不停的

剛開始學c語言的時候都有點不知從哪下手,還是耐心一點,多編一些程式,抄書上的也行,這樣比你光看書好多了,祝你成功

4樓:匿名使用者

朋友,這麼簡單的問題被你搞的好複雜。就因為你看錯一個字。

這個是輸出一個字串this is a c program,沒有讓你輸入任何東西。

如果你還是學的雲裡霧裡的,建議找個人來指導你,要不你學兩年也學不會。看起來你完全沒有基礎,而其自學能力也有限。這樣學下去會打擊你的信心的。

5樓:匿名使用者

我覺得你不學c更好~~~

c語言,這個程式完全看不懂,誰能解釋一下?

6樓:匿名使用者

初始化f1和f2都為1。大迴圈,i從1到20

先輸出初始化的f1和f2的值,輸出為11

判斷i是否被2整除,如果整除則換行,不整除則無操作。第一輪i=1,無操作。

把f1+f2賦給f1,也就是前兩個月的值相加,賦給f1(注意現在f1=1+1=2)

再把f1+f2賦給f2,也就是剛才已經變換過的f1加上以前的f2,賦給f2(注意現在f2=2+1=3)

同理,第二輪,先輸出上一輪變過了的f1,f2,輸出為23。

再判斷i是否被2整除。i此時為2,被2整除,所以現在的輸出為1123(換行)。

之後都是迴圈。第三輪58(不換行),第四輪1321(換行)

總輸出應為:

1123

581321

345589144

......共十行

c語言看不懂

include 包含庫檔案,負責輸入輸出main 主函式while b 0 令b的值減1,如果b的原值小於0,跳出迴圈 printf d n b 輸出b的值 int a 1 b 10 這裡有語法錯誤,應該寫成int a 1,b 10 你想知道每一次a,b值的變化可以在迴圈體中加這樣一行語句print...

c語言程式設計看不懂,怎麼辦啊,自學C語言,看不懂,怎麼辦啊

樑良鹹鳥 我的專業軟體工程,大學第1學期學的就是這個,下面說說個人的一些體會 1,開始的時候先是學好基礎,如int,char各代表什麼,要記憶的東西要記牢並且要好好理解 2,通過1段時間的學習要對c語言的基本特點有個大概的認識,找些參考書籍看看簡短的語句表示什麼意思,和一些改錯題,要十分注意,有可能...

C語言K R的書看不懂怎麼辦,看不懂文言文怎麼辦?

k r的書反覆看,反覆練習,這本書關鍵的部分必須懂。不懂的,反覆練習,至少要知道不懂的地方執行的結果。作為入門,其他書沒有比這個寫的好的了,畢竟是c語言作者。這本書初看很有難度,等懂了後會感覺柳暗花明,花的時間是值得的。此外,c畢竟是一們語言,我們不必完全理解 字面 意思,只要知道這樣做能得到這樣的...