c語言運算符的定義
⑴ c語言表達式的定義
比如:int a=1;double b=2.24;int c;c=a+b;printg("%d",c);這里輸出的是3;因為這里c是int型,在運算之前b會自動轉換成int型後在進行計算.轉換時不會生成多餘的代碼在c語言常量是占內存的
⑵ c語言邏輯運算符怎麼理解
**********凡是C語言中的運算符大都有與之對應的操作數,而且操作數的數據類型往往都有一定的限制。C語言的邏輯運算符比較特別,它的操作數沒有明確的數據類型,它們統稱邏輯值,但是這個邏輯值卻沒有與之對應的數據類型,比如C++裡面的bool已經Windows裡面的BOOL,很遺憾C沒有自己的邏輯類型。 **********C規定,所有帶有整形性質的數據類型都可以作為邏輯運算符的操作數,包括所有整形(有符號/無符號int、long),字元型(有符號/無符號char),以及所有指針。這些數據類型定義的變數,都與一個整數對應,只要這個整數不是0,C就把它當作邏輯值的『真』,只有當變數值為0時,變數對應的邏輯值才為『假』。 **********准備好了嗎? 現在可以開始談運算符了。運算符就是對以上介紹的一個或多個邏輯值(可以用1統一代表非零作為真值,用0代表假值)進行運算的符號,其中有「&&」、「||」、「!」三個。第一個,對兩個邏輯值做「與運算」,只有當兩個邏輯值都為真時結果才是真,可以理解成邏輯值相乘;第二個,對兩個邏輯值做「或運算」,只要兩個邏輯值其中一個為真結果就為真,可以理解成邏輯值相加;第三個,求反,顧名思義,操作數邏輯值為真,求反運算結果則為假,反之亦然。 **********說了不少,不知夠不夠清楚,舉幾個例子吧。 // Example 1:intintValue;long longValue; char charValue; long* pLong; intValue = -100; longValue = 0; charValue = 'A';pLong= &longValue; if( (intValue<charValue) && longValue){printf("&&與運算結果為真");}{printf("&&與運算果為假"); //執行, 因為右操作數值為0,邏輯值為假。 再經求與,結果為假!}// 或「||」if( (intValue<charValue) || longValue){printf("||或運算結果為真");//執行,因為左操作數()邏輯值值為1,邏輯值為真。 再經求或,結果為真!}{printf("||或運結果為假");}// 求反 「!」if(!pLong){printf("!求反運算結果為真");}{printf("!求反運算結果為假"); //執行,因為唯一的右操作是地址肯定不為0。邏輯值為真。 再經求反,結果為假!}************花了30多分鍾回答你的問題,哈哈!
⑶ 關於C語言的運算符
rect_t應該是一個結構體才會出現這個吧
在結構體中
結構體變數.成員名
(*p).成員名
p->成員名
上面這三者的作用是一樣的,其中p是指向結構體的指針。->就是.,不過使用時,不要直接替換,要符合上面三種形式才對,不是直接替換的。
⑷ c語言 可以定義一個運算符嗎
當然不可以了,就好比,加減乘除。
但是通常為了實現自己的設計需求,可以將這些基礎的運算符,使用上,然後定義某個函數或方法或宏後,來實現自己的運算需求。
比如,要求圓形的周長,周長公式都知道是直徑乘以π,這里以最簡單的宏來表示任意圓形周長就是:#define RoundLenth(num) num*π
那麼在實際使用中,你可以直接拿RoundLenth(num)來使用。
這里表達式似乎有些多此一舉,但是就是為了用簡單的例子,來表明,如何實現自己的運算需求!而不是自己去創造一個運算符號!
⑸ C語言++運算符是什麼意思
簡單的理解就是a++是先訪問a然後再自增,而++a則是先自增然後再訪問a的值。
可以看下面一個例子
#include <studio.h>
int main() {
int i,x;
i = 1;
x = 1;
x = i ++; //先讓x變成i的值1,再讓i加1
print("%d", x); //輸出的x為1
print("%d", i); //輸出的i為2
i = 1;
x = 1;
x = ++i; //先讓i加1, 再讓x變成i的值2
print("%d", x); //輸出的x為2
print("%d", i); //輸出的i為2
}
⑹ c語言運算符
d=--aII++b&&--c;這個表達式不是把--a、++b、--c的值賦值給d,而是判斷他們結果為零還是不為零,如果表達式--aII++b&&--c不為零,則d=1,如果表達式為零則d=0;
所以在這道題里,表達式--aII++b&&--c的值不為零,所以d=1了
⑺ c語言中操作符運算
k=10*MIN(i,j);替換後成了k=10*(i)<(j)?(i):(j);由於10*i=10*10=100,100<j不成立,結果就是j取值15,如要更正可寫: # define MIN(x,y) ((x)<(y)?(x):(y))
⑻ c語言中->運算符是什麼意思
類指針的成員符號(具體的名字跟這個差不多。。)。看例子:
假如已定義類
MyClass,它有一個成員變數munber:
MyClass
myclass;
//這里定義了一個類的實例myclass
MyClass
*p
=
&myclass;
//這里又定義了一個指針,它指向myclass
如果想引用myclass類的munber,你有兩種等價的辦法:
myclass.number
p->number
這兩種寫法是一樣的效果,就是說,轉到了p指向的類下面的某個成員。