版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式
本章要點(diǎn)數(shù)據(jù)的描述規(guī)則數(shù)據(jù)的操作規(guī)則C語(yǔ)言的基本元素一、符號(hào)集(字符集)(1)大寫(xiě)字母:A~Z(2)小寫(xiě)字母a~z(3)阿拉伯?dāng)?shù)字:0~9(4)下劃線:_(5)標(biāo)點(diǎn)符號(hào)和運(yùn)算符二、標(biāo)識(shí)符用來(lái)標(biāo)記常量、變量、函數(shù)及文件名字的字符序列。標(biāo)識(shí)符的構(gòu)成規(guī)則:(1)以字母(大小寫(xiě)皆可)或下劃線開(kāi)頭(2)隨后可跟若干個(gè)(包括0個(gè))字母、數(shù)字、下劃線如:xy3_imaxELSEX
(合法)
7xint#Nobadone(不合法)注意:C語(yǔ)言區(qū)分大小寫(xiě),如sum和SUM是兩個(gè)標(biāo)識(shí)符。三、關(guān)鍵字(附錄B)也稱“保留字”,它是C語(yǔ)言中具有特定含義、專門(mén)用作語(yǔ)言特定成分的一類(lèi)標(biāo)識(shí)符。ANSI推薦的C語(yǔ)言的關(guān)鍵字是32個(gè)如:int、char、float、void等注意:所有的關(guān)鍵字都有固定的意義,不能用作其他。所有關(guān)鍵字都必須小寫(xiě)。如:else與ELSE代表不同含義
else是關(guān)鍵字,ELSE用戶定義的標(biāo)識(shí)符2.1C的數(shù)據(jù)類(lèi)型C語(yǔ)言提供了以下一些數(shù)據(jù)類(lèi)型。數(shù)據(jù)類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型空類(lèi)型(無(wú)值類(lèi)型)void枚舉類(lèi)型enum數(shù)組類(lèi)型結(jié)構(gòu)類(lèi)型
struct聯(lián)合類(lèi)型union
基本類(lèi)型整型int字符型char實(shí)型(浮點(diǎn)型)單精度實(shí)型
float雙精度實(shí)型
double
2.2常量與變量1、常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量稱為常量。常量區(qū)分為不同的類(lèi)型:整型100,125,-100,0實(shí)型3.14,0.125,-3.789字符型‘a(chǎn)’,‘b’,‘2’字符串“a”,“ab”,“1232”常量和符號(hào)常量2、符號(hào)常量:用一個(gè)標(biāo)識(shí)符代表的一個(gè)常量。定義方法:#define標(biāo)識(shí)符常量例2.1符號(hào)常量的使用
#definePRICE30
#include<stdio.h>
intmain()
{
intnum,total;
num=10;
total=num*PRICE;
printf("total=%d\n",total);}運(yùn)行結(jié)果:
total=300說(shuō)明:如再用賦值語(yǔ)句給PRICE賦值是錯(cuò)的
PRICE=40;/*錯(cuò)誤,不能給符號(hào)常量賦值*/說(shuō)明:程序中用#define命令行定義PRICE代表常量30,此后凡在本文件中出現(xiàn)的PRICE都代表30,可以和常量一樣進(jìn)行運(yùn)算變量其值是可以改變的量,它用標(biāo)識(shí)符(變量名)來(lái)表示,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。變量名實(shí)際上是以一個(gè)名字代表一個(gè)地址,在對(duì)程序編譯連接時(shí)由編譯系統(tǒng)給每一個(gè)變量名分配對(duì)應(yīng)的內(nèi)存地址。從變量中取值,實(shí)際上是通過(guò)變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)。變量的定義方法
類(lèi)型符標(biāo)識(shí)符如:inti,j;charc1,c2;floatx,y;doublez;變量命名的規(guī)定:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。例:sum,_total,month,Student_name,
lotus_1_2_3,BASIC,li_ling
M.D.John,¥123,3D64,a>b
注意:編譯系統(tǒng)將大寫(xiě)字母和小寫(xiě)字母認(rèn)為是兩個(gè)不同的字符(習(xí)慣上,符號(hào)常量用大寫(xiě))。建議變量名的長(zhǎng)度最好不要超過(guò)8個(gè)字符。在選擇變量名和其它標(biāo)識(shí)符時(shí),應(yīng)注意做到“見(jiàn)名知意”,即選有含意的英文單詞(或其縮寫(xiě))作標(biāo)識(shí)符。要求對(duì)所有用到的變量作強(qiáng)制定義,也就是“先定義,后使用”。student_name->s_namestudent_num->s_num2.3整型數(shù)據(jù)整型常量即整常數(shù)。在C語(yǔ)言中,整常數(shù)可用以下三種形式表示:(1)十進(jìn)制整數(shù)。
如:123,-456,4。(2)八進(jìn)制整數(shù)。以0開(kāi)頭的數(shù)是八進(jìn)制數(shù)。
如:0123表示八進(jìn)制數(shù)123,等于十進(jìn)制數(shù)83,(3)十六進(jìn)制整數(shù)。以0x開(kāi)頭的數(shù)是16進(jìn)制數(shù)。如:0x123,代表16進(jìn)制數(shù)123,等于十進(jìn)制數(shù)291。
整型常量的表示方法整型變量(1)整型數(shù)據(jù)在內(nèi)存中的存放形式在內(nèi)存中是以二進(jìn)制的補(bǔ)碼表示。如:inti;/*定義為整型變量*/i=10;/*給i賦以整數(shù)10*/補(bǔ)碼:
一個(gè)正整數(shù)的補(bǔ)碼和該數(shù)的原碼(即該數(shù)的二進(jìn)制形式)相同。如果數(shù)值是負(fù)的,求負(fù)數(shù)的補(bǔ)碼方法是:將該數(shù)的絕對(duì)值的二進(jìn)制形式,按位取反再加1。注意:十進(jìn)制數(shù)10的二進(jìn)制形式為1010,TurboC2.0和TurboC++3.0為一個(gè)整型變量在內(nèi)存中分配2個(gè)字節(jié)的存儲(chǔ)單元(不同的編譯系統(tǒng)為整型數(shù)據(jù)分配的字節(jié)數(shù)是不相同的,VC++6.0則分配4個(gè)字節(jié))。數(shù)值是以補(bǔ)碼(complement)表示的。存儲(chǔ)有符號(hào)整數(shù)時(shí)存儲(chǔ)單元中的第一個(gè)二進(jìn)制位(即最高位)用來(lái)代表數(shù)值符號(hào)。(2)整型變量的分類(lèi)有符號(hào)基本整型有符號(hào)短整型有符號(hào)長(zhǎng)整型無(wú)符號(hào)基本整型無(wú)符號(hào)短整型無(wú)符號(hào)長(zhǎng)整型(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshort(int)unsignedlong(int)注意:括號(hào)表示其中的內(nèi)容是可選的。例如:整數(shù)13在內(nèi)存中實(shí)際存放的情況:(3)整型變量的定義:
C規(guī)定在程序中所有用到的變量都必須在程序中定義,即“強(qiáng)制類(lèi)型定義”。例如:inta,b;(指定變量a、b為整型)
unsignedshortc,d;
(指定變量c、d為無(wú)符號(hào)短整型)
longe,f;(指定變量e、f為長(zhǎng)整型)例2.2整型變量的定義與使用#include<stdio.h>intmain()
{inta,b,c,d;/*指定a、b、c、d為整型變量*/
unsignedu;/*指定u為無(wú)符號(hào)整型變量*/
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(”a+u=%d,b+u=%d\n”,c,d);
}運(yùn)行結(jié)果:a+u=22,b+u=-14
說(shuō)明:可以看到不同種類(lèi)的整型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算.
0000000000001100a0000000000001010u0000000000010110a+u1111111111101000b0000000000001010u1111111111110010b+ub=-24先計(jì)算其絕對(duì)值24的二進(jìn)制形式0000000000011000
按位取反再加1為11111111111010001111111111110001減1取反0000000000001110負(fù)數(shù)的絕對(duì)值14是負(fù)數(shù)-?整型常量的類(lèi)型
(1)一個(gè)整數(shù),如果其值在-32768~+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和longint型變量。(2)一個(gè)整數(shù),如果其值超過(guò)了上述范圍,而在-2147483648~+2147483647范圍內(nèi),則認(rèn)為它是為長(zhǎng)整型。可以將它賦值給一個(gè)longint型變量。(3)如果所用的C版本(如TurboC)分配給shortint與int型數(shù)據(jù)在內(nèi)存中占據(jù)的長(zhǎng)度相同,則它的表數(shù)范圍與int型相同。因此一個(gè)int型的常量同時(shí)也是一個(gè)shortint型常量,可以賦給int型或shortint型量。
(4)一個(gè)整常量后面加一個(gè)字母u或U,認(rèn)為是unsignedint型,如12345u,在內(nèi)存中按unsignedint規(guī)定的方式存放(存儲(chǔ)單元中最高位不作為符號(hào)位,而用來(lái)存儲(chǔ)數(shù)據(jù))。(5)在一個(gè)整常量后面加一個(gè)字母l或L,則認(rèn)為是longint型常量。例如:123l,432L,0L用于函數(shù)調(diào)用中。2.4浮點(diǎn)型數(shù)據(jù)兩種表示形式浮點(diǎn)型常量的表示方法小數(shù)指數(shù)0.1233e-3注意:字母e(或E)前后必須有數(shù)字,且e后面的指數(shù)必須為整數(shù).1e3、1.8e-3、-123e-6e3、2.1e3.5、.e3、e
類(lèi)型:缺省為double;后綴f或F,為float型;后綴l或L,為longdouble型。規(guī)范化的指數(shù)形式:在字母e(或E)之前的小數(shù)部分中,小數(shù)點(diǎn)左邊應(yīng)有一位(且只能有一位)非零的數(shù)字.
例如:123.456可以表示為:
123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e其中的1.23456e3稱為“規(guī)范化的指數(shù)形式”。浮點(diǎn)型變量(1)浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放形式一個(gè)浮點(diǎn)型數(shù)據(jù)一般在內(nèi)存中占4個(gè)字節(jié)(32位)。與整型數(shù)據(jù)的存儲(chǔ)方式不同,浮點(diǎn)型數(shù)據(jù)是按照指數(shù)形式存儲(chǔ)的。系統(tǒng)把一個(gè)浮點(diǎn)型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分采用規(guī)范化的指數(shù)形式。(2)浮點(diǎn)型變量的分類(lèi)浮點(diǎn)型變量分為單精度(float型)、雙精度(double型)和長(zhǎng)雙精度型(longdouble)三類(lèi)形式。單精度(float型):占4個(gè)字節(jié),7位有效數(shù)字(3.4e-38~3.4e+38)雙精度(double型):占8個(gè)字節(jié),15~16位有效數(shù)字(1.7e-308~1.7e+308)
longdouble型:占10個(gè)字節(jié),15~16位有效數(shù)字(3.4e-4932~1.1e+4932)(3)浮點(diǎn)型數(shù)據(jù)的舍入誤差
#include<stdio.h>
intmain()
{floata,b;
a=123456.789e5;
b=a+20;
printf(“a=%f,b=%f\n”,a,b);
}
運(yùn)行結(jié)果:a=12345678848.000000,b=12345678868.000000說(shuō)明:一個(gè)浮點(diǎn)型變量只能保證的有效數(shù)字是7位有效數(shù)字,后面的數(shù)字是無(wú)意義的,并不準(zhǔn)確地表示該數(shù)。應(yīng)當(dāng)避免將一個(gè)很大的數(shù)和一個(gè)很小的數(shù)直接相加或相減,否則就會(huì)“丟失”小的數(shù).若數(shù)據(jù)超過(guò)有效位,則被舍去,故可能產(chǎn)生誤差。
2.5字符型數(shù)據(jù)
(1)用單引號(hào)包含的一個(gè)字符是字符型常量如:‘a(chǎn)’、‘A’、‘b’、‘*’、‘$’(2)轉(zhuǎn)義字符:特殊的字符常量,都以“\”開(kāi)頭(代表一個(gè)字符)\n換行,移到下一行開(kāi)頭\0空值\t橫向跳格(每8列為一制表位)\v縱向跳格\r回車(chē),移到本行開(kāi)頭\a報(bào)警\b退格\f走紙換頁(yè)\\反斜杠\’
輸出單引號(hào)\dddddd表示1到3位八進(jìn)制數(shù)字(字符的ASCII碼)
如:‘\101’
代表字符‘A’\xhh
hh表示1到2位十六進(jìn)制數(shù)字如:‘\x41’
代表字符‘A’字符常量輸出格式控制輸出字符例2.5轉(zhuǎn)義字符的使用
#include<stdio.h>
intmain(){printf(“a\t\rf\tg\n″);
}
顯示屏上的運(yùn)行結(jié)果:fg例2.5轉(zhuǎn)義字符的使用
#include<stdio.h>
intmain(){printf(“a\t\rf\tg\n″);
printf("h\ti\b\bjk\n″);
}
顯示屏上的運(yùn)行結(jié)果:fghjk例2.5轉(zhuǎn)義字符的使用
#include<stdio.h>
intmain(){printf("abc\tde\rf\tg\n″);
printf("h\ti\b\bjk\n″);
}
顯示屏上的運(yùn)行結(jié)果:fgdehjk字符變量字符型變量用來(lái)存放字符常量,注意只能放一個(gè)字符。字符變量的定義形式如下:
charc1,c2;unsignedcharc3,c4;
字符型變量的賦值方法:
c1=‘a(chǎn)’;c2=‘\101’;c3=0xff;c4=‘\377’;一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié)。字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法(1)一個(gè)字符常量存放到一個(gè)字符變量中,實(shí)際上并不是把該字符的字型放到內(nèi)存中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中。這樣使字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。abab
#include<stdio.h>intmain(){charcl,c2;c1='a';c2='b'printf("oc%c",cl,c2);c1=97;c2=98;printf("oc%c",cl,c2);}(2)字符數(shù)據(jù)與整型數(shù)據(jù)可以相互賦值(3)字符數(shù)據(jù)可以以字符形式輸出,也可以用整型數(shù)形式輸出。intmain(){inti;charc;i=‘a(chǎn)’;c=97;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,i,i);}等同于:i=97;c=‘a(chǎn)’;例2.6向字符變量賦以整數(shù)。
#include<stdio.h>
intmain()
{charc1,c2;
c1=97;
c2=98;
printf(“%c%c\n”,c1,c2);
printf(“%d%d\n”,c1,c2);
}運(yùn)行結(jié)果:ab
9798說(shuō)明:在第4和第5行中,將整數(shù)97和98分別賦給c1和c2,它的作用相當(dāng)于以下兩個(gè)賦值語(yǔ)句:
c1=’a’;c2=’b’;因?yàn)椤痑’和’b’的ASCII碼為97和98例2.7大小寫(xiě)字母的轉(zhuǎn)換
#include<stdio.h>
intmain()
{charc1,c2;
c1=’a’;
c2=’b’;
c1=c1-32;
c2=c2-32;
printf(“%c%c”,c1,c2);
}運(yùn)行結(jié)果:AB說(shuō)明:程序的作用是將兩個(gè)小寫(xiě)字母a和b轉(zhuǎn)換成大寫(xiě)字母A和B。從ASCII代碼表中可以看到每一個(gè)小寫(xiě)字母比它相應(yīng)的大寫(xiě)字母的ASCII碼大32。C語(yǔ)言允許字符數(shù)據(jù)與整數(shù)直接進(jìn)行算術(shù)運(yùn)算。字符’a’的存儲(chǔ)形式
01100001intmain(){charc;c=‘\376’;printf(“%c,%d\n”,c,c);}八進(jìn)制數(shù)376(十進(jìn)制為254)ASCII碼字符為:11111110unsignedcharc;
,-2,2541111110100000010字符串常量1、字符串常量是一對(duì)雙引號(hào)括起來(lái)的字符序列.
合法的字符串常量:
“Howdoyoudo.”,“CHINA”,“a”
,“$123.45”
可以輸出一個(gè)字符串,如
printf(“Howdoyoudo.”);‘a’是字符常量,“a”是字符串常量,二者不同。如:假設(shè)c被指定為字符變量:charc;c=’a’;c=“a”;c=“CHINA”;
結(jié)論:不能把一個(gè)字符串常量賦給一個(gè)字符變量。2、C規(guī)定:在每一個(gè)字符串常量的結(jié)尾加一個(gè)“字符串結(jié)束標(biāo)志”,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。C規(guī)定以字符’\0’作為字符串結(jié)束標(biāo)志。如:如果有一個(gè)字符串常量”CHINA”
,實(shí)際上在內(nèi)存中是:CHINA\0
它占內(nèi)存單元不是5個(gè)字符,而是6個(gè)字符,最后一個(gè)字符為’\0’。但在輸出時(shí)不輸出’\0’。2.6變量賦初值(1)C語(yǔ)言允許在定義變量的同時(shí)使變量初始化如:inta=3;//指定a為整型變量,初值為3
floatf=3.56;//指定f為浮點(diǎn)型變量,初 // 值為3.56charc=‘a(chǎn)’;//指定c為字符變量,初值為‘a(chǎn)’(2)可以使被定義的變量的一部分賦初值。如:inta,b,c=5;表示指定a、b、c為整型變量,但只對(duì)c初始化,c的初值為5(3)如果對(duì)幾個(gè)變量賦以同一個(gè)初值,應(yīng)寫(xiě)成:inta=3,b=3,c=3;
表示a、b、c的初值都是3。
不能寫(xiě)成:inta=b=c=3;
2.7各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算
整型(包括int,short,long)、浮點(diǎn)型(包括float,double)等可以混合運(yùn)算。例如:10+’a’+12.3-3.14*’x’是合法的。在進(jìn)行運(yùn)算時(shí),不同類(lèi)型的數(shù)據(jù)要先轉(zhuǎn)換成同一類(lèi)型,然后進(jìn)行運(yùn)算。
2.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式C運(yùn)算符(1)基本的算術(shù)運(yùn)算符:+(加法運(yùn)算符,或正值運(yùn)算符。如:3+5、+3)-(減法運(yùn)算符,或負(fù)值運(yùn)算符。如:5-2、-3)*(乘法運(yùn)算符。如:3*5,2*x,3*(a+b))/(除法運(yùn)算符。如:5/3,(x+y)/(a+b))1)兩個(gè)整數(shù)相除,其值為整數(shù),如:5/3值為1,舍去小數(shù)部分;2)除數(shù)、被除數(shù)有一個(gè)為負(fù)值時(shí),結(jié)果”向零取整”,如-5/3=-1;3)除數(shù)、被除數(shù)有一個(gè)為實(shí)數(shù)時(shí),結(jié)果為double型(1)基本的算術(shù)運(yùn)算符:%(模運(yùn)算符,或稱求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。-7%4,7%-4,-7%-4的值為多少?-3,3,-3符號(hào)由被除數(shù)決定(2)算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的、符合C語(yǔ)法規(guī)則的式子,稱為C算術(shù)表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。例如:a*b/c-1.5+’a’3.14*r*rx+sqrt(0.25*y)/(abs(a+b)-3.6)
優(yōu)先級(jí)在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,例如先乘除后加減。結(jié)合性算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇?,即先左后右?3)強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。一般形式:(類(lèi)型名)(表達(dá)式)例如:(double)a將a轉(zhuǎn)換成double類(lèi)型(int)(x+y)將x+y的值轉(zhuǎn)換成整型(float)(5%3)將5%3的值轉(zhuǎn)換成float型注意:與(int)x+y不同例2.8強(qiáng)制類(lèi)型轉(zhuǎn)換。
#include<stdio.h>
intmain(){floatx;
inti;
x=3.6;
i=(int)x;/*不影響x單元的內(nèi)容*/printf("x=%f,i=%d\n",x,i);
}
運(yùn)行結(jié)果:x=3.600000,i=3說(shuō)明:有兩種類(lèi)型轉(zhuǎn)換,一種是在運(yùn)算時(shí)不必用戶指定,系統(tǒng)自動(dòng)進(jìn)行的類(lèi)型轉(zhuǎn)換,如3+6.5。第二種是強(qiáng)制類(lèi)型轉(zhuǎn)換。當(dāng)自動(dòng)類(lèi)型轉(zhuǎn)換不能實(shí)現(xiàn)目的時(shí),可以用強(qiáng)制類(lèi)型轉(zhuǎn)換。注意:x的類(lèi)型沒(méi)有發(fā)生改變。(4)自增、自減運(yùn)算符作用是使變量的值增1或減1如:++i,--i(在使用i之前,先使i的值加(減)1)i++,i--(在使用i之后,使i的值加(減)1)i++與++i的區(qū)別:++i是先執(zhí)行i=i+1后,再使用i的值;i++是先使用i的值后,再執(zhí)行i=i+1。例2.9:
#include<stdio.h>intmain(){inti=0,j;j=i++;printf(“%d%d\n”,i,j);i=0;j=++i;printf(“%d%d\n”,i,j);}區(qū)分:j=i+1;j=++i;011注意:
(1)自增運(yùn)算符(++),自減運(yùn)算符(--),只能用于變量,而不能用于常量或表達(dá)式。如:5++、--(a+b)不合法。(2)++和--的優(yōu)先級(jí)高于算術(shù)運(yùn)算符,結(jié)合方向是“自右至左”。如:-i++相當(dāng)于-(i++)。(3)C語(yǔ)言中有的運(yùn)算符為一個(gè)字符,有的運(yùn)算符由兩個(gè)字符組成,為避免誤解,最好采取大家都能理解的寫(xiě)法。例如:不要寫(xiě)成i+++j的形式,而應(yīng)寫(xiě)成
(i++)+j的形式2.9逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符:將兩個(gè)表達(dá)式連接起來(lái),又稱為“順序求值運(yùn)算符”.
如:3+5,6+8
一般形式:
表達(dá)式1,表達(dá)式2求解過(guò)程:
1)求解表達(dá)式1
2)再求解表達(dá)式2
3)整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式2的值。逗號(hào)表達(dá)式的值為14例:逗號(hào)表達(dá)式a=3*5,a*4分析:逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的,因此應(yīng)先求解a=3*5。a的值為15,然后求解a*4,得60。整個(gè)逗號(hào)表達(dá)式的值為60。
一個(gè)逗號(hào)表達(dá)式又可以與另一個(gè)表達(dá)式組成一個(gè)新的逗號(hào)表達(dá)式如:(a=3*5,a*4),a+5先計(jì)算出a的值等于15,再進(jìn)行a*4的運(yùn)算得60(但a值未變,仍為15),再進(jìn)行a+5得20,即整個(gè)表達(dá)式的值為20。逗號(hào)表達(dá)式的一般形式可以擴(kuò)展為表達(dá)式1,表達(dá)式2,表達(dá)式3,……,表達(dá)式n它的值為表達(dá)式n的值。逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的例:①x=(a=3,6*3)②x=a=3,6*a逗號(hào)表達(dá)式,包括一個(gè)賦值表達(dá)式和一個(gè)算術(shù)表達(dá)式,x的值為3,整個(gè)逗號(hào)表達(dá)式的值為18。
注意:并不是任何地方出現(xiàn)的逗號(hào)都是作為逗號(hào)運(yùn)算符。
如:printf(“%d,%d,%d”,a,b,c);“a,b,c”并不是一個(gè)逗號(hào)表達(dá)式,它是printf函數(shù)的3個(gè)參數(shù)printf(“%d,%d,%d”,(a,b,c),b,c);
“(a,b,c)”是一個(gè)逗號(hào)表達(dá)式,它的值等于c的值。例:#include<stdio.h>intmain(){inta=1;printf(“結(jié)果為:%d\n”,a=3*a,3*a);}結(jié)果為:3(a=3*a,3*a)結(jié)果為:92.10賦值表達(dá)式和賦值語(yǔ)句一、賦值運(yùn)算符“=”用法:變量=表達(dá)式作用:將表達(dá)式的值賦給變量(常量、變量是表達(dá)式的特例)如:a=5;
ave=(a+b)/10;注意:與數(shù)學(xué)中的等式不同!二、復(fù)合的賦值運(yùn)算符在賦值符“=”之前加上其他運(yùn)算符,構(gòu)成復(fù)合賦值運(yùn)算符+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=如:a+=3等價(jià)于a=a+3x*=y+8等價(jià)于x=x*(y+8)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保潔服務(wù)合同樣本范本
- 電腦設(shè)備批量選購(gòu)合同示例
- 物流平臺(tái)服務(wù)合同的維權(quán)途徑
- 銀行環(huán)境清潔合作協(xié)議
- 人工分包勞務(wù)合同范本
- 苗木采購(gòu)供應(yīng)商招募通知
- 鋼材招標(biāo)合同贈(zèng)與
- 簡(jiǎn)化勞務(wù)分包協(xié)議樣本
- 工程服裝買(mǎi)賣(mài)合同范本
- 借款還款合同協(xié)議書(shū)格式案例
- 數(shù)學(xué)思想與方法-國(guó)家開(kāi)放大學(xué)電大機(jī)考網(wǎng)考題目答案
- 杭州奧泰生物技術(shù)股份有限公司IVD研發(fā)中心建設(shè)項(xiàng)目環(huán)境影響報(bào)告表
- 公共衛(wèi)生事業(yè)管理專業(yè)職業(yè)生涯規(guī)劃書(shū)
- GB/T 43232-2023緊固件軸向應(yīng)力超聲測(cè)量方法
- 低壓配電室的安全操作規(guī)程
- 新目標(biāo)漢語(yǔ)口語(yǔ)課本2課件-第2單元
- 二手車(chē)買(mǎi)賣(mài)合同(標(biāo)準(zhǔn)版范本)
- 國(guó)有企業(yè)合規(guī)制度培訓(xùn)
- 血液透析的醫(yī)療質(zhì)量管理與持續(xù)改進(jìn)
- 鉻安全周知卡、職業(yè)危害告知卡、理化特性表
- 部編小語(yǔ)必讀整本書(shū)《西游記》主要情節(jié)賞析
評(píng)論
0/150
提交評(píng)論