C語言講解思路資料_第1頁
C語言講解思路資料_第2頁
C語言講解思路資料_第3頁
C語言講解思路資料_第4頁
C語言講解思路資料_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言講解思路1,認(rèn)識C語言的組成: #in elude main ()printf(Hello, worldn);構(gòu)成:包含預(yù)定義文件、函數(shù)體、主函數(shù) 一個(gè)C程序有且只有一個(gè) main函數(shù) 2, printf 函數(shù) prin tf(Hello, worldn ”); printf( %d,%d”a,b)3, scanf 函數(shù) scanf( %d,%d ,&a,&d); scanf( %d %d,&a,&d);定義的格式即為輸入的格式 &符號必需,取地址。格式字符意義d以十進(jìn)制形式輸出o以8進(jìn)制形式輸出x, X以16進(jìn)制形式輸出u以16進(jìn)制形式輸出f以小數(shù)形式輸出e,E以指數(shù)形式輸出c輸出單個(gè)

2、字符s輸出字符串4,變量定義與賦值int a;int a,b,c;int a = 0;int a = 0,b=0;數(shù)據(jù)類型類型說明符字節(jié)數(shù)值范圍字符型char1整形int2-32768-32767短整形short int2-32768-32767長整形long int4-214783648-214783647單精度實(shí)型float43/4E-38-3/4E+38雙精度實(shí)型double81/7E-308-1/7E+3085, 常量 常量:在程序執(zhí)行中其值不改變就叫常量 變量:在程序執(zhí)行過程中值會發(fā)生變化 在 C 語言中常量可直接拿來使用,如 x= y*10 ;10 就是常量字符常量是用單引號括起來

3、的一個(gè)字符。例如a,b,=,+, ?都是合法字符常量。字符串常量用雙引號括起來的一個(gè)字符串,如“abcdef”。但“a”占2個(gè)字節(jié), a占一個(gè)字節(jié) 數(shù)字常量直接寫就可以, 5和 5 是不同的, 5 可參加運(yùn)算, 5不可常量也可用來定義(薦)#define PI 3.14159 void main()float s,r;r=5;s=PI*r*r; printf(s=%fn,s);6, 轉(zhuǎn)義字符轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線 開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義 字符具有特定的含義, 不同于字符原有的意義, 故稱 “轉(zhuǎn)義 ”字符。 例如, 在前面各例題 printf 函數(shù)的格式串中用到的

4、“n”就是一個(gè)轉(zhuǎn)義字符,其意義是回車換行”。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。常用的轉(zhuǎn)義字符及其含義轉(zhuǎn)義字符 轉(zhuǎn)義字符的意義n回車換行t橫向跳到下一制表位置v豎向跳格b退格r回車f走紙換頁反斜線符 單引號符a鳴鈴ddd13位八進(jìn)制數(shù)所代表的字符xhh12位十六進(jìn)制數(shù)所代表的字符 7, 強(qiáng)制類型轉(zhuǎn)換其一般形式為:(類型說明符 ) (表達(dá)式 )1.類型說明符和表達(dá)式都必須加括號(單個(gè)變量可以不加括號),如把 (int)(x+y) 寫成 (int)x+y 則 成了把 x 轉(zhuǎn)換成 int 型之后再與 y 相加了。2.無論是強(qiáng)制轉(zhuǎn)換或是自動(dòng)轉(zhuǎn)換, 都只是為了本次運(yùn)算的需要而對變量的

5、數(shù)據(jù)長度進(jìn)行的臨 時(shí)性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時(shí)對該變量定義的類型。main()float f=5.75;printf(int)f=%d,f=%fn,(int)f,f);f、 =、 =、 = 、!=邏輯運(yùn)算符:&、|卜!位操作符:&(位與卜|(位或)、(位非)、A(位異或)、(右移)賦值運(yùn)算符: =、+=、-=、*=、/=、%=&=|= A= =LPCSTR(Pointer to a constant null-terminated string of 8-bit Windows (ANSI) Characters.) 指向以 null 結(jié)尾的常量字符串的指針 自增自減 :+i/-i:i 自增(

6、減) 1 后參與其他運(yùn)算i+/i-:i 參與運(yùn)算后在增加或減 1 x = + I (I = I +1 ; x = i) x=i+ (x=I, I = i+1)例子: 賦值表達(dá)式+=,-=,*=,/=,%=,=,&=,A=,|=X-=10 X= x-10逗號表達(dá)式1,再求解表達(dá)式 2,一直到最后,最終的表達(dá)式結(jié)逗號表達(dá)是的求解過程是先求解表達(dá)式 果是最后一個(gè)表達(dá)式的值。X= ( 1+2, 3+5) 結(jié)果 x=7X= (y=3 , 4*5) 結(jié)果 y=3, x=20優(yōu)先級及結(jié)合性優(yōu)先級運(yùn)算符類型運(yùn)算符結(jié)合性1基本運(yùn)算符()-自左至右2單目運(yùn)算符! + -(負(fù)數(shù))*(指針)& (取址)sizeof自

7、右至左3算術(shù)運(yùn)算符* / %自左至右4算術(shù)運(yùn)算符+ -自左至右5移位運(yùn)算符自左至右6關(guān)系運(yùn)算符 = = = &=A=|=自右至左15逗號運(yùn)算符5自左至右練習(xí)19,控制語句if(表達(dá)式)語句;void mai n()int a,b,max;prin tf(n in put two nu mbers:); sca nf(%d%d, &a,&b);max=a;if (maxb)prin tf(max=%dn,a);elseprin tf(max=%dn,b);if(表達(dá)式1)語句1;else if( 表達(dá)式2)語句2;else if( 表達(dá)式3)語句3;else if( 表達(dá)式m)語句melse語句

8、n;#i ncludestdio.hvoid mai n()char c;prin tf(i nput a character:);c=getchar();if(c=0&c=A &c=a&c=z)prin tf(This is a small letter n);elseprin tf(This is an other character n);switch(表達(dá)式)case常量表達(dá)式1:語句1;case常量表達(dá)式 2:語句2;case 常量表達(dá)式 n: 語句 n;default :語句 n+1;void mai n()int a;prin tf(i nput in teger nu mber

9、:);sca nf(%d,&a);switch (a)case 1:pri ntf(Mo ndayn);case 2:pri ntf(Tuesdayn);case 3:pri ntf(Wed nesdayn);case 4:pri ntf(Thursdayn);case 5:pri ntf(Fridayn);case 6:pri ntf(Saturdayn);case 7:pri ntf(S un dayn);default:pri ntf(errorn);void mai n()int a;prin tf(i nput in teger nu mber:);sca nf(%d,&a);swi

10、tch (a)case 1:pri ntf(Mon dayn );break;case 2:pri ntf(Tuesdayn); break;case 3:pri ntf(Wed nesdayn );break;case 4:pri ntf(Thursdayn );break;case 5:pri ntf(Fridayin );break;case 6:pri ntf(Saturdayn );break;case 7:pri ntf(S un dayn );break;default:pri ntf(errorn);while(表達(dá)式)#i nclude void mai n()int n=0

11、;prin tf(i nput a stri ng:n);while(getchar()!=n) n+;prin tf(%d, n);do語句;while(表達(dá)式);for(表達(dá)式1;表達(dá)式2;表達(dá)3)表達(dá)式1通常用來給循環(huán)變量賦初值,一般是賦值表達(dá)式。也允許在for語句外給循環(huán)變量賦初值,此時(shí)可以省略該表達(dá)式。表達(dá)式2通常是循環(huán)條件,一般為關(guān)系表達(dá)式或邏輯表達(dá)式。表達(dá)式3通常可用來修改循環(huán)變量的值,一般是賦值語句。這三個(gè)表達(dá)式都可以是逗號表達(dá)式,即每個(gè)表達(dá)式都可由多個(gè)表達(dá)式組成。三個(gè)表達(dá)式都是任選項(xiàng),都可以省略。void mai n()int n, s=0;for(n=1; *=100; n

12、+)s=s+n;printf(s=%dn,s);各語句間可以相互嵌套。10,轉(zhuǎn)移語句GotoContinue;BreakReturn練習(xí) 211,數(shù)組一維數(shù)組 a20 (a0a19) (a0,a1,a2,a3,a4,a5,a6,a7,a8,a9) 二維數(shù)組 a1010 (a00a99)AOO, a01,a02a09A10,a11,a12a19,A90,a91,a92a99定義:一維: int a10; char bc9;二維: int a1010; float bf23賦值:一維: a10=1,2,3,4,5,6,7,8,9,10 二維: a23 = 1,2,3,4,5,6a23 = 1,2,

13、3,4,5,6b10= I, ,a,m, ,a, , b, o, y b10= “Iam a boy ”沒有賦值的會自動(dòng)賦值為0.,或?yàn)榭眨?NULL 。字符性如果長度和定義相同,賦值時(shí)可省略長度。操作:Scanf(“%s”,a); /輸入遇空格、 Tab、Enter 標(biāo)志結(jié)束Scanf(“%c”,&a3)Printf (“ %d”, a5);Printf( “%s”,a)main()int a23=1,3,5,2,4,6;int b32,i,j;for(i=0;i2;i+)for(j=0;j3;j+) bji = aij; for(i=0;i3;i+) for(j=0;j2;j+) Prin

14、tf (“ %d”,bij );Printf( “n”);getch();字符串的函數(shù):puts(字符串?dāng)?shù)組)將字符串輸出到終端 gets(字符串?dāng)?shù)組)從終端得到字符串 strcat(字符串?dāng)?shù)組1,字符串?dāng)?shù)組2)連接兩個(gè)字符串 strcpy(字符串?dāng)?shù)組1,字符串?dāng)?shù)組2)將字符串2拷貝到字符串1 strcmp(字符串?dāng)?shù)組1,字符串?dāng)?shù)組2)比較字符串1和字符串2,相等為0,字符串1 大為 1 ,小為 -1strlen(字符串?dāng)?shù)組)測試字符串的長度 strlwr( 字符串 ) 將大寫字母換成小寫字母 strupr(字符串)將小寫字母換成大寫字母12, 指針 運(yùn)算符: *&定義:int *p; cha

15、r *p; float *p; int a ;含義:*p:實(shí)際的變量,等同于a(變量),a0( 維),a00(二維)P:等同于&a(變量),a (一維),a 0(二維)&p:等同于& ( &a)(變量),&a (一維),a (二維)賦值:*p = 5;P=&a;P = a;X 操作 :*p=ap=5 ; X*p+1p+1*(p+1)a+1(變量)a10+1( 維)&a+1 (變量)a+1= &a1( 一維)a113,文件定義:FILE *fp;函數(shù):打開:fopen (文件名,模式)例:fopen( d:filefile1.txt ”;文件的使用方式文件的使用方式含義備注“”(只讀)為輸入打開

16、一個(gè)文本文件:不能打開不存在的文件“W ” (只寫)為輸出打開一個(gè)文本文件右原文件不存在,可新建。右原來 的文件存在,則覆蓋“ a” (追加)向文本文件尾增加數(shù)據(jù):在原文件末尾添加數(shù)據(jù)“rb ” (只讀)為輸入打開一個(gè)二進(jìn)制文件“wb ” (只寫)為輸出打開一個(gè)二進(jìn)制文件“ ab” (追加)向二進(jìn)制文件尾增加數(shù)據(jù)“r+” (讀寫)為讀/寫打開一個(gè)文本文件“W+”(讀寫)為讀/寫新建一個(gè)文本文件“ a+ ”(讀寫)為讀/寫打開一個(gè)文本文件“rb+ ” (讀寫)為讀/寫打開一個(gè)二進(jìn)制文件“wb+ ”(讀寫)為讀/寫新建一個(gè)二進(jìn)制文件“ ab+” (讀寫)為讀/寫打開一個(gè)二進(jìn)制文件關(guān)閉:fclose

17、 (文件指針)文件讀寫:讀寫一個(gè)字符:ch=fgetc(fp) fputc(ch,fp)讀寫字符串:fgets(str, n,fp) fputs(str,fp);讀寫一個(gè)整數(shù):i=getw (fp) putw (10, fp)讀寫數(shù)據(jù)塊:fread (buffer,size,count,fp );fwrite(buffer,size,co un t,fp);讀寫任意類型的若干數(shù)據(jù):fprintf(fp, %d%f”,t);/寫fscanf(fp, ”d”,&i)/ 讀取文件狀態(tài):feof(fp)測試文件指針是否指向文件末尾,是返回1,否返回0ferror(fp) /文件讀寫未出錯(cuò)返回0,出錯(cuò)返回非 0clearerr (fp)/使 ferror(fp)的值為 0文件定位:rewind(fp) /定位到文件頭fseek( fp,100L,0

溫馨提示

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

最新文檔

評論

0/150

提交評論