![C語言程序基礎(chǔ)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/9145221e-8183-40e8-8900-394411b209b6/9145221e-8183-40e8-8900-394411b209b61.gif)
![C語言程序基礎(chǔ)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/9145221e-8183-40e8-8900-394411b209b6/9145221e-8183-40e8-8900-394411b209b62.gif)
![C語言程序基礎(chǔ)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/9145221e-8183-40e8-8900-394411b209b6/9145221e-8183-40e8-8900-394411b209b63.gif)
![C語言程序基礎(chǔ)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/9145221e-8183-40e8-8900-394411b209b6/9145221e-8183-40e8-8900-394411b209b64.gif)
![C語言程序基礎(chǔ)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/9145221e-8183-40e8-8900-394411b209b6/9145221e-8183-40e8-8900-394411b209b65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C C語語言程序基言程序基礎(chǔ)礎(chǔ)授課教師:程文剛2C C程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu) C語言程序的基本結(jié)構(gòu)如下:編譯預處理命令編譯預處理命令void main(void )void main(void ) 聲明部分聲明部分 執(zhí)行部分執(zhí)行部分 類型類型 子函數(shù)名(形參表)子函數(shù)名(形參表) 聲明部分聲明部分 執(zhí)行部分執(zhí)行部分 執(zhí)行部分一般形式如下:執(zhí)行部分一般形式如下: 數(shù)據(jù)輸入數(shù)據(jù)輸入 數(shù)據(jù)處理數(shù)據(jù)處理 數(shù)據(jù)輸出數(shù)據(jù)輸出3C C語言基本語法成分語言基本語法成分1 C1 C語言的字符集語言的字符集 字符是組成語言的最基本的元素。字符是組成語言的最基本的元素。C C語言字符集由字母、數(shù)字、空格、標點
2、語言字符集由字母、數(shù)字、空格、標點和特殊字符組成。和特殊字符組成。 1. 字母: 小寫字母az共26個,大寫字母AZ共26個2. 數(shù)字: 09共10個3. 特殊符號: ! # % & + - * / = | . , ; : ? ( ) 4. 空白符 42 2 標識符標識符 標識符標識符用來標識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名等。用來標識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名等。C C語言規(guī)語言規(guī)定,標識符只能是字母定,標識符只能是字母(A(AZ Z,a az)z)、 數(shù)字數(shù)字(0(09)9)、 下劃線下劃線(_)(_)組成的字符串,組成的字符串,并且其第一個字符必須是字母
3、或下劃線并且其第一個字符必須是字母或下劃線。例如,例如, a a,i i,sumsum,averageaverage, alal,c_2c_2,DAYDAY,studentstudent,p26p26,_no _no 是合法的標識符;是合法的標識符; 5a5a,M Mforfor,$123$123,3D643D64,a-b a-b 是不合法的標識符。是不合法的標識符。52 2 標識符標識符在使用標識符時必須注意以下幾點:在使用標識符時必須注意以下幾點:1、大小寫敏感,即C語言認為大小寫字母為不同的字符。例如A和a是兩個不同的標識符。2、ANSI C沒有限制標識符長度,但各個編譯系統(tǒng)都有自己的規(guī)
4、定和限制。3、標識符不能與“關(guān)鍵字”同名,也不能與系統(tǒng)預先定義的“標準標識符”同名,如main、printf等。4、標識符雖然可由用戶定義,但標識符是用于標識某個量的符號。因此,命名應(yīng)盡量有相應(yīng)的意義,以便于閱讀理解,作到“顧名思義”。如sum、avg、area、score、name等5、在容易出現(xiàn)混淆的地方應(yīng)盡量避免使用容易認錯的字符。例如,數(shù)字1與字母1和I,數(shù)字0與字母o,數(shù)字2與字母Z和z。63 3 關(guān)鍵字關(guān)鍵字 關(guān)鍵字關(guān)鍵字是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。C語言包括32個個關(guān)鍵字:auto break case char const continue defa
5、ult do double else enum extem float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while注意:C語言的關(guān)鍵字都是小寫。4 4 運算符運算符 運算符表示各種運算功能。運算符由一個或多個字符組成,如: +、- 、*、/、&等。可以組成以下表達式式 :a+b;2*2.1415926*r; 75 分隔符 C語言中,分隔符有逗號、空格、Tab和回車等。 逗號:主要用于在類型說
6、明和函數(shù)參數(shù)表中分隔各個變量; 空格、Tab和和回車多用于語句和各單詞之間的間隔符。 注意:在關(guān)鍵字或標識符之間必須要有一個以上的分隔符作間隔,否則將會出現(xiàn)語法錯誤,例如把int a, b; 寫成 inta, b; C編譯器會把 inta 當成一個標識符處理,其結(jié)果必然出錯。8C C語言數(shù)據(jù)類型語言數(shù)據(jù)類型 C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void浮點型字符型 char枚舉型 enum整形short intintlong intfloatdouble數(shù)組型結(jié)構(gòu)體型共用體型9C C語言數(shù)據(jù)類型語言數(shù)據(jù)類型常量:在程序執(zhí)行過程中,常量的值不能由程序改變。變量:在程序執(zhí)行過程中,變量的值可以
7、由程序改變。變量對應(yīng)著內(nèi)存中的一個存儲單元,在存儲單元中存放著該變量的值,每個變量都有一個名字。 例如:x、sum、area 不同類型的數(shù)據(jù)所占的存儲單元的大小也不同,例如,char型占1個字節(jié)、int型占4個字節(jié)、double型占8字節(jié)。 注意:變量必須先聲明后使用。101 1整型整型(int)(int)數(shù)據(jù)數(shù)據(jù) 整型數(shù)據(jù)占有4個字節(jié)的存儲空間,以二進制定點補碼的形式存儲,它的取值范圍為-21474836482147483647即-231(231-1),整型數(shù)據(jù)沒有小數(shù)部分?!纠?-1】 整數(shù)型數(shù)據(jù)的運算。#include void main()int x, y;x=1/2; /* 整型運算
8、量的除法運算,其結(jié)果自動取整 */y=5%2; /* %為求余運算,其運算量只能是整數(shù)*/printf(x=%d,y=%dn, x, y);x=0,y=1Press any key to continue聲明變量聲明變量變量的變量的賦值賦值輸出變量輸出變量的值的值112 2浮點型浮點型(flaot)(flaot)數(shù)據(jù)數(shù)據(jù) 浮點型數(shù)據(jù)占有4個字節(jié)的存儲空間,以浮點的形式存儲,它的取值范圍為(2.410-382.41038)。在C語言中,浮點型常量有兩種表示形式:1 1、小數(shù)形式小數(shù)形式:由正負號、數(shù)字和小數(shù)點組成,小數(shù)點前后的0可以省略,但小數(shù)點不能省略。 例如: 0. 、.25 、 32.78
9、 、 -12. 、2.0等。2 2、指數(shù)形式指數(shù)形式:用科學記數(shù)法來表示浮點數(shù),一般用來表示很大或很小的數(shù)。 例如:23500000=2.35107,在C程序中可以表示成: 2.35e7、2.35E7、0.235e8、235e5。注意:指數(shù)部分必須為整數(shù),一個浮點數(shù)不能只包含指數(shù)部分或底數(shù)部分。 例如:2.5e-2.0、 E+5. 2.6e都是錯誤的。123 3字符型字符型(char)(char)數(shù)據(jù)數(shù)據(jù)1 1、字符常量、字符常量在C語言中字符型常量是用單引號括起來的單個字符, 例如: A 、b 、0 、+ 等。字符常量的特點:符常量只能用單引號括起來,不能用雙引號。字符常量只能是一個字符,不
10、能是多個字符。字符可以是字符集中任意字符。但數(shù)字被定義為字符型之后與其本身數(shù)值是不相等的。例如:0和0 是不同的。2 2、字符數(shù)據(jù)的存儲、字符數(shù)據(jù)的存儲 在內(nèi)存單元中存儲的是字符的ASCII碼,ASCII碼為0127之間的整數(shù)。3 3、字符數(shù)據(jù)的運算、字符數(shù)據(jù)的運算 “+”、“-”和比較運算。 注意:+、-運算相當于為字符的ASCII碼加上或減去一個整數(shù)值,但運算后的值仍然在ASCII碼值的表示區(qū)間內(nèi)運算才有意義。133 3字符型字符型(char)(char)數(shù)據(jù)數(shù)據(jù)【例2-2】字符變量賦值與輸出。#include void main() char c; /* 聲聲明字符型明字符型變變量量c
11、*/ int x; /* 聲聲明整型明整型變變量量x */ c=97; /* 97是是a的的ASCII碼碼 */ x=b; printf(%c,%dn, c, c); printf(%d,%cn, x, x); a,9798,bPress any key to continue聲明字符聲明字符變量變量字符變量字符變量賦值賦值輸出字符輸出字符變量的值變量的值143 3字符型字符型(char)(char)數(shù)據(jù)數(shù)據(jù)【例2-3】 在鍵盤上輸入一個小寫字符,將其轉(zhuǎn)換成大寫字符后輸出。#include void main() char c; c=getchar(); c=c-32; putchar(c);
12、 putchar(n); aAPress any key to continue在鍵盤上輸入一個在鍵盤上輸入一個字符賦給變量字符賦給變量c c 輸出變量輸出變量c c中存儲的中存儲的字符字符 a a z z的的ASCIIASCII碼碼為:為:97 97 122122A A Z Z的的ASCIIASCII碼碼為:為:6565909015C C語句語句1 1、表達式語句:、表達式語句: 一般形式為:表達式表達式; ; 例如: x=y+z; i+; 2. 2. 函數(shù)調(diào)用語句:函數(shù)調(diào)用語句: 一般形式為:函數(shù)名函數(shù)名( (實際參數(shù)表實際參數(shù)表);); 例如: scanf(%d, &x);3.
13、3. 控制語句:控制語句:條件判斷語句:if語句、switch語句;循環(huán)執(zhí)行語句:do while語句、while語句、for語句;轉(zhuǎn)向語句:break語句、goto語句、continue語句、return語句。4. 4. 復合語句:復合語句: 把多個語句用大括號 括起來組成的一個語句稱復合語句。 例如: x=y+z; a=b+c; printf(%d%d, x, a); 5. 5. 空語句:空語句: 只有分號“;”組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。16C C語言的格式輸出語言的格式輸出printfprintf函數(shù)函數(shù)一般形式為: printf(printf(格式控制字符串格式
14、控制字符串, , 輸出表列輸出表列) )格式字符串為: % % 標志標志輸出最小寬度輸出最小寬度.精度精度長度長度 類型類型1. 類型: 格式字符 意義d以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)o以八進制形式輸出無符號整數(shù)(不輸出前綴0)x,X以十六進制形式輸出無符號整數(shù)(不輸出前綴Ox)u以十進制形式輸出無符號整數(shù)f以小數(shù)形式輸出單、雙精度實數(shù)e,E以指數(shù)形式輸出單、雙精度實數(shù)g,G以%f或%e中較短的輸出寬度輸出單、雙精度實數(shù)c輸出單個字符s輸出字符串17C C語言的格式輸出語言的格式輸出printfprintf函數(shù)函數(shù)2. 標志: 標志字符為-. +. #. 空格四種標志 意義-結(jié)果
15、左對齊,右邊填空格+輸出符號(正號或負號)空格負時輸出,正號不輸出#對c,s,d,u類無影響;對o類,在輸出時加前綴o;對x類,在輸出時加前綴0 x;對e,g,f 類當結(jié)果有小數(shù)時才給出小數(shù)點18C C語言的格式輸出語言的格式輸出printfprintf函數(shù)函數(shù)3. 3. 輸出最小寬度輸出最小寬度: : 若實際位數(shù)多于定義的寬度,則按實際位數(shù)輸出,若實際位數(shù)少于定義的寬度則補以空格或0。4. 4. 精度精度: : 如果輸出數(shù)字,則表示小數(shù)的位數(shù); 如果輸出的是字符,則表示輸出字符的個數(shù); 若實際位數(shù)大于所定義的精度數(shù),則四舍五入截去超過的部分。5. 5. 長度長度: : 長度格式符為h和l兩種
16、,h表示按短整型量輸出,l表示按長整型量輸出。 19C C語言的格式輸出語言的格式輸出printfprintf函數(shù)函數(shù)【例2-4】格式符與輸出項匹配實例。#include void main()int a=97;float b=56.748; printf(a=%d,b=%fn , a, b); printf(%c,%d,%o,%x,%fn, a, a, a, a, a); printf(%f,%e,%d,%o,%xn, b, b, b, b);a=97,b=56.748001a,97,141,61,0.00000056.748001,5.674800e+001,-2147483648,100
17、23057676,80000000Press any key to continue20C C語言的格式輸出語言的格式輸出printfprintf函數(shù)函數(shù)【例2-5】輸出寬度與精度實例。#include void main() int a=66; float b=122.1234567; double c=1234567890.1234567; printf(a=%d,%-5d,%5d,%5cn, a, a, a, a); printf(b=%f,%lf,%5.4f,%.4e,%10.2fn, b, b, b, b, b); printf(c=%lf,%f,%8.4lfn, c, c, c);
18、 a=66,66 , 66, Bb=122.123459,122.123459,122.1235,1.2312e+002, 122.12c=1234567890.123457,1234567890.123457,1234567890.1235Press any key to continue21C C語言的格式輸出語言的格式輸出printfprintf函數(shù)函數(shù)注意:1、C語言編譯器不會檢測格式符與輸出項的數(shù)量是否相匹配,若輸出項多余格式符,printf函數(shù)則正確的顯示前面匹配的輸出項,后面多余的不輸出。例如 printf(%d,i,j);2、若輸出項少于格式符,printf函數(shù)則正確的顯示匹配
19、的輸出項,后面多余的格式符因為沒有匹配的輸出項,將輸出沒有任何意義的隨機數(shù)。例如 printf(%d,%d,i); 3、C語言編譯器也不會檢測格式符與輸出項的數(shù)據(jù)類型是否匹配,若不匹配則輸出無意義的數(shù)值。4、小數(shù)部分,精度按四舍五入截取。5、輸出數(shù)值位數(shù)小于輸出最小寬度,用空格補齊,“-”指定左對齊,默認為右對齊。6、輸出數(shù)值位數(shù)大于輸出最小寬度,按實際位數(shù)輸出。7、flaot類型和double類型的輸出項“%f”和“%lf ”格式的輸出相同。22C C語言的格式輸入語言的格式輸入scanfscanf函數(shù)函數(shù)scanf函數(shù)的一般形式為: scanf(scanf(格式控制字符串格式控制字符串,
20、, 地址表列地址表列););地址是由地址運算符“&”后跟變量名組成的。1. 1. 缺省的分隔符缺省的分隔符在鍵盤上輸入數(shù)據(jù)時,數(shù)據(jù)之間用一個或多個空格、Tab和回車來分割?!纠?-6】格式符與輸入變量匹配實例#include void main() int a, b, c; printf(input a,b,cn); scanf(%d%d%d, &a, &b, &c); printf(a=%d,b=%d,c=%dn, a, b, c); input a,b,c2 5 8a=2,b=5,c=8Press any key to continueinput a,b,c
21、258a=2,b=5,c=8Press any key to continueinput a,b,c2 58a=2,b=5,c=8Press any key to continueinput a,b,c2,5,8a=2,b=-858993460,c=-858993460Press any key to continue23C C語言的格式輸入語言的格式輸入scanfscanf函數(shù)函數(shù)2. 2. 格式字符串中的普通字符格式字符串中的普通字符空格:當在格式控制字符串遇到一個或多個空格時,scanf函數(shù)從輸入 數(shù)據(jù)中重復讀空白字符直到遇到一個非空字符為止。其它字符:當在格式控制字符串中遇到一個非空字
22、符時,scanf函數(shù)將 它與輸入字符進行比較,若兩個字符相等,繼續(xù)下一個輸入, 否則終止scanf函數(shù)的執(zhí)行?!纠?-7】其它分隔符實例#include void main() int a, b, c; printf(input a,b,cn); scanf(%d,%d,%d, &a, &b, &c); printf(a=%d,b=%d,c=%dn,a,b,c);input a,b,c2,6,4a=2,b=6,c=4Press any key to continueinput a,b,c2 6 4a=2,b=-858993460,c=-858993460Press an
23、y key to continue24C C語言的格式輸入語言的格式輸入scanfscanf函數(shù)函數(shù)3. 3. 格式字符串格式字符串格式字符串的一般形式為: %* *輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度 類型類型(1)類型格式字符意義d輸入十進制整數(shù)o輸入八進制整數(shù)x輸入十六進制整數(shù)u輸入無符號十進制整數(shù)f或e輸入實型數(shù)(用小數(shù)形式或指數(shù)形式)c輸入單個字符s輸入字符串25C C語言的格式輸入語言的格式輸入scanfscanf函數(shù)函數(shù)(2)* “*”符:用以表示該輸入項,讀入后不賦予相應(yīng)的變量,即跳過該輸入值。例如:scanf(%d %*d %d, &a, &b);當輸入為:1 2 3時,把1賦予a,2被跳過,3賦予b。(3)寬度 例如:scanf(%2d%3d, &a, &b); 輸入:12345678 將把12賦予a,而把345賦予b,其余的字符無效,所以輸入后a=12,b=345。 26C C語言的格式輸入語言的格式輸入scanfscanf函數(shù)函數(shù)4.4.字符變量的輸入字符變量的輸入 在輸入字符數(shù)據(jù)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。 例如:scanf(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)學生活化教學在小學科學教育中的角色
- 綜合實踐活動在小學德育中的作用研究
- 電務(wù)段觸電傷害應(yīng)急預案
- 校園欺凌現(xiàn)象與法律應(yīng)對措施
- DB3715T 72-2025楊柳飛絮綜合防治技術(shù)規(guī)程
- 中外工程技術(shù)許可合同范例
- OEM技術(shù)合作合同(微機領(lǐng)域)
- 個人臨時借款合同范本
- 中外合資企業(yè)土地使用權(quán)轉(zhuǎn)讓協(xié)議合同
- 臨海市農(nóng)產(chǎn)品供需雙方種植收購合同
- 期末練習卷(試題)-2024-2025學年四年級上冊數(shù)學滬教版
- 2025年公務(wù)員考試申論試題與參考答案
- 2025年高考作文專練(25道真題+審題立意+范文)- 2025年高考語文作文備考總復習
- 中國高血壓防治指南(2024年修訂版)要點解讀
- 二十屆三中全會精神應(yīng)知應(yīng)會知識測試30題(附答案)
- 小學三年級下冊奧數(shù)題100道附答案
- 《烏有先生歷險記》原文及翻譯
- 人員測評方案
- 小升初卷(試題)-2023-2024學年六年級下冊數(shù)學人教版
- GB/T 40565.1-2024液壓傳動連接快換接頭第1部分:通用型
評論
0/150
提交評論