當前位置:首頁 » 編程語言 » c語言中高電平運算表達式
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中高電平運算表達式

發布時間: 2022-06-20 04:59:53

1. 基本的單片機c語言編程問題P1=0xff高電平

51單片機是8位的,意思就是每一組埠都有8個位;轉換成2進制為1111 1111,10進制為255,16進制為0xff,
比如我現在要讓P1口全亮(高電平為亮),那麼是不是P1^0到P1^7這個8個埠全部為1,那麼就為:
P1 = 2#1111 1111;但是在keil軟體中不可以用2進製表示,那麼我們就用10進制或16進制來賦值,
P1 = 0XFF;
P1 = 255;
如果 P1 = 0X01,這個意思就是P1^0這個埠為1,其它的埠都為0;
你主要是進制沒學好,回去復習下各種進制轉換就好了.

2. C語言中表達式是如何運算的那些運算符什麼意思

表達式在編譯時,計算機是這么理解的,先把表達示全部壓入棧內,然後再彈出,如果發現彈出的是運算符,則等到再彈出另一個運算符,比較兩個運算符的優先順序,如果前者優先或同級的話,則將運算符的前一個出棧數和後一個出棧數進行該運算符的運算,然後把運算結果入棧;如果優先順序小的話,則再繼續彈出棧頂元素.直到有一個運算符被運算,並且結果入棧,然後把未使用的出棧數和出棧運算符,按出棧的先後再次入棧(先出後入,後出先入).最後整個表達示得出結果.

這個過程一般被理解為按右結合.
比如表達示:
x=x*x+4^y+5+6+7
x=3;
則x的求值過程為:
x=4*4+4^2+5+13
x=x*x+4^2+18
x=x*x+34
x=9+34
x=43
賦值運算符的優先順序一般最小,是最後計算的.所以得出43的值再賦值給x
-=,+=,*=,/=也算是賦值運算符,他們叫做復合運算符,和賦值運算符同一優先順序,按右結合原則運算.

我再補充一點吧

以下全部引用自:(<<C語言編程寶典>>)

各個運算符:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
————————————————————————————
+ 加, 一目取正
- 減, 一目取負
* 乘
/ 除
% 取模
-- 減1
++ 加1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
—————————————————————————————
&& 邏輯與
|| 邏輯或
! 邏輯非
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
—————————————————————————————
> 大於
>= 大於等於
< 小於
<= 小於等於
== 等於
!= 不等於
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
操作符 作用
————————————————————————————
& 位邏輯與
| 位邏輯或
^ 位邏輯異或
- 位邏輯反
>> 右移
<< 左移
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Turbo C運算符的優先次序
━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━
表達式 ┃優先順序
————————————————————————————╂————
()(小括弧) [](數組下標) .(結構成員) ->(指針型結構成員)┃ 最高
————————————————————————————┃ ↑
!(邏輯非) .(位取反) -(負號) ++(加1) --(減1) &(變數地址)┃ │
————————————————————————————┃ │
*(指針所指內容) type(函數說明) sizeof(長度計算) ┃ │
————————————————————————————┃ │
*(乘) /(除) %(取模) ┃ │
————————————————————————————┃ │
+(加) -(減) ┃ │
————————————————————————————┃ │
<<(位左移) >>(位右移) ┃ │
————————————————————————————┃ │
<(小於) <=(小於等於) >(大於) >=(大於等於) ┃ │
————————————————————————————┃ │
==(等於) !=(不等於) ┃ │
————————————————————————————┃ │
&(位與) ┃ │
————————————————————————————┃ │
^(位異或) ┃ │
————————————————————————————┃ │
|(位或) ┃ │
————————————————————————————┃ │
&&(邏輯與) ┃ │
————————————————————————————┃ │
||(邏輯或) ┃ │
————————————————————————————┃ │
?:(?表達式) ┃ │
————————————————————————————┃ │
= += -=(聯合操作) ┃ │
————————————————————————————┃ │
,(逗號運算符) ┃ 最低
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3. 求C語言中各類運算符的高低級別要各種,全面的!

優先順序 最大為1 最小為15

1 . [] () -> 從左向右結合

2 ++ -- * & ! ~ sizeof 從右向左一次結合 ( * 指針運算)

3 / * % (*為乘號) 從左向右結合

4 + - 從左向右結合

5 >> << 從左向右結合

6 <= >= < > 從左向右結合

7 == != 從左向右結合

8 & 從左向右結合

9 ^ 從左向右結合

10 | 從左向右結合

11 && 從左向右結合

12 || 從左向右結合

13 ?: 右向左一次結合

14 賦值運算符 如 = <<= += 等 右向左一次結合

15 逗號表達式 ,

4. C語言運算符與表達式問題

++x 是在本句中先將x的值+1,然後使用+1後的值
y++ 是先使用原值,然後在以後使用+1的值

這樣在printf語句中 ++x即 4, y++為3
但是(++x,y++)是一個表達式,只能有一個值,這個值是3,因為取的是逗號運算符後的值作為整個表達式的值(逗號運算符的性質如此)

而z+2則作為臨時變數值顯然是3
所以出來了3,3

5. C語言 什麼是表達式

C語言表達式的定義是:用C語言運算符將運算對象連接起來的式子,就叫表達式。

C語言在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。

當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。

基本構成:

數據類型:C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。

常量與變數:常量其值不可改變,符號常量名通常用大寫。

變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

數組:如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,中括弧內的索引值是從0算起的。

指針:如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。

指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。

字元串:C語言的字元串其實就是以''字元結尾的char型數組,使用字元型並不需要引用庫,但是使用字元串就需要C標准庫裡面的一些用於對字元串進行操作的函數。它們不同於字元數組。使用這些函數需要引用頭文件<string.h>。

文件輸入/輸出:在C語言中,輸入和輸出是經由標准庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件<stdio.h>;中。

(5)c語言中高電平運算表達式擴展閱讀:

C語言表達式中運算符號:

比較特別的是,比特右移(>>)運算符可以是算術(左端補最高有效位)或是邏輯(左端補 0)位移。例如,將 11100011 右移 3 比特,算術右移後成為 11111100,邏輯右移則為 00011100。因算術比特右移較適於處理帶負號整數,所以幾乎所有的編譯器都是算術比特右移。

運算符的優先順序從高到低大致是:單目運算符、算術運算符、關系運算符、邏輯運算符、條件運算符、賦值運算符(=)和逗號運算符。

參考資料:網路-C語言

6. c為高電平c語言怎麼寫

嵌入式。c為高電平c語言及編程方法數目繁多程序卻鮮有介紹,編寫優質嵌入式c語言涉及面十分廣縮短程序員時間長的過程。

7. 怎樣在C語言中用運算邏輯表達式表達

首先判斷某一年為閏年的條件是:能被4整除,同時又能被100整除,或者是能被400整除。

假設某一年為x,那麼這個表達式就可以寫為:if((x%4==0&&x%100==0)||x%400==0)這樣只要滿足if裡面的條件就可以判斷該年是閏年了。

還有一點提醒一下吧,像這樣的數學表達式:0=<x<=10,在C語言裡面的寫法跟它是不同的:x>=0&&x<=0

其它的表達式就都可以這樣類推了~

下面提供一個判斷某一年是否為閏年的代碼:

#include<stdio.h>
main()
{
int
x;
printf("Enter
a
year
x:");
scanf("%d",&x);
if((x%4==0&&x%100==0)||x%400==0)
printf("%d是潤年\n",x);
else
printf("%d不是潤年\n",x);
}

簡單的介紹一下邏輯運算符:

!:邏輯非;
&&
:邏輯與;
||
:邏輯或。

其中邏輯與
和邏輯或是雙目運算符,邏輯非是單目運算符。

1.能被4整除,但不能被100整除,也就是說能被4整除的同時不能被100整除:(x%4==0)&&(x%100!=0)

2.能被4整除,又能被100整除:
x%400==0,

1
2之間是或者關系::(x%4==0)&&(x%100!=0)||(x%400==0)

8. c語言,在多種運算符的表達式中,運算流程是怎麼樣的

優先順序1-15,同級按結合方向

1.最高級運算符(左結合):

  • []

  • ()

  • .

  • ->

2.單目運算符 (結合):

  • - (負號)

  • ~

  • ++

  • --

  • * (按地址取值)

  • & (取地址)

  • !

  • (type) (強制類型轉換,如(int)變數名,或許type(變數名) 會更好看)

  • sizeof

3.算術運算符I(左結合):

  • /

  • *

  • %

4.算術運算符II(左結合):

  • +

  • - (減號)

5.位運算符I(左結合):

  • <<

  • >>

6.關系運算符I(左結合):

  • >

  • >=

  • <

  • >=

7.關系運算符II(左結合):

  • ==

  • !=

8.位運算符II(左結合):

  • & (按位與)

9.位運算符III (左結合):

  • ^

10.位運算符IV(左結合):

  • |

11.邏輯運算符I(左結合):

  • &&

12.邏輯運算符II(左結合):

  • ||

13.條件運算符(結合):

  • : ?(唯一一個三目運算符,糟糕的設計)

14.*後賦值(結合):

  • =

  • /=

  • *=

  • %=

  • +=

  • -=

  • <<=

  • >>=

  • &=

  • ^=

  • |=

15.逗號運算符(左結合):

  • , (相當於「;」,不斷開語句的前提下連接表達式,配合不產生嵌套的分支與循環使用,糟糕的設計)

9. 在C語言中:表達式是什麼意思

一、表達式的意義

[1]引表達式,是由數字、算符、數字分組符號(括弧)、自由變數和約束變數等以能求得數值的有意義排列方法所得的組合。約束變數在表達式中已被指定數值,而自由變數則可以在表達式之外另行指定數值。
給與自由變數一些數值指定,可能可以給與一個表達式數值,即使對於一些自由變數的值,表示式或許沒有定義。因此,一個表達式代表一個函數,其輸入為自由變數的定值,而其輸出則為表示式因之後所產生出的數值。
舉例來說,表達式x / y,分別使自由變數x和y定值為10和5,其輸出為數字2;但在y值為0時則沒有定義。
一個表達式的賦值和算符的定義以及數值的定義域是有關聯的。
兩個表達式若被說是等值的,表示對於自由變數任意的定值,兩個表達式都會有相同的輸出,即它們代表同一個函數。
一個表達式必須是合式的。亦即,其每個算符都必須有正確的輸入數量,在正確的地方。如表達式2+3便是合式的;而表達式*2+則不是合式的,至少不是算術的一般標記方式。
表達式和其賦值曾在一九三○年代由阿隆佐·邱奇和Stephen Kleene在其Λ演算中被公式化。Λ演算對現代數學和電腦編程語言的發展都曾有過重大的影響。
編輯本段
二、表達式的分類

1、算術表達式:
算術表達式是最常用的表達式,又稱為數值表達式。它是通過算術運算符來進行運算的數學公式。我們先來看Visual Basic中的算術運算符:
算術運算符
1)乘法運算符 *
X*Y 求X乘Y的值 舉例:6*7=42
2) 除法運算符 /
X/Y 求X除Y的值(浮點數運算) 舉例:2.76/1.2=2.3
3)整除運算符 div
X div Y 求X除Y的整數商(對整型數計算) 舉例:25=5
4)取余運算符 Mod
X mod Y 求X除Y的余數(對整型數運算) 舉例:25 mod 4=1
5)加法運算符 +
X+Y 加法運算 舉例:32+2=34
6)減法運算符 -
- X-Y 減法運算 舉例:48-21=27
由於Visual Basic只能識別按其格式書寫的數學表達式,所以必須將我們常用的數學表達式轉換成Visual Basic表達式。
2、邏輯表達式
邏輯運算的結果只有兩個:True(真)和False(假)。Visual Basic提供了六種關系運算符和三種邏輯運算符:
=(等於)、<(小於)、<=(小於等於)、>(大於)、>=(大於等於)、<>(不等於)
NOT(非)、AND(與)、OR(或)
運算關系
p q NOT p p AND q p OR q
True True False True True
True False False False True
False True True False True
False false True False False
例如:5>3 結果為 True, 「a」>」b」 結果為False

——來自網路
詳細請參加網路: 表達式 條目。不給網址,給網址需要審核,麻煩。
度娘會告訴你更多的。

10. c語言中如何將發送的數字串(例如11011110)轉換成高低電平波形

voidoutput_high(void)
{
/*具體如何輸出高電平,要結合實際情況,如硬體環境*/
}

voidoutput_low(void)
{
/*具體如何輸出低電平,要結合實際情況,如硬體環境*/
}

voidmain(void)
{
unsignedchardata=222;//11011110,舉例
unsignedchartemp=0;
unsignedinti=0;
for(i=0;i<8;i++)
{
temp=data&1;
if(temp==0)
output_low();
else
output_high();
data=data>>1;
delay();//延時函數,舉例
}

}