国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

運算符詳解(c語言)

這篇具有很好參考價值的文章主要介紹了運算符詳解(c語言)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

引言:
hello,大家好!我是心跳sy,今天給大家分享c語言運算符詳解,我們知道,c語言的一個顯著特點就是表達式的應用,表達式是表示如何計算值的公式,而運算符又是構建表達式的基本工具,c語言擁有非常豐富的運算符,包括算術運算符、關系運算符、邏輯運算符、賦值運算符、位操作運算符、自增自減運算符、條件運算符、逗號運算符、指針運算符、求字節(jié)數(shù)運算符、強制類型轉(zhuǎn)換運算符和特殊運算符。本文對每個運算符都進行了非常詳細的解釋,我們一起來看看吧~??!

1、算術運算符(包括+,-,*,/,%)

·1. 算術運算符是包括c語言在內(nèi)的多種編程語言中廣泛應用的一種運算符,這類運算符可以執(zhí)行加法、減法、乘法、除法以及求余。
·2. 加法類和乘法類運算符都屬于二元運算符,需要兩個操作數(shù),一元運算符只需要一個操作數(shù):i=+1; i=-1; (通常+什么都不做)
*3.需要注意的是除了%運算符外,其他二元算術運算符既允許操作數(shù)是整數(shù),也允許操作數(shù)是浮點數(shù),兩者混合也是可以的。取余運算符%要求操作數(shù)是整數(shù),如果兩個數(shù)有一個不是整數(shù),編譯無法通過。
*4.運算符‘/’當兩個操作數(shù)都是整數(shù)時,運算符‘/’會丟掉分數(shù)部分來截取結果。因此1/2的結果是0而不是0.5。

//當int型操作數(shù)和float型操作數(shù)混合在一起時,運算結果是float型的
	int a = 7;
	float b = 3.5;
	printf("%f\n", a + b);
	printf("%f\n", a/b);

c語言運算符解析,c語言,開發(fā)語言,算法

2、關系運算符(包括>,<,==,>=,<=,!=)

·1. c語言表達式產(chǎn)生的結果是0(假)或1(真),例如3<5表達式的值為1,而3>5的值為0;關系運算符同樣適用于比較浮點數(shù),也允許比較混合型操作數(shù),如:1<2.5的值為1;
·2. 關系運算符的優(yōu)先級低于算術運算符,例如:表達式 i+j<k-1的意思是(i+j)<(k-1).關系運算符是左結合性的。
*3.注意:i<j<k在c語言中是合法的,但該表達式不是測試j是否位于i和k之間(正確表達式:i<j&&j<k),因為<運算符是左結合的,所以表達式等價于(i<j)<k,換句話說是先檢測i是否小于j,然后用比較產(chǎn)生的結果(1或0)來和k進行比較。
*4.注意:“等于”是兩個緊鄰的=,而不是一個=,值得注意的是,==和!=運算符的優(yōu)先級低于大于小于等關系運算符。

c語言運算符解析,c語言,開發(fā)語言,算法

3、邏輯運算符(!,&&,||)

·1. !,&&,||分別是邏輯非、邏輯與、邏輯或(其中 !是一元運算符,&&、||是二元運算符)邏輯運算符產(chǎn)生的結果是0或1,將任何非零值操作數(shù)作為真值來處理,將任何零值作為假值來處理規(guī)則如下:
·2.如果表達式的值為0,那么!表達式 的結果為1;
·3.如果 表達式1表達式2 的值都是非零值,那么 表達式1&&表達式2 的結果為1;
·4.如果 表達式1表達式2 的值中任意一個是(或者都是)非零值,那么 表達式1||表達式2 的結果為1。
*5.運算符&&和||都對操作數(shù)進行“短路”計算,先計算出左值,再計算右值,如果表達式的值可以僅由左操作數(shù)的值推導出來,則不用計算右值;例如:(i != 0)&& (i/j> 0),如果i不等于零,則計算右值,如果i等于零,就不需要計算了
*6.運算符!是右結合的,&&和||為左結合的。

c語言運算符解析,c語言,開發(fā)語言,算法

4、賦值運算符(=,+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=)

·1.表達式 a=b(b可以是常量、變量或更復雜的表達式);如果a和b的類型不同,那么賦值運算發(fā)生時會把b的值轉(zhuǎn)換為a的類型。
例如:int i = 0;
i = 6.66f //此時 i 為6。
·2.賦值運算符可以多個賦值進行串聯(lián),例如:i = j = k = 0;
·3.運算符 = 是右結合的,因此上述表達式等價于i =(j =(k = 0));
·4.賦值運算符要求它的左操作數(shù)為左值,左值表示對象,而不是常量或計算的結果,變量是左值,而10或 2*i 這樣的表達式不是左值。
·5.復合賦值:i += 2;等價于i = i + 2;

5、位操作運算符(<<,>>,~,&,^,|)

·1.移位運算符包括左移位(<<)和右移位(>>),它可以將整數(shù)的二進制位進行左移右移,它們的操作數(shù)可以是任意整數(shù)類型(包括char),移位運算符對兩個操作數(shù)都會進行整數(shù)提升,返回值類型是左操作數(shù)提升后的類型。
·2.i << j的值是將 i 中的二進制位左移j位后的結果,每次從 i 的最左端溢出一位,在 i 的最右端補一個0位;i >> j的值是將 i 中的二進制位右移 j 位后的結果。
·3.需要注意的是右移操作符分為算術右移和邏輯右移兩種,算術右移:右邊舍去,左邊補原符號位,原符號位為0就補0,為1就補1;邏輯右移:右邊舍去,左邊直接補0.
·4.移位操作符優(yōu)先級比算術運算符優(yōu)先級低,i << 2+1等價于i <<(2+1)
·5.~,&,^,|分別為按位取反、按位與、按位異或、按位或。其中 ~是一元運算符,其他為二元運算符, ~是對操作數(shù)每一位取反,即將每一個1替換為0,將0替換為1;&對兩個操作數(shù)相應的位執(zhí)行邏輯與運算,運算符^和|相似(都是對兩個操作數(shù)執(zhí)行邏輯或運算),不同的是,當兩個操作數(shù)的為都是1時, ^產(chǎn)生0而|產(chǎn)生1。

c語言運算符解析,c語言,開發(fā)語言,算法
c語言運算符解析,c語言,開發(fā)語言,算法

6、自增自減運算符(++,- -)

·“自增”(加1)“自減”(減1),++,- -運算符既可以作為前綴(++i,- -i),也可以作為后綴(i++,i- -),前綴是在使用之前就自增1,后綴是先使用完后增1

    int i = 1;
	printf("i is %d\n", ++i);
	printf("i is %d\n", i);
	int j = 1;
	printf("j is %d\n", j++);
	printf("j is %d\n", j);

c語言運算符解析,c語言,開發(fā)語言,算法

7、條件運算符( ?:)

· 條件表達式:表達式1?表達式2表達式3,它是c語言運算符唯一一個三目運算符。這個表達式可以解釋為:如果表達式1成立,那么執(zhí)行表達式2,否則執(zhí)行表達式3。
*注意:除賦值運算符以外,條件運算符的優(yōu)先級低于其他所有運算符。

8、逗號運算符( ,,)

·1.逗號表達式:表達式1,表達式2,逗號表達式的值要通過兩步實現(xiàn),第一步,計算表達式1的值,第二步,計算表達式2的值,把這個值作為整個表達式的值。
·2. 需要注意的是,表達式1的值并不是完全拋棄,如果表達式1的結果對表達式2有影響,那么其值仍然起作用,只是最終值為表達式2的值。

9、指針運算符(&,*)

·1.如果要找到變量的地址,可以使用 &(取地址運算符),如果x是變量,那么&x就是x在內(nèi)存中的地址。為了獲得對指針所指向?qū)ο蟮脑L問,可以使用 *(間接尋址運算符),如果p是指針,*p則表示p當前指向的對象。
·2.在初始化指針變量時,使用&運算符把某個變量的地址賦給它。例如:

    int i,j, * p;//方法一
	p = &i;
	int* pa = &j;//方法二

· 而一旦指針變量指向了對象,就可以使用*運算符訪問存儲在對象中的內(nèi)容。例如,如果p指向 i,那么可以顯示出 i 的值,例如:

printf("%d\n", *p);

10、求字節(jié)數(shù)運算符(sizeof運算符)

·1.sizeof 表達式:sizeof(類型名),sizeof 運算符允許程序獲取儲存指定類型的值所需要的空間,其值是一個無符號整數(shù),代表存儲屬于 類型名 的值所需要的字節(jié)數(shù)。表達式sizeof(char)的值為1,編譯器本身通常就能夠確定 sizeof 表達式的值。
·2.顯示 sizeof 值時要注意,sizeof 表達式的類型為 size_t,size_t一定是無符號整形,C99中 printf 可以直接顯示出 size_t 的類型值而不需要強制轉(zhuǎn)換。

printf("Size of int:%zd", sizeof(int));//輸出:Size of int:4

11、強制類型轉(zhuǎn)換運算符((類型名))

· c語言把(類型名)視為一元運算符,一元運算符的優(yōu)先級高于二元運算符,(unsigned int)time(NULL),(unsigned int)即為強制類型轉(zhuǎn)換。

12、特殊運算符([ ],——>,. ,())

·1.[ ]是數(shù)組下標索引運算符,可以獲取數(shù)組中單獨的元素,下表運算符需要兩個操作數(shù),一個操作數(shù)是數(shù)組名稱,另一個是一個整數(shù)。
·2.——>運算符和 . 運算符在結構體訪問成員變量時經(jīng)常用到。當Print函數(shù)中傳入對象b的地址,print函數(shù)實現(xiàn)時用結構體指針接收,打印時用——>指向成員變量。當不傳入地址時,也可以直接用成員訪問操作符 . 來訪問。
·3.函數(shù)名(形參表),它最少需要1個操作數(shù),函數(shù)名稱,參數(shù)列表可以根據(jù)用戶需求進行設置。

struct Student
{
	char name[20];
	int age;
};
void Print(struct Student* pb)
{
	printf("%s %d\n", pb->name, pb->age);
}
int main()
{
	struct Student b = {"小明", 20};
	printf("%s %d\n", b.name, b.age);
	Print(&b);
	return 0;
}

13、附:操作符優(yōu)先級表

c語言運算符解析,c語言,開發(fā)語言,算法
感謝各位友友們閱讀,歡迎各位大佬在評論區(qū)留言哦~?。。?br>c語言運算符解析,c語言,開發(fā)語言,算法文章來源地址http://www.zghlxwxcb.cn/news/detail-659825.html

到了這里,關于運算符詳解(c語言)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • [開發(fā)語言][C++]:遞增遞減運算符

    遞增運算符和遞減運算符為對象的+1和-1提供了簡潔的書寫形式。 自增自減運算符的應用: 這兩個運算符除了應用在算術運算,還可應用于迭代器,因為很多迭代器并不支持算術運算。 遞增和遞減運算符有兩種書寫形式:前置版本和后置版本。 前置版本 ++i --i :首先將運算

    2024年01月25日
    瀏覽(19)
  • C語言操作符詳解+運算符優(yōu)先級表格

    C語言操作符詳解+運算符優(yōu)先級表格

    ?? 目錄 ?前言 一、操作符是什么? 二、操作符的分類 三、算術操作符 四、邏輯操作符 五、比較操作符 六、位操作符 七、賦值操作符 八、其他操作符 ?九、運算符優(yōu)先級表格 總結 在編寫程序時,最常用到的就是操作符,本文將詳細的介紹我們在編寫程序時需要用到的操

    2024年01月18日
    瀏覽(28)
  • 【C語言初階】操作符之 位運算符詳解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)

    【C語言初階】操作符之 位運算符詳解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)

    目錄 C語言中六種位運算符: 一、位移運算符 1、移位運算符簡介 2、先要了解一點 3、 左移運算符 4、右移運算符 5、警告 二、 1、 按位與 2、| 按位或 3、^ 按位異或 4、~ 取反 4、例子? 按位與 | 按位或 ^ 按位異或 ~取反 右移 左移 位運算符用來對二進制位進行操作,C語言中

    2024年02月06日
    瀏覽(29)
  • Linux C語言開發(fā)(三)運算符和表達式

    目錄 一.什么是運算符 二.什么是表達式 ? ? 在C語言中,運算符是用于執(zhí)行特定操作的符號。這些操作可以涉及一個或多個值(稱為操作數(shù)),并產(chǎn)生一個新的值或效果。C語言提供了多種類型的運算符,用于執(zhí)行 算術、比較、邏輯和其他類型 的操作。 ? ? 以下是C語言中常

    2024年01月20日
    瀏覽(35)
  • 【Java探索之旅】運算符解析 算術運算符,關系運算符

    【Java探索之旅】運算符解析 算術運算符,關系運算符

    ?? 嶼小夏 : 個人主頁 ??個人專欄 : Java編程秘籍 ?? 莫道桑榆晚,為霞尚滿天! Java中運算符是非常重要的概念,它們用于對變量進行操作和比較,是實現(xiàn)各種算法和邏輯的基礎。本文將介紹Java中的算術運算符和關系運算符,解釋它們的基本用法和注意事項,幫助讀者更

    2024年03月15日
    瀏覽(40)
  • Python教程(13)——Python運算符詳解|算術運算符|比較運算符|邏輯運算符|位運算符

    Python的運算符是用于執(zhí)行各種操作的符號或符號組合。它們用于操作數(shù)據(jù)并進行算術、比較、邏輯和其他類型的運算。我們所熟知的加減乘除也是運算符中的一種。Python提供了多種類型的運算符,有算術運算符,比較運算符,賦值運算符,邏輯運算符,位算符等等。 算術運算

    2024年02月09日
    瀏覽(24)
  • 【C++】詳解運算符重載,賦值運算符重載,++運算符重載

    【C++】詳解運算符重載,賦值運算符重載,++運算符重載

    目錄 前言 運算符重載 概念 目的 寫法 調(diào)用 注意事項 詳解注意事項 運算符重載成全局性的弊端 類中隱含的this指針 賦值運算符重載 賦值運算符重載格式 注意點 明晰賦值運算符重載函數(shù)的調(diào)用 連續(xù)賦值 傳引用與傳值返回 默認賦值運算符重載 前置++和后置++重載 先梳理一下

    2024年04月25日
    瀏覽(32)
  • kotlin 運算符重載解析

    反編譯之后的java代碼為: 可以看到實際是生成了一個 plus方法, 然后我們把我們的plus1方法名稱修改為plus ,編譯報錯,提示有2個同名方法。 完美 。

    2024年02月15日
    瀏覽(20)
  • MySQL-運算符的使用解析

    MySQL-運算符的使用解析

    MySQL支持各種類型的運算符,這些運算符可以用于處理數(shù)字、日期和字符串等不同類型的數(shù)據(jù)。 MySQL支持各種類型的運算符,這些運算符可以用于處理數(shù)字、日期和字符串等不同類型的數(shù)據(jù)。以下是一些MySQL支持的常用運算符: 算術運算符 :加號(+)、減號(-)、乘號(*)

    2023年04月25日
    瀏覽(20)
  • Java運算符作用及解析

    Java運算符是對變量或者常量進行操作的符號。以下是Java中常見運算符的解析: 賦值運算符:如“=”,將右側的值賦給左側的變量。 一元運算符:如“+”“-”“!”,用于對變量進行操作。 算術運算符:如“+”“-”“*”“/”“%”,用于執(zhí)行基本的數(shù)學運算。 比較運算符

    2024年01月18日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包