0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

小編科普幾種C語(yǔ)言中的運(yùn)算符

Android編程精選 ? 來(lái)源:編程學(xué)習(xí)總站 ? 作者:寫代碼的牛頓 ? 2021-06-21 16:06 ? 次閱讀

1、加減乘除運(yùn)算符

加減法運(yùn)算符

我們先看一段代碼演示加減法的使用。

poYBAGDRc_6APqHhAAB48PZAPp0382.jpg

輸出結(jié)果是:

pYYBAGDRdAuAfc98AAAdmFQ4ZxU475.jpg

右邊相加減的結(jié)果賦值給左邊變量。

除法運(yùn)算符

看一段演示除法運(yùn)算符代碼

pYYBAGDRdCiARZAoAABukFdj4VM198.jpg

輸出結(jié)果是:

poYBAGDRdDOAQzBqAAAfIGKhVDQ305.jpg

從輸出我們看到num3 = 0明顯和我想要的結(jié)果不一樣,而num4的結(jié)果完全符合我們的意料。

下面我們?cè)倏匆欢未a

pYYBAGDRdHSATGD1AABaO5GXDn4386.jpg

輸出結(jié)果是:

poYBAGDRdH6AG9LxAAATTBY5f-0902.jpg

在代碼里num3定義成一個(gè)整型(int),肯定不能存儲(chǔ)小數(shù),那么是因?yàn)閚um3是整型才會(huì)導(dǎo)致num3值只保留整數(shù)部分還是因?yàn)槌ㄟ\(yùn)算符"/"?我們?cè)倏匆欢未a,把num3定義成單精度浮點(diǎn)型(float),看看輸出結(jié)果。

poYBAGDRdIiAITV0AABx08J9wMg993.jpg

輸出結(jié)果:

pYYBAGDRdJKAFg33AAAc6HNl_Ao478.jpg

輸出結(jié)果依舊是0,說(shuō)明不是因?yàn)閚um3的數(shù)據(jù)類型造成輸出結(jié)果變化,是因?yàn)槌ㄟ\(yùn)算符"/",兩個(gè)整型相除,結(jié)果則是商向下取整。我們知道除法運(yùn)算不僅僅是2個(gè)整型的運(yùn)算,還可以是浮點(diǎn)型和整型,浮點(diǎn)型和浮點(diǎn)型之間的運(yùn)算。我們先看一段代碼整型和浮點(diǎn)型之間的除法運(yùn)算。

pYYBAGDRdMeANZyDAAB0dJ18U20548.jpg

輸出結(jié)果:

poYBAGDRdNGAayugAAAlS2nBsoE813.jpg

現(xiàn)在輸出結(jié)果達(dá)到我們的想要了。那么現(xiàn)在我們看看除數(shù)和被除數(shù)兩者都是浮點(diǎn)型呢?將會(huì)輸出什么?先看這段代碼

pYYBAGDRdN2ARJCNAAByM7LkMBM430.jpg

輸出結(jié)果:

poYBAGDRdOmAaMdQAAAis5EIeRc141.jpg

結(jié)果完全符合我們的預(yù)期。說(shuō)明兩個(gè)數(shù)相除,只要任意一方是浮點(diǎn)型,得到的結(jié)果就是浮點(diǎn)型,保留小數(shù)部分。

現(xiàn)在我們總結(jié)一下除法運(yùn)算符的結(jié)果的不同之處。

兩個(gè)整數(shù)相除

結(jié)果是商向下取整

兩個(gè)數(shù)相除,任意一方是浮點(diǎn)型

結(jié)果是商保留整數(shù)部分和小數(shù)部分

乘法運(yùn)算符

乘法運(yùn)算和除法運(yùn)算結(jié)果有一個(gè)不同之處就是,乘法運(yùn)算的結(jié)果不會(huì)發(fā)生截?cái)?,兩個(gè)數(shù)都是整數(shù),結(jié)果則是整數(shù)。兩個(gè)數(shù)任意一方是浮點(diǎn)數(shù),結(jié)果則是浮點(diǎn)數(shù),但是我們通常情況下會(huì)遇到類似下面的代碼。

pYYBAGDRdSOAUqd-AABZNKQxCCM153.jpg

輸出結(jié)果是:

pYYBAGDRdSyAfY7eAAAaV5Y_1EQ148.jpg

我們不是說(shuō)兩個(gè)數(shù)相乘任意一方是浮點(diǎn)型,結(jié)果則是浮點(diǎn)型嗎?為什么小數(shù)點(diǎn)后面的數(shù)沒(méi)了?其實(shí)這是發(fā)生了截?cái)啵?a href="http://wenjunhu.com/soft/data/21-24/" target="_blank">C語(yǔ)言里浮點(diǎn)型強(qiáng)制轉(zhuǎn)換成整型會(huì)發(fā)生數(shù)據(jù)截?cái)?,小?shù)部分被丟棄了。那么我們?cè)趺粗罃?shù)據(jù)發(fā)生了截?cái)嗄??看看下面這段代碼我們就知道了。

pYYBAGDRdTeAMF1yAABankKvWG4143.jpg

輸出結(jié)果是:

poYBAGDRdUOAFmlsAAAXUnpjkZE636.jpg

說(shuō)明整型和浮點(diǎn)型相乘得到的結(jié)果是浮點(diǎn)型!這里要注意一下10.2f后面帶有f表明將10.2轉(zhuǎn)換成單精度浮點(diǎn)型,如果不帶f則不會(huì)輸出"good!"字符串。

2、求余運(yùn)算符

在C語(yǔ)言里求余運(yùn)算符是%,下面我們看一段代碼。

pYYBAGDRdXeABXh-AABPDKUs348694.jpg

輸出結(jié)果:

poYBAGDRdYKACEBWAAAZeTG-O88624.jpg

在C語(yǔ)言里%只能對(duì)整型進(jìn)行求余,任意一方是浮點(diǎn)型時(shí),語(yǔ)法錯(cuò)誤。

3、自增自減運(yùn)算符

自增運(yùn)算符

在C語(yǔ)言里自增運(yùn)算符使用++,而自減運(yùn)算符使用--,下面我們用實(shí)際代碼分別看看自增自減和常規(guī)的加減法有什么不一樣。

pYYBAGDRdY6AF_TNAAB_RI7CAXs304.jpg

輸出結(jié)果是:

poYBAGDRdZiASU_qAAAp7toDgaE850.jpg

從輸出結(jié)果我們可以知道,num1和num2第一次自增輸出結(jié)果一樣,說(shuō)明前自增和后自增都可以對(duì)變量進(jìn)行加1。那么第二次輸出就有點(diǎn)不同了,雖然都進(jìn)行了自增,但是num1輸出3而num2輸出2,最后一次輸出num2則是3。這是因?yàn)榍白栽鱿葘?duì)變量進(jìn)行加1后再使用,而后自增則先使用變量再進(jìn)行加1操作。

自減法運(yùn)算符

自增和自減法運(yùn)算符運(yùn)算過(guò)程一樣,區(qū)別則是一個(gè)做加1操作另外一個(gè)做減1操作。

4、逗號(hào)運(yùn)算符

首先我們看一段代碼

poYBAGDRdbuAGuZvAABUCzqYw9s037.jpg

這段代碼的輸出結(jié)果是:

poYBAGDRdcWAdMPdAAAYfcKGGoU119.jpg

從輸出結(jié)果我們可以知道,逗號(hào)運(yùn)算符是從左往右結(jié)合,先計(jì)算num2 = num1 + 1,此時(shí)num2= 2,再計(jì)算num2 = num1 + 2,此時(shí)num2 = 3,最后取num2的最終值加1的結(jié)果賦值給s。

責(zé)任編輯:lq6

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136864
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    11084

原文標(biāo)題:C語(yǔ)言入門基礎(chǔ)之運(yùn)算符詳解

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    邏輯異或運(yùn)算符在Python中的用法

    在Python編程語(yǔ)言中,邏輯異或運(yùn)算符并不直接作為一個(gè)內(nèi)置的操作存在,因?yàn)镻ython更側(cè)重于高級(jí)編程和可讀性,并沒(méi)有直接提供異或運(yùn)算符的簡(jiǎn)寫形式用于邏輯
    的頭像 發(fā)表于 11-19 09:46 ?187次閱讀

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:掌握C語(yǔ)言條件判斷,從if到switch的應(yīng)用

    語(yǔ)句和條件運(yùn)算符。這些結(jié)構(gòu)不僅增強(qiáng)了代碼的靈活性,還提高了程序的可讀性和可維護(hù)性。本文將深入探討C語(yǔ)言中的主要條件判斷語(yǔ)句,包括它們的語(yǔ)法、使用方法及實(shí)際應(yīng)用,通過(guò)
    的頭像 發(fā)表于 11-09 01:10 ?331次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:掌握<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>條件判斷,從if到switch的應(yīng)用

    C語(yǔ)言中的socket編程基礎(chǔ)

    Socket編程簡(jiǎn)介 Socket是一種通信機(jī)制,允許程序之間進(jìn)行通信。在C語(yǔ)言中,socket編程是網(wǎng)絡(luò)編程的基礎(chǔ)。通過(guò)使用socket,程序可以發(fā)送和接收數(shù)據(jù),實(shí)現(xiàn)不同計(jì)算機(jī)之間的通信
    的頭像 發(fā)表于 11-01 16:51 ?325次閱讀

    C語(yǔ)言指針運(yùn)算符詳解

    C語(yǔ)言中,當(dāng)你有一個(gè)指向數(shù)組中某個(gè)元素的指針時(shí),你可以對(duì)該指針執(zhí)行某些算術(shù)運(yùn)算,例如加法或減法。這些運(yùn)算可以用來(lái)遍歷數(shù)組中的元素,如ptr[i]等價(jià)于*(ptr + i)。然而,如果
    的頭像 發(fā)表于 10-30 11:16 ?255次閱讀

    Verilog語(yǔ)法中運(yùn)算符的用法

    verilog語(yǔ)法中使用以下兩個(gè)運(yùn)算符可以簡(jiǎn)化我們的位選擇代碼。
    的頭像 發(fā)表于 10-25 15:17 ?760次閱讀
    Verilog語(yǔ)法中<b class='flag-5'>運(yùn)算符</b>的用法

    技術(shù)干貨驛站 ▏解鎖C語(yǔ)言高效編程秘訣:深入解析運(yùn)算符與優(yōu)先級(jí)

    C語(yǔ)言的學(xué)習(xí)過(guò)程中,運(yùn)算符的使用是不可忽視的重要環(huán)節(jié)。本文將繼續(xù)深入探討C語(yǔ)言中運(yùn)算符,重點(diǎn)
    的頭像 發(fā)表于 10-13 08:09 ?255次閱讀
    技術(shù)干貨驛站 ▏解鎖<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>高效編程秘訣:深入解析<b class='flag-5'>運(yùn)算符</b>與優(yōu)先級(jí)

    技術(shù)干貨驛站 ▏深入理解C語(yǔ)言:編程高手必備,全方位解析運(yùn)算符的核心技能!

    過(guò)程中發(fā)揮著重要作用,還對(duì)程序的性能和穩(wěn)定性產(chǎn)生直接影響。繼上一期對(duì)C語(yǔ)言常量的深入分析后,本文將進(jìn)一步探討C語(yǔ)言中的常用運(yùn)算符,詳細(xì)解析其
    的頭像 發(fā)表于 09-18 15:56 ?359次閱讀
    技術(shù)干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:編程高手必備,全方位解析<b class='flag-5'>運(yùn)算符</b>的核心技能!

    c語(yǔ)言中從左到右結(jié)合怎么看

    C語(yǔ)言中,操作的結(jié)合性(Associativity)是指當(dāng)操作在表達(dá)式中連續(xù)出現(xiàn)時(shí),它們?nèi)绾闻c操作數(shù)結(jié)合的順序。對(duì)于大多數(shù)二元操作
    的頭像 發(fā)表于 08-20 11:42 ?895次閱讀

    c語(yǔ)言從右到左的運(yùn)算符有哪些

    以下是一些主要的從右到左運(yùn)算C語(yǔ)言運(yùn)算符: 函數(shù)調(diào)用運(yùn)算符 ( () ):當(dāng)您調(diào)用一個(gè)函數(shù)時(shí),參數(shù)列表是從右到左進(jìn)行求值的。 后置遞增
    的頭像 發(fā)表于 08-20 11:39 ?968次閱讀

    TestStand表達(dá)式中常用的語(yǔ)法規(guī)則和運(yùn)算符使用

    TestStand也有自己的語(yǔ)言嘛?在回答這個(gè)問(wèn)題之前大家可以想一下在使用TestStand時(shí)有一個(gè)和語(yǔ)言密切相關(guān)的屬性。沒(méi)錯(cuò)那就是表達(dá)式(Expressions),在這篇文章中,小將以Q&A的方式來(lái)帶著大家來(lái)理解并熟悉Tes
    的頭像 發(fā)表于 08-15 18:10 ?1439次閱讀
    TestStand表達(dá)式中常用的語(yǔ)法規(guī)則和<b class='flag-5'>運(yùn)算符</b>使用

    淺析C語(yǔ)言中的變量修飾

    一、修飾類型51單片機(jī)采用哈佛結(jié)構(gòu)。內(nèi)存空間址有重疊。可以在不同總線上定義不同的變量。在KEILC51中定義了data、idata、xdata、code幾種域修飾。這些修飾
    的頭像 發(fā)表于 04-15 08:10 ?687次閱讀
    淺析<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言中</b>的變量修飾<b class='flag-5'>符</b>

    Golang為何舍棄三元運(yùn)算符

    golang中不存在?:運(yùn)算符的原因是因?yàn)?b class='flag-5'>語(yǔ)言設(shè)計(jì)者已經(jīng)預(yù)見(jiàn)到三元運(yùn)算符經(jīng)常被用來(lái)構(gòu)建一些極其復(fù)雜的表達(dá)式。雖然使用if進(jìn)行替代會(huì)讓代碼顯得更長(zhǎng),但這毫無(wú)疑問(wèn)可讀性更強(qiáng)。
    的頭像 發(fā)表于 04-03 15:13 ?703次閱讀

    鴻蒙TypeScript入門學(xué)習(xí)第5天:【TypeScript 運(yùn)算符

    運(yùn)算符用于執(zhí)行程序代碼運(yùn)算,會(huì)針對(duì)一個(gè)以上操作數(shù)項(xiàng)目來(lái)進(jìn)行運(yùn)算。
    的頭像 發(fā)表于 04-01 16:18 ?490次閱讀
    鴻蒙TypeScript入門學(xué)習(xí)第5天:【TypeScript <b class='flag-5'>運(yùn)算符</b>】

    C語(yǔ)言程序的結(jié)構(gòu)認(rèn)識(shí)

    兩個(gè)符號(hào)之間不可以有空格,復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)與賦值運(yùn)算符的相同。表達(dá)式n+=1等價(jià)于n=n+1,作用是取變量n中的值增1再賦給變量n,其他復(fù)合的賦值運(yùn)算符運(yùn)算規(guī)則依次類推。
    發(fā)表于 03-22 12:30 ?1257次閱讀

    C語(yǔ)言支持的算術(shù)運(yùn)算符介紹

    先賦值后運(yùn)算:Line 1 - c 的值是 10Line 2 - a 的值是 11Line 3 - c 的值是 10Line 4 - a 的值是 9先運(yùn)算后賦值:Line 5 -
    發(fā)表于 03-13 12:24 ?465次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>支持的算術(shù)<b class='flag-5'>運(yùn)算符</b>介紹