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

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

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語言程式設計

望採納 1 include稱為檔案包含命令,擴充套件名為.h的檔案稱為標頭檔案。2 main是主函式的函式名,表示這是乙個主函式。每乙個c源程式都必須有,且只能有乙個主函式 main函式 3 float實型也稱為浮點型。實型常量也稱為實數或者浮點數。實型變數分為 單精度 float型 雙精度 dou...

C語言中switch語句什麼意思

小u自 switch在c語言中是保留字,其作用是進行判斷選擇。switch 開關語句 常和case break default一起使用。switch用在程式設計中,如c語言中它經常跟case一起使用,是乙個判斷選擇 其功能就是控制流程流轉的。直線翻譯 switch語句,即 切換 語句 case即 情...