C語言的幾個問題,c語言的幾個問題

時間 2023-03-09 07:20:03

1樓:義昀欣

分析如下:1.用exit語句種植執行報告錯誤。

優點:處理簡便,直接終止程式,並可以將錯誤通知給作業系統。

缺點:無論在哪個函式中執行,程式會直接終止,沒有機會對錯誤進行進一步處理。

2.以函式的返回值區別正確返回或錯誤返回。

缺點:函式多層呼叫時,需將錯誤資訊層層傳遞。

3.設定一個整形變數的函式引數以區別正確返回或某種錯誤返回。

優點:可以返回更豐富的錯誤資訊,方便進一步處理。

2樓:匿名使用者

exit(?)是程式退出的出口,呼叫後你的程序就徹底退出了,返回碼要其他程序去接收供它們使用(理論上,那些程式也得你或你所在的開發團隊去編寫——繫鈴解鈴分開不是自找麻煩嗎?)。

以函式返回值或引用引數傳遞來返回錯誤碼,都差不多,問題是你的函式必須確保全面處理了所有錯誤並填寫返回碼,否則這種機制就有缺陷。

你放到一起討論的東西有點風馬牛不相及。

c語言的幾個問題

3樓:從玉枝拱珍

1:字母只讀一個,而數字可以很多個一起讀。

(我汗,以前都沒注意著,c的題目越出越細了)

2.空格也是字母的一種如果是10

20ab,那麼10

3:那個逗號有,你輸資料的時候也要相應的有逗號,d裡z是double型,應該用%lf;

4:長度是3沒錯,逗號同上。

至於那個45678,45後面是不是有空格的啊。空格說的是數字取到這裡結束咯。浮點數列印的時候小數點後6~7位都打出來的,沒有實際價值。

5:輸入流。

%指的是一共有3位,包含小數點。

6:scanf裡沒有逗號,所以輸入的時候也不能有逗號,此題y=',這個資料時不確定的。

7:同5;一共4位,包含小數點,小數點後取兩位。

8:選a的話abc之間沒有空格,看了我上面的,第8題應該沒問題了。

9:字元型變數ch,能夠賦值給他的只有單個字元和小於255的數字,至於為什麼小於255,等你看了書後面的內容就懂了。

10:b選項指的是16進位制的ff,就是『\255』,asc碼裡是有這個字元的10:

4樓:閃蘭允未

你這麼多題誰會一下子答給你啊。

很浪費時間的。

如果你分為10個問題,一個問題5分,保證你10分鐘以內每個題都會有好答案,這麼多別人沒那麼時間和閒功夫。

我先幫你做2題,你先採納我的答案吧!

這兩個題是要看你的scanf中他們有沒空格,如果有空格輸入就要有空格,如果沒空格輸入也不需要有空格,你這是輸入進去的,我看一模一樣,估計是你不仔細造成的。

連輸入兩個數字當然要用空格隔開,不然那就是連成一個大數了。

c語言的問題

5樓:其儉義酉

可以的`

因為漢字是由一些亂碼構成的,而一個(亂)碼就是一個位元組的字母。

我還可以給你舉個例子:我們可以用字元陣列接受字串(或漢字),這是為什麼呢。

?應為一個漢字是有幾個亂碼(字母)構成的,把漢字放到陣列裡實際上就是把一組字元放到陣列裡。

但是要注意,識別符號第一個不能為數字,所以你要用漢字表示識別符號的話,第一個必須為漢字(字母),不能為數字。

6樓:融玉蘭仍月

所謂識別符號,就是你起的一個名字。c/c++中,是你用來標識變數名、符號常量名、函式名、陣列名、檔名、類名、物件名等的。(就好像你父母有了你以後給你起的名字)~~

c/c++有效識別符號的構成規則如下。

(1)第一個字元必須是字母(不分大小寫)或下劃線(_)

(2)後跟字母(不分大小寫)、下劃線(_)或數字組成;

(3)識別符號中的大小寫字母有區別。如,變數sum,sum,sum代表三個不同的變數;

(4)不能與c編譯系統已經預定義的、具有特殊用途的保留識別符號(即關鍵字)同名。比如,不能將識別符號命名為float,auto,break,case,this,try,for,while,int,char,short,unsigned,等等;

7樓:雋霞悟婷

我個人認為是不可以的。

。識別符號只能用數字和下劃線和字母組成,而且不能一數字打頭,因為如12a就不知道是變數還是16進位制。

現在我們都用外國的編譯器,目前自己的編譯器還沒有出來,所以就不能用漢字作識別符號。

c語言的問題

8樓:恆戰天兵

「/」代表整除的意思,5/2=2,不是,double意思是強制轉為雙精度型,通常是6位小數。所以(double)(5/2)=(double)2= 。

但是(double) 5/2=,這時的算式是先算(double)5 =,然後再算5.

000000除以2得到。請注意上述兩式的區別。

(int)就是強制轉為整型的意思,即把小數部分都去掉。

最後結果為4。

9樓:嬌嬌的藍水晶

5/2=2 ;

2強制轉換成double之後變成了;

強制轉換成int之後變成4

10樓:畫雲舞語

注意c語言的資料是帶型別的。

從括號最裡面開始。

int 5/int 2 = int 2 (/對於整形是整除)(double) int 2 = double 2double 2 + double = double 4.

5 = int 4 (double轉化成int向下取整)

c語言的問題

11樓:星辰冰逸

選da. 函式不准許巢狀定義,就是不准許函式里面定義函式b. 不必須。

只要再呼叫前,申明這個函式,或者呼叫前,定義這個函式就行,貌似c還有很多其他規則。這些情況,都可以不放在同一個檔案中。

c.可以使用void型別,沒有返回值。

d.確實不能把形參傳給實參,實參傳給形參值後,函式內部,實參是不可見的,可見的只是實參的「替代品」——形參。

12樓:拒絕996的瀟灑程式設計師

答案:d

a: c語言函式可以遞迴呼叫,但不能巢狀定義。

b: 不需要放在同一個源程式檔案中,只需在同一個標頭檔案中宣告。

c: void型函式沒有返回值。

d: 是的。這和形參、實參的定義有關。

c語言的幾個問題

13樓:網友

spsr = 0; n

因為 spsr = 0; 是一個完整的語句,後面的 n 是另外一個語句,也就是一個變數,在這個語句後也要加 ; 才正確。

sreg|=0x80 中的 「|是 c 語言中的按位或操作符,也就是把 sreg 中的每一位與 0x80的每一位進行或操作,注意操作中不進位。

sreg=0x80 是賦值語句,將 0x80 的值傳送到 sreg 中。

return(acxx) 和 return acxx 沒有區別。

關於呼叫一個陣列,d 陣列被呼叫時,如果是傳值呼叫,d 中元素的值不變,如果按指標呼叫,呼叫 d 的函式可以改變 d 中元素的值。

14樓:網友

1 spsr = 0;n 後的n 表示什麼意思答 :這句有語法錯誤,不能通過編譯。

2 sreg|=0x80 和 sreg=0x80 有區別嗎答:有區別,sreg|=0x80 只是sreg最高位置1,除最高的其他位不會變化。sreg=0x80 為賦值,執行sreg=0x80後 sreg值為0x80。

3 return(acxx) 和 return acxx 有區別嗎答:return後面加不加括號執行結果一樣。

4 定義一個陣列 d= 這是如果呼叫d 這時d 的值是多少?

答:d是一個指標,值不會變。

5 &=這個和等於有什麼區別。

答: a&=b 等同於 a=a&b

15樓:

spsr = 0;n

如果這句能通過編譯,那只有一個可能:n在前面被定義成了巨集。

16樓:南門童

第一個沒見過,應該不是c語言的語法。有區別的,前者是把第7位置1,其他位保持不變,後者是直接賦值為 那個是沒區別的,除非括號參與運算。推薦不適用括號。

17樓:匿名使用者

spsr n?

c大小寫敏感,所以sreg與creg是兩個不同的識別符號。

return 後為一表示式,表示式可以用括號括起來,也可以不用。

18樓:匿名使用者

這個是c語言的話還真看不懂。可能是其他語言吧。

19樓:匿名使用者

a!=y 是一個判斷語句 要麼為0 要麼為1 (但題目中沒有給x y賦值 所以執行時程式會出錯)c a*u u是什麼看不懂誒 如果是unsiged 那麼用法不對 如果是變數 那麼u未定義 也錯的 d x+y=x 明顯不對 如果x y都賦值了的話 那麼x的值不能賦給x+y

的意思是a不等於b+c c是判斷a是否等於b+c 如果a++後是正數則if成立,否則不成立 選b

a=a++相當於a++ b 為判斷語句 當a+k<=i+k成立時 i=1 否則為0 c. 明顯對 d.明顯錯。

20樓:

第二題選a,樓上先看清題目啊,就a的「<>符號是錯誤的,bcd都可以。

21樓:義昀欣

分析如下:

1.通過函式的引數顯示傳遞。

優點:編寫**時安全高效,函式功能通過引數一目瞭然,不容易混亂,是標準的常用的編碼方式。

缺點:引數即為函式的介面,限制了函式的功能,不同型別的引數要編寫不同的函式。

2.通過全域性變數的隱式傳遞。

優點:函式無需引數,編寫較為簡單。變數具有更長的生命週期,可以保持上次處理後的結果。能夠使用的引數很多,程式靈活。

缺點:非常容易出現錯誤,大程式中引數的命名將變得困難,而且,函式全部非可重入,多執行緒時不適用。

3.通過scanf printf語句。

優點:增加了人機互動性。

缺點:自動化程度大大降低,並嚴重影響執行效率。

C語言的幾個問題

i 是將i得值作為i 的值 執行後給i自加1 具體來說 假設i 1 那麼i 的值也為1 執行後i值加1 i 2 i 是先將i自加1 再將自加後的i的值作為 i的值 具體來說 假設i 1 那麼 i先將i自加1 i 2 再將i得值作為 i的值 i值也為2 第二題是因為你沒有寫break語句 執行swit...

c語言中的幾個問題,C語言中的問題?

1是a,8進位制的38 b中錯誤l不是十六進位制的數。2是 答案是4 a a b c 優於 3是 b 取餘不能是小數 只能是整數運算。4是 6 6 從右邊向左看賦值運算。d是雙精度,但後面是 f,為。注意 20 3 6 float 20 3 第一題不知道你問什麼 第二題輸出4,一看就知道是a a b...

有關c語言的幾個問題

1.int a a a1.6 a得值是多少?答 如果是a a1.6編譯就通不過 如果是a 1.6,那麼a的值為1 因為要取整 2.int a float b printf f d n a,b 輸出結果為什麼是0.000000 16453答 int型資料沒有預設初始化值為0,float型資料b沒有初始...