第2章 C語言初步知識_第1頁
第2章 C語言初步知識_第2頁
第2章 C語言初步知識_第3頁
第2章 C語言初步知識_第4頁
第2章 C語言初步知識_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

二C語言程序設(shè)計的初步知識

前言

構(gòu)成C語言程序的兩個主要因素是數(shù)據(jù)和操作。計算機中用來處理問題的是程序,其主要操作對象是數(shù)據(jù)。當(dāng)程序執(zhí)行后,操作的結(jié)果又會改變數(shù)據(jù)。數(shù)據(jù)類型就是對程序所處理的數(shù)據(jù)按照其性質(zhì)、表達方式、構(gòu)造特點、存儲范圍等劃分為的不同種類。本章主要介紹C語言程序中的數(shù)據(jù)類型、常量、變量、運算符、表達式、不同類型數(shù)據(jù)間的運算等內(nèi)容。C語言中的數(shù)據(jù)類型一般分為基本類型、構(gòu)造類型、指針類型和空類型四大類。C語言的數(shù)據(jù)類型2.1C語言數(shù)據(jù)類型

就是給程序中的實體(變量、常量、函數(shù)、類型、數(shù)組、結(jié)構(gòu)體等)所起的標(biāo)志性的名稱。其主要作用就是“標(biāo)識”,區(qū)分C程序中的不同類型的對象。2.2.1系統(tǒng)定義標(biāo)識符

系統(tǒng)定義標(biāo)識符是指由系統(tǒng)定義的,具有固定名字和特定含義的,不能用于其他用途的標(biāo)識符。如int、main、printf2.2.2用戶定義標(biāo)識符

自定義標(biāo)識符是指用戶在對自己使用的程序中的操作對象進行命名,來對各個對象進行區(qū)分所確定的這個名稱。例如:正確的標(biāo)識符舉例:M,sum1,_total,ab_1_2

錯誤的標(biāo)識符舉例:11abc,for,-abc,$12

標(biāo)識符2.2標(biāo)識符

常量是指在程序運行中值不能發(fā)生改變的量。

整型常量又稱為整數(shù)。整型數(shù)還可以分為長整型數(shù)(longint)、短整型數(shù)(shortint)、無符號整型數(shù)(unsignedint)三種。

實型常量又稱為實數(shù)或者浮點數(shù)。實型常量用小數(shù)形式和指數(shù)形式表示。實型常量還可以分為單精度實型(float)和雙精度實型(double)兩種。還有一種長雙精度型(longdouble)用的較少。

字符常量是用單引號‘’括起來的一個字符。如‘a(chǎn)’,‘B’等都是字符常量。

常量2.32.3.3字符常量2.3.2實型常量2.3.1整型常量C語言中常見的轉(zhuǎn)義字符功能表如下表所示。字符形式

含義\n換行,當(dāng)前位置移到下一行開頭\r回車,當(dāng)前位置移到本行開頭\f換頁,當(dāng)前位置移到下頁開頭\t水平制表,橫向跳格\b退格,當(dāng)前位置移到前一列\(zhòng)v垂直制表,豎向跳格\’單引號字符\”雙引號字符\\反斜杠字符\ddd1到3位8進制數(shù)表示的字符\xhh1到2位16進制數(shù)表示的字符

多個單獨的字符構(gòu)成字符串。C語言允許的字符串常量是由一對雙引號“”括起來的字符序列。例如“A”,“CHINA”,“1234”,“howareyou”等均為合法的字符串常量。

C語言中,若使用符號來替代常量,該符號成為符號常量。符號常量在使用前必須先定義,其定義的格式如下:

#define(符號常量名)(常量)例如:#defineNULL0

2.3.4字符串常量2.3.5符號常量

符號常量名常量變量是指在程序運行過程中值可以發(fā)生改變的量。

C語言規(guī)定,變量定義的格式為:+

例如:inta;

/*定義整型變量a*/

floatb;

/*定義單精度實型變量b*/

變量名實際上是一個符號地址,系統(tǒng)在編譯時給每一個變量名分配一個內(nèi)存地址。程序若想從變量中取值,實際上是通過變量名來找到相應(yīng)存儲地址后,從存儲單元中讀取數(shù)據(jù)。(1)整型變量

在使用整型變量時一定要注意數(shù)值的范圍,超過該變量允許的使用范圍將導(dǎo)致錯誤的結(jié)果。定義整型變量同樣遵守變量的定義。(2)實型變量(3)字符型變量在C語言中,字符型與整型的界限不是很分明的,在一個字節(jié)內(nèi)是可互相轉(zhuǎn)換的,也就是說整形數(shù)據(jù)和字符型數(shù)據(jù)是通用的。

變量2.4變量名表數(shù)據(jù)類型符2.4.1變量名稱2.4.2變量的類型

變量經(jīng)過定義后,在使用之前用戶就要給變量賦值。C語言中是通過賦值運算符或者賦值語句給變量賦值。變量賦值的格式為:例如:inti;

i=9;/*先定義整型變量i,再給i初值為9*/

C語言中可以在給變量下定義的同時為變量賦值,叫做變量的初始化。

其格式為:例如下面幾個初始化:

inti=8;/*定義整型變量i,初值為8*/floatt=1.5;/*定義實型變量t,初值為1.5*/

charc1=’y’;/*定義字符型變量c1,初值為字符為y*/

我們也可以只對部分變量賦初值:

inta,b,i=8;/*定義3個整型變量a,b,i,只給i初值為8*/

2.4.3變量的賦值變量名=表達式類型變量名=表達式

運算在C語言中是用表達式來完成的。表達式就是由運算符將運算對象按照一定的語法規(guī)則連接起來的式子。

(1)算術(shù)運算符算術(shù)運算符分為兩大類:基本的算術(shù)運算符和自增自減運算符。其中基本的算術(shù)運算符有:

+(加法運算符,運算功能為求和)

-(減法運算符,運算功能為求差)

×(乘法運算符,運算功能為求積)

/(除法運算符,運算功能為求商)

%(求余運算符,運算功能為取模)

(2)算術(shù)表達式用算術(shù)運算符和括號將運算對象連接起來,符合C語言語法規(guī)則的式子稱為算術(shù)表達式。在進行算術(shù)表達式運算時候,要注意算術(shù)運算符的優(yōu)先級和結(jié)合性。

運算符與表達式2.52.5.1算術(shù)運算符和算術(shù)表達式(1)賦值運算符

C語言中一共有10種復(fù)合賦值運算符。復(fù)合賦值運算符可以簡化程序,并且提高編譯效率。使用賦值運算符時候要注意:一是賦值運算符兩邊的數(shù)據(jù)類型要求一致;二是賦值運算符和復(fù)合賦值運算符的優(yōu)先級只高于逗號運算符,且結(jié)合方向均為“從右向左”。

(2)賦值表達式賦值表達式的一般格式為:變量賦值運算符表達式例如:a=3;這個賦值表達式是將賦值表達式右端的值3賦給左邊的變量a。其中賦值表達式也可以包含復(fù)合賦值運算符。使用賦值表達式時要注意賦值表達式左右兩邊的數(shù)據(jù)類型要一致。若類型不同還要進行類型轉(zhuǎn)換。

(1)關(guān)系運算符關(guān)系運算符主要用于比較兩個運算對象的大小。C語言中的關(guān)系運算符主要有以下6個:

2.5.2賦值運算符和賦值表達式2.5.3關(guān)系運算符和關(guān)系表達式

>;大于運算符

>=;大于等于運算符

<;小于運算符

<=;小于等于運算符

==;等于運算符

!=;不等于運算符

在使用這6個關(guān)系運算符時候,要注意兩點:

是前面的四個運算符(>;>=;<;<=)的優(yōu)先級高于后面兩個運算符(==;!=)。

是關(guān)系運算符的結(jié)合性是“自左向右”。關(guān)系運算符的優(yōu)先級比賦值運算符高,但是比算術(shù)運算符低。(2)關(guān)系表達式關(guān)系表達式是用關(guān)系運算符將兩個或更多的運算對象連接起來的式子。

關(guān)系表達式的格式為:表達式關(guān)系運算符表達式(1)邏輯運算符邏輯運算符是來進行邏輯關(guān)系運算的運算符。C語言有!(邏輯非)、&&(邏輯與)、||(邏輯或)等三種邏輯運算符。使用邏輯運算符時候要注意其優(yōu)先順序。(2)邏輯表達式由邏輯運算符將運算對象連接起來的式子成為邏輯表達式。邏輯表達式的值有“真”和“假”兩種,我們分別用“1”和“0”來表示。(1)條件運算符

條件運算符由問號“?”和冒號“:”組成,連接三個運算對象,在兩個表達式中選擇一個的操作。

(2)條件表達式

用條件運算符將運算對象連接起來的式資叫條件表達式。

條件表達式的格式:表達式1?表達式2:表達式32.5.4邏輯運算符和邏輯表達式2.5.5條件運算符和條件表達式(1)逗號運算符

在C語言中,逗號“,”是一種運算符,可以用來連接多個表達式,逗號運算符的優(yōu)先級別是所有運算符中最低的。(2)逗號表達式

用逗號分隔符將各種類型的表達式連接起來的式稱為逗號表達式。

逗號表達式的一般格式為:

逗號運算符的規(guī)則是從左至右進行各個表達式的計算,最后的一個表達式的值就是整個逗號表達式的值。例如:

x=(a=3,b=a+1,c=b*2)該表達式的值為x=8。2.5.6逗號運算符合逗號表達式表達式1,表達式2,···,表達式X的值

自增運算符“++”和自減運算符“--”,它們的結(jié)合方向是“自右至左”。它們的作用是使運算對象的值加“1”或減“1”。例如:a++相當(dāng)于賦值語句a=a+1,使變量a的值增加1;

a--相當(dāng)于賦值語句a=a-1,使變量a的值減去1.

自增、自減運算符的運算對象只能是單個的變量。根據(jù)自增、自減運算符位置的不同將其分為兩類。(1)如果自增、自減運算符出現(xiàn)在變量的前面,如(++a)則稱為前置運算;(2)如果自增、自減運算符出現(xiàn)在變量的前面,如(a++)則稱為后置運算。前置和后置兩種不同的表示方法最終會使自增自減運算方式不同。++i或--i指在使用之前先使i的值加1或減1;而i++或i--指在使用i之后,再使i的值加1或減1;2.6自增運算符、自減運算符及C語言運算符的優(yōu)先級別2.62.6.1自增、自減運算符

當(dāng)C程序中同一個表達式同時有多個運算符時,運算就應(yīng)有一個先后順序,我們稱為優(yōu)先級。

C語言規(guī)定:(1)C程序先進行表達式中優(yōu)先級高的運算符的運算,后進行優(yōu)先級低的運算符的運算。(2)一個表達式中,各運算符優(yōu)先級別先相同的情況下,運算次序由結(jié)合方向來決定。

C語言中各運算符優(yōu)先級大致為:

初等運算符>單目運算符>算術(shù)運算符>關(guān)系運算符>邏輯運算符>條件運算符>賦值運算符>逗號運算符

2.6.2C語言運算符的優(yōu)先級與結(jié)合性***

C語言表達式中,將不同類型的數(shù)據(jù),轉(zhuǎn)換成為相同類型后再進行計算,我們將這種由一種類型變量的轉(zhuǎn)換稱為類型轉(zhuǎn)換。(1)自動類型轉(zhuǎn)換C語言允許不同類型的數(shù)據(jù)進行混合運算。在進行計算時C編譯系統(tǒng)先自動的將不同類型的數(shù)據(jù)轉(zhuǎn)換為同一類型,然后進行計算。轉(zhuǎn)換規(guī)則如圖2-3所示

double←float

long

unsigned

↑int←char,short

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論