C語言基本知識(shí)的整理_第1頁
C語言基本知識(shí)的整理_第2頁
C語言基本知識(shí)的整理_第3頁
C語言基本知識(shí)的整理_第4頁
C語言基本知識(shí)的整理_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語言基本知識(shí)的整理C語言的特點(diǎn)1.機(jī)器語言、匯編語言、高級(jí)語言機(jī)器語言:是各類語言在計(jì)算機(jī)上儲(chǔ)存的最終形式。二進(jìn)制編碼。是“面向機(jī)器的語言”或“低級(jí)語言”。匯編語言:用具有一定意義的符號(hào)代替機(jī)器語言中的各條命令和地址。又稱為“面向機(jī)器的語言”或“低級(jí)語言”。高級(jí)語言:編寫接近日常的數(shù)學(xué)表達(dá)習(xí)慣,和自然語言。具有一般性通用性。又稱“面向問題的語言”和“算法語言”。2.源程序、編譯程序、解釋程序用高級(jí)語言編寫的程序稱為源程序,必須將其翻譯成二進(jìn)制程序才能執(zhí)行。翻譯有兩種方式:一種是通過“解釋程序”翻譯一句執(zhí)行一句的方式執(zhí)行。一種通過“編譯程序”一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。C語言本身的特點(diǎn)主要有:表達(dá)能力強(qiáng),。流程控制結(jié)構(gòu)化、程序結(jié)構(gòu)模塊化。。語言簡(jiǎn)練、緊湊。有32個(gè)關(guān)鍵字,9種控制語句。數(shù)據(jù)結(jié)構(gòu)豐富。運(yùn)算符豐富。C有34種運(yùn)算符。程序代碼質(zhì)量高。運(yùn)可移植性好。。C程序基本結(jié)構(gòu):⒈C程序是由若干個(gè)函數(shù)構(gòu)成的,每個(gè)程序有且僅有一個(gè)主函數(shù)(函數(shù)名規(guī)定為main)。2.C程序的執(zhí)行總是從主函數(shù)開始,并在主函數(shù)中結(jié)束。3.每個(gè)函數(shù)(含主函數(shù))的定義分為兩部分:函數(shù)說明部分(首語句)函數(shù)體{……}。4.主函數(shù)可以調(diào)用任何非主函數(shù),任何非主函數(shù)都可以相互調(diào)用,但不能調(diào)用主函數(shù)。2.結(jié)構(gòu)類型“結(jié)構(gòu)”一般可以稱為數(shù)據(jù)元素,在不同的結(jié)構(gòu)類型中,數(shù)據(jù)元素會(huì)有特定的名稱。結(jié)構(gòu)類型的數(shù)據(jù)由更加基本的成分組成。這些成分稱為“數(shù)據(jù)項(xiàng)”,結(jié)構(gòu)的子成員。(1)數(shù)組下標(biāo)從0開始a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]1020304050607080一個(gè)數(shù)組(array)是由相同類型的若干數(shù)組元素構(gòu)成的有限序列。C語言的數(shù)定義:intb[8],a[8];charc[10];(2)結(jié)構(gòu)體C語言中實(shí)現(xiàn):日期類型的定義structDate{intmonth;/*月*/intday;/*日*/intyear;/*年*/};structDatemyd={12,16,1978};系統(tǒng)分配給它的內(nèi)存是各成員所需內(nèi)存量的總和。本例是6.3.指針類型(1)指針:變量名的在內(nèi)存中的存儲(chǔ)地址。(2)指針變量inti=12,*p;P=&i;把存放變量i的地址的變量p稱作指針變量。指針變量的存放內(nèi)容是數(shù)據(jù)的地址。(3)指針引用變量指針變量可以指向各種不同的數(shù)據(jù)類型,因此指針變量也要有不同的指針類型。如:intm,*p;floatx,*q;inta[],*rm=12;p=&m;x=3.14;q=&x;r=a;C源程序書寫格式1.組成C語言源程序的基本單位則是語句。C程序中的語句最后總要有一個(gè)分號(hào)“;”作為每個(gè)語句的結(jié)束。2.C語言源程序由若干行組成,一行可寫一個(gè)語句。也可在一行上以書寫多個(gè)語句。3.關(guān)于注釋??梢杂谩?*”和“*/”括住任意字符,稱為“注釋”。在其內(nèi)部的代碼是不編譯,不執(zhí)行的。小結(jié):匯編語言編寫的程序必須經(jīng)匯編為目標(biāo)程序。高級(jí)語言編寫的程序必須經(jīng)編譯為目標(biāo)程序。C語言程序總是從main()函數(shù)開始執(zhí)行,到main()函數(shù)結(jié)束。因此,C語言程序至少有一個(gè)main()函數(shù)。C語言的詞類一、字符集在C語言程序中允許出現(xiàn)的所有基本字符的組合稱為C語言的字符集。C語言的字符集就是ASCII字符集,主要分52個(gè)大小寫英文字母、10個(gè)數(shù)字、33個(gè)鍵盤符號(hào)和若干轉(zhuǎn)義字符。二、保留字在C語言的程序中有特殊含義的英文單詞稱為“保留字”,主要用于構(gòu)成語句、進(jìn)行存儲(chǔ)類型和數(shù)據(jù)類型定義。表1.1C語言的32個(gè)關(guān)鍵字?jǐn)?shù)據(jù)類型數(shù)據(jù)類型14char,short,int,unsigned,long,float,double,struct,union,void,enum,signed,const,volatile存儲(chǔ)類型5break,case,continue,default,do,else,for,goto,if,return,switch,while流程控制12運(yùn)算符1typedef,auto,register,static,externsizeof三、標(biāo)識(shí)符是用戶自定義的一種字符序列,用于變量名、函數(shù)名、常量名等,主要由程序設(shè)計(jì)者指定。規(guī)則:①標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符必須是字母或下劃線。②不能與上述32個(gè)關(guān)鍵字同名。③(ANSI)規(guī)定C語言標(biāo)識(shí)符的有效長(zhǎng)度不大于32個(gè)字符。而PC機(jī)中通常是前8?jìng)€(gè)字符有效。④C語言大小寫敏感。四、分隔符是用來分隔標(biāo)識(shí)符的符號(hào)。空格字符、換行符、換頁符及注釋均是C的分隔符,通稱為空白字符??瞻鬃址谡Z法上僅起分隔單詞的作用。一個(gè)或多個(gè)空白字符,其效果相同。數(shù)據(jù)類型(DataType)數(shù)據(jù)表示形式合法的取值范圍占用內(nèi)存空間大小可參與的運(yùn)算種類數(shù)據(jù)類型數(shù)據(jù)類型構(gòu)造類型指針類型空類型整型實(shí)型(浮點(diǎn)型)字符型枚舉類型數(shù)組類型結(jié)構(gòu)體類型共用體類型單精度實(shí)型雙精度實(shí)型基本整型長(zhǎng)整型短整型無符號(hào)整型簡(jiǎn)單類型簡(jiǎn)單類型構(gòu)造類型指針類型整型實(shí)型字符型數(shù)組結(jié)構(gòu)體共用體數(shù)值型枚舉型空類型int2個(gè)字節(jié)long4個(gè)字節(jié)float4個(gè)字節(jié)double8個(gè)字節(jié)char1個(gè)字節(jié)成員類型字節(jié)數(shù)×個(gè)數(shù)struct各成員字節(jié)數(shù)之和不要求C語言的數(shù)據(jù)表示1.1常量和變量1.常量常量是在程序執(zhí)行中,值不發(fā)生改變的數(shù)據(jù)。其值預(yù)先決定,之后不變。有不同的數(shù)據(jù)類型。(1)常數(shù)(有的稱直接常量、頁面常量)例如的:整數(shù):+5、-3、017(八進(jìn)制)、0x1f(16進(jìn)制)實(shí)數(shù)(浮點(diǎn)數(shù)):3.14、-1.2E-3(E3,2E3.0不合法)、1E10(不是整型量)單個(gè)字符:‘A’,占一個(gè)字節(jié)’\\’,轉(zhuǎn)義字符‘\’‘\’非法’\77’(八進(jìn)制ASCII碼63,‘?’),’\78’非法’\x3f’(十六進(jìn)制ASCII碼63,‘?’)‘\x3g’非法字符串:“A”后面有\(zhòng)0,占兩個(gè)字節(jié) 字符串“\*\077\\\x7f\n”的長(zhǎng)度是:5“\x7F”和’\x7F’的字節(jié)數(shù)分別為:2,1(2)符號(hào)常量給常量起標(biāo)識(shí)符名字。C語言的符號(hào)常量(用宏定義):#definePI3.14159265注意:1.一般用大寫字母。2,#defineM3不是C語句,后面沒有“;”。3.可以做M+1,不能做M++.(3)地址常量當(dāng)數(shù)組在定義時(shí),其變量名為其首地址,是地址常量。inta[10];可以做a+1,不能做a++.2.變量用各種操作來改變值數(shù)據(jù)。從“名”和“值”兩個(gè)角度認(rèn)識(shí)變量(1)變量名每個(gè)變量,要在使用前定義變量的名字,遵循標(biāo)識(shí)符命名規(guī)則。只能用字母、數(shù)字和下劃線組成。不能以數(shù)字開頭。不能用保留字(int,printf,main…..)。合法:a12a_3_abc非法:12aa#int變量定義就是申請(qǐng)數(shù)據(jù)的存儲(chǔ)空間,登記數(shù)據(jù)的各種存儲(chǔ)特性。例如:intm;2個(gè)字節(jié)longn;4個(gè)字節(jié)charch;1個(gè)字節(jié)floatx;4個(gè)字節(jié)doubley;8個(gè)字節(jié)可以用sizeof獲得字長(zhǎng)sizeof(char)=1sizeof(int)=2sizeof(double)=8(2)變量的值變量值就是由變量名所指定空間上的存儲(chǔ)數(shù)據(jù)內(nèi)容。即變量的當(dāng)前值。數(shù)據(jù)內(nèi)容用語言的操作語句來改變。賦值語句;鍵盤輸入語句;charchx;intm;/*變量的定義*/chx=‘A’;m=12*3;/*賦值語句*/scanf(“%d”,&m);/*鍵盤輸入語句*/變量初始化:定義變量時(shí)同時(shí)確定變量初值。例如:charchy=‘a(chǎn)’;intweight=2;1.2表達(dá)式C語言的表達(dá)式使用規(guī)定的運(yùn)算符,將常量、變量、函數(shù)(調(diào)用)連結(jié)的一個(gè)有意義的式子。1、算術(shù)表達(dá)式用算術(shù)運(yùn)算符來表示對(duì)數(shù)據(jù)的算術(shù)運(yùn)算求值過程。算術(shù)運(yùn)算符:+-*/%2/3結(jié)果是0,2%3結(jié)果是22、關(guān)系表達(dá)式關(guān)系運(yùn)算符:>>=<<=(優(yōu)先級(jí)較高)!===(優(yōu)先級(jí)較低)關(guān)系表達(dá)式的結(jié)果:1(非0,真),0(假)分析:10<=a<=15a=9當(dāng)a=9,10<=a假,把0賦給a,則0<=15真所以要寫成10<=a&&a<=15則結(jié)果是假3、邏輯表達(dá)式用邏輯表達(dá)式來表示對(duì)數(shù)據(jù)的邏輯關(guān)系判斷,運(yùn)算結(jié)果是邏輯值“真”1或者“假”0。C邏輯運(yùn)算符包括:!&&||參加邏輯運(yùn)算的數(shù)據(jù)必須是邏輯量,可以是邏輯類型的變量、常量,關(guān)系表達(dá)式或邏輯表達(dá)式。C語言中,沒有專門的邏輯量,1是真值,0是假值。也認(rèn)為非零的值為真值。如:inta=3,b=4,c=-5;(1)!((a<b)&&!c||1)(2)if(a)printf(“\nyes”);位運(yùn)算符和位運(yùn)算運(yùn)算符含義運(yùn)算符含義&按位與~取反|按位或<<左移^按位異或>>右移“按位與”運(yùn)算符──&

(1)格式:x&y

(2)規(guī)則:對(duì)應(yīng)位均為1時(shí)才為1,否則為0:3&7=。例如,3&7=:0011&0111 ──── 0011=3 (3)主要用途:取(或保留)1個(gè)數(shù)的某(些)位,其余各位置0。"按位或"運(yùn)算符──|

(1)格式:x|y

(2)規(guī)則:對(duì)應(yīng)位均為0時(shí)才為0,否則為1:3|9=11。例如,3|9=11:0011 |1001──── 1011=11

(3)主要用途:將1個(gè)數(shù)的某(些)位置1,其余各位不變。"按位異或"運(yùn)算符──^(1)格式:x^y(2)規(guī)則:對(duì)應(yīng)位相同時(shí)為0,不同時(shí)為1:例如57^42=19。00111001^00101010 ────────00010011(3)主要用途:使1個(gè)數(shù)的某(些)位翻轉(zhuǎn)(即原來為1的位變?yōu)?,為0的變?yōu)?),其余各位不變。"按位取反"運(yùn)算符──~(1)格式:~x(2)規(guī)則:各位翻轉(zhuǎn),即原來為1的位變成0,原來為0的位變成1:在IBM-PC機(jī)中,~0=0xffff,~9=0xfff6。(3)主要用途:間接地構(gòu)造一個(gè)數(shù),以增強(qiáng)程序的可移植性。"按位左移"運(yùn)算符──<<(1)格式:a<<位數(shù)(2)規(guī)則:使操作數(shù)的各位左移,低位補(bǔ)0,高位溢出:例如a=15,則a=a<<2;后a的值為60即從:00001111左移2位后為00111100(3)左移1位相當(dāng)于乘于2(當(dāng)高位不包含0時(shí))“按位右移”運(yùn)算符──>>(1)格式:a>>位數(shù)(2)規(guī)則:使操作數(shù)的各位右移,移出的低位舍棄;高位:1)對(duì)無符號(hào)數(shù)和有符號(hào)中的正數(shù),補(bǔ)0;2)有符號(hào)數(shù)中的負(fù)數(shù),取決于所使用的系統(tǒng):補(bǔ)0的稱為“邏輯右移”,補(bǔ)1的稱為“算術(shù)右移”。例如:a=017:00001111a>>2為:00000011又如a:10101111a>>2:00101011(邏輯右移)a>>2:11101011(算術(shù)右移)位運(yùn)算賦值運(yùn)算符a&=b等價(jià)于a=a&ba<<=b等價(jià)于a=a<<b邏輯運(yùn)算規(guī)律①在&&(與)表達(dá)式中,若&&的左端為假,則不再計(jì)算另一端,該表達(dá)式值肯定為0(假)。②在||(或)表達(dá)式中,若||的左端為真,則不再計(jì)算另一端,表達(dá)式的值必定為1(真)。inta=5,b=1k=a<=3(假,后面不算了)&&b-->0k?b?結(jié)果k=0,b=14、賦值表達(dá)式=,+=,-=,*=,/=,++(單目),--(單目)級(jí)別僅高于逗號(hào)表達(dá)式,右結(jié)合inta=3,c=2,ba=b=c;c賦值給b,b=2b賦值給a,a=2n*=m+2相當(dāng)于n=n*(m+2)k=i++;先k=i,再i=i+1k=++i;先i=i+1,再k=ii++,++ii++先使用,后加1,++i先加1,后使用要充分理解中”使用”的實(shí)際意義k=i++作賦值運(yùn)算,使用就是賦值.先做k=i,再做i=i+1k==i++作比較判斷運(yùn)算,使用就是比較判斷先做k==i,是真還是假,再做i=i+1printf(“%d”,i++)作輸出結(jié)果,使用就是輸出結(jié)果.先輸出i,再做i=i+1a=5-(i++)作減法,使用就是減.先做5-i,并賦給a,再做i=i+15、條件表達(dá)式e1?e2:e3若e1為真,表達(dá)式的值為e2,否則為e3.a=3,b=2;(--a==b++)?--a:b++結(jié)果是15?10非零為真表達(dá)式的值為10-5?10:3表達(dá)式的值為100?10:3假表達(dá)式的值為3b=3;賦值運(yùn)算符優(yōu)先僅高于逗號(hào)運(yùn)算符a=(b>5?10:3);a=b>5?10:3;a=?結(jié)果a=36、逗號(hào)表達(dá)式表達(dá)式的值等于最后一個(gè)表達(dá)式的值,運(yùn)算等級(jí)最低!a=5,b=2,c=3a=7+b+c,b++a=12a=(7+b+c,b++)a=27、強(qiáng)制類型轉(zhuǎn)換表達(dá)式(單目)intm;sqrt((float)m);b=2a=5-(--b)()優(yōu)先級(jí)最高,--b右結(jié)合-優(yōu)先級(jí)其次=優(yōu)先級(jí)最低--b,b=b-1,b為1再做5-b,即5-1等于4最后將4賦給a理解記憶運(yùn)算符表!++,--,等(高)(低)算數(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符&&||條件運(yùn)算符賦值運(yùn)算符逗號(hào)運(yùn)算符-1.3數(shù)據(jù)類型簡(jiǎn)單類型、結(jié)構(gòu)類型、指針類型簡(jiǎn)單類型(1)整型類型名字節(jié)數(shù)輸入、輸出格式int2%dshort2%dlong4%ld(2)實(shí)型類型名字節(jié)數(shù)輸入、輸出格式有效數(shù)字位float4%f7doubule8%lf1616longdoubule16%lf19(3)字符型(輸入、輸出格式“%c”)ASCII碼,一個(gè)字符占1字節(jié);char型數(shù)據(jù)與int型數(shù)據(jù)之間的關(guān)系char型對(duì)應(yīng)其ASCII碼,只不過是占一個(gè)字節(jié)。大寫字母與小寫字母之差為32.char型變量既能以%c字符格式輸出,也能以%d整型格式輸出。能象int量一樣進(jìn)行算術(shù)運(yùn)算。注意轉(zhuǎn)義字符’\’的使用?!甛*’‘\101’(A,8進(jìn)制)‘\x41’(A,16進(jìn)制)‘\n’(4)字符串(輸入、輸出格式“%s”)所謂“字符串”是指若干有效字符的序列。C語言字符串可以包括字母、數(shù)字、專用字符、轉(zhuǎn)義字符等。字符串常量:使用雙引號(hào)"China""BASIC""a+b=c""Li-Li"“39.4”“%d\n”“解放軍““\*\077\\\x7f\n”字符型的一維數(shù)組(相當(dāng)于字符串變量)charst[8],str[10];strcpy(st,"12345");strcpy(str,st);不能st=“12345”;str=st;這是賦值.可以charst[]=“12345”;這是初始化.1.4輸入、輸出輸出:printf(“…….”,…….)%d,%6d,%ld%c,%s%f,%10.2f,%lf,%20.8lfchara[]=“abfgcde”,max,max_i;main(){…….printf(“max=%c\nmax_i%d=”,max,max_i);(max=gmax_i=3)常見錯(cuò)誤inta,b;chard,e[20];-scanf("%d,%f\n”,&a,&b);\n要多輸入一個(gè)值-scanf("%d,%f”,a,b);缺&-scanf("%7.2f",&b);不能規(guī)定精度-scanf("%s",&e);數(shù)組名是首地址,不要&-scanf("%f",&d);類型不匹配輸入:scanf(“…….”,…….)%d,%ld對(duì)應(yīng)intlong%c,%s對(duì)應(yīng)charcharstr[]%f,%lf對(duì)應(yīng)flaotdoubleC程序常見符號(hào)分類關(guān)鍵字(Keyword)又稱為保留字,C語言中預(yù)先規(guī)定的具有固定含義的一些單詞數(shù)據(jù)類型修飾符int,控制語句return等標(biāo)識(shí)符(Identifier)系統(tǒng)預(yù)定義標(biāo)識(shí)符,main,printf等用戶自定義標(biāo)識(shí)符,Add,x,y等運(yùn)算符(Operator)34種,詳見附錄2分隔符(Separator)空格、回車/換行、逗號(hào)等其它符號(hào)大花括號(hào)“{”和“}”通常用于標(biāo)識(shí)函數(shù)體或者一個(gè)語句塊“/*”和“*/”是程序注釋所需的定界符數(shù)據(jù)(Data)變量(Variable)常量(Constant)如何衡量數(shù)據(jù)類型所占空間大???b,B,KB,MB,GB,TBbit,中文叫法:位Byte,中文叫法:字節(jié)Kilobyte(KB),中文叫法:KMegabyte(MB),中文叫法:兆Gigabyte(GB),中文叫法:GTerabyte(TB),中文叫法:T1TB==1,024GB1GB==1,024MB1MB==1,024KB1KB==1,024B1B==8b基本數(shù)據(jù)類型int整數(shù),在目前絕大多數(shù)機(jī)器上占4個(gè)字節(jié)。TC2中是2個(gè)字節(jié)VC中是4個(gè)字節(jié)float單精度浮點(diǎn)數(shù),一般是4個(gè)字節(jié)長(zhǎng)double雙精度浮點(diǎn)數(shù),一般是8個(gè)字節(jié)長(zhǎng)char字符,一般是1個(gè)字節(jié)長(zhǎng)用來表示256個(gè)ASCII字符,或者0~255的整數(shù)shortshortint,短整數(shù),一般2個(gè)字節(jié)長(zhǎng)。通常簡(jiǎn)寫為shortlonglongint,長(zhǎng)整數(shù),一般是4個(gè)字節(jié)長(zhǎng)。通常簡(jiǎn)寫為longlongdouble,長(zhǎng)雙精度(高精度)浮點(diǎn)數(shù),一般是10個(gè)字節(jié)長(zhǎng)。signed用來修飾char、int、short和long,說明他們是有符號(hào)的整數(shù)(正整數(shù)、0和負(fù)整數(shù))。一般缺省都是有符號(hào)的,所以這個(gè)修飾符通常省略u(píng)nsigned用來修飾char、int、short和long,說明他們是無符號(hào)的整數(shù)(正整數(shù)和0)C語言的程序結(jié)構(gòu)與相關(guān)語句帶參宏定義以文本按原樣展開#defineMUL(x)x*x5/MUL(5+3)=5/5+3*5+3=19#defineMUL(x)(x)*(x)5/MUL(5+3)=5/(5+3)*(5+3)=5#defineMUL(x)((x)*(x))5/MUL(5+3)=5/((5+3)*(5+3))=5/641.表達(dá)式語句的組成:由一個(gè)表達(dá)式后接一個(gè)分號(hào)組成的。⒈一組語句括在一對(duì)花括號(hào)之中,稱復(fù)合語句。{c=getchar();putchar(c);}注意,一個(gè)復(fù)合語句的后花括號(hào)之后不應(yīng)再寫分號(hào)。⒉在語法上是一個(gè)整體,相當(dāng)于一個(gè)語句。凡是能夠使用簡(jiǎn)單語句的地方,都可以使用復(fù)合語句。一個(gè)復(fù)合語句中又可以包含另一個(gè)或多個(gè)復(fù)合語句流程控制語句完成一定的控制功能。9種控制語句:判斷語句條件判斷語句if()…else…多分支選擇語句switch()…case循環(huán)語句循環(huán)次數(shù)控制語句for()先判斷后執(zhí)行循環(huán)控制語句while()先執(zhí)行后判斷循環(huán)控制語句do…while()轉(zhuǎn)移控制語句直接轉(zhuǎn)移語句goto終止語句break(用在循環(huán)結(jié)構(gòu)、swicth)跳轉(zhuǎn)語句continue(僅用在循環(huán)結(jié)構(gòu))返回語句return二、C語言的程序結(jié)構(gòu)與相關(guān)語句程序的三種基本結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)if()…else…switch()…case單分支結(jié)構(gòu)if(a==b)printf(“yes”);雙分支結(jié)構(gòu)if(a==b)printf(“yes”);elseprintf(“no”);多分支結(jié)構(gòu)switch_caseswitch(表達(dá)式){case常量表達(dá)式1:語句序列1;[break;] case常量表達(dá)式2:語句序列2;[break;] ……… case常量表達(dá)式n:語句序列n;[break;] [default:語句序列n+1;]} 根據(jù)“表達(dá)式”的值從上至下去尋找與表達(dá)式的值相匹配的“case常量表達(dá)式”,執(zhí)行一個(gè)分支后,再執(zhí)行下一個(gè)分支,直到break結(jié)束,然后執(zhí)行switch結(jié)構(gòu)后面的程序。找不到匹配的入口標(biāo)號(hào)時(shí),執(zhí)行“語句序列n+1”,然后結(jié)束。順序向下執(zhí)行程序。循環(huán)結(jié)構(gòu)for(){…..;}while(){……;}do{……;}while()for,while,do-while三種結(jié)構(gòu)循環(huán)變量初始化,繼續(xù)循環(huán)條件,改變循環(huán)變量是不可缺少的三個(gè)環(huán)節(jié)。for常用于循環(huán)次數(shù)已知的問題中。括號(hào)中的兩個(gè)“;”不可省。while與do-while常用于循環(huán)次數(shù)未知的問題中。注意點(diǎn):在for和while語句之后一般沒有分號(hào)有分號(hào)表示循環(huán)體就是分號(hào)之前的內(nèi)容(空循環(huán)體)while(i<100);

i++;for(i=0;i<100;i++);

printf("%d",i);if,swtich,while,for后面的語句只能是一句,因此,多句時(shí)別忘了{(lán)}。在while(e)和for(;e;)中的e是循環(huán)繼續(xù)的條件,不能寫其它條件!如果缺省,就是死循環(huán)!在if(e),while(e)和for(;e;)中e的值是邏輯值(0或非0)e一般是關(guān)系表達(dá)式,邏輯表達(dá)式或變量。break,coutinuebreak只能用于switch和循環(huán)語句中,作用提前終止本層次switch和循環(huán)。coutinue是跳過循環(huán)體內(nèi)尚未執(zhí)行的語句,接著執(zhí)行下次循環(huán)。常用的循環(huán)算法求素?cái)?shù)、水仙花數(shù)、最小公倍數(shù)、最大公約數(shù)、分解多位數(shù)的數(shù)字,累加,累乘,分解質(zhì)因數(shù)等。各種有規(guī)律的圖案。三數(shù)組定義inta[5]時(shí),a[0],a[1]…..=?隨機(jī)數(shù)!只有inta[5]={3}后,后面幾項(xiàng)自動(dòng)賦0數(shù)組的初始化合法:inta[]={1,2,3,4,5};inti[][3]={1,2,3,4,5,6};inta[5]={1,2,3};chara[4]=“boy”chara[3]={‘b’,’o’,’y’}不合法:inta[5]={,2,,4,5};inti[2][]={1,2,3,4,5,6};inta[5]={};chara[4]={boy}二維字符數(shù)組二維數(shù)組在內(nèi)存中的排列順序是“按行優(yōu)先存放”二維數(shù)組a[m][n]可以視為由n個(gè)一維數(shù)組a[m]組成的。二維字符數(shù)組中m由其中最長(zhǎng)的字符串決定。charstu[5][6]={“Tom",“Anne",“Mary",“Peter"};其中stu[0]=“Tom"stu[1]=“Anne"字符數(shù)組charstr[50];inti;for(i=0;str[i]!=‘\0’,i++)構(gòu)造新的字符數(shù)組(刪除,插入,復(fù)制,連接,倒序)。1.用和不用字符串函數(shù)實(shí)現(xiàn)上述功能。2.用指針實(shí)現(xiàn)。3.必須注意最后一項(xiàng)一定是:str[i]=‘\0’;或*p=‘\0’;數(shù)組的操作往往用循環(huán)結(jié)構(gòu).數(shù)值數(shù)組inta[10];for(i=0;i<10;i++)字符數(shù)組chara[50];for(i=0;a[i]!=‘\0’;i++)數(shù)值數(shù)組倒序for(i=0,j=M;i<j;i++,i--)交換a[i],a[j]字符數(shù)組倒序for(i=0,j=strlen(a);i<j;i++,i--)交換a[i],a[j]數(shù)值數(shù)組voidinv(intx[],intm){inti,j,k;j=m;for(i=0;i<j;i++,i--){k=x[i];x[i]=x[j];x[j]=k;}字符數(shù)組voidinv(intx[]){inti,j,k;j=strlen(x);for(i=0;i<j;i++,i--)k=x[i];x[i]=x[j];x[j]=k;}}一.字符串和字符串的存儲(chǔ)方法所謂“字符串”是指若干有效字符的序列。C語言中的字符串可以包括字母、數(shù)字、專用字符、轉(zhuǎn)義字符等。1.字符串常量:使用雙引號(hào)"China""BASIC""a+b=c""Li-Li""39.4""%d\n""解放軍“2.字符型的數(shù)組(字符串變量)charst[8],str[10];本質(zhì):數(shù)組元素的值是char類型。字符串函數(shù)要用#include<string.h>字符串拷貝函數(shù)strcpy字符串連接函數(shù)strcat字符串比較函數(shù)strcmp測(cè)字符串長(zhǎng)度函數(shù)strlen函數(shù)strlen的值為‘\0’之前的全部字符個(gè)數(shù).它與數(shù)組長(zhǎng)度不是一個(gè)概念.chars[6]={‘H’,’o’,’w’,’\0’,’o’,’k’}strlen(s)=3C中是以‘\0’字符作為字符串結(jié)束標(biāo)志的.注意:字符數(shù)組和字符串是兩個(gè)不同含義的概念,1.字符串存放在字符數(shù)組中,字符串以‘\0’作為結(jié)束標(biāo)記。2.字符數(shù)組,則未必。charst[9];“BeiJing”st[0]='B';st[1]='e';st[2]=‘i';st[3]='';st[4]='J';st[5]='i';st[6]='n';st[7]='g';st[8]='\0';charst[9]={’B’,’e’,’i’,’’,’J’,’i’,’n’,’g’,’\0’};①逐個(gè)地為數(shù)組中各元素指定初值字符。(a)一個(gè)字符一個(gè)字符地分別賦給各元素。例如:charst[9]={’B’,’e’,’i’,’’,’J’,’i’,’n’,’g’,’\0’};(b)當(dāng)全部元素指定初值的情況下,字符數(shù)組的大小可以不必定義。即:charst[]={’B’,’e’,’i’,’’,’J’,’i’,’n’,’g’,’\0’};②也可以用字符串常量對(duì)字符數(shù)組指定初值。如:charst[]={"BeiJing"};字符串函數(shù)的應(yīng)用數(shù)組的初始化規(guī)則:①當(dāng)對(duì)數(shù)組中全體元素賦初值時(shí),可以不必指明數(shù)組中元素的個(gè)數(shù)。如:inta[]={1,2,3,4,5};②在定義數(shù)組時(shí)可只對(duì)部分元素初值。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論