C語(yǔ)言第2章基本數(shù)據(jù)類(lèi)型_第1頁(yè)
C語(yǔ)言第2章基本數(shù)據(jù)類(lèi)型_第2頁(yè)
C語(yǔ)言第2章基本數(shù)據(jù)類(lèi)型_第3頁(yè)
C語(yǔ)言第2章基本數(shù)據(jù)類(lèi)型_第4頁(yè)
C語(yǔ)言第2章基本數(shù)據(jù)類(lèi)型_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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第2章基本數(shù)據(jù)類(lèi)型2主要內(nèi)容一、數(shù)據(jù)類(lèi)型概述二、基本數(shù)據(jù)類(lèi)型——整型、實(shí)型、字符型三、標(biāo)識(shí)符、常量和變量四、數(shù)據(jù)的輸入與輸出3一、C的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型基本類(lèi)型整型字符型實(shí)型(浮點(diǎn)型)枚舉類(lèi)型構(gòu)造類(lèi)型數(shù)組類(lèi)型結(jié)構(gòu)體類(lèi)型共用體類(lèi)型指針類(lèi)型空類(lèi)型單精度型雙精度型在程序中對(duì)用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類(lèi)型.?不同類(lèi)型的數(shù)據(jù),對(duì)其的存儲(chǔ)單元不同,操作也不相同4二、基本數(shù)據(jù)類(lèi)型(一)整數(shù)類(lèi)型(二)實(shí)數(shù)類(lèi)型(三)字符類(lèi)型5(一)、整數(shù)類(lèi)型表示方法十進(jìn)制:123,-456,0八進(jìn)制:0123,-0456,十六進(jìn)制:0x123,-0X456以0開(kāi)頭以0x或0X開(kāi)頭存儲(chǔ)方式二進(jìn)制補(bǔ)碼形式(P19)分類(lèi)及取值范圍類(lèi)型比特?cái)?shù)范圍int[signed]int32

-2147483648~2147483647unsignedint320~4294967295short[int]

[signed]short[int]16-32768~32767(215-1)unsignedshort[int]160~65535long[int][signed]long[int]32-2147483648~2147483647unsignedlong[int]320~4294967295[]表示可以省略6(二)、實(shí)數(shù)類(lèi)型(浮點(diǎn)型)表示方法十進(jìn)制小數(shù)形式:123.,.123,123.0,-0.0045,0.0指數(shù)形式:1.23e2,-4.5e-3數(shù)字和小數(shù)點(diǎn)組成規(guī)范化指數(shù)形式存儲(chǔ)方式指數(shù)形式(數(shù)符+小數(shù)部分+指數(shù)部分)(P21)分類(lèi)及取值范圍

類(lèi)型比特?cái)?shù)有效數(shù)字?jǐn)?shù)值范圍

float

326~7-3.4×10-38~3.4×1038

double

6415~16-1.7×10-308~1.7×10308longdouble12818~19-1.2×10-4932~1.2×104932小數(shù)部分占的位數(shù)越多,數(shù)的有效數(shù)字越多,精度越高.指數(shù)部分占的位數(shù)越多,表示的數(shù)值范圍越大.7(三)、字符類(lèi)型表示方法用單引號(hào)括起來(lái)的一個(gè)字符.‘a(chǎn)’‘A’‘9’‘=’‘?’不同的兩個(gè)字符存儲(chǔ)方式以ASCII碼存儲(chǔ),占一個(gè)字節(jié)(P22)類(lèi)型及范圍char大小寫(xiě)英文字母,數(shù)字,運(yùn)算符,標(biāo)點(diǎn)符號(hào)等轉(zhuǎn)義字符

字符形式含義(P23)

\n

換行,從當(dāng)前位置移到下一行開(kāi)頭

\t水平制表(跳到下一個(gè)tab位置)\b退格,將當(dāng)前位置移到前一列

\r回車(chē),將當(dāng)前位置移到本行開(kāi)頭

…………將\后面的字符轉(zhuǎn)換為另外的意義.即是一種控制符號(hào).8(三)、字符類(lèi)型舉例#include<stdio.h>voidmain(){printf(“abc\bd\nxyz”);printf(“\rlmn\topq\n”);}結(jié)果:abdlmnopq字符串1、字符串常量:用“”引起來(lái)的字符序列。2、舉例:“China”,“Hello!”,“a”3、’a’是字符,”a”是字符串。4、不能把一個(gè)字符串賦給一個(gè)字符變量。c=“Hello!”5、C語(yǔ)言中沒(méi)有字符串變量,可以用字符數(shù)組來(lái)表示。實(shí)際中,不會(huì)這樣使用!?請(qǐng)看教材22、23頁(yè)9三、標(biāo)識(shí)符、常量與變量(一)標(biāo)識(shí)符(二)常量(三)變量10標(biāo)識(shí)符identifier(1)標(biāo)識(shí)符就是一個(gè)名字(如常量名、變量名、函數(shù)名……)。(2)組成:只能由字母、數(shù)字、下劃線(xiàn)組成。且第一個(gè)字符必須為字母或下劃線(xiàn)。(3)長(zhǎng)度:標(biāo)識(shí)符的有效長(zhǎng)度隨系統(tǒng)而異,如果超長(zhǎng),則超長(zhǎng)部分被舍棄。VC++6.0中規(guī)定最大長(zhǎng)度為255個(gè)字符。(4)標(biāo)識(shí)符大小寫(xiě)是有區(qū)別的。

例如:SUM和sum是不同的標(biāo)識(shí)符(5)標(biāo)識(shí)符命名的良好習(xí)慣──見(jiàn)名知意

例如,name(姓名)、age(年齡)(一)標(biāo)識(shí)符11標(biāo)識(shí)符的分類(lèi)根據(jù)不同的用處,標(biāo)識(shí)符分為:(1)關(guān)鍵字由程序員自己定義的變量名、符號(hào)常量名、數(shù)組名、函數(shù)名等。(2)預(yù)定義標(biāo)識(shí)符(3)用戶(hù)標(biāo)識(shí)符C語(yǔ)言中有特定含義的標(biāo)識(shí)符,主要用于描述庫(kù)函數(shù)名(如printf、scanf等)和編譯預(yù)處理命令名(如define、include等)。又叫保留字,是指C語(yǔ)言規(guī)定的、有特殊含義和專(zhuān)門(mén)用途的標(biāo)識(shí)符,主要用于描述數(shù)據(jù)類(lèi)型、存儲(chǔ)類(lèi)型、類(lèi)型定義和語(yǔ)句控制。C語(yǔ)言中規(guī)定的關(guān)鍵字有32個(gè)。用戶(hù)標(biāo)識(shí)符不能使用關(guān)鍵字,盡量避免使用預(yù)定義標(biāo)識(shí)符。教材15頁(yè)12(二)常量概念在程序運(yùn)行過(guò)程中,其值不能被改變的量。分類(lèi)字面常量(直接常量):12-44.6‘a(chǎn)’“Hello!”符號(hào)常量:用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。

字符串常量符號(hào)常量的定義格式:#define常量名字面常量舉例:#definePRICE100

#definePI3.14#defineC1’a’習(xí)慣上常量名用大寫(xiě),變量名用小寫(xiě)。意義1、含義清楚。2、在需要改變一個(gè)常量時(shí),能夠做到“一改全改”。符號(hào)常量的定義放在函數(shù)外面。13常量——舉例(求某商品總價(jià))#include<stdio.h>#definePRICE100//定義符號(hào)常量voidmain(){ intsum; sum=PRICE*20; printf("%d\n",sum);}單價(jià)——符號(hào)常量數(shù)量——直接常量14概念其值可以改變的量稱(chēng)為變量。(變量名和變量值)標(biāo)識(shí)符變量定義類(lèi)型名變量名列表;說(shuō)明1、變量說(shuō)明應(yīng)出現(xiàn)在函數(shù)體的聲明部分。2、程序中用到的變量必須“先定義,后使用”。(三)變量15(三)變量例1inta1,a2;floatx1,x2;doubley1,y2;charc1,c2;習(xí)慣上,變量名用小寫(xiě)字母。C語(yǔ)言中,大寫(xiě)字母和小寫(xiě)字母是不同的兩個(gè)字母。變量賦初值格式:變量名=數(shù)據(jù)方式:1、定義變量的同時(shí)賦初值。

2、通過(guò)一個(gè)賦值語(yǔ)句給變量賦初值。出現(xiàn)在函數(shù)體的聲明部分出現(xiàn)在函數(shù)體的執(zhí)行部分例2inta,b=3;inta,b;b=3;16說(shuō)明1、給變量賦值時(shí),正常情況下應(yīng)給變量賦相同類(lèi)型的數(shù)據(jù)。2、若給變量賦與其類(lèi)型不同的數(shù)據(jù)時(shí),需進(jìn)行類(lèi)型轉(zhuǎn)換。例3#include<stdio.h>voidmain(){inta1,a2;floatx1,x2;doubley1,y2;charc1,c2;……x1=75.4;y1=x1;a1=65;c1=‘a(chǎn)’;a2=c1;c2=a1;printf(“a2=%d,c2=%c”,a2,c2);……}結(jié)果:a2的值為97。c2的值為’A’.取小寫(xiě)字母‘a(chǎn)’的ASCII碼將65作為ASCII碼轉(zhuǎn)化為相應(yīng)的字符。(三)變量17(一)、C的輸入與輸出(二)、單個(gè)字符的輸出(三)、單個(gè)字符的輸入(四)、格式輸出(五)、格式輸入四、數(shù)據(jù)的輸入與輸出18說(shuō)明1、所謂輸入輸出是以計(jì)算機(jī)為主體而言的。2、輸入輸出操作是由函數(shù)實(shí)現(xiàn)的。標(biāo)準(zhǔn)輸入輸出函數(shù)putchar()getchar()puts()gets()printf()scanf()預(yù)編譯命令在使用C語(yǔ)言庫(kù)函數(shù)時(shí),要用預(yù)編譯命令"#include"將有關(guān)的"頭文件"包括到用戶(hù)源文件中。舉例#include<stdio.h>voidmain(){printf("Hello!");}#include"stdio.h"注:在TC環(huán)境中,若使用printf()或scanf()函數(shù),則前面的預(yù)編譯命令可以省略!在VC++環(huán)境中不能省略!(一)C的輸入與輸出19作用向終端(或系統(tǒng)默認(rèn)的輸出設(shè)備)輸出一個(gè)字符。舉例#include<stdio.h>voidmain(){

charch1='B',ch2='O',ch3='Y';putchar('\"');/*輸出雙引號(hào)*/putchar(ch1);putchar(ch2);putchar(ch3);/*輸出BOY*/putchar('\"');/*輸出雙引號(hào)*/}(二)單個(gè)字符的輸出——putchar函數(shù)顯示器格式?A"BOY"輸出putchar(ch);注:

ch

可以是一個(gè)字符型(整型)變量、常量或表達(dá)式;

也可以是一個(gè)轉(zhuǎn)義字符,如putchar('\n')、putchar('\101')。putchar('B');p2320作用從終端(或系統(tǒng)默認(rèn)的輸入設(shè)備)輸入一個(gè)字符。舉例#include

<stdio.h>voidmain(){

charc1;c1=getchar();putchar(c1);putchar(getchar());}輸入:a鍵盤(pán)(三)、單個(gè)字符的輸入

——getchar函數(shù)輸出格式

注:getchar函數(shù)沒(méi)有參數(shù),所接受的字符可以賦給字符型或整型變量,也可以作為表達(dá)式的一部分。a_輸入:ab輸出ab_?getchar();21格式printf("格式控制字符串"

[,輸出列表]);說(shuō)明1、"格式控制字符串"是用雙撇號(hào)引起來(lái)的字符串,包括三種信息:(1)格式說(shuō)明:由%和格式字符組成。(如%d、%f)

(2)普通字符:需要按原樣輸出的字符。(3)轉(zhuǎn)義字符:(如\t、\n、\b、\r等)2、"輸出列表"是需要輸出的一些數(shù)據(jù),可以是表達(dá)式。將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。(四)、格式輸出——printf函數(shù)作用向終端(或系統(tǒng)默認(rèn)的輸出設(shè)備)輸出若干個(gè)任意類(lèi)型的數(shù)據(jù)。22例2#include<stdio.h>voidmain(){inta,b;a=3;b=4;printf("輸出結(jié)果為:");

printf("%d%d\n",a,b);printf("a=%d,b=%d\n",a,b);printf("a+b=%d",a+b);}輸出結(jié)果為:34a=3,b=4a+b=7_例1printf("sum=%d\n

%c",x,ch);普通字符格式說(shuō)明轉(zhuǎn)義字符如果x=100,ch='A'

,那么下面的輸出語(yǔ)句將輸出什么結(jié)果?輸出列表輸出sum=100A_輸出23格式說(shuō)明必須以%開(kāi)始,以格式字符結(jié)束。一般形式如下:

%[標(biāo)志][寬度][.精度][l][格式字符]--nmd/f/c/e/s等長(zhǎng)整型整數(shù)輸出數(shù)據(jù)向左靠攏輸出數(shù)據(jù)最小寬度對(duì)實(shí)數(shù):輸出小數(shù)點(diǎn)位數(shù);對(duì)字符串:截取字符的個(gè)數(shù)格式說(shuō)明的一般形式24格式字符格式字符格式說(shuō)明d,i以帶符號(hào)的十進(jìn)制數(shù)輸出整數(shù)(正數(shù)不輸出符號(hào))c以字符形式輸出,只輸出一個(gè)字符f以小數(shù)形式輸出單、雙精度數(shù),隱含6位小數(shù)e,E以指數(shù)形式輸出實(shí)數(shù)o以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0)x,X以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0x)…………附加格式說(shuō)明字符字符說(shuō)明l用于長(zhǎng)整型數(shù)據(jù)輸出,可加在doxu前面m數(shù)據(jù)最小寬度n對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù)-輸出數(shù)據(jù)向左靠攏格式字符25#include<stdio.h>voidmain(){intnum1=123;longnum2=123456;

/*用3種不同格式,輸出int型數(shù)據(jù)num1的值*/printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n",num1,num1,num1,num1);

/*用3種不同格式,輸出long型數(shù)據(jù)num2的值*/printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2);printf("num1=%ld\n",num1);} 格式輸出舉例——d格式符P29,%md,%-md26綜合舉例floatx,y;x=111111.111;y=222222.222;printf("%f",x+y);333333.328125整數(shù)部分全部輸出,小數(shù)部分輸出6位因有效位數(shù)為7位,因此后面數(shù)字不準(zhǔn)確。p29floatx=123.456;printf("%f",x);printf("%10f",x);printf("%10.2f",x);printf("%.2f",x);printf("%-10.2f",x);123.456001123.456001123.46123.46123.46實(shí)數(shù)最常用的兩種輸出格式格式輸出舉例——f格式符27格式輸出舉例——c格式符#include<stdio.h>voidmain(){charc='A';inti=65;printf("c=%c,%5c,%d\n",c,c,c);printf("i=%d,%c",i,i);}輸出c=A,A,65i=65,A注意

在C語(yǔ)言中,整數(shù)可以用字符形式輸出,字符數(shù)據(jù)也可以用整數(shù)形式輸出。將整數(shù)用字符形式輸出時(shí),系統(tǒng)首先求該數(shù)與256的余數(shù),然后將余數(shù)作為ASCII碼,轉(zhuǎn)換成相應(yīng)的字符輸出。28格式scanf("格式控制字符串"

[,地址列表]);說(shuō)明1、"格式控制字符串"與printf函數(shù)類(lèi)似??梢园韵氯N類(lèi)型的信息:格式說(shuō)明:與printf類(lèi)似,以%開(kāi)始,以一個(gè)格式字符結(jié)束;空白字符(空格、\t、\n):輸入多個(gè)數(shù)據(jù)時(shí)的缺省分隔符,可以省略,在輸入數(shù)據(jù)時(shí)可以以任一種空白字符分隔;普通字符(照原樣輸入)。2、"地址表列"是由若干個(gè)地址組成的列表,各地址之間用逗號(hào)分隔。如變量的地址表示為:&變量名。(五)、格式輸入——scanf函數(shù)作用從終端(或系統(tǒng)默認(rèn)的輸入設(shè)備)輸入若干個(gè)任意類(lèi)型的數(shù)據(jù)。29inta,b;scanf(“%d%d”,&a,&b);printf(“%d,%d”,a,b);102010,20inta,b;scanf(“%d,%d”,&a,&b);printf(“%d,%d”,a,b);10,2010,20格式輸入舉例——d格式符注意舉例當(dāng)輸入多個(gè)數(shù)據(jù)時(shí),若各個(gè)格式說(shuō)明之間沒(méi)有其他字符,則系統(tǒng)默認(rèn)使用空格鍵、回車(chē)鍵和Tab鍵進(jìn)行間隔;若格式說(shuō)明之間有其他字符,則必須照原樣輸入。102010,2030inta,b;printf(“Pleaseinput2integers:”);scanf(“%d%d”,&a,&b);printf(“%d,%d”,a,b);建議Pleaseinput2integers:在輸入語(yǔ)句之前配上一條printf語(yǔ)句,用來(lái)顯示輸入提示。舉例102010,2031floata;scanf(“%f”,&a);printf(“%f”,a);輸入:3.2floata;scanf(“%3.2f”,&a);pri

溫馨提示

  • 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)論