㈠ c語言中%#x是什麼意思
%x是16進制輸出.
%8x是輸出8位
%#x是帶格式輸出, 效果為在輸出前加0x.
所以 這里就是以16進制輸出y值,並在前面加0x前綴, 如果輸出小於8位,那麼實際輸出8位,左側補空格.
比如 y=0x20那麼會輸出
y= 0x20
如果y=0x12345678
那麼會輸出
y=0x12345678
㈡ c語言中!x是什麼意思
邏輯判斷,嘆號是非的意思,x是各變數,如果x為零那麼!x就是1,相反是0。
若X是「0」(為假),則「!x」就不是零(為真),則裡面為真,進入if下的大。
若X不是「0」(為真),則「!x」就是零(為假),則裡面為假,跳過if下的大。
(2)c語言中08x擴展閱讀:
基本的操作符有:「非」(¬)、「與」(∧)、「或」(∨)、「條件」(→)以及「雙條件」(↔)。「非」是一個一元操作符,它只操作一項(¬ P)。剩下的是二元操作符,操作兩項來組成復雜語句(P ∧ Q,P ∨ Q,P → Q,P ↔ Q)。
注意,符號「與」(∧)和交集(∩),「或」(∨)和並集(∪)的相似性。這不是巧合:交集的定義使用「與」,並集的定義是用「或」。
c語言關鍵字。
signed:聲明有符號類型變數。
unsigned:聲明無符號類型變數。
struct:聲明結構體變數。
union:聲明聯合類型。
enum:聲明枚舉類型。
switch:用於開關語句。
case:開關語句分支。
default:開關語句中的「其他」分支。
auto:聲明自動變數,預設時編譯器默認為此。
const:聲明只讀變數。
static:聲明靜態變數。
register:聲明寄存器變數。
㈢ c語言中%-08X是什麼意思
邏輯判斷,嘆號是非的意思,x是各變數,如果x為零那麼!x就是1,相反是0。
若X是「0」(為假),則「!x」就不是零(為真),則裡面為真,進入if下的大。
若X不是「0」(為真),則「!x」就是零(為假),則裡面為假,跳過if下的大。
(3)c語言中08x擴展閱讀:
C語言運算符列表:
1、優先順序1級
結合方向左結合(自左至右)
()圓括弧
[]下標運算符
->指向結構體成員運算符
.結構體成員運算符(請注意它是一個實心圓點)
2、優先順序2級
結合方向右結合(自右至左)單目運算符
!邏輯非運算符
~按位取反運算符
++自增運算符
--自減運算符
-負號運算符
(類型)類型轉換運算符
*指針運算符
&地址與運算符
sizeof長度運算符
㈣ c語言中x*是什麼意思
邏輯判斷,嘆號是非的意思,x是各變數,如果x為零那麼!x就是1,相反是0。
若X是「0」(為假),則「!x」就不是零(為真),則裡面為真,進入if下的大。
若X不是「0」(為真),則「!x」就是零(為假),則裡面為假,跳過if下的大。
(4)c語言中08x擴展閱讀:
C語言運算符列表:
1、優先順序1級
結合方向左結合(自左至右)
()圓括弧
[]下標運算符
->指向結構體成員運算符
.結構體成員運算符(請注意它是一個實心圓點)
2、優先順序2級
結合方向右結合(自右至左)單目運算符
!邏輯非運算符
~按位取反運算符
++自增運算符
--自減運算符
-負號運算符
(類型)類型轉換運算符
*指針運算符
&地址與運算符
sizeof長度運算符
㈤ c語言中 x<<=8是什麼意思
x<<=8的意思是將x的值左移8位,重新賦值給x,相當於x=x<<8;
<<是左移的意思,左移之後一般在其後補0,如00001010左移1位即為00010100.
㈥ c語言中&x什麼意思
取址,得到某個變數的地址,在函數中作用為使某個變數的修改可以使原來的變數繼承修改後的值。如果沒有該符號,變數不會修改原值,甚至在某些用於輸入的庫函數中可能會引發錯誤;但是在一些自定義的函數里,不加上該符號則該自定義函數會把這些變數復制一份進行修改,可以修改但是不影響函數外部分(即不修改原值)。
希望能幫到你。
㈦ c語言中,!(--x)什麼意思
C語言運算符,括弧裡面(---x)表示x的值減去1,相當於「x」變為「x-1」,括弧外面「!」表示取反(非0數變為0,0變為1)。
除了常見的三大類,算術運算符、關系運算符與邏輯運算符之外,還有一些用於完成特殊任務的運算符,比如位運算符。
(7)c語言中08x擴展閱讀
優先順序,C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
結合性:C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。
而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算符,它們算是一類特殊的操作。()是與函數相關,[]與數組相關,而->及.是取結構成員。
其次是單目運算符,所有的單目運算符具有相同的優先順序,因此在我認為的 真正的運算符中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。
另外在C語言里,沒有前置後置之分,因為++ -- 是右結合所以右側優先運算,表現為 "操作數後置優先順序比較高" 的假象,前置和後置的區分是因為運算符重載而後加入C++的
接下來是算術運算符,*、/、%的優先順序當然比+、-高了。
㈧ c語言中printf("%08.2f,%08.2e",x,x)是什麼意思
精度輸出,以「.」開頭,後跟十進制整數。
意思是:假如輸出數字,則表示小數的位數;
若實際位數大於最小的精度數,則四舍五進,若不足則補0;
假如輸出的是字元,則表示輸出字元的個數;
若實際位數大於最小的精度數,則截去超出的部分。
就以實例來說明問題吧:
#include<stdio.h>
intmain()
{
charch="abcdefg";
printf("%.3f ",12.3456);
printf("%.9f ",12.3456);
printf("%.3s ",ch);
printf("%.9s ",ch);
return0;
}
運轉結果:
12.346//四舍五進到小數點後三位
12.345600000//不足補0
abc
abcdefg
㈨ c語言中~x是什麼意思
在C語言中,~x代表的意思是按位取反的意思。
將x按位取反
比如x = 10101010b。
那麼~x = 01010101b。
還要注意,在C語言中,還有邏輯取反符號「!」,「!x」的返回值只有0和1兩種。如果x為0,則!x=1。如果x不等於0.則!x的返回值為0。
(9)c語言中08x擴展閱讀:
c語言關鍵字。
signed 聲明有符號類型變數
unsigned 聲明無符號類型變數
struct 聲明結構體變數
union 聲明聯合類型
enum 聲明枚舉類型
switch 用於開關語句
case 開關語句分支
default 開關語句中的「其他」分支
auto 聲明自動變數,預設時編譯器默認為此
const 聲明只讀變數
static 聲明靜態變數
register 聲明寄存器變數
㈩ c語言中的x*=y+8是什麼意思啊
x*=x*y+8相當於x=x*(y+8)
計算此表達式時,先計算y+8後計算x*括弧中的結果,最後將結果賦值給x.
例:
#include<stdio.h>
int main()
{
int x=5;
int y=1;
x*=y+8;
printf("%d",x);
return 0;
}
此程序結果為45。
(10)c語言中08x擴展閱讀:
運算優先順序:
每種同類型的運算符都有內部的運算符優先順序,不同類型的運算符之間也有相應的優先順序順序。一個表達式中既可以包括相同類型的運算符,也可以包括不同類型的運算符或者函數。當多種運算符出現在同一個表達式中時,應該先按照不同類型運算符間的優先順序進行運算。
優先順序與求值順序無關。如a+b && b*c,雖然*優先順序最高,但這個表達式求值順序是從左到右。
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
相同優先順序中,按結合性進行結合。大多數運算符結合性是從左到右,只有三個優先順序是從右至左結合的,它們是單目運算符、條件運算符、賦值運算符。
運算符:
運算符是一種特殊的函數,它們具有一個或多個操作數並返回相應的值。操作數是被運算符用作輸入的值,通常是字面值、變數或表達式。運算符可以是一元、二元或三元的,一元運算符有1個操作數,二元運算符有2個操作數,三元運算符有3個操作數。
參考資料來源:網路-運算符優先順序