C語言入門問題,新手C語言問題

時間 2023-04-14 04:30:04

1樓:匿名使用者

你輸入a,b沒必要加個c進去吧!要加c,你也要給c輸入個值進去!

輸入的時候格式最好保持一致,不然進行格式轉換,容易出錯!定義float 格式控制符為%f,int的格式控制符為%d

還有你看看你的scanf語句,第一個不是d,至少也是%d吧,可能是你提問寫錯了哈!

正確寫法:有幾種:先寫一種給你看哈!

main()

輸入100,200

一定行的!希望能幫到你!輸出。

2樓:匿名使用者

宣告的時候是float型別,scanf中的格式控制符用錯,要用%f。 %d是整型的。

輸入的時候要輸入 要以小數的型式輸入。

再就是scanf中的幾項對應幾項。

3樓:匿名使用者

scanf它會自動的根據你寫的程式萬用字元來判斷你資料的格式!

你寫的是scanf("%d%d",&a,&b,&c);它認為你輸入的數字是賦值給a 和b的(如果你輸入的時候資料之間是空格分隔開的!)

可以改成scanf("%d%d%d",&a,&b,&c);

printf("%d%d",a,b);

4樓:匿名使用者

這麼改:int a,b,c;

scanf("%d%d",&a,&b,&c);

printf("%d%d",a,b);

輸入:123(回車)

456(回車)輸出:

5樓:匿名使用者

你的a和b實際上沒有輸進去。

還是建議你仔細的去看看基本的語法吧,那是基礎。

學習還是要踏實,步步為營的好。

6樓:匿名使用者

這下對了,scanf和printf的%d都換成%f

新手c語言問題

7樓:梅秀雲焉嫻

問題一:c語言中int

main()和void

main()有什麼不同?

答:intmain()必須返回一個int的數值。

voidmain()不需要返回資料。

問題二:在網上看到一段話:

「可以指定一個整型常量為二進位制、八進位制或十六進位制,如以下語句:

-129,0x12fe,0177

常量的前面有符號0x,這個符號表示該常量是十六進位制表示。如果前面的符號只有一個字母0,那麼表示該常量是八進位制。

有時我們在常量的後面加上符號l或者u,來表示該常量是長整型或者無符號整型:

22388l,0x4efb2l,40000u」

答:前面加-代表是有符號數。

0x代表(hex十六制)

0代表oct八進位制,不過八進進位制用的少,而且並不通用,你可以放棄八進位制了。

進位制的就不多說了,一門語言的基礎了,l就是long,u就是unsigned.

組合就多了,long

int;long

float等,unsigned

char;unsigned

int等;

新手求教關於c語言的問題

8樓:匿名使用者

debts[20] 你首先要理解他是在棧裡面申請了20個浮點型別長度的空間,然後指定空間裡面的數值代表的是浮點數,也就是說從起始開始32位*20的空間都是他所佔的記憶體。

然後看你的問題。

1、二十個元素可以一樣也可以不一樣,它只是表示一段空間,你可以強制轉換成其他型別,不過目前你還不需要理解這些東西。就像我說的debts[5]相當於從陣列開頭的那個地址開始數到底6個32位的地方(0-5)然後往那個地址裡面寫入的二進位制碼。

也就是付給你所申請的二十個元素中的第6個元素。

2、就合開頭的說法一樣,其實debts[20]算錯也不算錯,從陣列意義上來說他超出了申請範圍,所以是錯的,但是從計算機而言,它相當於代表了從陣列開始按浮點32位計算第21個記憶體空間中的數值,同理33也是,所以他們都是對的,你可以手動給他們寫數值。

3、相當於隊第五個元素做覆蓋動作,和4完全沒有關係。相當於你一幢20層樓的房子,5樓住了一戶人家,關你四樓什麼事情。

從你的問題看,應該確實是剛開始學c的人,建議不要考慮問題二里面提到的問題,因為考試裡面絕對不會考慮到這些的,你如果寫了肯定就算你錯。而且容易讓你搞混。

9樓:萬條拙手

1、每個元素是獨立的,其地址依序排列。每個元素的取值可以相同。該值賦給了陣列的第6個元素。

2、宣告debts[20]意味著這個陣列只有20個元素,[20]是第21個元素,[33]是第34個元素,訪問不存在的元素當然會報錯。

3、不是。是向debts[4]這個變數所在的地址寫入資料,也即給debts[4]賦值。

10樓:木瓊玥

不對的float a[20]相當於是定義了float a[0],a[1],a[2],.a[19]就完了 沒有a[20] 也就更沒有a[33]了 每一個陣列下標都是從0開始 到n-1結束。

那麼debts[4]就是第五個元素懂了嗎。

關於c語言小問題

11樓:匿名使用者

在c語言中邏輯「真」bai的du定義是:非0即為真。

在a中\0'不被編譯zhi器認,dao報錯,再說也回沒有使用「答'」的轉譯字元;

在b中,0為假;

在c中0'不被編譯器認,報錯;

在d中null在編譯時認為是假。

所以本題應該是沒有答案的。不過如果c中的「'」為何運算還不被確定,在c語言中應該沒有這個運算。

這題要是勉強的話只可以選擇d。

12樓:葛朋

是選項有問題還是認為選d可以。

13樓:鏡奇買以南

#include

#define

letter

1//預處理bai語du句zhi,後下邊。

dao有關係的。

intmain()

return0;}

#ifdef 識別符號 //當識別符號已經被#define定義過,則編譯程式段1,否則編譯程式段2

程式段1#else

程式段2#endif*/

c語言入門問題?

14樓:匿名使用者

s+=n是s=s+n的簡寫形式。

一開始s=0

開始迴圈,n=1

於是s=s+n= 0+1=1 ,這時s=1了,接著n++,於是n=2s=s+n =1+2=3 ,這時s=3了,n++ 於是n=3s=s+n=3+3=6,以此類推。

最後一次s=4950了,n=100

於是s=s+n=4950+100=5050說到這樣還不明白,重新開書,看仔細了。

c語言初學者遇到一些小問題?

15樓:半田明月

第五個表示式「i==5&&c&&(j=8)」根據優先順序計算如下:

1、先算(j=8),結果為8,即:i==5&&c&&82、再算i==5,結果為0(假),即:0&&c&&83、然後算0&&c,結果為0(假),即:

0&&84、最後算0&&8,結果為0(假)

由第4步可知第五個表示式結果為0

簡單c語言小問題

16樓:皮蛋工程師

do迴圈程式段可以等效簡化為:doi=i+1;//1)

if(i%2!=0)

x=x+i;//2)

i=i+1;//3)

y=y+i;//4)

i=i+1;//5)

}while(i<=7)

do迴圈過程如下:第一遍do迴圈中:

(1)式i=1

(2)式x=1

(3)式i=2

(4)式y=2

(5)式i=3

第二遍do迴圈中:

(1)式i=4

(2)式不執行。

(3)式不執行。

(4)式y=6

(5)式i=5

第三遍do迴圈中:

(1)式i=6

(2)式不執行。

(3)式不執行。

(4)式y=12

(5)式i=7

第四遍do迴圈中:

(1)式i=8

(2)式不執行。

(3)式不執行。

(4)式y=20

(5)式i=9

退出do迴圈。

結果x=1,y=20.

需要注意:單個語句(i++;i;)均等價於(i=i+1;),

語句(y=y+i++;等價於y和i相加後的值賦值給y,然後i再自增1

謝謝!望採納!

幾道c語言的入門問題,給過程,**等

17樓:我醉欲眠9卿且去

c,以0開頭是八進位制,d單精度有效位數是前七位,當然不包括小數點,但是小數點後面預設保留6位小數,如果不夠6位用0填充。

ox10,&是個 位與運算子號。

0x14&0x18 就是 0001 0100& 0001 1000

確定 第5位是否為1只要與0x10進行位與b&0x10 結果是1第5位就是 1否則為0同樣16進位制的 20 35

ox10

18樓:匿名使用者

cb0x10

b&10000<<4==1

0x10解釋:第五題,20,35二進位制分別為。

1000=0x10

19樓:天蠍哆哆

0開頭表示8進位制後邊的數應該是 f表示單精度,不寫的話預設都是雙精度 按位與。

4.(b>>3)&0x1 ==1 確認b的bit3是否為 %x把20,35當做16進位制讀取,讀取後按位與,即0x20&0x35,然後以16進位制輸出結果。

簡單的c語言問題

20樓:沐然

第一個問題:2/4實際的值是,但是由於是整型數值進行運算,所以,它的值系統會截斷,即為0,那麼後面的表示式為0,所以第一個式子的值為x,即。

第二個問題:這個表示式其實是一個逗號表示式,逗號表示式的值是最後一個語句,即x+1的值,但是這個過程裡要從左至右依次進行運算。

第三個問題:c語言裡變數或常量的命名只能有:字元(a-z,a-z),數字和下劃線,而且首字母不能為數字。

21樓:

若有定義語句:int a=7;float x=;y=;則表示式x+a%3*(int)(x+y)%2/4的值是( )

x+a%3*(int)(x+y)%2/4

(y=6,y+1,x=y,x+1)

這個表示式的值為什麼等於7啊?

逗號表示式的值是最後一個表示式x+1的值。

'as' -0fff '\0xa' 0x48a 它們四個為啥是非法字元啊?

'as' 與'\0xa'超過一個字元。

0x48a數值超過一個位元組表求的最大值255-0fff數值超過一個位元組表求的最大值255

22樓:匿名使用者

a%3就是7%3=1

1*(int)(

於是表示式的值與x相同,但是是浮點數,因此為,輸出6位小數。

C語言入門問題

第一個,for迴圈只對後面的第一個語句起作用,除非加 表示 裡面的內容都是迴圈體 第二個,5和9是int型的變數,5.0和9.0是浮點型,5 9 0,但5.0 9.0就等於0.555556了不一樣的。根據需要選擇要int還是浮點數 回答你的第一個問題 for 如果不加中括號 那麼他只能控制for 下...

C語言問題,C語言問題C語言問題

選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...

c語言的問題新手問題很簡單的,C語言的問題 新手問題 很簡單的

由程式中 k 017 得知這是一個八進位制數,而結果是已十進位制輸出所以把017化為十進位制是15,在 得16 g 111 得知這是一個十進位制數,而輸出要求是十六進位制數,111的十六進位制表示為6f,但是由於是g 是先操作後加加,所以輸出仍然是6f,然後再加,此時g應該是70.這裡應該注意 a,...