變量和數(shù)據(jù)類(lèi)型_第1頁(yè)
變量和數(shù)據(jù)類(lèi)型_第2頁(yè)
變量和數(shù)據(jù)類(lèi)型_第3頁(yè)
變量和數(shù)據(jù)類(lèi)型_第4頁(yè)
變量和數(shù)據(jù)類(lèi)型_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、mailto:http:/ 程序是為執(zhí)行一項(xiàng)任務(wù)而編寫(xiě)的有序指令集 算法是解決問(wèn)題的具體方法和步驟 流程圖是算法的圖形化表現(xiàn)形式 C語(yǔ)言的特點(diǎn) C程序的編譯和運(yùn)行過(guò)程 編譯器將源程序轉(zhuǎn)換成機(jī)器能理解的程序 連接器用于連接相關(guān)的目標(biāo)文件以生成可執(zhí)行程序mailto:http:/ 理解變量和常量的含義 熟悉基本數(shù)據(jù)類(lèi)型 - int、char、float 和 double 使用算術(shù)運(yùn)算符 理解類(lèi)型轉(zhuǎn)換 熟練使用 scanf() 和 printf() 函數(shù) 熟練使用 getchar() 和 putchar() 函數(shù)mailto:http:/ 預(yù)備知識(shí)計(jì)算機(jī)中數(shù)的表示及進(jìn)制轉(zhuǎn)換 數(shù)碼、基與權(quán) 數(shù)碼:表示

2、數(shù)的符號(hào) 基:數(shù)碼的個(gè)數(shù) 權(quán):每一位所具有的值 數(shù)制mailto:http:/ 各種進(jìn)制之間的轉(zhuǎn)換 二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制 方法:按權(quán)相加10012345259212120212121111011)()(例10012894868381136)()(例1001231679781610162161516121)()(例AFmailto:http:/ 把十進(jìn)制數(shù)把十進(jìn)制數(shù)59轉(zhuǎn)換成二進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)5922921427232120(59)10=(111011)21101111 1 1 0 1 1余余余余余余余余余余余余例例 把十進(jìn)制數(shù)把十進(jìn)制數(shù)159轉(zhuǎn)換成八進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)15

3、98198280(159)10=(237)82 3 7 余余 7余余 3余余 2例例 把十進(jìn)制數(shù)把十進(jìn)制數(shù)459轉(zhuǎn)換成十六進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)4591628161160(459)10=(1CB)161 C B 余余11余余12余余 1mailto:http:/ (1101001)2=(001,101,001)2=(151)8例例 (246)8=(010,100,110)2=(10100110)2000 0001 1010 2011 3100 4101 5110 6111 7mailto:http:/ (11010101111101)2=(0011,0101,0111,1101)2=(357D

4、)16例例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)20000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 Fmailto:http:/ 字節(jié)和位 內(nèi)存以字節(jié)為單元組成 每個(gè)字節(jié)有一個(gè)地址 一個(gè)字節(jié)一般由8個(gè)二進(jìn)制位組成 每個(gè)二進(jìn)位的值是0或101234567012345678910.012345mailto:http:/ 數(shù)值的表示方法原碼、反碼和補(bǔ)碼 原碼:最高位為符號(hào)位,其余各位為數(shù)值本身的絕對(duì)值

5、 反碼: 正數(shù):反碼與原碼相同 負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反 補(bǔ)碼: 正數(shù):原碼、反碼、補(bǔ)碼相同 負(fù)數(shù):最高位為1,其余位為原碼取反,再對(duì)整個(gè)數(shù)加1mailto:http:/ 補(bǔ)碼:補(bǔ)碼:11111001 取反:取反:10000110 加加1: 10000111=-7mailto:http:/ C語(yǔ)言中的基本元素語(yǔ)言中的基本元素常量常量標(biāo)識(shí)符標(biāo)識(shí)符關(guān)鍵字關(guān)鍵字運(yùn)算符運(yùn)算符分隔符分隔符等等常量是在程序中保持不變的量常量是在程序中保持不變的量常量用于定義具有如下特點(diǎn)的數(shù)據(jù):常量用于定義具有如下特點(diǎn)的數(shù)據(jù):在程序中保持不變?cè)诔绦蛑斜3植蛔冊(cè)诔绦騼?nèi)部頻繁使用在程序內(nèi)部頻繁使用mailto:htt

6、p:/ C數(shù)數(shù)據(jù)據(jù)類(lèi)類(lèi)型型基本類(lèi)型基本類(lèi)型構(gòu)造類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型指針類(lèi)型空類(lèi)型空類(lèi)型void定義類(lèi)型定義類(lèi)型typedef字符類(lèi)型字符類(lèi)型char枚舉類(lèi)型枚舉類(lèi)型enum整整 型型實(shí)型實(shí)型單精度型單精度型float雙精度型雙精度型double數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體struct共用體共用體union短整型短整型short長(zhǎng)整型長(zhǎng)整型long整型整型int數(shù)據(jù)類(lèi)型決定:數(shù)據(jù)類(lèi)型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作其上可進(jìn)行的操作2.2 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型mailto:http:/ 變量變量程序程序內(nèi)存內(nèi)存編寫(xiě)程序時(shí),常常需要將數(shù)據(jù)存儲(chǔ)在內(nèi)存

7、編寫(xiě)程序時(shí),常常需要將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,方便后面使用這個(gè)數(shù)據(jù)或者修改這個(gè)中,方便后面使用這個(gè)數(shù)據(jù)或者修改這個(gè)數(shù)據(jù)的值。數(shù)據(jù)的值。通常使用變量來(lái)存儲(chǔ)數(shù)據(jù)。通常使用變量來(lái)存儲(chǔ)數(shù)據(jù)。使用變量可以引用存儲(chǔ)在內(nèi)存中的數(shù)據(jù),使用變量可以引用存儲(chǔ)在內(nèi)存中的數(shù)據(jù),并隨時(shí)根據(jù)需要來(lái)操縱數(shù)據(jù)。并隨時(shí)根據(jù)需要來(lái)操縱數(shù)據(jù)。存儲(chǔ)存儲(chǔ) XX * 5%將值存儲(chǔ)為將值存儲(chǔ)為X-100.5將值存儲(chǔ)為將值存儲(chǔ)為9.5mailto:http:/ :u整型常量整型常量 u實(shí)型常量實(shí)型常量 u字符常量字符常量 u字符串常量字符串常量如如 #define PRICE 30常量常量v定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))定義:程序運(yùn)行

8、時(shí)其值不能改變的量(即常數(shù))v分類(lèi)分類(lèi): :l符號(hào)常量符號(hào)常量: :用標(biāo)識(shí)符代表常量用標(biāo)識(shí)符代表常量u定義格式:定義格式: #define#define 符號(hào)常量符號(hào)常量 常量常量mailto:http:/ 09 9和正負(fù)號(hào)表示和正負(fù)號(hào)表示. .如如 123,-456,0123,-456,0l八進(jìn)制整數(shù):由數(shù)字八進(jìn)制整數(shù):由數(shù)字0 0開(kāi)頭開(kāi)頭, ,后跟數(shù)字后跟數(shù)字0 07 7表示表示. .如如0123,0110123,011l十六進(jìn)制整數(shù):由十六進(jìn)制整數(shù):由0 x0 x開(kāi)頭開(kāi)頭, ,后跟后跟0 09,a9,af,Af,AF F表示表示. . 如如0 x123,0Xff0 x123,0Xff例例

9、 12 與與 12L例例 30000 為為int型型 65536 為為long int 型型v整型常量的類(lèi)型整型常量的類(lèi)型l根據(jù)其值所在范圍確定其數(shù)據(jù)類(lèi)型根據(jù)其值所在范圍確定其數(shù)據(jù)類(lèi)型l在整常量后加字母在整常量后加字母l l或或L L,認(rèn)為它是,認(rèn)為它是long int 型常量型常量問(wèn)題:?jiǎn)栴}:0123 = ( )100 x123 = ( )100Xff = ( )1083291255問(wèn)題:?jiǎn)栴}:0123 = ( )100 x123 = ( )100Xff = ( )10mailto:http:/ 如如0.123, .123, 0.123, .123, 123.0, 0.0, 123.123.

10、0, 0.0, 123.l指數(shù)形式:(指數(shù)形式:(e e或或E E之前必須有數(shù)字;指數(shù)必須為整數(shù)之前必須有數(shù)字;指數(shù)必須為整數(shù))如)如12.312.3e3 ,123E2, 1.23e4 , e3 ,123E2, 1.23e4 , e-5e-5 , , 1.2E-3.51.2E-3.5 v實(shí)型常量的類(lèi)型實(shí)型常量的類(lèi)型l默認(rèn)默認(rèn)doubledouble型型l在實(shí)型常量后加字母在實(shí)型常量后加字母f f或或F F,認(rèn)為它是,認(rèn)為它是float float 型型mailto:http:/ :用用單引號(hào)單引號(hào)括起來(lái)的單個(gè)括起來(lái)的單個(gè)普通字符普通字符或或轉(zhuǎn)義字符轉(zhuǎn)義字符. v字符常量的字符常量的值值:該字符

11、的:該字符的ASCIIASCII碼值碼值轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義nvradddtbf“xhh轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義換行換行垂直制表垂直制表回車(chē)回車(chē)響鈴響鈴單引號(hào)單引號(hào)3位位8進(jìn)制數(shù)代表的字符進(jìn)制數(shù)代表的字符水平制表水平制表退格退格換頁(yè)換頁(yè)反斜線(xiàn)反斜線(xiàn)雙引號(hào)雙引號(hào)2位位16進(jìn)制數(shù)代表的字符進(jìn)制數(shù)代表的字符如如 101 -A 012 -n 376 - x61 -a 60 -0 483 -( )例例:A-101-x41-65b _above $123mailto:http:/ 變量命名變量命名 變量初始化 定義時(shí)初始化變量 Datatype variablena

12、me = value; 定義后初始化變量 variablename = value; 通過(guò)運(yùn)算賦值mailto:http:/ 整型整型mailto:http:/ 分析整型變量的溢出1:下面的程序用單步運(yùn)行,觀(guān)察變量的數(shù)據(jù)變化. main( ) int x; x=32767; /* */ printf(%d,%u , x , x); /* 輸出 32767 , 32767 */ x=x+1; /* */ printf(%d,%u , x , x); /*輸出 32768 , 32768*/ 0111 1111 1111 11111000 0000 0000 0000mailto:http:/ 單

13、精度浮點(diǎn)型單精度浮點(diǎn)型 float 在在 C 語(yǔ)言中用于存儲(chǔ)單精度浮點(diǎn)數(shù)語(yǔ)言中用于存儲(chǔ)單精度浮點(diǎn)數(shù)float32 位位10-38 至至 10+38 ,7位有效數(shù)字位有效數(shù)字 聲明:float selling_price; 初始化:float selling_price = 11.3;selling_price = 65.90;mailto:http:/ 雙精度浮點(diǎn)型雙精度浮點(diǎn)型內(nèi)存內(nèi)存floatdouble64位位取值范圍:取值范圍:10-308 至至 1030816 位有效數(shù)字位有效數(shù)字 聲明: double pressure_level; 初始化: pressure_level = 213

14、.5671435568967; double dvalue = 35.4; mailto:http:/ 字符型字符型2398340 M int/floatcharmailto:http:/ 字符型字符型 5 p $ 2 2 2 + 2 = 4 mailto:http:/ 字符型字符型占占 8 位內(nèi)存位內(nèi)存signed或或 unsignedSigned-128 至至 +127 unsigned 0 至至 255 char gender;gender=m;char gender=m;mailto:http:/ /*ch3_003.c*/ #define PRICE 12.5 main() int

15、num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%f,ch1=%cn”,total,ch1); 宏定義宏定義變量定義變量定義輸出結(jié)果輸出結(jié)果運(yùn)行結(jié)果:運(yùn)行結(jié)果:total=37.500000, ch1=dmailto:http:/ (printf/scanf) 用于接受和顯示數(shù)據(jù)或信用于接受和顯示數(shù)據(jù)或信息息#include void main()int num;printf(請(qǐng)輸入一個(gè)數(shù)請(qǐng)輸入一個(gè)數(shù):);scanf(%d,&num);printf( n%d 的平方為的平方為

16、 %d n,num,num*num);2.4 輸入輸入/輸出函數(shù)輸出函數(shù)轉(zhuǎn)換字符串轉(zhuǎn)換字符串轉(zhuǎn)義序列轉(zhuǎn)義序列mailto:http:/ printf 函數(shù)函數(shù)int visitor_count = 150;printf ( %d , visitor_count);printf將一些信息按照指定的格式送到標(biāo)準(zhǔn)輸出(顯示器)將一些信息按照指定的格式送到標(biāo)準(zhǔn)輸出(顯示器) %d visitor_count將按指定的格式顯示該變量的值將按指定的格式顯示該變量的值mailto:http:/ printf 函數(shù)函數(shù)int visitor_count = 150;printf ( %d , visitor_

17、count);輸出結(jié)果:輸出結(jié)果:150mailto:http:/ printf 函數(shù)函數(shù)int salary = 5500;printf ( %10d , salary);輸出結(jié)果:輸出結(jié)果: 5500輸出結(jié)果的左邊顯示了輸出結(jié)果的左邊顯示了 6 6 個(gè)空格個(gè)空格 %10d mailto:http:/ printf 函數(shù)函數(shù)float circumference = 78.53;printf ( %f , circumference);輸出結(jié)果輸出結(jié)果: :78.530000默認(rèn)情況下精確到六位小數(shù)默認(rèn)情況下精確到六位小數(shù)9.4786789;mailto:http:/ printf 函數(shù)函數(shù)

18、double mercury_level = 168.2251074;printf (%7.2f , mercury_level);輸出結(jié)果:輸出結(jié)果: 168.23寬度,表示所有的數(shù)字和小數(shù)點(diǎn)所占的位數(shù)。不夠?qū)挾?,表示所有的?shù)字和小數(shù)點(diǎn)所占的位數(shù)。不夠7位右對(duì)齊。位右對(duì)齊。 %7.2f 精度(精確到小數(shù)點(diǎn)后多少位)精度(精確到小數(shù)點(diǎn)后多少位)mailto:http:/ 轉(zhuǎn)義序列轉(zhuǎn)義序列輸出結(jié)果輸出結(jié)果:Name: Audrey HepburnMovie: Roman Holiday代碼:代碼:printf(“Name: Audrey Hepburn n Movie: Roman Holida

19、y”);轉(zhuǎn)義序列允許在輸出結(jié)果中包括特殊字符轉(zhuǎn)義序列允許在輸出結(jié)果中包括特殊字符mailto:http:/ scanf 函數(shù)函數(shù)scanf 函數(shù)從標(biāo)準(zhǔn)輸入(鍵盤(pán))函數(shù)從標(biāo)準(zhǔn)輸入(鍵盤(pán))讀取讀取信息,按照格式描信息,按照格式描述把讀入的信息轉(zhuǎn)換為指定數(shù)據(jù)類(lèi)型的數(shù)據(jù),并把這些述把讀入的信息轉(zhuǎn)換為指定數(shù)據(jù)類(lèi)型的數(shù)據(jù),并把這些數(shù)據(jù)賦給指定的程序變量。數(shù)據(jù)賦給指定的程序變量。 轉(zhuǎn)換字符串轉(zhuǎn)換字符串& &符號(hào)(附在讀取的每個(gè)變量上)用于指明變量符號(hào)(附在讀取的每個(gè)變量上)用于指明變量在內(nèi)存中的位置在內(nèi)存中的位置變量的名稱(chēng)變量的名稱(chēng)mailto:http:/ scanffloat tax_r

20、ate;scanf ( %f , &tax_rate);tax_rate 在內(nèi)存中分配一塊在內(nèi)存中分配一塊 32 位存儲(chǔ)空間位存儲(chǔ)空間 存儲(chǔ)空間使用名稱(chēng)存儲(chǔ)空間使用名稱(chēng)“tax_rate”標(biāo)識(shí)標(biāo)識(shí) 提示用戶(hù)輸入一個(gè)值提示用戶(hù)輸入一個(gè)值 輸入的值存儲(chǔ)在變量中(因?yàn)檩斎氲闹荡鎯?chǔ)在變量中(因?yàn)?scanf 提供此變量的提供此變量的地址)地址)12.234mailto:http:/ 接受并顯示字符接受并顯示字符字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)mailto:http:/ getchar() 函數(shù)函數(shù)char variablename;variablename = functionname

21、;語(yǔ)法:語(yǔ)法:例如:例如:char c;c=getchar();mailto:http:/ void main() char a,b; printf( 請(qǐng)輸入兩個(gè)字符請(qǐng)輸入兩個(gè)字符:n); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(n);getchar()和和putchar()示例示例內(nèi)存內(nèi)存abOK輸出:輸出:請(qǐng)輸入兩個(gè)字符:請(qǐng)輸入兩個(gè)字符:OKOKPress any key to continue_mailto:http:/ 算術(shù)運(yùn)算符算術(shù)運(yùn)算符算術(shù)算術(shù) 一

22、元一元 二元二元操作數(shù)操作數(shù)操作數(shù)操作數(shù)運(yùn)算符運(yùn)算符mailto:http:/ 一元算術(shù)運(yùn)算符一元算術(shù)運(yùn)算符算術(shù)算術(shù)一元一元-+num+ num=num+1num- num=num-1+num-numnum+num-前綴前綴后綴后綴二元二元mailto:http:/ void main() int a = 5, b = 3, c = 25, d = 12; float qu; int re,in,de; /* 使用算術(shù)運(yùn)算符使用算術(shù)運(yùn)算符 */ qu = a / b; / 除法除法 re = a % b; / 求模求模 in = +c; de = -d; printf (商為商為 %fn,qu); printf (余數(shù)為余數(shù)為 %dn,re); printf (“加加 1 1 后為后為 %dn,in); printf (減減 1 1 后為后為 %dn,de);2.6.1 算術(shù)運(yùn)算符示例算術(shù)運(yùn)算符示例輸出:輸出:商為商為 1.000000余數(shù)為余數(shù)為 2加加 1 后為后為 26減減 1 后為后為 11mailto:http:/ 什么情況下發(fā)生運(yùn)算轉(zhuǎn)換-不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí)賦值轉(zhuǎn)換-把一個(gè)值賦給與其類(lèi)型不同的變量時(shí)輸出轉(zhuǎn)換-輸出時(shí)轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類(lèi)型不一致時(shí)轉(zhuǎn)換 運(yùn)算轉(zhuǎn)換規(guī)則:不同類(lèi)型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論