計(jì)算機(jī)三級網(wǎng)絡(luò)技術(shù):重點(diǎn)理論知識(2)
4.各類運(yùn)算符的用法
例如++、+=、\=、&&、>>等各類運(yùn)算符的功能說明。
(1)在C語言中,基本運(yùn)算符是:+、-、*、/、%,分別是加、減、乘、除、求余運(yùn)算符。除求余運(yùn)算符之外,運(yùn)算
對象可以是整型,也可以是實(shí)型。
求余運(yùn)算符的運(yùn)算對象只能是整數(shù)。在%運(yùn)算符左側(cè)的運(yùn)算數(shù)為被除數(shù),右側(cè)的運(yùn)算符為除數(shù),運(yùn)算的結(jié)果是兩數(shù)相除后所得的余數(shù)。當(dāng)運(yùn)算數(shù)為負(fù)數(shù)時(shí),所得結(jié)果的符號隨計(jì)算機(jī)有不同而不同。
說明:
①如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型一致,則所得結(jié)果的類型與運(yùn)算數(shù)的類型一致。
②如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型不一致,系統(tǒng)將自動進(jìn)行類型轉(zhuǎn)換,使運(yùn)算符兩邊的類型達(dá)到一致,再進(jìn)行運(yùn)算。
③在C語言中,所有實(shí)型數(shù)的運(yùn)算均以雙精度方式進(jìn)行。若是單精度數(shù),則在尾數(shù)部分添加0,使之轉(zhuǎn)化為雙精度數(shù)。
(2)強(qiáng)制類型轉(zhuǎn)換表達(dá)式
其語句形式如下:
(類型名)(表達(dá)式)
(類型名)稱為強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符可以將一個(gè)表達(dá)式的值轉(zhuǎn)換成指定的類型,這種轉(zhuǎn)換是
根據(jù)人為要求進(jìn)行的。
(3)復(fù)合賦值表達(dá)式
在賦值運(yùn)算符之前加上其他運(yùn)算符可以構(gòu)成復(fù)合賦值運(yùn)算符。C語言規(guī)定可以使用l0種復(fù)合制賦值運(yùn)算符,其中與算術(shù)運(yùn)算有關(guān)的復(fù)合賦值運(yùn)算符有:+=、-=、*=、/=、%=。復(fù)合賦值運(yùn)算符的優(yōu)先級與賦值運(yùn)算符的優(yōu)先級相同。
(4)自加運(yùn)算符“++”和自減運(yùn)算符“一”
①自加運(yùn)算符“++”和自減運(yùn)算符“一”,其運(yùn)算結(jié)果是使運(yùn)算對象的值增l或減l。
②運(yùn)算符“++”和運(yùn)算符“--”是單目運(yùn)算符,運(yùn)算對象可以是整型變量也可以是實(shí)型變量。但不能是常量或表達(dá)式,因?yàn)樗荒芙o常量或表達(dá)式賦值。
③用自加運(yùn)算符和自減運(yùn)算符構(gòu)成表達(dá)式時(shí),既可以前綴形式出現(xiàn),也可以后綴形式出現(xiàn)。以變量本身來說自增1或自減l都有相同的效果,但作為表達(dá)式來說卻有著不同的值。例如,若變量i為int類型,且已有值5。若表達(dá)式為++i,則先進(jìn)行i增l運(yùn)算,i的值為6,表達(dá)式的值也為6;若表達(dá)式為~i,則先進(jìn)行減l運(yùn)算,i的值等于4,表達(dá)式的值也為4;若表達(dá)式為i++,則表達(dá)式先取i的值為5,然后i的值加l,使其值變?yōu)?,若表達(dá)式為i--,表達(dá)式先取i的值為5,然后i進(jìn)行減1運(yùn)算,使i中的值為4。
④自加運(yùn)算符“++”和自減運(yùn)算符“一”的結(jié)合方向是“自右向左”
⑤不要在一個(gè)表達(dá)式中對同一個(gè)變量進(jìn)行多次諸如i++或++i等運(yùn)算。
5.各種變量的類型定義說明
(1)整型變量
整型變量分為基本型、短整型、長整型和無符號型四種。
基本型的整型變量用類型名關(guān)鍵字int進(jìn)行定義,例如:
一個(gè)定義語句必須以一個(gè)“:”結(jié)束。在一個(gè)定義語句中也可以同時(shí)定義多個(gè)變量,變量之間用逗號隔開。例如:
(2)實(shí)型變量
C語言中實(shí)型變量分為單精度型和雙精度型兩種,分別用類型名float和double進(jìn)行定義。單精度型變量定義的形式如下:
雙精度型變量定義的形式如下:
(3)字符變量
C語言中,字符變量用關(guān)鍵字char進(jìn)行定義,在定義的同時(shí)可以賦初值。
字符變量在內(nèi)存中占一個(gè)字節(jié),可以存放ASCII字符集中的任何字符。當(dāng)把字符放入字符變量中時(shí),字符變量中的值就是該字符的ASCII代碼值,所以字符變量可以作為整型變量來處理,可以參與對整型變量所允許的任何運(yùn)算。
(4)指針變量
指針變量的定義一般形式如下:
6.結(jié)構(gòu)體的基本概念
一個(gè)結(jié)構(gòu)體類型可以由若干個(gè)稱為成員(或域)的部分組成。結(jié)構(gòu)體類型的一般形式為:
其中srtuct是關(guān)鍵字,是結(jié)構(gòu)體的標(biāo)志。“結(jié)構(gòu)體標(biāo)識名”和“結(jié)構(gòu)成員名”都是用戶定義的標(biāo)識符,其中“結(jié)構(gòu)體標(biāo)識名”是可選項(xiàng),在說明中可以不出現(xiàn)。每個(gè)“結(jié)構(gòu)成員名表”中都可以含有多個(gè)類型的成員名,它們之間用逗號分隔。結(jié)構(gòu)體中的成員名可以和程序中的其他變量同名;不同結(jié)構(gòu)體中的成員也可以同名。
注意:結(jié)構(gòu)體說明同樣要以分號“;”結(jié)尾。
7.指針
(1)指針的基本概念
計(jì)算機(jī)的內(nèi)存是以字節(jié)為單位的一片連續(xù)的存儲空間,每一個(gè)字節(jié)都有一個(gè)編號,這個(gè)編號便稱為內(nèi)存地址。在C語言中,用來存放內(nèi)存地址的變量稱為“指針變量”。
定義指針變量的一般形式如下:
類型名 *指針變量名1,*指針變量名2,……;
說明:指針變量名前的星號(*)是一個(gè)說明符,用來說明該變量是指針變量。這個(gè)星號不能省略。
(2)指針的執(zhí)行的基本流程
如下圖1-22(a)所示,定義一個(gè)整型指針變量P,它本身的地址(2002)。若將整型變量a的內(nèi)存地址(1012)存放到變量P中,這時(shí)要訪問變量a所代表的存儲單元,可以先找到變量P的地址(2002),從中取出a的地址(1012),然后再去訪問以1012為首地址的存儲單元,如圖l.22(b)所示。
這種通過變量P間接得到變量a的地址,然后再存取變量a的值的方式稱為“間接方式”。用來存放地址的變量稱為“指汁變量”。