09年春C語言題目求解,求下列C語言題目詳解

時間 2023-04-14 14:55:11

1樓:中華城不倒翁

#include

void f4(int n)

//直接執行。

printf("%d",n%10); n除10取餘。%是取餘運算子。

}//繼續執行上一層剩下的。

printf("%d",n%10);

}//繼續執行上一層剩下的。

printf("%d",n%10);

void main()

自習看一看就明白了。其實遞迴也很簡單。

2樓:網友

首先是f4(123)

總執行結果是:執行f4(12);列印3。

執行f4(12),因為f4(12)的執行結果是:執行f4(1),列印2。結合上面的式子,所以總執行結果是:執行f4(1),列印2;列印3。

執行f4(1),沒什麼好說的了,列印1。

所以總執行結果為:列印1;列印2;列印3。

此類題目應注意一下列印出的字元的先後順序。

3樓:張進

他的輸出並不是一百二十三,應該1,2和3。 樓主如果把函式f4輸出函式改為:

printf("%d",n%10); 加一個換行符。

即會發現1,2,3並不在一行,因為他們是在三個層次不同的遞迴函式中輸出來的。

在執行過程中,先後呼叫了 f4(123) 輸出123%10 即 3f4(123%10) 即f4(12) 輸出12%10 即 2f4(12%10) 即f4(1) 輸出1%10 即 1又因為遞迴時採用棧的模式(先進後出),故先輸出1然後是2和3.

希望對你有幫助。

求下列c語言題目詳解

4樓:我們必將知道

1. 設變數定義為:int s[ ]helloworld";,則陣列s中有___13___個元素。(注意加上\0)

2. 設變數定義為:int a[2]=,p=&a[0]+1;,則*p的值是___3__。

3. 表示式 !!8的值是__1___

4. 下列程式段的輸出結果是__15___

#define min(x,y) (x)<(y)?(x) :y)printf("%d",10*min(10,15));

5. 設a為整型變數,初值為12,執行完語句 a+=a-=a*a後,a的值是___264__。

6. 下列程式的輸出結果是___6__。

#include

main()

5樓:匿名使用者

個元素,helloworld這是12個元素,最後字串結束標誌是'\0',所以又13個。

2. 首先int *p =&a[0]+1 ,這聚會等價於p指向了a[1],即p= &a[1],所以*p= a[1] =3

3.首先8非0,所以!8=0,那麼!!8=14.答案是15(絕對是15!!)應為define是簡單的文字替換所以10*min(10,15)等價於。

所以是,a+=a-=a*a等價於。

1).a=a-a*a = 12-12*12= -132;

2).a= a+a = 132+(-132) =2646.首先算的是5>4?3:2 值是3,所以變為8>7?6:3,因為8>7所以值為6

求解一道c語言題

求解一道基礎的c語言題

2023年9月二級c語言一道題

6樓:匿名使用者

char 是字元變數,所以 'd',或是 32都是正確的表示,因為每個字元都有其ascii碼,是一個128以內的整數。而'65' 是一種錯誤的表示形式。

float 要求浮點數,但c語言裡還有一個機制就是資料型別的自動轉換,如可以允許函式的引數從整形數自動轉換成浮點數。這也就是說b與d從這一點上來說都可是正確的。

但這個題的第三個考點是:void ,也就濁fun函式沒有返回值,所以t=fun(..是錯的。

所以答案是d

7樓:

char 是特殊的 int , 儲存空間佔用大小一樣a 不對,應為 abc 有三個 char 大小;

b 沒有返回值。

c 同a

8樓:匿名使用者

a雙引號括起來的是字串;

b是一個賦值語句;

c單引號括了兩個字元了;

9樓:匿名使用者

因為先d是因為 輸入32實際是輸入的ascii碼的32位 實際上他已經被強制轉換為char型別了。

一道c語言題,求解,急!

c語言習題求解第十題

10樓:匿名使用者

第一題首先,將i,j,k賦值為3;

i&j 3&3 位與 同時為1則1,否則為0,那麼3和3位與那麼就是3,不變;

~i 3 按位取反,0變1,1變0

這個就是按位取反的結果,在二進位制中11表示十進位制的3,取反後,其餘的0將會變成1,負數在記憶體中是一個非常大的值。

-4|3 位或 同時為0則0,否則為1 看圖上,如果將後面那兩個零補上,那就是所有位都是1了,有符號的整形數表示-1;

第二題3異或3 兩個值不相同為1,否則為0

那麼兩個相同的值異或就是0,接下來3再和0異或,所有值與0異或都是其本身的值,所以還是3

第三題3*3=9

9>>2 右移 9在二進位制1001,香油挪兩位就是 0010在十進位制中表示2,那麼2位與3就等於2;

另外,那麼熱心網友你的第三題是不是計算錯了。

11樓:匿名使用者

1, 結果 -1 ~i|i&j; 優先順序 ~ 故等價於 (~i)|(i&j) =3)|(3&3)=>4|3 =>1

2,結果 3 i^=j^=i; ^是從右至左結合故等價於 i^=(j^=i)=>i^=(j=3^3)=>i^=0 =>i=3^0 =>i=3 =>表示式結果為33,j*k>>2&i 結果 2 遵循先算術,再移位,後位運算故等價於 ((j*k)>>2)&i =>3*3)>>2)&3=>(9>>2)&3 =>2&3 故結果為 2

c語言習題求解第四題

12樓:飄零的狐狸

第一行 y=x++-1;

x 先使用 再加一 y=2-1=1 x=3第二行 y=++x-1;

x先加一 再使用 x=4 y=4-1=3第三行 y=--z+1;

z先減一 再使用 z=2 y=2+1=3最後一行。

z++先使用再 加一 所以 仍然是4++z先加一 但是前面已經是5再加一 變成6--z先減一 再使用 變為5

求c語言題目,求C語言題目

c語言經典100題 程式1 題目 有1,2,3,4個數字,能組成多少個互不相同且無重複數字的三位數 都是多少 1.程式分析 可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去 掉不滿足條件的排列.2.程式源 main 程式2 題目 企業發放的獎金根據利潤提成.利潤 i 低於或等於1...

C語言結構體題目求點撥,求解一道c語言題目 結構體的!!

1,3分別初始化cnum 0 x和cnum 0 y2,7分別初始化cnum 1 x和cnum 1 y因此輸出的結果為3 1 2 6 只是輸出一個6 結果是6 cnum 0 x 1 cnum 0 y 3 cnum 1 x 2 cnum 1 y 7 printf d n cnum 0 y cnum 0 ...

c語言的題,求解答,C語言題目,求解答

在這個函式里t只是一個用來傳值的引數,在主函式里呼叫findmax函式是通過t將陣列元素的個數傳給findmax的,所以在使用時t相當於一個常量。比如說int s 那麼t 3 開始時 p 0,k 0,p執行p p 1,k 0,ps k 執行k p,p p 2,k 1,p執行p p 3,k 1,p t...