《C語言程序數(shù)據(jù)》PPT課件.ppt_第1頁
《C語言程序數(shù)據(jù)》PPT課件.ppt_第2頁
《C語言程序數(shù)據(jù)》PPT課件.ppt_第3頁
《C語言程序數(shù)據(jù)》PPT課件.ppt_第4頁
《C語言程序數(shù)據(jù)》PPT課件.ppt_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2020/8/16,電氣與信息工程學院計算機系制作,Lesson 2 C語言程序數(shù)據(jù),2020/8/16,電氣與信息工程學院計算機系制作,學習目標:,1,掌握表達程序中的數(shù)據(jù)的方法 掌握使用變量存儲數(shù)據(jù)的方法 掌握簡單輸入輸出方法,2020/8/16,電氣與信息工程學院計算機系制作,主要內(nèi)容:,1,數(shù)據(jù)的意義 數(shù)據(jù)的基本類型 基本類型的常量 基本類型的變量 簡單的輸入和輸出,2020/8/16,電氣與信息工程學院計算機系制作,程序是用編程語言對現(xiàn)實問題的處理過程的描述 按照馮.諾依曼原理,在計算機中所有的都是數(shù)據(jù) 編寫程序首要問題需要把現(xiàn)實的事物在計算機中將其表達出來,2020/8/16,電氣

2、與信息工程學院計算機系制作,例:俄羅斯方塊游戲中的如下方塊,使用120,0,140,0,140,20,160,0表示 其中(邊長固定為20只需要一個頂點坐標即可) 120,0 表示方框1的左上角頂點坐標140,0 表示方框1的左上角頂點坐標 140,20 表示方框3的左上角頂點坐標 160,0 表示方框1的左上角頂點坐標 (見程序第21行),2020/8/16,電氣與信息工程學院計算機系制作,2020/8/16,電氣與信息工程學院計算機系制作,C語言中的數(shù)據(jù)類型,2020/8/16,電氣與信息工程學院計算機系制作,C語言中的數(shù)據(jù)類型 基本類型的值是不可以再分解為其它類型 構造類型的值可以分解成

3、若干個“成員”或“元素”。每個“成員” 都是一個基本數(shù)據(jù)類型或又是一個構造類型,2020/8/16,電氣與信息工程學院計算機系制作,各種數(shù)據(jù)類型的量根據(jù)其值是否可以改變有兩種形式 常量:是指在程序運行過程中始終不發(fā)生變化的量。(已知量) 變量:其值可以改變的量,用于保存數(shù)據(jù)(結果)。 (未知量),2020/8/16,電氣與信息工程學院計算機系制作,1、整型常量 C語言中有3種書寫形式表達整型常量: 十進制形式:12,34,0,-3 八進制形式:012,034 十六進制形式:0 x12,0 x34,0 xAC,說明: 八進制形式:以0開頭后跟07間數(shù)字 十六進制形式:以0 x或0X開頭后跟0f(

4、F)數(shù)字或字母,2020/8/16,電氣與信息工程學院計算機系制作,注意:整型常量的三種表達形式只是數(shù)學上的一個數(shù)可以有不同的形式,#include int main() int x_dec=66,x_hex=0 x42,x_oct=0102; printf(x_dec的值是%dn,x_dec); printf(x_hex的值是%dn,x_hex); printf(x_oct的值是%dn,x_oct); return 0; ,lesson2_zs1.c,2020/8/16,電氣與信息工程學院計算機系制作,注意:整型常量的三種表達形式只是數(shù)學上的一個數(shù)可以有不同的形式,#include int

5、main() int x=0; x=12+012+0 x12; printf(x值是%dn,x); return 0; ,lesson2_zs2.c,程序的開始,定義數(shù)據(jù),計算,輸出結果,程序的結束,2020/8/16,電氣與信息工程學院計算機系制作,2、實型(小數(shù))常量 C語言中有2種書寫形式表達實型常量: 十進制小數(shù)形式: 123.45、509.0、-0.98 指數(shù)形式:,-9.78689E+20表示 -9.786891020,1.87E+10 表示1.871010,說明: 指數(shù)形式的格式 : 底數(shù) E(e) 指數(shù) (必須是整數(shù)),2020/8/16,電氣與信息工程學院計算機系制作,3、字

6、符常量:表達一個字母或符號 字符常量由一對單引號()括起來。 普通字符:P、=、9 轉(zhuǎn)義符:是指用一個反斜杠()后跟一個特定字符或一個八進制或十六進制數(shù)值表示的字符。,2020/8/16,電氣與信息工程學院計算機系制作,3、字符常量:表達一個字母或符號,例:n : 表示換行 t : 橫向跳到下一制表位置 : 表示 : 表示 : 表示 如果反斜杠 跟的是數(shù)字: 若是 ddd的形式則是八進制數(shù)所表示的ASCII碼所對應的字符,如 101 :表示 A 若是 xhh的形式則是十六進制數(shù)所表示的ASCII碼所對應的字符,如 x41 :表示 A,2020/8/16,電氣與信息工程學院計算機系制作,4、字符

7、的ASCII碼,為解決字符的存儲問題,給每個字符都編了一個數(shù)值和它對應,在計算機中就存放該數(shù)值(ASCII碼) 例如 :(ASCII碼字符集見教材P267) A 對應 65 a 對應97 B 對應 66 b對應98 1 對應 49 2 對應50,2020/8/16,電氣與信息工程學院計算機系制作,2020/8/16,電氣與信息工程學院計算機系制作,4、字符的ASCII碼 : 從ASCII碼的定義,可以看出,字符在計算機中本質(zhì)上就是一個整數(shù),例如: A+32的值為97 a-A的值為32,2020/8/16,電氣與信息工程學院計算機系制作,5、字符串常量 :表達一串字母或符號 字符串常量用一對雙引

8、號( )括起來。 例如: This is a C program. 3871 K 都是字符串常量 。,2020/8/16,電氣與信息工程學院計算機系制作,6、符號常量 :用標示符代表一個常量 一般形式為: #define 標識符 常量 其中#define也是一條預處理命令(預處理命令都以“#”開頭),稱為宏定義命令 例如 : #define PI 3.14,2020/8/16,電氣與信息工程學院計算機系制作,例:分析如下程序,#include #define PI 3.14 int main() float s=0.0,r=0.0; printf(請輸入圓的半徑:n); scanf(%f, ,

9、lesson2_fhcl.c,程序的開始,定義數(shù)據(jù),計算,輸出結果,程序的結束,輸入數(shù)據(jù),2020/8/16,電氣與信息工程學院計算機系制作,變量:是指其值可以改變的量 一個變量應該有一個名字,在內(nèi)存中占據(jù)一定的存儲單元。,例如: float r1=0.0,r2=0.0,s=0.0; int a=1,b=2;,變量的作用: 在程序中將數(shù)據(jù)存放在變量中,以便實現(xiàn)保存和修改這些數(shù)據(jù)的目的。,2020/8/16,電氣與信息工程學院計算機系制作,例如: float r1,r2,s; int a,b; char c,ch;,定義變量的語法格式: ,.;,關于符號的說明: 表示 是必須的 表示是可選的,2

10、020/8/16,電氣與信息工程學院計算機系制作,變量的定義: 例如: int sum =0; float r1 =0.0 , r2=2.0 , s=1.0; char ch ;,變量 間用 逗號 隔開,2020/8/16,電氣與信息工程學院計算機系制作,變量定義時: int、long 、short、unsigned表示整型變量 float、double 表示實型變量; char 表示字符變量;,2020/8/16,電氣與信息工程學院計算機系制作,變量的理解:相當于程序中的“盒子”,0.0,r1,變量名 通過該名字可以找到這個”盒子”,r1=3.2;,3.2,float r1=0.0;,202

11、0/8/16,電氣與信息工程學院計算機系制作,變量在內(nèi)存中的存儲 變量在內(nèi)存是占有一定存儲空間的,在VC中(注意在其他編譯環(huán)境可能與VC中不一樣): int 占4個字節(jié) char 占1個字節(jié) float 占4個字節(jié) double 占8個字節(jié),可用sizeof求出該類型變量所占內(nèi)存的字節(jié)數(shù) 例 sizeof(int),2020/8/16,電氣與信息工程學院計算機系制作,求各種類型變量的所占內(nèi)存空間的大小,#include int main() printf(unsigned:%dn,sizeof(unsigned); printf(int:%dn,sizeof(int); printf(long

12、:%dn,sizeof(long); printf(short:%dn,sizeof(short); printf(double:%dn,sizeof(double); printf(float:%dn,sizeof(float); printf(char:%dn,sizeof(char); return 0; ,2020/8/16,電氣與信息工程學院計算機系制作,變量在內(nèi)存中的存儲,內(nèi)存示意圖,字節(jié) 由8位構成 每位可存儲一個0或1,為了方便管理,給每個字節(jié)編號了一個號,叫做字節(jié)的地址,2020/8/16,電氣與信息工程學院計算機系制作,變量在內(nèi)存中的存儲,內(nèi)存示意圖,int x=10;,在

13、計算機中數(shù)值是以補碼的形式存放的,假如: int x=-10;,2020/8/16,電氣與信息工程學院計算機系制作,int 整數(shù) 4字節(jié) :-21474836482147483647 short 短整數(shù) 2字節(jié):-3276832767 long 長整數(shù) 4字節(jié): -2147483648 2147483647 unsigned 無符號整數(shù) 4字節(jié) 04294967295 double 雙精度實數(shù) 8字節(jié) float 單精度實數(shù) 4字節(jié) char 字符 1字節(jié),變量在內(nèi)存中存儲:,2020/8/16,電氣與信息工程學院計算機系制作,變量定義時類型的意義: 指定該變量只能保存該類型的數(shù)據(jù) 指定該變量

14、所占內(nèi)存的字節(jié)數(shù),int x=0; x=2.6;,x中保存的是2,而不是2.6,注意:在定義變量時,一定要先確定變量中保存什么類型的數(shù)據(jù),2020/8/16,電氣與信息工程學院計算機系制作,變量命名規(guī)則: C語言規(guī)定:變量名用標識符表示。,標識符規(guī)則: 1、由字母、數(shù)字和下劃線 _ 組成的字符序列 2、第1個字符必須是字母或者下劃線 _ 3、不能是關鍵字,2020/8/16,電氣與信息工程學院計算機系制作,變量命名舉例:,正確的: apple r1 apple_weight _rp Int printf 錯誤的: 1r w$1 (sr) 1_4 int char,2020/8/16,電氣與信息

15、工程學院計算機系制作,注意:標識符中出現(xiàn)的字母區(qū)分大小寫。,例如: int Apple , apple;是兩個不同的變量。,2020/8/16,電氣與信息工程學院計算機系制作,注意C語言規(guī)定: 程序中的每一個變量,必須先定義后使用, 在一個函數(shù)中兩個不同的變量不能同名。,#include int main() int x=1; float x=2.4; printf(x值是%dn,x); return 0; ,兩個變量不能同名,2020/8/16,電氣與信息工程學院計算機系制作,定義三個變量,其中一個變量用來存放一個學生的年齡,一個變量用來存放學生的成績,一個變量用來存放評價等級(等級分成A

16、B C D E級 ),2020/8/16,電氣與信息工程學院計算機系制作,變量定義后并沒有一個確切的初始值,需要給變量賦值。,注意: 給變量值賦值,實質(zhì)是修改變量的值。 例如: x=2; y=x+3;,2020/8/16,電氣與信息工程學院計算機系制作,三種方式給變量賦值。 在定義變量時為其賦一個初始值(初始化) = ; 例如:int data = 100; 通過賦值操作為變量賦值 = 例如: x = 64; 通過鍵盤輸入為變量賦值 例如: scanf(“%f%f”,2020/8/16,電氣與信息工程學院計算機系制作,例1:根據(jù)給定的圓半徑,計算圓的面積和周長。,#include int ma

17、in( ) float radius=0.0, area=0.0, perimeter=0.0; scanf(“%f”, ,lesson2_01.c,2020/8/16,電氣與信息工程學院計算機系制作,編寫程序,從鍵盤輸入一個正方形的邊長,計算其面積和周長,2020/8/16,電氣與信息工程學院計算機系制作,1、字符的非格式化輸入 getchar( ) 功能:從鍵盤輸入一個字符。如果輸入成功,函數(shù)返回這個字符的ASCII編碼。 例如: char ch; ch = getchar( );,2020/8/16,電氣與信息工程學院計算機系制作,2、字符的非格式化輸出 putchar( ) 功能:pu

18、tchar(ch),輸出參數(shù)ch代表的字符 。 例如: char ch=B; putchar(A); putchar(ch); putchar(97) ;,2020/8/16,電氣與信息工程學院計算機系制作,例2:通過鍵盤輸入一個字符,分別在兩行上顯示這個字符,每行顯示2次。,#include int main( ) char ch; ch = getchar(); putchar(ch); putchar(ch); putchar(n); putchar(ch); putchar(ch); return 0; ,lesson2_02.c,程序的開始,定義變量,輸出數(shù)據(jù),程序的結束,輸入數(shù)據(jù),

19、2020/8/16,電氣與信息工程學院計算機系制作,從鍵盤輸入一個小寫字母,輸出其對應的大寫字母,2020/8/16,電氣與信息工程學院計算機系制作,3、格式化輸入 scanf( ),功能: 從鍵盤輸入數(shù)值,保存在變量中。,2020/8/16,電氣與信息工程學院計算機系制作,3、格式化輸入 scanf( ),scanf(%f%f,例如:從鍵盤給變量r1和r2輸入,表示從鍵盤輸入的數(shù) %f表示輸入的是小數(shù): 格式說明符,表示從鍵盤輸入的數(shù) 存放在r1和r2中: 變量地址列表,2020/8/16,電氣與信息工程學院計算機系制作,總結:scanf( ) 調(diào)用scanf( ) 函數(shù)的格式為: scan

20、f(,.); 是一個用雙引號括起來,包含各種格式控制說明符。,例如:scanf(%f%f,2020/8/16,電氣與信息工程學院計算機系制作,scanf中的格式說明符及其意義 %f 對應float 數(shù)據(jù) %d 對應int 數(shù)據(jù) %lf 對應double 數(shù)據(jù) %c 對應char 數(shù)據(jù),2020/8/16,電氣與信息工程學院計算機系制作,例如,如果在程序中有如下四個變量 int n; float f; double d; char ch; 如果需要從鍵盤給四個變量輸入值,scanf(“%d%f%lf%c”,2020/8/16,電氣與信息工程學院計算機系制作,3、格式化輸入 scanf( ) 是用

21、來存放輸入數(shù)據(jù)的變量地址。 在C語言中,用“,scanf(“%d%f%lf%c”,2020/8/16,電氣與信息工程學院計算機系制作,從鍵盤輸入的機理 在從鍵盤輸入數(shù)據(jù)時,計算機將其保存在一個輸入緩沖區(qū)中,按下回車鍵時表示輸入結束。 調(diào)用scanf函數(shù)時,該函數(shù)按照格式說明符所指定的類型從輸入緩沖區(qū)中取出相應的數(shù)值將其傳送到指定的內(nèi)存地址中,如果在緩沖區(qū)中沒有數(shù)據(jù)則等待從鍵盤輸入,2020/8/16,電氣與信息工程學院計算機系制作,鍵盤輸入的機理,#include int main() int x; char a,b; printf(請輸入一個整數(shù)和兩個字符:n); scanf(%d%c%c,

22、 ,運行程序分析三種方式輸入的顯示結果 方式1、100ab 方式2、100 a b 方式3、100.45,lesson2_sr.c,2020/8/16,電氣與信息工程學院計算機系制作,鍵盤輸入的機理 當在程序中調(diào)用fflush(stdin);函數(shù)時,該函數(shù)可以將輸入緩沖區(qū)中的數(shù)據(jù)清空 其中stdin表示標準輸入設備(鍵盤),2020/8/16,電氣與信息工程學院計算機系制作,鍵盤輸入的機理,#include int main() int x; char a,b; printf(請輸入一個整數(shù)和兩個字符:n); scanf(%d, ,運行程序分析三種方式輸入的顯示結果 方式1、100ab 方式2、100 a b 方式3、100.45,lesson2_sr1.c,2020/8/16,電氣與信息工程學院計算機系制作,定義三個變量,其中一個變量用來存放一個學生的年齡,一個變量用來存放學生的成績,一個變量用來存放評價等級(等級分成A B C D E級 )使用scanf語句從鍵盤輸入學生的的年齡,成績,評價等級給這三個變量,然后在顯示器上輸出,2020/8/16,電氣與信息工程學院計算機系制作,4、格式化輸出 printf( ) pr

溫馨提示

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

最新文檔

評論

0/150

提交評論