運籌學 第2章_第1頁
運籌學 第2章_第2頁
運籌學 第2章_第3頁
運籌學 第2章_第4頁
運籌學 第2章_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2 2章章 基本數(shù)據(jù)類型及運算基本數(shù)據(jù)類型及運算教學目標:教學目標: 1 1、掌握、掌握C C的幾種數(shù)據(jù)類型、常量、變量、的幾種數(shù)據(jù)類型、常量、變量、運算符、表達式的使用運算符、表達式的使用 2 2、掌握掌握、掌握掌握C C的賦值語句,輸入輸出語句的賦值語句,輸入輸出語句的使用的使用C的數(shù)據(jù)類型分為兩類: 1.1.基本數(shù)據(jù)類型基本數(shù)據(jù)類型主要包含: 整型、浮點型、字符型、空值型。 整型和浮點型有長型(long)和短型(short) 整型、字符型有有符號型(signed)和無符號型(unsigned) 2. 2. 自定義數(shù)據(jù)類型自定義數(shù)據(jù)類型:數(shù)組類型、指針類型、結(jié)構(gòu)體類型、枚舉類型、共用體

2、類型等。2 21 1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型 2.1.1 2.1.1 整型整型長整型(long int):占內(nèi)存4字節(jié),說明時可用long,分為有符號 (signed long int)和無符號(unsigned long int)整型(int):占內(nèi)存4字節(jié),分為有符號 (signed int)和無符號 (unsigned int)短整型(short int):占內(nèi)存2字節(jié),說明時可用short,分為有符號(signed short int)和無符號(unsigned short int)其中有符號整型數(shù)通常缺省修飾符,無符號整型數(shù)必須加修飾符(無符號整型數(shù)后加字母U或u)。 Int在書寫

3、時可省略。2.1.2 2.1.2 浮點型浮點型 1)單精度浮點型(float):4字節(jié) 2)雙精度浮點型(double):8字節(jié) 浮點型數(shù)比整型數(shù)表示的范圍大,但處理速度就慢,而且可能會造成數(shù)據(jù)的不精確,故在編程時要選擇合適的數(shù)據(jù)類型。2.1.3 2.1.3 字符型字符型字符型占1個字節(jié)的內(nèi)存,可轉(zhuǎn)換成整型,分為有符號和無符號兩種2.1.4 2.1.4 空值型空值型常用于說明函數(shù)的類型。對函數(shù)來說,如果函數(shù)無返回值,則用void說明它的類型22 常量和變量常量和變量2 22 21 1常量常量常量:在整個程序運行過程中值不變的量。常量的種類有整型常量、浮點型常量、字符型常量和枚舉常量。一、常量一

4、、常量1 1整型常量整型常量整型常量可以用十進制數(shù)、八進制數(shù)、十六進制數(shù)幾種方法表示。1)十進制整型常量是由數(shù)字09組成,以非0開始的數(shù),沒有前綴2)八進制整型常量是由07組成,前綴為03)十六進制整型常量是由數(shù)字09及字母af (AF)組成,前綴為0X或0 x2 2浮點型常量浮點型常量又稱實型常量,是由整數(shù)部分和小數(shù)部分組成。浮點型有兩種表示形式,一種是小數(shù)表示形式,由數(shù)字和小數(shù)點組成。另一種是指數(shù)表示形式,有小數(shù)表示法后加上E的指數(shù)部分(指數(shù)部分可正可負,必須為整數(shù))注:1)浮點型常量只能用十進制表示2)浮點常量都被默認為double型的,若在常量后加上F或f表示float型。3)用指數(shù)形

5、式表示時,E的前后都必須有數(shù)字,且E后的是整數(shù)。3 3字符常量字符常量 (1)字符常量:用一對單撇號括起的一個字符來表示的。如A(不能用雙引號)(2)控制字符:C中一些無法直接用字符常量表示的控制字符,用反斜杠開頭,后面跟一個字母代表一個控制字符。(轉(zhuǎn)義字符)a響鈴 b 退格符 n 換行符 t 水平制表符 v 垂直制表符 r 回車符 反斜線 ” 雙撇號 單撇號 0空字符注:1)用后跟1到3個八進制數(shù)字(ddd)表示ASCII碼值為該八進制數(shù)的字符,用 X 后跟1到2個十六數(shù)字(Xhh)表示ASCII碼值為該十六進制的字符。2)數(shù)字和數(shù)字字符的區(qū)別:0表示整型常量,0表示字符常量4 4字符串常量

6、字符串常量是由雙引號括起來的0個或多個字符序列,即字符串。注:1)字符串中想含有雙引號就用轉(zhuǎn)義字符”2)字符串中所含字符個數(shù)稱為字符串的長度3)字符串在機器內(nèi)部存儲時,自動在字符串尾加一個0作結(jié)束標志。例:區(qū)分下列數(shù)據(jù)的類型 0 x23 4.5 1 F 1 “stu” “F” n 060二、符號常量二、符號常量 程序中常用到的一個常量用一個名稱來代替,這種常量稱為符號常量。在程序中需引用該常量時,即可用符號代替格式一:const 數(shù)據(jù)類型常量名常量表達式格式二:define 常量名稱初始值注意,符號常量在聲明時,一定要賦初值,而且它的值在其作用域內(nèi)不能改變,也不能再被賦值。2 22 22 2變

7、量變量變量是在程序運行過程中可能發(fā)生變化的量1 1變量的定義變量的定義變量在使用之前須說明其名稱和數(shù)據(jù)類型,并由系統(tǒng)為它分配相應(yīng)的存儲空間。(1)變量名:一種標識符,由字母、下劃線、數(shù)字組成。變量名是一個符號地址 注:C允許將數(shù)據(jù)定義或聲明放在程序的中間,先聲明再使用。(2)變量的數(shù)據(jù)類型:格式如下:數(shù)據(jù)類型變量名1=初值1,變量名2=初值2,變量名n=初值n ;2 2變量的初始化變量的初始化 變量在使用之前必須有一個初值,變量賦初值可以在聲明的同時賦初值,另一種賦值方法是在使用前賦值,格式為: 變量名常量 例: int a,b; a=6;b=6; int a=6,b=6; int a=b=6

8、;(X)2 22 23 3數(shù)據(jù)類型的轉(zhuǎn)換數(shù)據(jù)類型的轉(zhuǎn)換當表達式中出現(xiàn)了多種類型數(shù)據(jù)的混合運算時,往往需要進行類型轉(zhuǎn)換。1自動轉(zhuǎn)換算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符要求兩邊操作的類型一致,如果不一致,則系統(tǒng)會自動對數(shù)據(jù)進行轉(zhuǎn)換, 轉(zhuǎn)換時的基本原則是:長度短的向長度長的轉(zhuǎn)換,類型低的向類型高的轉(zhuǎn)換。2強制轉(zhuǎn)換將表達式的結(jié)果類型轉(zhuǎn)換為類型說明符所指定的類型。強制類型轉(zhuǎn)換是通過說明符實現(xiàn)的,格式如下:(數(shù)據(jù)類型) 變量名 或(數(shù)據(jù)類型)表達式23 運算符和表達式運算符和表達式2 23 31 1運算符和表達式運算符和表達式 1 1運算符:運算符:各種運算的符號。 算術(shù)運算符+-*/%+- 關(guān)系

9、運算符! 邏輯運算符!| 位運算符 | & 賦值運算符= 及其擴展值運算符 條件運算符?: 逗號運算符, 求類型長度運算符sizeof 強制類型轉(zhuǎn)換運算符類型號 指針運算符 成員運算符 下標運算符 類成員運算符:. 其他運算符如函數(shù)調(diào)用運算符等 注意:運算符的功能,運算符的運算對象個數(shù),運算對象值的限制,運算符的優(yōu)先級,運算符的結(jié)合性(運算時所按的順序自左向右還是自右向左)問題 2 2表達式:表達式:由運算符和操作數(shù)所構(gòu)成的式子。 主要有算術(shù)表達式、關(guān)系表達式、邏輯表達式、賦值表達式、條件表達式和逗號表達式 注意:要確定運算的功能,計算順序(優(yōu)先級、結(jié)合性等),2 23 32 2賦值運

10、算符、賦值表達式與賦值語句賦值運算符、賦值表達式與賦值語句1 1簡單的賦值運算符簡單的賦值運算符:結(jié)合性為自右向左將右邊表達式的值計算出并賦給左邊的變量說明:1.結(jié)合性為自右向左 2賦值表達式作一個表達式參與運算時要加括號括起 3區(qū)別與 4聲明語句中使用的符號“”為初始化符,不是賦值運算符2 2賦值表達式賦值表達式 用賦值運算符將一個變量和一個表達式連接起來的式子,它將賦值運算符右邊的數(shù)據(jù)賦給一個變量。 注:賦值運算符右邊的表達式,也可以是一個賦值表達式(賦值表達式的值為右邊表達式的值)。 例: int k,n; int x,y; k=10; x=y=5; n=9;3 3賦值語句賦值語句 賦值

11、表達式加上分號,為賦值語句。賦值語句與賦值表達式的區(qū)別:兩者功能相同,但賦值表達式可作為一個更復雜表達式的一部分,參與運算,賦值語句不可。2 23 33 3算術(shù)運算符算術(shù)運算符1 1、基本的算術(shù)運算符、基本的算術(shù)運算符單目算術(shù)運算符:(取負) 結(jié)合性:自右向左 優(yōu)先級較高雙目算術(shù)運算符:+-*/%(取余) 結(jié)合性:自左向右 /:如果是兩個整數(shù)相除,則取整數(shù)部分舍去小數(shù)部分,有一個數(shù)為浮點型數(shù),則結(jié)果為浮點型數(shù)。%:兩整數(shù)相除后取余,只能用于兩整數(shù)相除,即只能用于int char型的值2 2、自增自減運算符、自增自減運算符單目運算符:(增1)(減1)結(jié)合性:自右向左 優(yōu)先級較高作用:使變量的值增

12、1或減1說明: 1) 前綴運算:運算符在操作數(shù)的前面,變量值加1/減1,表達式的值為操作數(shù)加1/減1 后綴運算:運算符在操作數(shù)的后面,變量值加1,表達式的值為原操作數(shù)2)只能作用于變量,不能作用于常量或表達式3 3算術(shù)表達式算術(shù)表達式 由算術(shù)運算符和位操作運算符組成的表達式稱算術(shù)表達式。結(jié)果值為數(shù)值。 表達式的類型與操作數(shù)的類型相同。2 23 34 4關(guān)系運算符關(guān)系運算符1關(guān)系運算符:雙目運算符 !結(jié)合性為自左至右2關(guān)系表達式:關(guān)系運算符組成的表達式,結(jié)果值為邏輯值。2 23 35 5邏輯運算符邏輯運算符1邏輯運算符:復雜的比較運算用邏輯運算符表達單目運算符:!(非)真求反后為假,假求反后真

13、結(jié)合性:自右向左雙目運算符:&(與)有一個操作數(shù)為假則結(jié)果為假,兩個操作數(shù)都為真時為真 |(或)有一個操作數(shù)為真則結(jié)果為真,兩個操作數(shù)都為假結(jié)果為假結(jié)合性:自左向右2邏輯表達式:由邏輯運算符組成的表達式,結(jié)果為邏輯值例: int a=1,b=0; !a 為0 a&b 為0 a|b 為12 23 36 6位運算符位運算符1 1邏輯位運算符邏輯位運算符單目運算符:(按位求反)將二進制操作數(shù)1求反后為0,0求反后為1雙目運算符:&(按位與) (異或) |(按位或) 2 2移位運算符移位運算符對二進制數(shù)向左或向右移位的,雙目運算符。 右移2 23 37 7條件運算符條件運算符1

14、條件運算符:?:三目運算符結(jié)合性是自右向左優(yōu)先級:高于賦值運算符,低于邏輯運算符2條件表達式:可看作(if-then-else)的語句形式。格式:表達式1?表達式2:表達式3若表達式1的值為真,則條件表達式取表達式2的值,若為假,則取表達式3的值。2 23 39 9sizeofsizeof運算符運算符 用于計算機某種類型的對象在內(nèi)存中所占的字節(jié)數(shù), 格式:sizeof(類型名)運算結(jié)果值為“類型名”所指定的類型 或 sizeof(表達式)運算結(jié)果為“表達式”所占的字節(jié)數(shù)。2 23 31010關(guān)于表達式運算順序的討論關(guān)于表達式運算順序的討論1優(yōu)先級規(guī)律 操作數(shù)多的運算符優(yōu)先級低,從高到低順序:單

15、目雙目三目賦值逗號 雙目運算符從高到低順序:算術(shù)比較邏輯 邏輯運算符的優(yōu)先級:!2結(jié)合性規(guī)律 單目運算符、三目運算符“?”和賦值類運算符從右向左結(jié)合,其余都是從從左向右結(jié)合。3括號原則和簡單性原則利用括號強制改變表達式的運算順序,便于閱讀。表達式盡量簡單明了,利于消除表達式的副作用。2 24 4 數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出 2 24 41 1 scanf()scanf()函數(shù)函數(shù) C語言的輸入與輸出功能由標準庫函數(shù)提供,包含在頭文件“stdio.h”中 1格式scanf(“輸入格式”,輸入地址表列);2說明:(1)“輸入格式”,用雙引號括起,%格式字符格式字符: d signed int

16、 u unsigned int o 八進制整數(shù) x 十六進制整數(shù) c char s 字符串 f float(小數(shù)形式) e float (指數(shù)形式)附加格式字符: m 正整數(shù)l 表示long 或doubleh表示short(2)輸入數(shù)據(jù)時默認空格或回車或Tab 鍵做分隔符,如果輸入格式指定用逗號等分隔,輸入數(shù)據(jù)時必須用逗號分隔(3)m為正整數(shù),可指定輸入數(shù)據(jù)所占寬度,但不能規(guī)定浮點型數(shù)的精度(4)* 讀入數(shù)據(jù)但不賦值給變量(5)輸入地址表列是若干個變量的地址或字符串的首地址例:例:int a,b;int a,b;scanf(scanf(“%d%d%d%d”,&a,&b);,&a

17、mp;a,&b);int s;int s;float k;float k;scanf(scanf(“%5d,%f%5d,%f”,&s,&k);,&s,&k);char c;char c;scanf(scanf(“%c%c”,&c);,&c);2 24 42 2 printf()printf()函數(shù)函數(shù)1格式: printf(“輸出格式”,輸出項表);2說明:(1)“輸出格式”,用雙引號括起控制字符:%格式字符:指定輸出項的輸出格式普通字符:原樣輸出 兩者可交錯出現(xiàn)格式字符: d signed int u unsigned int o 八進制整數(shù) x 十六進制整數(shù) c char s 字符串 f float(小數(shù)) e float (指數(shù)) (2)控制字符 少于輸出項個數(shù),則按控制字符個數(shù)輸出,多于也按控制字符個數(shù)輸出,沒有對應(yīng)的輸出項的則輸出一個隨機數(shù) (3)輸出項可以是表達式,但是按從右

溫馨提示

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

評論

0/150

提交評論