大一C語(yǔ)言基礎(chǔ)筆記收藏_第1頁(yè)
大一C語(yǔ)言基礎(chǔ)筆記收藏_第2頁(yè)
大一C語(yǔ)言基礎(chǔ)筆記收藏_第3頁(yè)
大一C語(yǔ)言基礎(chǔ)筆記收藏_第4頁(yè)
大一C語(yǔ)言基礎(chǔ)筆記收藏_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章程序設(shè)計(jì)和C語(yǔ)言1、計(jì)算機(jī)程序指令:可以被計(jì)算機(jī)理解并執(zhí)行的基本操作命令。程序:一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令。(一個(gè)特定的指令序列用來(lái)完成一定的功能。)軟件:與計(jì)算機(jī)系統(tǒng)操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。2、計(jì)算機(jī)語(yǔ)言機(jī)器語(yǔ)言;匯編語(yǔ)言;高級(jí)語(yǔ)言。3、高級(jí)語(yǔ)言的發(fā)展4、C語(yǔ)言的特點(diǎn)?語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活?運(yùn)算符豐富?數(shù)據(jù)類型豐富?生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高?具有結(jié)構(gòu)化的控制語(yǔ)句用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化C語(yǔ)言是完全模塊化和結(jié)構(gòu)化的語(yǔ)言?語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大?允許直接訪問物理地址能進(jìn)行位(bit)操作能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能可以直接對(duì)硬件進(jìn)行操作因此C語(yǔ)言既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,可用來(lái)編寫系統(tǒng)軟件?程序可移植性好5、C語(yǔ)言程序#include<stdio.h>//這是編譯預(yù)處理指令intmain()〃定義主函數(shù);每一個(gè)C語(yǔ)言程序都必須有一個(gè)main函數(shù)。{//函數(shù)開始的標(biāo)志printf(“Hello,World!\n”);//輸出所指定的一行信息return0;//函數(shù)執(zhí)行完畢時(shí)返回函數(shù)值0}//函數(shù)結(jié)束的標(biāo)志第二章算法算法+數(shù)據(jù)結(jié)構(gòu)=程序數(shù)據(jù)結(jié)構(gòu)對(duì)數(shù)據(jù)的描述。在程序中要指定用到哪些數(shù)據(jù),以及這些數(shù)據(jù)的類型和數(shù)據(jù)的組織形式。算法對(duì)操作的描述。即要求計(jì)算機(jī)進(jìn)行操作的步驟數(shù)據(jù)類型包括:1.基本類型。2.派生類型。3.空類型常用的數(shù)據(jù)結(jié)構(gòu)類型:集合、線性、樹形、圖狀。數(shù)據(jù)結(jié)構(gòu)包括:邏輯結(jié)構(gòu):數(shù)據(jù)元素之間的關(guān)系。存儲(chǔ)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的表示。存儲(chǔ)結(jié)構(gòu)分為:順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。算法的特性有窮性;確定性;有零個(gè)或多個(gè)輸入;有一個(gè)或多個(gè)輸出;有效性;匚二I起止框處理框匚7輸入輸出框判斷框第三章順序程序設(shè)計(jì)一、常量整型常量5201314實(shí)型常量小數(shù)點(diǎn)形式123.456指數(shù)形式12.34e3字符常量普通字符’a’,’Z’/#’;轉(zhuǎn)義字符’\n’,’\012’,’\h1B’字符串常量“123”,”boy”符號(hào)常量#definePI3.1416〃注意行末沒有分號(hào),使用前要先定義轉(zhuǎn)義字符轉(zhuǎn)義序列表示的字符對(duì)應(yīng)字符的編碼值(十六進(jìn)制表示)名稱名稱縮寫‘\a’響鈴Bel0x7‘\b’退格BS0x8‘\f’換頁(yè)FF0xc‘\n’換行LF0xa‘\r’回車符CR0xd‘\t’水平制表符(橫向跳格)HT0x9‘\v’垂直制表符(縱向跳格)VT0x6‘\’’單引號(hào)0x27‘\”’雙引號(hào)0x22‘\?’問號(hào)0x35,\\’反斜線0x5c,\0’字符串結(jié)束符空)NULL0x0‘\ddd’八進(jìn)制數(shù)ddd表示的字符‘\xhhh’十六進(jìn)制數(shù)hhh表示的字符二、變量變量代表一個(gè)有名字的、具有特定屬性的一個(gè)存儲(chǔ)單元。變量用來(lái)存放數(shù)據(jù),也就是存放變量的值。在程序運(yùn)行期間,變量的值是可以改變的。變量必須先定義,后使用。三、標(biāo)識(shí)符(變量名)標(biāo)識(shí)符就是一個(gè)對(duì)象的名字。用于標(biāo)識(shí)變量、符號(hào)常量、函數(shù)、數(shù)組、類型等?標(biāo)識(shí)符只能由字母(a-z,A-Z)、數(shù)字(0-9)和下劃線(_)3種字符組成,且第1個(gè)字符必須為字母或下劃線不能使用關(guān)鍵字,且要區(qū)分大小寫四、數(shù)據(jù)類型位(bit)(一般以8位二進(jìn)制組成一個(gè)基本單位。)字節(jié)(Byte)簡(jiǎn)記為B,KB(Kilobyte千字節(jié)),MB(Megabyte兆字節(jié)簡(jiǎn)稱“兆”),GB、TB1B=8bit1KB=1024B1MB=1024KB(1)基本類型1、整型類型基本整型int;短整型shortint;長(zhǎng)整型longint;字符型char布爾型boor2、浮點(diǎn)類型單精度浮點(diǎn)型float雙精度浮點(diǎn)型double復(fù)數(shù)浮點(diǎn)型float_complex,double_complex,longlong_complex(2)枚舉類型enum(3)空類型void(4)派生類型1、指針*2、數(shù)組類型[]3、結(jié)構(gòu)體類型union4、函數(shù)類型計(jì)算機(jī)中帶符號(hào)整型數(shù)的表示:補(bǔ)碼0000000000000000正整數(shù)的補(bǔ)碼就是此數(shù)的二進(jìn)制形式負(fù)整數(shù)的補(bǔ)碼需:①符號(hào)位不變;②其他位取反;③加1。整型數(shù)據(jù)類型缺省形式的整型數(shù)據(jù)類型字節(jié)數(shù)取值范圍[signed]intint4-2147483648~2147483647(-231-231-1)unsigned[int]unsigned40-4294967295(0~232-1)[signed]short[int]short2-32768~32767(-215-215-1)unsignedshort[int]unsignedshort20~65535(0-216-1)[signed]long[int]long4-2147483648-2147483647(-231-231-1)unsignedlong[int]unsignedlong40-4294967295(0-232-1)[signed]longlong[int]longlong8-9223372036854775808-9223372036854775807(-263-263-1)unsignedlonglong[int]Unsignedlonglong80-18446744073709551615(0-264-1)1、整型數(shù)據(jù)⑴只有整型(包括字符型)數(shù)據(jù)可以加signed或unsigned修飾符,實(shí)型數(shù)據(jù)不能加。⑵對(duì)無(wú)符號(hào)整型數(shù)據(jù)用“%u”格式輸出。%u表示用無(wú)符號(hào)十進(jìn)制數(shù)的格式輸出。如:unsignedshortprice=50;〃定義price為無(wú)符號(hào)短整型變量printf("%u\n",price);〃指定用無(wú)符號(hào)十進(jìn)制數(shù)的格式輸出在將一個(gè)變量定義為無(wú)符號(hào)整型后,不應(yīng)向它賦予一個(gè)負(fù)值,否則會(huì)得到錯(cuò)誤的結(jié)果。2、字符型數(shù)據(jù)ASCII字符集包括:字母:大寫英文字母A~Z,小寫英文字母a~z數(shù)字:0?9專門符號(hào):29個(gè),包括!"#&'()*+,-./:;<=>?[\]J'{I)~空格符:空格、水平制表符(tab)、垂直制表符、換行、換頁(yè)(formfeed)不能顯示的字符:空(null)字符(以'\0'表示)、警告(以'\a'表示)、退格(以'\b'表示)、回車(以'\r'表示)等注:字符'1’和整數(shù)1是不同的概念。字符'1’只是代表一個(gè)形狀為'1’的符號(hào),在需要時(shí)按原樣輸出,在內(nèi)存中以ASCII碼形式存儲(chǔ),占1個(gè)字節(jié)。而整數(shù)1是以整數(shù)存儲(chǔ)方式(二進(jìn)制補(bǔ)碼方式)存儲(chǔ)的,占2個(gè)或4個(gè)字節(jié)。整數(shù)運(yùn)算1+1等于整數(shù)2,而字符’1’+’1’并不等于整數(shù)2或字符’2’。3、字符變量字符變量是用類型符char定義字符變量。charc='?';〃定義c為字符型變量并使初值為字符??!?'的ASCII代碼是63,系統(tǒng)把整數(shù)63賦給變量c。printf("%d%c\n",c,c);〃用“%d”格式輸出十進(jìn)制整數(shù)63,用“%c”格式輸出字符'?’charc1;inti;c1='A';i=65;或或c1=65;i=’A’;〃整型變量和字符變量的定義和賦值可以互換[ASCII碼范圍]4、浮點(diǎn)型數(shù)據(jù)3.14159=3.14159*100=0.314159*101=314.159*10-2由于小數(shù)點(diǎn)位置可以浮動(dòng),所以實(shí)數(shù)的指數(shù)形式稱為浮點(diǎn)數(shù)。浮點(diǎn)數(shù)類型包括float(單精度浮點(diǎn)型)、double(雙精度浮點(diǎn)型)、longdouble(長(zhǎng)雙精度浮點(diǎn)型)。5、常量、變量與類型floata=3.14159;//3.14159為雙精度浮點(diǎn)常量,分配8個(gè)字節(jié);a為float變量,分配4個(gè)字節(jié)編譯時(shí)系統(tǒng)會(huì)發(fā)出警告(warning:truncationfrom'constdouble'to'float'),提醒用戶注意這種轉(zhuǎn)換可能損失精度。一般不影響結(jié)果的正確性,但會(huì)影響結(jié)果的精度。可以在常量的末尾加專用字符,強(qiáng)制指定常量的類型:floata=3.14159f;〃把此3.14159按單精度浮點(diǎn)常量處理,編譯時(shí)不出現(xiàn)“警告”longdoublea=1.23L;〃把此1.23作為longdouble型處理類型是變量的一個(gè)重要的屬性。變量是具體存在的實(shí)體,占用存儲(chǔ)單元可以存放數(shù)據(jù)。而類型是變量的共性,是抽象的,不占用存儲(chǔ)單元,不能用來(lái)存放數(shù)據(jù)。inta;a=3;〃正確。對(duì)整型變量a賦值int=3;〃錯(cuò)誤。不能對(duì)類型賦值6、運(yùn)算符運(yùn)算符含義舉例結(jié)果+正號(hào)運(yùn)算符(單目運(yùn)算符)+aa的值-負(fù)號(hào)運(yùn)算符(單目運(yùn)算符)-aa的算術(shù)負(fù)值*乘法運(yùn)算符a*ba和b的乘積/除法運(yùn)算符a/ba除以b的商%求余運(yùn)算符a%ba除以b的余數(shù)+加法運(yùn)算符a+ba和b的和—減法運(yùn)算符a-ba和b的差不同類型數(shù)據(jù)間的混合運(yùn)算如果一個(gè)運(yùn)算符兩側(cè)的數(shù)據(jù)類型不同,則先自動(dòng)進(jìn)行類型轉(zhuǎn)換,使二者成為同一種類型,然后進(jìn)行運(yùn)算。整型、實(shí)型、字符型數(shù)據(jù)間可以進(jìn)行混合運(yùn)算。規(guī)律為:?+、-、*、/運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為float或double型,結(jié)果是double型,因?yàn)橄到y(tǒng)將所有float型數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進(jìn)行運(yùn)算。?如果int型與float或double型數(shù)據(jù)進(jìn)行運(yùn)算,先把int型和float型數(shù)據(jù)轉(zhuǎn)換為double型,然后進(jìn)行運(yùn)算,結(jié)果是double型。?字符(char)型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的ASCII代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算。?如果字符型數(shù)據(jù)與實(shí)型數(shù)據(jù)進(jìn)行運(yùn)算,則將字符的ASCII代碼轉(zhuǎn)換為double型數(shù)據(jù),然后進(jìn)行運(yùn)算。inti=3,j;floatf=2.5;doubled=7.5;printf("%lf",10+'a'+i*f-d/3);程序分析:10+'a'+i*f-d/3進(jìn)行10+'a,的運(yùn)算,’a'的值是整數(shù)97,運(yùn)算結(jié)果為107。由于“*”比“+”優(yōu)先級(jí)高,先進(jìn)行i*f的運(yùn)算。先將i與f都轉(zhuǎn)成double型,運(yùn)算結(jié)果為7.5,double型。整數(shù)107與i*f的積相加。先將整數(shù)107轉(zhuǎn)換成雙精度數(shù),相加結(jié)果為114.5,double型。進(jìn)行d/3的運(yùn)算,先將3轉(zhuǎn)換成double型,d/3結(jié)果為2.5,double型。將10+'a'+i*f的結(jié)果114.5與d/3的商2.5相減,結(jié)果為112.0,double型。強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型名)(表達(dá)式)(double)a將a轉(zhuǎn)換成double型(int)(x+y)將x+y的值轉(zhuǎn)換成int型(float)(5%3)將5%3的值轉(zhuǎn)換成float型(int)x+y只將x轉(zhuǎn)換成整型,然后與y相加inta;floatx,y;doubleb;a=(int)x進(jìn)行強(qiáng)制類型運(yùn)算(int)x后得到一個(gè)int類型的臨時(shí)值,它的值等于x的整數(shù)部分,把它賦給a,注意x的值和類型都未變化,仍為float型。該臨時(shí)值在賦值后就不再存在了。五、C語(yǔ)句控制語(yǔ)句if()"?else…(條件語(yǔ)句)for()…(循環(huán)語(yǔ)句)while()…(循環(huán)語(yǔ)句)do,??while()(循環(huán)語(yǔ)句)continue(結(jié)束本次循環(huán)語(yǔ)句)break(中止執(zhí)行switch或循環(huán)語(yǔ)句)switch(多分支選擇語(yǔ)句)return(從函數(shù)返回語(yǔ)句)goto(轉(zhuǎn)向語(yǔ)句,在結(jié)構(gòu)化程序中基本不用goto語(yǔ)句)()表示括號(hào)中是一個(gè)判別條件…表示內(nèi)嵌的語(yǔ)句調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。printf("ThisisaCstatement.");其中printf("ThisisaCstate?一t個(gè)函^數(shù)調(diào)用,加一個(gè)分號(hào)成為一個(gè)語(yǔ)句。(3)表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成,最典型的是由賦值表達(dá)式構(gòu)成一個(gè)賦值語(yǔ)句。例如:a=3是一個(gè)賦值表達(dá)式,而a=3;是一個(gè)賦值語(yǔ)句。(4)空語(yǔ)句;只有一個(gè)分號(hào)的語(yǔ)句即為空語(yǔ)句。可以用來(lái)作為流程的轉(zhuǎn)向點(diǎn)流程從程序其他地方轉(zhuǎn)到此語(yǔ)句處);也可用來(lái)作為循環(huán)語(yǔ)句中的循環(huán)體(循環(huán)體是空語(yǔ)句,表示循環(huán)體什么也不做)。(5)復(fù)合語(yǔ)句可以用{把一些語(yǔ)句和聲明括起來(lái)成為復(fù)合語(yǔ)句又稱語(yǔ)句塊)。{floatpi=3.14159,r=2.5,aJe義變量area=pi*r*r;printf("area=%f”,area);}復(fù)合語(yǔ)句常用在if語(yǔ)句或循環(huán)中,此時(shí)程序需要連續(xù)執(zhí)行一組語(yǔ)句。注:復(fù)合語(yǔ)句中最后一個(gè)語(yǔ)句末尾的分號(hào)不能忽略不寫。(6)賦值語(yǔ)句G賦值運(yùn)算符“=”“=的作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。例如:a=3的作用是執(zhí)行一次賦值操作(或稱賦值運(yùn)算)。把常量3賦給變量a。也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量。&>*復(fù)合賦值運(yùn)算符在賦值符=之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。a+=3等價(jià)于a=a+3x*=y+8等價(jià)于x=x*(y+8)//如果賦值符右邊是包含若干項(xiàng)的表達(dá)式,則相當(dāng)于它有括號(hào)。x%=3等價(jià)于x=x%3凡是二元(二目)運(yùn)算符,都可以與賦值符一起組合成復(fù)合賦值符。有關(guān)算術(shù)運(yùn)算的復(fù)合賦值運(yùn)算符有+=,-=,=,/=,%=。CD賦值表達(dá)式:變量賦值運(yùn)算符表達(dá)式對(duì)賦值表達(dá)式求解的過程是:求賦值運(yùn)算符右側(cè)的表達(dá)式”的值。賦給賦值運(yùn)算符左側(cè)的變量。既然是一個(gè)表達(dá)式,就應(yīng)該有一個(gè)值,表達(dá)式的值等于賦值后左側(cè)變量的值。賦值運(yùn)算符左側(cè)應(yīng)該是一個(gè)可修改值的左值”I/佐值應(yīng)當(dāng)為存儲(chǔ)空間并可以被賦值。變量可以作為能出現(xiàn)在賦值運(yùn)算符右側(cè)的表達(dá)式稱為右值”I左值,而算術(shù)表達(dá)式、常量不能作為左值。D*賦值過程中的類型轉(zhuǎn)換如果賦值運(yùn)算符兩側(cè)的類型一致,則直接進(jìn)行賦值。如果賦值運(yùn)算符兩側(cè)的類型不一致,但都是基本類型時(shí),在賦值時(shí)要進(jìn)行類型轉(zhuǎn)換。類型轉(zhuǎn)換是由系統(tǒng)自動(dòng)進(jìn)行的,轉(zhuǎn)換的規(guī)則是:將浮點(diǎn)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時(shí),先對(duì)浮點(diǎn)數(shù)取整,即舍棄小數(shù)部分,然后賦予整型變量。將整型數(shù)據(jù)賦給單、雙精度變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中。將一個(gè)double型數(shù)據(jù)賦給float變量時(shí),先將雙精度數(shù)轉(zhuǎn)換為單精度,即只取6?7位有效數(shù)字,存儲(chǔ)到float型變量的4個(gè)字節(jié)中。應(yīng)注意雙精度數(shù)值的大小不能超出float型變量的數(shù)值范圍;將一個(gè)float型數(shù)據(jù)賦給double型變量時(shí),數(shù)值不變,在內(nèi)存中以8個(gè)字節(jié)存儲(chǔ),有效位數(shù)擴(kuò)展到15位。字符型數(shù)據(jù)賦給整型變量時(shí),將字符的ASCII代碼賦給整型變量。將一個(gè)占字節(jié)多的整型數(shù)據(jù)賦給一個(gè)占字節(jié)少的整型變量或字符變量時(shí),只將其低字節(jié)原封不動(dòng)地送到被賦值的變量(即發(fā)生“截?cái)唷?。?賦值表達(dá)式和賦值語(yǔ)句C語(yǔ)言的賦值語(yǔ)句屬于表達(dá)式語(yǔ)句,由一個(gè)賦值表達(dá)式加一個(gè)分號(hào)組成。在一個(gè)表達(dá)式中可以包含另一個(gè)表達(dá)式。注:賦值表達(dá)式的末尾沒有分號(hào),而賦值語(yǔ)句的末尾必須有分號(hào)。?變量賦初值可以用賦值語(yǔ)句對(duì)變量賦值,也可以在定義變量時(shí)對(duì)變量賦以初值。六、數(shù)據(jù)的輸入輸出printf函數(shù):printf(格式控制,輸出表列)【例;printf("i=%d”,i)】“格式控制”是用雙引號(hào)括起來(lái)的一個(gè)字符串,稱為格式控制字符串,簡(jiǎn)稱格式字符串。包括:格式聲明。格式聲明由“%”和格式字符組成。[例:%c]作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式后輸出。普通字符。普通字符即需要在輸出時(shí)原樣輸出的字符。[例:i=]輸出表列是程序需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。[例:第二個(gè)i]格式聲明:printf函數(shù)輸出時(shí),務(wù)必注意輸出對(duì)象的類型應(yīng)與上述格式說(shuō)明匹配,否則將會(huì)出現(xiàn)錯(cuò)誤。除了X,E,G外,其他格式字符必須用小寫字母,如%d不能寫成%D。⑶可以在printf函數(shù)中的格式控制字符串內(nèi)包含轉(zhuǎn)義字符,^n,\t,\b,\r,\f和\377等。一個(gè)格式聲明以“%”開頭,以格式字符之一為結(jié)束,中間可以插入附加格式字符(也稱修飾符)。如果想輸出字符“%”,應(yīng)該在“格式控制字符串”中用連續(xù)兩個(gè)“%”表示,如:printf(〃%f%%\n〃,1.0/3);格式字符說(shuō)明d,i以帶符號(hào)的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號(hào))o以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0)X,x以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0x),用X時(shí),則以大寫字母輸出,用x則輸出十六進(jìn)制數(shù)的a?f時(shí)以小寫形式輸出u以無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)c以字符形式輸出,只輸出一個(gè)字符s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)E,e以指數(shù)形式輸出實(shí)數(shù),用e時(shí)指數(shù)以“e”表示(如1.2e+02),用E時(shí)指數(shù)以“E”表示(如1.2E+02)G,g選用%f或%e格式中輸出寬度較短的一種格式,不輸出無(wú)意義的0。用G時(shí)若以指數(shù)形式輸出,則指數(shù)以大寫表示

附加字符說(shuō)明l長(zhǎng)整型整數(shù),可加在格式符d、o、x、u前面)m(代表一個(gè)正整數(shù))數(shù)據(jù)最小寬度n(代表一個(gè)正整數(shù))對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù)-輸出的數(shù)字或字符在域內(nèi)向左靠scanf函數(shù):scanf(格式控制,地址表列)⑴“格式控制”是用雙引號(hào)括起來(lái)的一個(gè)字符串,含義同printf函數(shù)。包括:格式聲明。以%開始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符。普通字符。(2)地址表列是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址。格式聲明:(1)scanf函數(shù)中的格式控制后面應(yīng)當(dāng)是變量地址,而不是變量名。(2)如果在格式控制字符串中除了格式聲明以外還有其他字符,則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)的位置上應(yīng)輸入與這些字符相同的字符。(3)在用“%c”格式聲明輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”中的字符都作為有效字符輸入。(4)在輸入數(shù)值數(shù)據(jù)時(shí),如輸入空格、回車、Tab鍵或遇非法字符(不屬于數(shù)值的字符),認(rèn)為該數(shù)據(jù)結(jié)束。格式字符說(shuō)明d,i輸入有符號(hào)的十進(jìn)制整數(shù)u輸入無(wú)符號(hào)的十進(jìn)制整數(shù)o輸入無(wú)符號(hào)的八進(jìn)制整數(shù)X,x輸入無(wú)符號(hào)的十六進(jìn)制整數(shù)(大小寫作用相同)c輸入單個(gè)字符s輸入字符串,將字符串送到一個(gè)字符數(shù)組中,在輸入時(shí)以非空白字符開始,以第一個(gè)空白字符結(jié)束。字符串以串結(jié)束標(biāo)志'\0'作為其最后一個(gè)字符f輸入實(shí)數(shù),可以用小數(shù)形式或指數(shù)形式輸入E,e,G,g與f作用相同,e與f、g可以互相替換(大小寫作用相同)附加字符說(shuō)明l輸入長(zhǎng)整型數(shù)據(jù)(可用%ld,%lo,%lx,%lu)以及double型數(shù)據(jù)(用%lf或%le)h輸入短整型數(shù)據(jù)(可用%hd,%ho,%hx)域?qū)捴付ㄝ斎霐?shù)據(jù)所占寬度(列數(shù)),域?qū)拺?yīng)為正整數(shù)*本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量putchar函數(shù):putchar(c)從計(jì)算機(jī)向顯示器輸出一個(gè)字符。用putchar函數(shù)既可以輸出可顯示字符,也可以輸出控制字符和轉(zhuǎn)義字符。putchar(c)中的c可以是字符常量、整型常量、字符變量或整型變量(其值在字符的ASCII代碼范圍內(nèi))。getchar函數(shù):getchar()向計(jì)算機(jī)輸入一個(gè)字符。函數(shù)沒有參數(shù)。函數(shù)的值就是從輸入設(shè)備得到的字符。只能接收一個(gè)字符。

第四章選擇結(jié)構(gòu)程序設(shè)計(jì)一、選擇結(jié)構(gòu)和條件判斷if語(yǔ)句,用來(lái)實(shí)現(xiàn)兩個(gè)分支的選擇結(jié)構(gòu)if(表達(dá)式)語(yǔ)句1[else語(yǔ)句2]switch語(yǔ)句,用來(lái)實(shí)現(xiàn)多分支的選擇結(jié)構(gòu)、關(guān)系運(yùn)算符和關(guān)系表達(dá)式算術(shù)運(yùn)算符<前4種關(guān)系運(yùn)算符的優(yōu)先級(jí)別相同,后2種也相同。前4種高于后2種。<=關(guān)系3.>運(yùn)算符4.>===(等于)!=(不等于)賦值運(yùn)算符前4種關(guān)系運(yùn)算符的優(yōu)先級(jí)別相同,后2種也相同。前4種高于后2種。關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)數(shù)值或數(shù)值表達(dá)式連接起來(lái)的式子,稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”。在C的邏輯運(yùn)算中,以“1”代表“真”,以“0”代表“假”。例:若a=3,b=2,c=1,則:d=a>b,由于a>b為真,因此關(guān)系表達(dá)式a>b的值為1,所以賦值后d的值為1。f=a>b>c,則f的值為0。因?yàn)椤?gt;”運(yùn)算符是自左至右的結(jié)合方向,先執(zhí)行“a>b”得值為1,再執(zhí)行關(guān)系運(yùn)算“1>c”,得值0,賦給f,所以f的值為0三、邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符及其優(yōu)先次序運(yùn)算符含義舉例說(shuō)明!邏輯非(not)!a如果a為假,則!a為真;如果a為真,則!a為假&&邏輯與(and)a&&b如果a和b都為真,則結(jié)果為真,否則為假|(zhì)|邏輯或(or)a||b如果a和b有一個(gè)以上為真,則結(jié)果為真,二者都為假時(shí),結(jié)果為假-"&&”和“"是雙目運(yùn)算符,要求有兩個(gè)運(yùn)算對(duì)象(操作數(shù));“!”是單目運(yùn)算符,只要有一個(gè)運(yùn)算對(duì)象?優(yōu)先次序:?。ǚ牵┙?&(與)9(或)?邏輯運(yùn)算結(jié)果不是0就是1,不可能是其他數(shù)值。而在邏輯表達(dá)式中作為參加邏輯運(yùn)算的運(yùn)算對(duì)象可以是0(“假”)或任何非0的數(shù)值(按"真”對(duì)待)ab!a!ba&&ba||b真(非0)真(非0)假(0)假(0)真⑴真⑴真(非0)假(0)假(0)真⑴假(0)真⑴假(0)真(非0)真⑴假(0)假(0)真⑴假(0)假(0)真⑴真⑴假(0)假(0)四、條件運(yùn)算符和條件表達(dá)式表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符由兩個(gè)符號(hào)(?和:)組成,必須一起使用。要求有3個(gè)操作對(duì)象,稱為三目(元)運(yùn)算符,它是C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符。條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值。若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。五、用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)六、選擇結(jié)構(gòu)程序綜合舉例第五章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、循環(huán)語(yǔ)句(1)goto語(yǔ)句+if語(yǔ)句(2)while(表達(dá)式)語(yǔ)句while(表達(dá)式)語(yǔ)句(3)do...while(表達(dá)式)語(yǔ)句do{語(yǔ)句}while(表達(dá)式);(5)for(表達(dá)式)語(yǔ)句for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句用break語(yǔ)句提前終止循環(huán)用continue語(yǔ)句提前結(jié)束本次循環(huán)continue語(yǔ)句只結(jié)束本次循環(huán),而非終止整個(gè)循環(huán)。break語(yǔ)句結(jié)束整個(gè)循環(huán),不再判斷執(zhí)行循環(huán)的條件是否成立。第六章利用數(shù)組處理批量數(shù)據(jù)數(shù)據(jù)類型C語(yǔ)言中,變量類型除了整型,字符型,實(shí)數(shù),還有構(gòu)造類型構(gòu)造類型由基本類型構(gòu)造而成,數(shù)組、結(jié)構(gòu)體、共同體、枚舉型。構(gòu)造類型的每一個(gè)分量是一個(gè)變量,可以是簡(jiǎn)單類型,可以是構(gòu)造類型。分量的使用方法與變量相同。構(gòu)造類型的每一個(gè)分量占用相鄰的存儲(chǔ)空間。一維數(shù)組:a[3];二維數(shù)組;a[2][3];結(jié)構(gòu)體:struct結(jié)構(gòu)體名{inta;charc;chard[5];}一、一維數(shù)組?定義數(shù)組:類型說(shuō)明符數(shù)組名[常量表達(dá)式]數(shù)組名的命名規(guī)則和變量名相同,遵循標(biāo)識(shí)符命名規(guī)則。在定義數(shù)組時(shí),需要指定數(shù)組中元素的個(gè)數(shù),方括號(hào)中的常量表達(dá)式用來(lái)表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。常量表達(dá)式中可以包括常量和符號(hào)常量,不能包含變量。?引用數(shù)組:數(shù)組名[下標(biāo)]只能引用數(shù)組元素而不能一次整體調(diào)用整個(gè)數(shù)組全部元素的值。數(shù)組元素與一個(gè)簡(jiǎn)單變量的地位和作用相似?!跋聵?biāo)”可以是整型常量或整型表達(dá)式。?初始化:在定義數(shù)組的同時(shí)給各數(shù)組元素賦值,這稱為數(shù)組的初始化。二、二維數(shù)組?定義和引用二維數(shù)組:二維數(shù)組常稱為矩陣(matrix)。把二維數(shù)組寫成行(row)和列(column)的排列形式,可以有助于形象化地理解二維數(shù)組的邏輯結(jié)構(gòu)。定義數(shù)組:類型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]引用數(shù)組:數(shù)組名[下標(biāo)][下標(biāo)]注:用矩陣形式(如3行4列形式)表示二維數(shù)組,是邏輯上的概念,能形象地表示出行列關(guān)系。而在內(nèi)存中,各元素是連續(xù)存放的,不是二維的,是線性的。?二維數(shù)組的初始化三、多維數(shù)組四、字符數(shù)組?定義數(shù)組:用來(lái)存放字符數(shù)據(jù)的數(shù)組是字符數(shù)組。在字符數(shù)組中的一個(gè)元素內(nèi)存放一個(gè)字符。由于字符型數(shù)據(jù)是以整數(shù)形式(ASCII代碼)存放的,因此也可以用整型數(shù)組來(lái)存放字符數(shù)據(jù)。?對(duì)字符數(shù)組初始化,最容易理解的方式是用“初始化列表”,把各個(gè)字符依次賦給數(shù)組中各元素。如果在定義字符數(shù)組時(shí)不進(jìn)行初始化,則數(shù)組中各元素的值是不可預(yù)料的。如果花括號(hào)中提供的初值個(gè)數(shù)(即字符個(gè)數(shù))大于數(shù)組長(zhǎng)度,則出現(xiàn)語(yǔ)法錯(cuò)誤。如果初值個(gè)數(shù)小于數(shù)組長(zhǎng)度,則只將這些字符賦給數(shù)組中前面那些元素,其余的元素自動(dòng)定為空字符(即'\0')。

如果提供的初值個(gè)數(shù)與預(yù)定的數(shù)組長(zhǎng)度相同,在定義時(shí)可以省略數(shù)組長(zhǎng)度,系統(tǒng)會(huì)自動(dòng)根據(jù)初值個(gè)數(shù)確定數(shù)組長(zhǎng)度。也可以定義和初始化一個(gè)二維字符數(shù)組。五、字符串在C語(yǔ)言中,是將字符串作為字符數(shù)組來(lái)處理的。在實(shí)際工作中,人們關(guān)心的往往是字符串的有效長(zhǎng)度而不是字符數(shù)組的長(zhǎng)度。為了測(cè)定字符串的實(shí)際長(zhǎng)度,C語(yǔ)言規(guī)定了一個(gè)“字符串結(jié)束標(biāo)志”,以字符'\0'作為結(jié)束標(biāo)志。注:C系統(tǒng)在用字符數(shù)組存儲(chǔ)字符串常量時(shí)會(huì)自動(dòng)加一個(gè)'\0‘作為結(jié)束符。在定義字符數(shù)組時(shí)應(yīng)估計(jì)實(shí)際字符串長(zhǎng)度,保證數(shù)組長(zhǎng)度始終大于字符串實(shí)際長(zhǎng)度。如果在一個(gè)字符數(shù)組中先后存放多個(gè)不同長(zhǎng)度的字符串,則應(yīng)使數(shù)組長(zhǎng)度大于最長(zhǎng)的字符串的長(zhǎng)度。字符數(shù)組的輸入輸出:(1)逐個(gè)字符輸入輸出。用格式符“%c”輸入或輸出一個(gè)字符。(2)將整個(gè)字符串一次輸入或輸出。用“%s”格式符,意思是對(duì)字符串(string)的輸入輸出。注:⑴輸出的字符中不包括結(jié)束符'\0‘。⑵用“%s”格式符輸出字符串時(shí),printf函數(shù)中的輸出項(xiàng)是字符數(shù)組名,而不是數(shù)組元素名。(3)如果數(shù)組長(zhǎng)度大于字符串的實(shí)際長(zhǎng)度,也只輸出到遇'\0‘結(jié)束。(4)如果一個(gè)字符數(shù)組中包含一個(gè)以上'\0‘,則遇第一個(gè)'\0‘時(shí)輸出就結(jié)束。scanf函數(shù)中的輸入項(xiàng)如果是字符數(shù)組名,不要再加地址符&,因?yàn)樵贑語(yǔ)言中數(shù)組名代表該數(shù)組第一個(gè)元素的地址(或者說(shuō)數(shù)組的起始地址)。輸出字符串:puts(字符數(shù)組)輸入字符串:gets(字符數(shù)組)字符串連接函數(shù):strcat(字符數(shù)組1,字符數(shù)組2)字符串復(fù)制函數(shù):strcpy(字符數(shù)組1,字符串2)字符串比較函數(shù):strcmp(字符串1,字符串2)測(cè)字符串長(zhǎng)度:strlen(字符數(shù)組)轉(zhuǎn)換為小寫的函數(shù):strlwr(字符串)轉(zhuǎn)換為大寫的函數(shù):strupr(字符串

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論