關於C語言的問題,關於c語言問題

時間 2022-04-29 03:28:20

1樓:匿名使用者

先說明一點,c語言中巨集和函式有些差別,巨集是**。第乙個例子,double(1+2)這個呼叫實際上是2*1+2,看,x被為1+2,然後根據運算子的規則(實際上應該說是優先順序),先運算2*1,再加上2,所以結果是4。第二個例子就更簡單了,同樣是,toupper(s[++i])這個呼叫,實際上它的**就是:

('a'<=(s[++i])&&(s[++i])<='z'?(s[++i])-'a'+'a':(s[++i])),看你的基礎不錯,這行**應該能理解,問題的關鍵在於巨集是**,後的**,變數i被加了3次(最後那個++沒有執行),當字元陣列s的下標是3時,對應的是字母d,再經過巨集的大小寫轉換,結果就是大寫字母d。

關於c語言問題

2樓:金色潛鳥

void vtaskstartscheduler( void ) privileged_function;

是函式定義,函式名 vtaskstartscheduler,( void ) 表示該函式是無參函式, 前面的 void 表示這個函式無返回值。 privileged_function 是巨集,預編譯期間,執行文字替代, 替代後這部分應形成 函式體。

3樓:完娟居晴波

c2為char型,1位元組

322超過1位元組表示範圍,溢位後截斷為66,即字元'b'的ascii碼值

4樓:麼彰疏凌曉

1、有定義:int

n=0,*p=&n,**q=&p;,則以下選項中,正確的賦值語句是(d)

a.p=1;

b.*q=2;

c.q=p;

d.*p=5;

解:*p為一級指標,其中p為指標的位址,**q為二級指標,其中*q為指標的位址,只能給變數或指標變數賦值,不能給位址賦值,所謂位址,就是由acs碼構成,簡單的說,就是每個人都有乙個名字(位址)一樣,目的是要區分每個人(位址中儲存的值)。

2、若有說明:int

n=2,*p=&n,*q=p;,則一下其非法的賦值語句是(d)

a.p=q;

b.*p=*q;

c.n=*q;

d.p=n;

解:同上。

3、有以下程式:

void

fun(char

*a,char

*b)main()

(char

c1='a',c2='a',*p1,*p2;

p1=&c1;

p2=&c2;

fun(p1,p2);

printf("%c%c\n",c1,c2);

}程式執行後的輸出結果是(a)

a.ab

b.aa

c.aa

d.bb

解:這是指標傳值(位址傳值),實參傳給形參,其實就是p1(實參位址)與a(形參位址)共用乙個位址,p2與b共用乙個位址,a=b並沒有改變位址a中儲存的『a』,而是讓*a指向位址b,進而改變或控制位址b中存放的值,所以c1=『a』不變,而(*a)++,就是字元『a'的asc碼加1,也就是字元『b'那麼位址b中的值就變成了字元『b'。

4、以下程式執行後的輸出結果是___1_1_1_1___

main()

}解:上面的q等於1吧,

當i=1;n[1]+q=n[0]*2+1=0*2+1=1;

i=2;n[2]+q=n[1]*2+1=0*2+1=1;

i=3;n[3]+q=n[2]*2+1=1;

i=4;n[4]+q=1;

5、有如下程式:

#include

main()

若文字檔案f1.txt中原有內容為:good,則執行以上程式後檔案f1.txt中的內容為(c)

a.goodabc

b.abcd

c.abc

d.abcgood

解:簡單的說就是以「w(寫生成)」開啟的檔案,檔案內的原始資料將被刪除。這東西不是一兩句就能解釋清楚。

同學,你的c要好好加油啊,這都是些很基本的問題。

5樓:逢恩柔語

c的函式實際上就是乙個**功能模組,完成一定的操作。有些操作並不需要有什麼事先設定的操作物件,如在螢幕上顯示系統的當前時間,就可以寫乙個沒有引數的函式把系統時間字串輸出的螢幕上就可以了——類似這樣的需求是很多的,都可以編制無參函式實現。

關於C語言的問題,關於c語言的問題

選a,輸入函式scanf 是不能指定小數點精度的,d也不對,因為輸入的必須是位址,可以改成scanf f a 就對了。scanf f a 答案是d,應為你定義了實數,實數本身就可以帶小數點的,沒必要申明,在輸出時申明保留兩位就行了。scanf a scanf函式對小數字數沒有限制!關於c語言的問題 ...

關於C語言的問題,關於c語言的問題?

include using namespace std define limetline double f double x int main else 以下取本輪的誤差。dlim b a while dlim limetline 當 誤差限 小於 允許範圍時,中止迴圈,cout 方程的解是 dmi...

關於c語言函式問題,關於C語言函式問題

一般判定都是為真執行,為假不執行 圖中的 p指的是 以p變數的內容為位址的變數 而你只要看看,它所指向的變數的值是不是0,如果不是0,那麼就會執行 這個地方其實不用換成for,該用什麼用什麼,如果是題目需要的話就只能這樣寫了 for p p 10 然後在裡面寫一堆語句.不過我是沒這樣寫過,不太清楚....

c語言 關於sizeof問題,C語言 關於sizeof問題

我來回答你的問題 sizeof函式的意思是統計變數長度。int的長度長2個位元組 char的長度長1個位元組 float的長度長4個位元組 union uuua的長度取決於其中成員中最長的變數的位元組長度,在這裡為char型別,共五個元素值,長度為5。那麼開始統計總長度也就是2 1 4 5 12 希...

關於C語言的問題,C語言報錯的問題?

int getv 差不多這個意思,你參考一下,主要題目沒怎麼看懂 這種寫法本身無實際意義,僅是為了理解運算子使用的。該表示式等效於 z x y 具體如下 一 z x y,x y 這個表示式可以分為如下幾部分,從小到大依次為 x y 模除取餘 x y 除法計算 x y,x y 逗號運算子,值為最後乙個...