我剛學程式設計,問幾個問題,我剛學C語言,這是一個C語言的簡單程式設計問題,請問哪裡出現錯誤了?

時間 2021-08-11 17:52:19

1樓:

1.這題考的是合法的識別符號有什麼規定,參見書本,“_”沒有任何意思,只是說這個識別符號以它開頭,合不合法,按照規定應該是合法的。

2.這個數佔記憶體2個位元組,也就是16個bit位。前面零顯示它所有的位數,告訴你它可以表示的最大數為2的16次方。

3.4.這個數在記憶體中二進位制碼為111111...

32位全1。int型把它定義成-1,unsign型把它定義成65535,等等,完全是規定。因為它能表示的數是有限的,而你只能定義它所表示的範圍。

int的範圍是-32768~32767,unsign是0~65535

而o好像應該是8進位制吧,自己換算一下就行了。

5.你被騙了,括號內不是邏輯表示式,而是賦值給a,a=b+c,a就變為0了。賦值成功返回1,因此才有題中結果。

6.又被騙了,應該分開看,因為if後面沒有括號

if(b=i)m=1; //迴圈到此已經結束!!

n++; //n當然等於1了!

14.沒有任何意思,就是列印一個空格,將陣列中各個數列印時分開,便於檢視

呼--,累死我了!

2樓:匿名使用者

1、下劃線。c變數只能由字母、數字、下劃線組成

2、記憶體中所佔位數。運算時的變數在記憶體中佔多少位由編譯器確定,所以不用寫那麼多0.寫了也沒用

3、4、這個數在記憶體中表示為0xffff,第一個a是十進位制有符號數,正常輸出-1。%u是無符號數,所以輸出65535.%o是八進位制輸出

5、if(a=b+c)這裡的是賦值符號,不是比較。正確的應該是if(a==b+c)。這也是程式設計中容易常犯的錯誤啊

6、首先你要注意,if(..)後邊沒有大括號,就是說如果條件成立才執行t=a以及t=b,而另幾個賦值語句無論條件是否成立都是執行的。

main()

7、switch 實在匹配某個case後執行其後語句,直到遇到break。第一次迴圈匹配了0,執行其後的輸出,由於沒有break,那麼繼續執行,雖然不匹配2,但是也執行其相應輸出,所以有三個0。第二次迴圈沒有匹配項,所以執行default的輸出,所以有一個1。

第三次迴圈匹配2,執行2與default的輸出,所以有兩個2.然後迴圈退出。

8、第七題如果懂了,那麼這個題其實是一樣的。for中的switch每次都有匹配項,所以每次都會執行到i = 3;那麼v[i]++就變成v[3]++了,一共執行了八次,那麼v[3]就是8了,其它的仍然是0,所以輸出0008

9、只有當!(--x)不等於0的時候才執行迴圈體,也就相當於(--x)等於0的時候,而--x等於2,所以整個條件不成立,所以不執行迴圈體

10、不太明白,你輸入的是什麼啊?輸入不同輸出也不同。輸入中包含一個0,兩個0,兩個相同的非0,兩個不同的非0,結果都不太一樣。

如果你輸入任意兩個不同的自然數,那麼結果就是1,為什麼是1,這個是數學問題,跟c語言沒啥關係,哈哈

11、這個我也不明白。我覺得應該是10 109 1 (因為沒有換行符)。第一次迴圈時y=++i並不執行,迴圈一次後才執行

12、這個就不一定了,不是必須填那兩個的。不過那兩個答案也是對的。第一次迴圈i=0,而奇數和c要從1開始,所以c+=i+1。

但是這樣的話,最後一次迴圈還加了一個11.估計這道題是要計算10以內的數,所以減去11

13、這個我覺得答案應該是1 2。if是第二層迴圈中的語句,而n++是第一層迴圈中的語句,所以第一此外迴圈列印1,第二次列印2

14、do那個迴圈要迴圈5次,y分別為18,9,4,2,1,每次y對2求餘的結果賦給a[i],分別是0 1 0 0 1。從while迴圈出來時,i=5,所以for中j=i-1,而且是從後向前列印,即a[4].....a[0],所以結果應該是 1 0 0 1 0

3樓:匿名使用者

1._表示下劃線,就是一個識別符號.和a,b,c沒區別.

2.整數在32位機中佔四位.所以是2的4次方.一共16,高位補零.

3.應該是合法的,可能是因為沒加分號吧.

4.-1在十進位制中表示-1.而在其他的進位制中則表示最大沒表示的數減1.65535是2的16次方.

5.按照程式應該輸出$$$$$$.

6.第一個if不成立,但a=c和c=t還是做了.因為if只到t=a就結束了.a=c和c=t是必做的.

7.case後面沒有break,一直做下去.0和2都做了兩次.

8.和7一樣,每次i都為3.所以只有v[3]加一.

9.--x為2,真.只有當假時才執行迴圈.

10.只有當輸入不同時才為1.不同時因為減的結果一定為正,所以不斷變小隻到為1.

11.我的答案是101091

12.c+=i+1,得到c等於1,從1開始.多加了11次1嘛,所以要減去.

13.n是區域性變數,跳出迴圈後又變為0了.

14.a[0]=0;i=1;y=9;

a[1]=1;i=2;y=4;

a[2]=0;i=3;y=2;

a[3]=0;i=4;y=1;

4樓:

1 選b no.1 c語言識別符號 可以用數字 字母 下劃線 那個_沒意思的

2 c語言中數字是以16位2進位制儲存的

34第一個是整數就是-1 第二個是8進位制數 第三個是無符號整數5

5樓:憶芷苓

已經有很多人回答了,但我看到沒有一個人把第一題回答對.

在c語言中,變數的命名是以下劃線或者英文字母開頭,後接一個或多個下劃線,字母,數字組成.如下面的變數:

合法的:_a35b_ , abb, bci.a 等等非法的: 6a (它以數字開頭) ,a$(它有$這個符號)

6樓:謇黎

第一題選b c語言的識別符號是由下劃線、字母、和數字組成,其中不能以數字開頭。

2、c語言中5是以整型輸入要用2個位元組也就是16位

3、b 語句肯定是以“;”結束 a也不對,c語言中賦值左邊是變數右邊是值,沒有那樣賦值的。

4、你要知道的是負值在記憶體中是以補碼形式輸出的,其它自己換算一下就可以了。

5、括號內不是邏輯表示式,而是賦值給a,a=b+c,a就變為0了。

6、真受不了,你看看你的%d之間有沒有“,”沒有“,”它肯定不會在輸出值之間打“,”的嗎 它輸出的是4 5 99。

不好意思了情況 現在我也是剛剛學習c語言 就知道這些了,剩下的找高手幫忙吧。

我剛學c語言,這是一個c語言的簡單程式設計問題,請問**出現錯誤了?

7樓:it圈新鮮事

輸入不要加逗號,就好了。

8樓:gta小雞

你輸入的逗號是中文的,改為英文輸入法輸入。

我是一個學程式設計的學生,在學習的過程,遇到很多的問題,應該怎麼樣解決呢?

9樓:

一把而言使用除錯功能逐條執行察看程式中變數的值與自己預期的值作比較,發現不一樣的就找到了癥結之所在也可以在程式中設print 之類,這樣程式除錯更快慢慢積累,注意容易範錯的位置!

10樓:匿名使用者

在網上搜一搜有沒有類似的。

學習別人的精華,給自己靈感,找自己的問題。

或者,貼出來大家一起看。

11樓:第2個彥巨集

什麼語言的 詳細談談

我是剛學應用電子的,剛微控制器,但要程式設計,我C語言不會,所以請教一下我需要什麼樣的C語言書

c程式設計 第 二 三版,譚浩強,清華大學出版社 這是通用的教材 你可以看下 org 0000h ljmp start org 001bh int t1 入口地址 ljmp int t1 org 0080h start mov sp,60h mov 30h,0 mov 31h,0 mov 32h,0...

問幾個學車的問題,新手學車 問幾個問題

1。看車子的速度和檔位來判斷,要是高檔位,剎車後一會便會感覺速度過低後對車子造成的影響 通常會感覺到車身越來越抖動 合理的踩下離合,至車子停穩。2。不需要,直接踩剎車,參照第一條,車速過低 車身開始抖動時 時再踩下離合。至車子停穩。3。加減檔位,首先鬆油門,再塌下離合。掛好檔位後鬆離合的時候,可以帶...

問幾個問題,我想問幾個問題

1,1 說話時會有原聲和回聲兩種聲音,原聲與回聲發出的時間差是秒,產生回聲的因素是發生體與障礙物的距離是大於或等於17米。而發聲體與室內障礙物的距離一般都小於17米,原聲與回聲混合在一起,使原聲加強,反之,在室外則大於17米,會產生回聲,回聲不能使原聲加強,聽到的就比在室內的聲音小,所以再室內聽聲比...