這個C語言語句是什麼意思啊?還有作用是什麼啊?請詳細點回答,謝謝。我是C語言白痴

時間 2021-10-14 23:47:28

1樓:匿名使用者

void spi_out(unsigned char dat)//整個函式就是將dat這個值通過spi匯流排輸出

else

delay(1); //延時函式

/**************是否需要延時?**************/

sclk=set_sclk; /*得到時鐘訊號上升沿*/

delay(1);

dat<<=1; /*得到dat的最高位msb後將dat左移1位,逐步獲得8bit的每一bit*/

//dat<<=1這句是關鍵,是說你的最高位在上面已經被你傳送出去了。這裡的就次高位通過右移一位變成最高位。以後也是類似,最後dat這個值的所以位全部移出,這個值最後是0.

}sclk=reset_sclk; /*得到時鐘訊號下降沿*/

delay(2);

}好了,每一句我都加上註釋了。基本上就是這樣。

2樓:觀音大_溼

用軟體方式來模擬spi的時序 將字元dat傳送出去 程式沒什麼好說的 這是嵌入式的風格 如果你看不懂 就先把對應的晶片手冊 拿出來 然後看懂spi通訊這一章

3樓:

把一個位元組的8位從高到底設定到sdio上,也就是傳送出去。

c語言中,這個語句是什麼意思啊?

4樓:周大個子

tp = a;a = b;b = tp是交換了ab的指向,不影響主函式,t = *a;*a = *b;*b = t是改變了地址上的值,也就是把i和j的值互換。

所以函式中*a*b的輸出對應是j=3,i=7,主函式輸出ij這個沒什麼好說的,*p和*q還是ij的值。

5樓:day桃子

1)加*交換的是地址,會改變主函式中i和j的值,swap交換的是i和j的地址

2)不加*,不會改變i,j的值,i和j把自己的數值傳遞給swap函式中形參a,b,其交換的是a,b的值,對i和j無影響。

4) 總結:相當於你在main函式裡申請一個變數int i,它在swap函式裡是沒有這個變數i的,它們只在自己的函式裡有效。也就是說,交換的值只在swap函式裡有效,如果不用指標*的話交換,這時你也可以把swap函式返回值void改為int(即把i和j交換後的值返回到主函式)

5)對與你上面的註釋:註釋是對的,那兩種交換都會改變swap函式裡的a,b值,但申請的中間變數指標交換後不會改變i和j的值。中間變數一般不會使用指標,因為沒有賦初值的指標是野指標,它會亂指地址導致結果出錯,引數a,b指標接收了main函式中的值

6樓:黨雅徐芃

就像while(!x)

等歎號前面什麼也沒有,只有後面有一個變數或函式的東西表示的是什麼意思啊?

while迴圈,先判斷while後面的「()」裡面的表示式,如果真,則執行後面的迴圈體語句,否則結束迴圈。這裡的x是一個自定義的變數,!x的意思是根據x的值取反,如果原來x是非0值,則表示式的值為假,就不執行迴圈,如果x是0,!

x就是1,執行裡面的語句。

7樓:同樹菅鴻風

刪除d盤裡面的card.dat這個檔案

8樓:聊遠定洋

對於條件表示式b?x

:y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。

一個條件表示式絕不會既計算x,又計算y。條件運算子是右結合的,也就是說,從右向左分組計算。例如,a?

b:c?d

:e將按a?b

:(c?d

:e)執行。

《表示式1>

?《表示式2>

:《表示式3>;

"?"運算子的含義是:先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果;如果表示式1的值為假,則執行表示式3,並返回表示式3的結果。

可以理解為條件

?結果1

:結果2 裡面的?號是格式要求。也可以理解為是不是條件成立,條件成立為結果1否則為結果2。

注意:在c語言中,結果1

和結果2的型別必須一致。a?

b:c簡單理解方式為:

if(a) else

c語言是什麼意思?

9樓:甄成暢燕

c語言是一種計算機程式設計語言。它既有高階語言的特點,又具有組合語言的特點。它可以作為系統設計語言,編寫工作系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。

因此,它的應用範圍廣泛。

c語言對作業系統和系統使用程式以及需要對硬體進行操作的場合,用c語言明顯優於其它解釋型高階語言,有一些大型應用軟體也是用c語言編寫的。

c語言具有繪圖能力強,可移植性,並具備很強的資料處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫。它是數值計算的高階語言。

10樓:表西華景銘

c語言是一種計算機程式設計語言。它既具有高階語言的特點,又具有組合語言的特點。它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。

因此,它的應用範圍廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,具體應用比如微控制器以及嵌入式系統開發。

11樓:夙秋英鹿君

1.有()說明這是一個函式,這裡#definebegin_extern_c()用作定義

2.extern

"c"其實是和後面的這裡end_extern_c()表示}函式肯定要有{}的

12樓:鍾離興劉酉

1.begin_extern_c(),是個巨集代替符號,加()是為了表示這是個函式的巨集,從作用上來說可以不加()。

2.extern

"c"是c語文的用語,表示引用一個外部c函式。

3.{}表示這是個函式體。

總之這句的意思是,在這段函式裡,用「begin_extern_c()」這樣一個常量字串代替下面這個函式:

extern"c"

13樓:藏素枝家賦

其實這兩句是一樣的

b的ascii碼是66,而小寫字母的ascii碼正好比大寫字母的ascii碼大32,所以b的ascii碼是98

而「!=」在c語言中是邏輯運算子「≠」——不等於所以這兩個語句的結果都是「假」,也就是0啦

c語言中!是什麼意思?

14樓:蹉唱朋天韻

#include

"stdio.h"

main()

你會發現得到的是

-2這個東西是

按位取反

比如:假設是八位二進位制

那麼1的二進位制是

0000

0001

,按位反後為

1111

1110

,,這個就是計算機記憶體儲的結果了

而這個數是多少呢,

注意,最高位為1說明這是個負數

,負數在計算機內是補碼,想知道補碼的十進位制,要換成原碼步驟是,最高不變,其它位取反,最後位加1

所以1000

0001+1=1000

0010

這個二進位制代表-2

可以給出一個公式

,~n=-(n+1)

15樓:申綠定湃

23的二進位制為:

0000000000010111

(假如是int,為16位的話)

符號為」取反「運算子,

上述二進位制取反後為:

1111111111101000

如果a為int型,其(int16下)十進位制結果c為:

-24如果是int32(int預設為32位)的話,c其實也是為:-24

哈~~而a=23,c=~a,printf("%d",c);是一個逗號運算子,其結果是最後一個逗號後的值,

不過不能這樣寫啊,一定要分開!,寫為:

a=23;

c=~a;

printf(c);

16樓:匿名使用者

這是c語言的邏輯運算子:異或

這個**講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!

邏輯運算子把各個運算的變數(或常量)連線起來組成一個邏輯表示式。

邏輯運算子有4個,它們分別是: !(邏輯非)、 ||(邏輯或)、&&(邏輯與) ^(異或)。在位運算裡面還有 &(位與)、|(位或)的運算。

什麼是邏輯運算--邏輯運算用來判斷一件事情是「對」的還是「錯」的,或者說是「成立」還是「不成立」,判斷的結果是二值的,即沒有「可能是」或者「可能不是」,這個「可能」的用法是一個模糊概念,在計算機裡面進行的是二進位制運算,邏輯判斷的結果只有二個值,稱這二個值為「邏輯值」,用數的符號表示就是「1」和「0」。其中「1」表示該邏輯運算的結果是「成立」的,如果一個邏輯運算式的結果為「0」,那麼這個邏輯運算式表達的內容「不成立「。

例 1:通常一個教室有二個門,這二個門是並排的。要進教室從門a進可以,從門b進教室也行,用一句話來說是「要進教室去,可以從a門進『或者』從b門進」

用邏輯符號來表示這一個過程--能否進教室用符號c表示,教室門分別為a和b。c的值為1表示可以進教室,為0 表示進不了教室。a和b的值為1時表示門是開的,為0表示門是關著的,列表如下:

說明 c a b

2個教室的門都關著,進不去教室 0 0 0

門b是開著的,可以進去 1 0 1

門a是開著的,可以進去 1 1 0

門a和b都是開著的,可以進去 1 1 1

把表中的過程寫成邏輯運算就是: c = a || b 這就是一個邏輯表示式,它是一個「或」運算的邏輯表示式。這個表示式要表達的是這個意思--如果要使得c為1,只要 a「或」b其中之一為 1即可以達到。

所以「||」運算稱為「或」運算。

17樓:亢瑾瑜千淑

~按位取反

即把數值變成二進位制後取反。

結果為-24

23->10111(前面位補零,個數視機子位數而定),取反01000(前面的零變1),輸出格式"%d"

為有符號型。

比如我就用最簡單的8位來說:23->00010111,取反11101000,高位為符號位1,所以是負數,負數在計算機內以反碼形式儲存,反碼=二進位制取反(符號位不變)+1;所以原來的數為11101000-1=11100111,取反:10011000

為-24

18樓:柴奕琛曾風

1.if語句的一般格式

if(表示式)

[else

](1)if語句中的「表示式」必須用「(」和「)」括起來。

(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用。

(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用複合語句形式(即去掉花括號)。

2.if語句的執行過程

(1)預設else子句時

當「表示式」的值不等於0(即判定為「邏輯真」)時,則執行語句組1,否則直接轉向執行下一條。

(2)指定else子句時

當「表示式」的值不等於0(即判定為「邏輯真」)時,則執行語句組1,然後轉向下一條語句;否則,執行語句組2。如圖4-1(b)所示。

3.if語句的巢狀與巢狀匹配原則

if語句允許巢狀。所謂if語句的巢狀是指,在「語句組1」或(和)「語句組2」中,又包含有if語句的情況。

if語句巢狀時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對。

為明確匹配關係,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來。

C語言中的這個賦值語句是什麼意思

風若遠去何人留 將str的第一個和第二個字元賦值成 0x 同時p指向第三個字元。即等效於 str 0 0 str 1 x p str 2 滄海雄風 原字串為 abc 指標賦值為 0xc 指標所在位置 c press any key to continue 這個看了就明白了 include stdio...

在c語言程式中的for語句是什麼意思,括號內就是空的

手機使用者 i 的值是假,那麼執行括號後面的語句 程式中為跳出迴圈 它的作用是判斷當前for迴圈是否已經處理完了最後一個數,因為預先不知道具體有多少個數,只給個最大限200.表示邏輯非,即將真假值顛倒一下,if語句後面的括號中的值為真時執行括號後的語句,否則執行else後的 假如有else的話 而括...

在C語言中是什麼意思,C語言中 c 是什麼意思?

勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...