c語言函數(shù)運算法則 c語言的四則運算法則

在C語言中,&,丨,^的運算規(guī)則是什么

1、:位與運算,遇0得0.即

創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡營銷推廣、網(wǎng)站重做改版、灌陽網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、成都h5網(wǎng)站建設購物商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為灌陽等各大城市提供網(wǎng)站開發(fā)制作服務。

0 0 = 0

0 1 = 1

1 0 = 0

1 1 = 1

2、|:位或運算,遇1得1,即

0 | 0 = 0

0 | 1 = 1

1 | 0 = 1

1 | 1 = 1

3、^:異或運算,在或的基礎上1異或1得0

0 ^ 0 = 0

1 ^ 0 = 1

0 ^ 1 = 1

1 ^ 1 = 0 //這是與或不同的地方。

4、注意,在C語言中,位運算只能操作整型數(shù)據(jù)。

C語言編寫程序四則運算法則

# include stdio.h

int main(void)

{

int a,b,s;

char c;

scanf("%d%c%d",a,c,b);

switch(c)

{

case '+':s=a+b;break;

case '-':s=a-b;break;

case '*':s=a*b;break;

case '/':s=a/b;break;

default:return -1;

}

printf("%d",s);

return 0;

}

C語言基礎知識

?1 C語言程序的結(jié)構(gòu)認識

用一個簡單的c程序例子,介紹c語言的基本構(gòu)成、格式、以及良好的書寫風格,使讀者對c語言有個初步認識。

例1 計算兩個整數(shù)之和的c程序:

1、任何一個c語言程序都必須包括以下格式:

這是c語言的基本結(jié)構(gòu),任何一個程序都必須包含這個機構(gòu)。括號內(nèi)可以不寫任何內(nèi)容,那么該程序?qū)⒉粓?zhí)行任何結(jié)果。

2、main()----在c語言中稱之為“主函數(shù)”,一個c程序有且僅有一個main函數(shù),任何一個c程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對圓括號不能省略。

3、被大括號{ }括起來的內(nèi)容稱為main函數(shù)的函數(shù)體,這部分內(nèi)容就是計算機要執(zhí)行的內(nèi)容。

4、在{ ?}里面每一句話后面都有一個分號(;),在c語言中,我們把以一個分號結(jié)尾的一句話叫做一個c語言的語句,分號是語句結(jié)束的標志。

5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通過執(zhí)行這條c語言系統(tǒng)提供給我們直接使用的屏幕輸出函數(shù),用戶即可看到運行結(jié)果,本程序運行后,將在顯示器上顯示如下結(jié)果:

6、#include

7、程序中以 /*開頭并且以*/結(jié)尾的部分表示程序的注釋部分,注釋可以添加在程序的任何位置,為了提高程序的可讀性而添加,但計算機在執(zhí)行主函數(shù)內(nèi)容時完全忽略注釋部分,換而言之就是計算機當做注釋部分不存在于主函數(shù)中。

? ?2 C程序的生成過程

C程序是先由源文件經(jīng)編譯生成目標文件,然后經(jīng)過連接生成可執(zhí)行文件,如圖所示。

? ? ? ? ? ? ? ? ? ? ? ? ? 編譯過程

? 3 標識符

在編寫程序時,必須為函數(shù)、變量等命名,這個名字稱為標識符。C語言中標識符的命名規(guī)則如下:

標識符不能與程序中具有特殊意義的關鍵字相同,不能與用戶編制的函數(shù)名、C語言庫函數(shù)相同,在程序中各種標識符盡量不要重復,以便區(qū)分。選擇變量名和其他標識符時,應注意做到 “見名知義”。

標識符分為如下三類:

1、關鍵字

3、用戶標識符

用戶根據(jù)需要自己定義的標識符稱為用戶標識符。無論如何自定義標識符,都必須符合標識符的三條命名規(guī)則。

? 4 常量

在程序運行中,其值不能被改變的量稱為常量。常量有5種類型:整型常量、實型常量、字符常量、字符串常量和符號常量。

(一)數(shù)值轉(zhuǎn)換

數(shù)字的四種表現(xiàn)形式:

在計算機內(nèi)部,數(shù)字均以二進制形式表示和存放,用戶輸入的普通十進制數(shù)字都要被計算機轉(zhuǎn)換成二進制才能在計算機內(nèi)部存儲,同樣計算機的運算結(jié)果也為二進制,一般要將其轉(zhuǎn)換成十進制數(shù)再輸出給用戶閱讀,這種轉(zhuǎn)換通常由計算機自動實現(xiàn)。

(1)將十進制轉(zhuǎn)換二進制、八進制和十六進制

除法:將十進制數(shù)除以2,記錄余數(shù),得到的商繼續(xù)除以2,直到商為0,然后將各次相處所得的余數(shù)從后往前逆序排列,所得余數(shù)數(shù)字序列就是該十進制數(shù)對應的二進制數(shù)。八進制和十六進制轉(zhuǎn)換方法同上。

例:十進制數(shù)13轉(zhuǎn)換成二進制數(shù)的值為1101,轉(zhuǎn)換八進制為015,轉(zhuǎn)換成十六進制為D.

(2)將二進制、八進制和十六進制轉(zhuǎn)換成十進制

乘積求和:將二進制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22。。。。,然后將這些積求和。

例如:(1101)2=(13)10 ? ? (317)8=(207)10 ? ? (23E)16=(574)10

(3)二進制與八進制、十六進制數(shù)之間的相互轉(zhuǎn)換

(二)整型常量

整型常量有3種形式:十進制整型常量、八進制整型常量和十六進制整型常量。

書寫方式如下:

(三)實型常量

實型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。

(四)字符常量

(2)由一對單引號括起來,以反斜杠\開頭,后跟若干數(shù)字或者字母,比如‘\n’,其中“\“是轉(zhuǎn)義的意思,后面跟不同的字符表示不同的意思,這類字符常量叫轉(zhuǎn)義字符。具體如圖所示 。

(五)字符串常量

C語言中,以雙引號括起來的,由若干個字符組成的序列即為字符串常量。

例:“ni hao” ? “happy”等等。

(六)符號常量

例:計算圓的面積的c程序。

說明:

? 5 變量

變量就是其值可以改變的量。變量要有變量名,在內(nèi)存中占據(jù)一定的存儲單元,存儲單元里存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。

(一)整型變量

不同的編譯系統(tǒng)對上述四種整型數(shù)據(jù)所占用的位數(shù)和數(shù)值范圍有不同的規(guī)定。

類型說明符

說明:

(二)實型變量

C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:

在vc中,float 型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),double型數(shù)據(jù)占8個字節(jié)。單精度實數(shù)提供7位有效數(shù)字,雙精度實數(shù)提供15~16位有效數(shù)字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據(jù)其類型截取實型常量中相應的有效數(shù)字。

注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。

(三)字符變量

字符變量用來存放字符常量,定義形式:

char ?變量名;

其中關鍵字char定義字符型數(shù)據(jù)類型,占用一個字節(jié)的存儲單元。

將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內(nèi)存中,而是將該字符對應的ASCII碼存儲到內(nèi)存單元中。例如,字符 ′A′ 的ASCII碼為65,在內(nèi)存中的存放形式如下:01000001

由于在內(nèi)存中字符以ASCII碼存放,它的存儲形式和整數(shù)的存儲形式類似,所以C語言中字符型數(shù)據(jù)與整型數(shù)據(jù)之間可以通用,一個字符能用字符的形式輸出,也能用整數(shù)的形式輸出,字符數(shù)據(jù)也能進行算術運算,此時相當于對它們的ASCII碼進行運算。

?6 類型的自動轉(zhuǎn)換和強制轉(zhuǎn)換

當同一表達式中各數(shù)據(jù)的類型不同時,編譯程序會自動把它們轉(zhuǎn)變成同一類型后再進行計算。轉(zhuǎn)換優(yōu)先級為:

即左邊級別“低“的類型向右邊轉(zhuǎn)換。具體地說,若在表達式中優(yōu)先級最高的數(shù)據(jù)是double型,則此表達式中的其他數(shù)據(jù)均被轉(zhuǎn)換成double型,且計算結(jié)果也是double型;若在表達式中優(yōu)先級最高的數(shù)據(jù)是float型,則此表達式中的其他數(shù)據(jù)均被轉(zhuǎn)換成float型,且計算結(jié)果也是float型。

在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉(zhuǎn)換;當右邊的類型高于左邊的類型時,則在轉(zhuǎn)換時對右邊的數(shù)據(jù)進行截取。

除自動轉(zhuǎn)換外,還有強制轉(zhuǎn)換,表示形式是:

討論:當a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?

? 7 ?C運算符認識

C語言的運算符范圍很廣,可分為以下幾類:

1、算術運算符:用于各類數(shù)值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(++)、自減(--)共七種。

2、賦值運算符:用于賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(=,|=,^=,=,=)三類共十一種。

3、逗號運算符:用于把若干表達式組合成一個表達式(,)。

4、關系運算符:用于比較運算。包括大于()、小于()、等于(==)、 大于等于(=)、小于等于(=)和不等于(!=)六種。

5、邏輯運算符:用于邏輯運算。包括與()、或(||)、非(!)三種。

6、條件運算符:這是一個三目運算符,用于條件求值(?:)。

7、位操作運算符:參與運算的量,按二進制位進行運算。包括位與()、位或(|)、位非(~)、位異或(^)、左移()、右移()六種。

8、指針運算符:用于取內(nèi)容(*)和取地址()二種運算。

9.、求字節(jié)數(shù)運算符:用于計算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。

10、特殊運算符:有括號(),下標[],成員(→,.)等幾種。

另外,按參與運算的對象個數(shù),C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如+,- )和三目運算符 (如 ? ?: )。

一、 ? 基本的算術運算符

(1)+(加法運算符或正值運算符,如2+5)。

(2)-(減法運算符或負值運算符,如4-2)。

(3)*(乘法運算符,如3*8)。

(4)/(除法運算符,如11/5)。

/的運算分為兩種情況:

(5)%(模運算符或稱求余運算符,%兩側(cè)均應為整型數(shù)據(jù),如9%7的值為2)。

需要說明的是:當運算對象為負數(shù)時,所得結(jié)果隨編譯器不同而不同,在vc中,結(jié)果的符號與被除數(shù)相同,比如:13%-2值為1,而-15%2值為-1.

二、 ? 算術表達式和運算符的優(yōu)先級與結(jié)合性

算術表達式是用算術運算符和括號將運算量(也稱操作數(shù))連接起來的、符合C語言語法規(guī)則的表達式。運算對象包括函數(shù)、常量和變量等。

在計算機語言中,算術表達式的求值規(guī)律與數(shù)學中的四則運算的規(guī)律類似,其運算規(guī)則和要求如下。

(1)在算術表達式中,可使用多層圓括號,但括號必須配對。運算時從內(nèi)層圓括號開始,由內(nèi)向外依次計算各表達式的值。

(2)在算術表達式中,對于不同優(yōu)先級的運算符,可按運算符的優(yōu)先級由高到低進行運算,若表達式中運算符的優(yōu)先級相同,則按運算符的結(jié)合方向進行運算。

(3)如果一個運算符兩側(cè)的操作數(shù)類型不同,則先利用自動轉(zhuǎn)換或強制類型轉(zhuǎn)換,使兩者具有相同類型,然后進行運算。

三、 ? 自增自減運算符

作用:使變量的值增1或減1。

(1)只有變量才能用自增運算符 (++)和自減運算符(--),而常量或表達式不能用,如10++或(x+y)++都是不合法的。

(2)++和--的結(jié)合方向是“自右向左“,如 -i++ ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 “自右向左“結(jié)合的,相當于 -(i++)。

在循環(huán)語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i++”和“++i”及“i--”和“--i”的區(qū)別,特別弄清楚表達式的值和變量的值。

例:變量n的初始值為2,則

例:有以下程序

程序運行后的輸出結(jié)果是_____

A.12 ?35 ?13 ?35 ?14 ?36 ? ? B. 12 ?35 ?14 ?35 ?14 ?36

C.12 ?35 ?14 ?36 ?14 ?36 ? ? D. 12 ?35 ?14 ?35 ?14 ?35

解析:自增自減運算需要注意區(qū)分表達式的值和變量的值,表達式運算后,變量會自增自減運算,表達式和變量變化如下:

??9 賦值運算符與賦值表達式

一、賦值運算符與賦值表達式

賦值符號 “=“就是賦值運算符,作用是將一個數(shù)據(jù)賦給一個變量或?qū)⒁粋€變量的值賦給另一個變量,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:

變量名 = 表達式

在程序中可以多次給一個變量賦值,每賦一次值,與它相應的存儲單元中的數(shù)據(jù)就被更新一次,內(nèi)存中當前的數(shù)據(jù)就是最后一次所賦值的那個數(shù)據(jù)。

說明:

a、如果賦值號兩邊的運算對象類型不一致,系統(tǒng)會自動進行類型轉(zhuǎn)換,轉(zhuǎn)換的規(guī)則:將賦值號右邊表達式的值的類型轉(zhuǎn)換成賦值號左邊變量的類型,

b、 可以將復制表達式的值再賦值給變量,形成連續(xù)賦值。

二、復合的賦值運算符

在賦值運算符之前加上其他運算符可以構(gòu)成復合賦值運算符。其中與算術運算有關的復合運算符是:+=,-=,*=,/=,%= 。

兩個符號之間不可以有空格,復合賦值運算符的優(yōu)先級與賦值運算符的相同。表達式n+=1等價于n=n+1,作用是取變量n中的值增1再賦給變量n,其他復合的賦值運算符的運算規(guī)則依次類推。

如求表達a+=a-=a*a 的值,其中a的初值為12 。

步驟:

?10 ?逗號運算符和逗號表達式

在c語言中,逗號除了作為分隔符,還可以用作一種運算符----逗號運算符,用逗號運算符將幾個表達式連接起來,例如a=b+c,a=b*c等稱為逗號表達式。

一般形式為:

表達式1 ,表達式2 ,表達式3 , …,表達式n

例:x=2,y=3,z=4

逗號表達式具有從左至右的結(jié)合性,即先求解表達式1,然后依次求解表達式2,直到表達式n的值。表達式n的值就是整個逗號表達式的值。上述的逗號表達式的值就是表達式z=4的值4.需要注意的是,逗號運算符是所有運算符中級別最低的。

例:有如下程序段:

程序顯示結(jié)果為:y=6,x=6

討論:將y=(x=a+b),(b+c);改為y=((x=a+b),b+c) 的程序結(jié)果?

? 11 關系運算符和關系表達式

一、 ? C語言中的邏輯值

C語言中的邏輯值只有兩個:真(true)和假(flase)。用非零代表真,用零代表假。因此,對于任意一個表達式,如果它的值為零,就代表一個假值,如果它的值為非零,就代表一個真值。只要值不是零,不管是正數(shù),負數(shù),整數(shù),實數(shù),都代表一個真值。例如-5的邏輯值為真。

二、 ? 關系運算符及其優(yōu)先次序

C語言提供了6種關系運算符,見表

由兩個字符組成的運算符之間不可以加空格,關系運算符都是雙目運算符。

(1)結(jié)合性:自左向右。

(2)優(yōu)先次序:前4種關系運算符( ,=,=, )的優(yōu)先級別相同,后兩種 (==,!=)優(yōu)先級相同,且前4種優(yōu)先級高于后兩種;關系運算符的優(yōu)先級低于算術運算符,高于賦值運算符。

三、 ? 關系表達式

由關系運算符連接而成的表達式稱為關系表達式。

例如:ab,(a=7)(b=10)等都是合法的關系表達式。

關系表達式的結(jié)果有兩個:0和1,。其中0表示假,1表示真。如果關系表達式成立,則值為真,如果關系表達式不成立,則值為假。

例:變量a的值為5,b的值為6,那么關系表達式ab的值為假,即為0.而關系表達式

(a=13)(b=10)的值為真,即為1。

當關系運算符兩邊值的類型不一致時,若一邊是整型,一邊是實型,系統(tǒng)將自動把整型數(shù)轉(zhuǎn)化為實型數(shù),然后再進行比較。

?12 邏輯運算符和邏輯表達式

一、 ? 邏輯運算符及其優(yōu)先級

C語言提供了3種邏輯運算符,如下表。

二、 ? 邏輯表達式

“”和“||”的運算對象有兩個,故它們都是雙目運算符,而!的運算對象只有一個,因此它是單目運算符。邏輯運算舉例如下:

(1)ab: 當兩邊都為“真”時,表達式ab的值才是真。

值得注意的是:在數(shù)學中,關系式0

(2)a||b: 當||兩邊有一個為“真”時,表達式a||b的值就是真。

(3)!a: ? 表示取反,如果a為真,則!A為假,反之亦然。例如!-5的值就為0.

在C語言中,由或||組成的邏輯表達式,在某些特定情況下會產(chǎn)生“短路“現(xiàn)象。

(1)x y z ,只有當x為真(非0)時,才需要判別y的值;只有x和y都為真時,才需要去判別z的值;只要x為假就不必判別y和z,整個表達式的值為0??谠E:“一假必假”。

例:(!5==1)(++i==0) ?(!5==1)表達式的值為0,所以計算機運行中就跳過(++i==0)此表達式,(!5==1)(++i==0)表達式的值為0.

(2)x||y||z ,只要x的值為真(非零),就不必判別y和z的值 ,整個表達式的值為1,只有x的值為假,才需要判別y的值,只有x和y的值同時為假才需要判別z的值,口訣:“一真必真”。

?13 位運算

一、 ? 位運算符

在計算機中,數(shù)據(jù)都是以二進制數(shù)形式存放的,位運算就是指對存儲單元中二進制位的運算。C語言提供6種位運算符。

二、位運算

位運算符 ?|~ ? ?∧ 按優(yōu)先級從高到低排列的順序是:

位運算符中求反運算“~“優(yōu)先級最高,而左移和右移相同,居于第二,接下來的順序是按位與 ““、按位異或 “∧“和按位或 “|“。順序為~ ? ? ? ?∧ ?| ?。

例1左移運算符“”是雙目運算符。其功能把“ ”左邊的運算數(shù)的各二進位全部左移若干位,由“”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。

例 2右移運算符“”是雙目運算符。其功能是把“ ”左邊的運算數(shù)的各二進位全部右移若干位,“”右邊的數(shù)指定移動的位數(shù)。

應該說明的是,對于有符號數(shù),在右移時,符號位將隨同移動。當為正數(shù)時,最高位補0,而為負數(shù)時,符號位為1,最高位是補0或是補1 取決于編譯系統(tǒng)的規(guī)定。

例 3 設二進制數(shù)a是00101101 ,若通過異或運算a∧b 使a的高4位取反,低4位不變,則二進制數(shù)b是。

解析:異或運算常用來使特定位翻轉(zhuǎn),只要使需翻轉(zhuǎn)的位與1進行異或操作就可以了,因為原數(shù)中值為1的位與1進行異或運算得0 ,原數(shù)中值為0的位與1進行異或運算結(jié)果得1。而與0進行異或的位將保持原值。異或運算還可用來交換兩個值,不用臨時變量。

所以本題的答案為: 11110000 。

C語言里 #DEFINE的運算法則是啥啊 急幾急啊以題 為例吧

有一點啊,你的那個s1初始化時要給它值,因為這是C,所以,不能默認為0。言歸正傳,#DEFINE就是把X的地方直接原封不動的換為X后面的那些東西,也就是這里的a+b,換完后,main 中就為:main(){

int a=3,b=4,s1=0;

s1=2*a+b;

printf("%d\n",s1);

}

那么運算結(jié)果就是,2*3+4=6+4=10。

當前名稱:c語言函數(shù)運算法則 c語言的四則運算法則
文章源于:http://muchs.cn/article4/doooeie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、商城網(wǎng)站、靜態(tài)網(wǎng)站、定制開發(fā)關鍵詞優(yōu)化、電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化