C語言問題,c語言問題?

時間 2021-09-08 19:07:17

1樓:自我程式設計

列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。

2樓:理佑平鄲胭

結果是22

7+7+8=22

你可以將

(++i)+(++i)+(++i)

++i是先+1再計算,還有這裡的運算順序是從左到右,所以應該是7+7+(++i)=14+8=22(前兩個相加時,i先加1,加了兩次,所以是7,因為第三個++i還沒運算到,所以保持不變)

3樓:晏桂枝黎嬋

有錯誤,指標變數s沒有被初始化,它指向乙個未知的儲存單元,而後面出現了*s=*(p+3);

這時對指標變數s引用可能會破壞程式或資料。

應改為int

*s=null;

4樓:成士恩線甲

數學知識你學過不少了吧,數學裡面的一些固定公式,類似某個定義,不同公式之間是互不影響的,然後你做題的時候直接套用某某公式就行,函式也是這樣,只是函式是由你自己寫的公式,然後自己寫函式呼叫它!至於函式內部該怎麼寫,就看具體問題分析了!

5樓:匿名使用者

就是這個:「ok」(不加引號),因為迴圈後面有分號

6樓:開巨集韋

看ok放的位置了,如果在for語句裡邊,那就輸出3次,如果在外面就一次

7樓:

c語言的問題想解決的話直接上網上尋找。

8樓:匿名使用者

現在這需要還有人學習?都快退出歷史舞台了

9樓:yx陳子昂

okokok

迴圈三次

c語言問題?

10樓:月光下的

您好,很高興回答問題。

對於c語言中的靜態儲存變數而言,完整定義形式為static int,但是也可以省略int,只要有static就能預設為帶有int.

以上就是我的回答,希望能幫助到您。

c語言問題。

11樓:暢景彰

void main()

這個程式應該滿足你的要求了,而且我已經通過除錯了。

c語言問題?

12樓:禚菊忻子

朋友16進製制的數沒有負數,用手錶做例子,最大到12對嗎?那麼12點以後呢還是1點,又繞回去了,逢12進1,那麼你的問題就是逢16進1啊,0000就是0啊,那麼0-1就是f,f+1=0,所以-1就是等於ffff,這個是舉例子和大白話解釋方便你能看懂。

13樓:賓興胡昭

編碼格式確定的,負數是使用補碼形式表示的。把正數轉負數是按位取反再加1。

如1取反後是二進位制的:1111

1111

1111

1110,

再加1就是:

1111

1111

1111

1111,即16進製制的ffff。

這種編碼的好處就是:1+

(-1)

=0;符合一般的計算結果。

14樓:鄧廷謙尤酉

答案是b。。多維陣列的元素是線性儲存的。所以在記憶體中a陣列是存放在一片連續的記憶體空間裡。元素的順序為:a[0][0]

a[0][1]

a[1][0]

a[1][1]

a[2][0]

a[2][1]

。c語言對陣列下標越界不作檢查,所以a[0][2]是合法的。它相當於a[0][1]的下乙個元素。

而a[0][1]在記憶體中的下乙個元素其實是a[1][0]。所以a[0][2]=a[1][0]=1

3/2/1,結果是1啦。。

15樓:臧夏畢靜

先算括號...

然後賦值運算是從右至左運算的...所以先算a+=(a+b),a的值變為15(且a+=(a+b)表示式的值也是15),然後算b+=a+=(a+b),由於a+=(a+b)表示式的值是15,所以就相當於b+=15,b的值就變為20,同理表示式b+=a+=(a+b)的值是20,最後算a%=b+=a+=(a+b),相當於a%=20,最後a的值變為15...

16樓:胥萱長裳

答案是c

因為八進位制數首先得是0~7之間的數字

並且由0開頭

所以a,b不對

八進位制的小數不可以用01.1表示,可以寫為(1.1)q或者(1.1)右下角標註8

而c-077是八進位制的負數表示

是對的o(∩_∩)o~

17樓:樊枝亓夏萱

結果是22

7+7+8=22

你可以將

(++i)+(++i)+(++i)

++i是先+1再計算,還有這裡的運算順序是從左到右,所以應該是7+7+(++i)=14+8=22(前兩個相加時,i先加1,加了兩次,所以是7,因為第三個++i還沒運算到,所以保持不變)

18樓:山之尉添智

1time*=bs;

sum+=

(bs*1.5)*time;

//應該是錯的吧。

應該改為

sum=40*

bs;sum

+=(time

-40)

*15;

//得到的才是總金額。

2.a=sum-300;

//這個是計算超過300多少。

b=a-150;

//這個是計算超過450多少。

//計算不同稅率下要交的稅金

x=b*otr;

//計算超過450後要交多少稅

y=(sum-a)*ltr;

//計算前300要交多少稅

z=(sum-b)*str;

//這個估計是錯的。應該改為:z

=(sum-b

-300)

*str

計算的是稅率下乙個150美元要交的稅

19樓:zero娟

分別用位址法(通過陣列名計算元素位址)、指標法改寫程式,來實現對二維陣列的訪問和操作:編寫乙個主程式,生成乙個選單介面,當輸入1時,呼叫矩陣賦值函式,為5*5的矩陣賦初值;當輸入2時,呼叫矩陣轉置函式,對該矩陣進行轉置操作;當輸入3時,將該矩陣上三角所有元素值變成0;當輸入4時,求該矩陣對角線所有元素的平均值;當輸入5時,將該矩陣下對角線元素變成1,當輸入0時,退出程式。

c(程式語言) 計算機 c/c++ 程式設計 程式語言

20樓:真舒

語言問題一樣一樣,有很多的問題吧!

c語言問題?

21樓:考驕

用指標將兩個字串鏈結接起來,

前乙個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中

最後乙個空寫的應該寫return s1

22樓:長魚修韋

很久沒碰這東西了。

我來解釋下:

第乙個while的迴圈是為了讓指標指向第乙個字串的結尾,其目的是讓第乙個字串做主串用。

第二個while的迴圈功能是字元連線。我們從第乙個while迴圈得知,第乙個字串是做主串用的,指標已指向該串的結尾。那麼第二個while迴圈是從第乙個字串結尾開始自加, 第二個字串首位址自加。

(*s1=*s2, 這個你不要被誤導了,這個是當前s1

第三個s1=p, 這樣理解:先前時, 已有一段char ****x的, 這個是為了儲存s1首指標位址的。現在s1=p 是為了讓s1指標重新得到它的首位址。

有朋友說要return啥的, 這個是不需要return。 因為該函式定義的形參是指標型別。形參的改變可以影響實參的改變。

這個題目是考察對指標的理解和基本用法。

23樓:天神在此

p指標指向字串s1首部

第乙個while讓指標s1移動到字串s1尾部第二個while把字串s2拷貝到字串s1(指標s1移動到字串s1尾部了,這是追加在s1字串後面)

最後乙個s1=p應該可以不要,s1是區域性變數(形參)不會影響實參,只要兩個while和*s1='\0'就夠了,不需要指標p,而且函式沒有返回值,樓上說return s1也不對,也不需要返回值

c語言問題?

24樓:澄雯賽空

for(k=1;k+1;k++)

中,k=1是設循bai環du的初值,zhik+1是執行循dao環的條件,k++是迴圈的增量回。

k=1時,k+1=2,為非0,c語言中,0代表答假,非0代表真。

所以,k=1時往下執行迴圈,

滿足k<4

列印k的值,即1。

break

退出for

迴圈,下面的printf("%d",k++);

沒有執行。

所以,程式的執行結果是1

25樓:聽不清啊

最後資料型別自動轉換的結果是double型,因為是向長度最大的型別轉換的。

26樓:匿名使用者

應該是d double

27樓:叫我淡藍

s是char型別,可以ascii變int型別115

115+23-2.56=135.44

所以選b

28樓:褚姣姣威智

答案是b。。多維陣列的元素是線性儲存的。所以在記憶體中a陣列是存放在一片專連續的記憶體空間裡。元素的順

屬序為:a[0][0]

a[0][1]

a[1][0]

a[1][1]

a[2][0]

a[2][1]

。c語言對陣列下標越界不作檢查,所以a[0][2]是合法的。它相當於a[0][1]的下乙個元素。

而a[0][1]在記憶體中的下乙個元素其實是a[1][0]。所以a[0][2]=a[1][0]=1

3/2/1,結果是1啦。。

29樓:森布彭宣

可以對調,也可以寫在同一行

disc的意思是將b*b-4*a*c運算得到的值賦給disc,也就是說它是乙個變數

30樓:蟻昂雄賞敬

1,逗號表示式的值是最後乙個的值,前面給t賦值為1,然後t+5只是做了運算,沒有把值賦給t,最後t自加,但是是後自加,所以先取其值在自加,整個表示式值為1,t為2.

31樓:納喇樂松丘火

錯誤為d

原因:要說明這個錯誤的原因我要先解釋下什麼叫做函式形參函式形參就是函式的形式引數

也許這樣說你不太明白

舉個列子吧

例如:函式:int

test(int

i)說明這裡的i就是形參

所以d是錯誤的

32樓:冷冷冷冷

很高興為您解答!

答案選b哦

c語言問題?

33樓:匿名使用者

初始化三個變數a,b,c這個簡單不解釋,緊接著,注意,所有的if語句都省略了花括號{},簡言之,if語句如果判斷為true,則執行緊接著的語句,如果判斷為false,則跳過緊接著的語句。

由此,第乙個a>b為false,所以不執行a=b;

接著執行c=a=3;

然後if語句,c!=a為false,所以不執行c=b;

所以,最後a=3,b=5,c=3

僅供參考,如有錯誤,請各路大神及時指出糾正

34樓:喜羊羊

第三句c=a;它不是在前面的if塊裡,因為if塊沒有帶大括號{}。

所以c=a這句話肯定會執行的。

35樓:漫奕琛寧媼

因為a在計算機裡實際是以二進位制存的啊。。。。二進位制的話沒有3333.333333這個數的表示,只能轉換成3333.333252。相當於十進位制中的四捨五入,不過是在二進位制下的而已

36樓:相貝

指數形式。如3.4028e38就代表3.

4028e38x10的3次方,但注意字母e值錢必須有數字,且e後面指數必須為整數。如e3、2.1e3.

5等都是不合格的指數形式

37樓:辛清婉零人

a前面缺少型別,但是如果寫上char,那麼就是重定義,因為一開始就已經定義了。

c語言問題,求助

38樓:北京最遊科技****

這題是迷惑人用的……

因為迴圈內部沒有break,所以for會一直執行下去,直到a=11,。這時a大於10,迴圈結束。

最終a的值為11

39樓:岔路程式緣

for(a=0;a<=10;a++)

直到a=11時,迴圈結束。迴圈體對a的值沒有影響,包括continue對迴圈沒有影響。

所以,最後列印a的值是11,選項b。

c語言問題,C語言問題。

考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...

c語言問題,C語言問題?

這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...

c語言問題,C語言問題 int p int malloc sizeof int

樂跑小子 int p 定義一個指向整型的指標變數p int malloc sizeof int 建立 動態申請 一塊記憶體空間,建立的記憶體空間為一個整型變數的長度,並把建立的空間地址轉化成指向整型的指標賦值給前面的整型指標變數p 如果這塊動態記憶體不釋放,相當於把一個整型變數的地址給前面的指標例如...