基本輸入輸出和順序程序設(shè)計_第1頁
基本輸入輸出和順序程序設(shè)計_第2頁
基本輸入輸出和順序程序設(shè)計_第3頁
基本輸入輸出和順序程序設(shè)計_第4頁
基本輸入輸出和順序程序設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、所謂輸入輸出是指以計算機的輸入設(shè)備(鍵盤、磁盤、光所謂輸入輸出是指以計算機的輸入設(shè)備(鍵盤、磁盤、光盤和掃描儀等)向計算機輸入數(shù)據(jù)稱為盤和掃描儀等)向計算機輸入數(shù)據(jù)稱為“輸入輸入”;從計算;從計算機向外部輸出設(shè)備(顯示器、磁盤、打印機等)輸出數(shù)據(jù)機向外部輸出設(shè)備(顯示器、磁盤、打印機等)輸出數(shù)據(jù)稱為稱為“輸出輸出”。 在在C語言語言中,不提供專門的輸入輸出語句,所有的輸入輸中,不提供專門的輸入輸出語句,所有的輸入輸出操作都是通過對標準庫出操作都是通過對標準庫函數(shù)函數(shù)的調(diào)用來實現(xiàn)的(例如的調(diào)用來實現(xiàn)的(例如:printf函數(shù)和函數(shù)和scanf函數(shù)),因此都是函數(shù)語句。在使用庫函數(shù)時,函數(shù)),因此

2、都是函數(shù)語句。在使用庫函數(shù)時,不要將它們誤認為是不要將它們誤認為是C語言提供的輸入和輸出語句,特別是語言提供的輸入和輸出語句,特別是printf和和scanf并不是并不是C語言的關(guān)鍵字,它們只是函數(shù)的名字。語言的關(guān)鍵字,它們只是函數(shù)的名字。C語言提供的函數(shù)以庫的形式存放在系統(tǒng)中,它們不是語言提供的函數(shù)以庫的形式存放在系統(tǒng)中,它們不是C語語言文本中的組成部分。因此在使用言文本中的組成部分。因此在使用C語言庫函數(shù)時,要使用語言庫函數(shù)時,要使用預編譯命令預編譯命令#include 將相關(guān)的頭文件(將相關(guān)的頭文件(*.h)包含到用戶源)包含到用戶源文件中。文件中。使用形式:使用形式: #include

3、 “頭文件頭文件” 或或 #include 說明:說明: 標準輸入標準輸入/輸出頭文件是:輸出頭文件是:stdio.h,它是,它是standard input & output的縮寫(的縮寫(“h”是是head的縮寫),它包含了與標準的縮寫),它包含了與標準I/O庫有關(guān)的的變量定義和宏定義。由于庫有關(guān)的的變量定義和宏定義。由于printf() 和和 scanf()函數(shù)使函數(shù)使用比較頻繁,因此系統(tǒng)允許在使用此兩個函數(shù)時不需要頭包含用比較頻繁,因此系統(tǒng)允許在使用此兩個函數(shù)時不需要頭包含文件(即可以不加文件(即可以不加#include)。)。 常用的輸入輸出函數(shù)有:常用的輸入輸出函數(shù)有:pu

4、tchar()函數(shù)(字符輸出函數(shù))()函數(shù)(字符輸出函數(shù))getchar()函數(shù)(字符輸入函數(shù))和()函數(shù)(字符輸入函數(shù))和printf()函數(shù)(格式輸()函數(shù)(格式輸出函數(shù))出函數(shù))scanf函數(shù)(格式輸入函數(shù))等。本章將要討論這些基函數(shù)(格式輸入函數(shù))等。本章將要討論這些基本輸入輸出函數(shù)。本輸入輸出函數(shù)。數(shù)據(jù)輸入數(shù)據(jù)輸入/輸出是相對計算機內(nèi)存輸出是相對計算機內(nèi)存 在語言中所有的數(shù)據(jù)輸入輸出都是由庫函數(shù)完成的。在語言中所有的數(shù)據(jù)輸入輸出都是由庫函數(shù)完成的。 因此都因此都是函數(shù)語句。在是函數(shù)語句。在C語言中使用庫函數(shù)時,要使用預編譯語言中使用庫函數(shù)時,要使用預編譯命令命令#include 將相

5、關(guān)的頭文件(將相關(guān)的頭文件(*.h)包含到用戶源文件中。)包含到用戶源文件中。使用形式:使用形式: #include “頭文件頭文件” 或或 #include 說明:說明:1. 標準輸入標準輸入/輸出頭文件是:輸出頭文件是:stdio.h 2. printf() 和和 scanf()函數(shù)不需要頭包含文件函數(shù)不需要頭包含文件 3.常用的輸入輸出函數(shù)有:常用的輸入輸出函數(shù)有: printf() scanf() putchar() getchar() getch() getche()函數(shù)函數(shù) 等等C語言標準語言標準I/O庫函數(shù)中最簡單的、也是最容易理解的字符輸庫函數(shù)中最簡單的、也是最容易理解的字符輸

6、入輸出函數(shù)入輸出函數(shù)putchar()函數(shù)(字符輸出函數(shù))和()函數(shù)(字符輸出函數(shù))和getchar()()函數(shù)(字符輸入函數(shù))函數(shù)(字符輸入函數(shù)) 字符輸出函數(shù)字符輸出函數(shù)putchar( )putchar()函數(shù)的格式:函數(shù)的格式: putchar(ch);該函數(shù)的功能是向顯示器終端輸出一個字符。其中,該函數(shù)的功能是向顯示器終端輸出一個字符。其中,ch可以是一可以是一個字符變量或常量,也可以是一個轉(zhuǎn)義字符。個字符變量或常量,也可以是一個轉(zhuǎn)義字符。說明:說明:(1)putchar()函數(shù)只能用于單個字符的輸出,且一次只能輸出函數(shù)只能用于單個字符的輸出,且一次只能輸出一個字符。一個字符。(2)

7、從功能角度)從功能角度printf()函數(shù)可以完全代替函數(shù)可以完全代替putchar()函數(shù),其等函數(shù),其等價形式:價形式:printf(%c,ch)。putchar() 函數(shù)的格式和使用方法舉例:函數(shù)的格式和使用方法舉例:例例3-1 輸出單個字符。輸出單個字符。 #include stdio.h /*編譯預處理命令:文件編譯預處理命令:文件包含包含*/main() char ch1=N, ch2=E, ch3=W;putchar(ch1);putchar(ch2);putchar(ch3); /*輸出輸出*/ putchar(n);putchar(ch1);putchar(n); /*輸出輸

8、出ch1的值,的值,并換行并換行*/putchar(E);putchar(n); /*輸出字符輸出字符E,并換行,并換行*/putchar(ch3); putchar(n); 程序運行后,先輸出字符程序運行后,先輸出字符NEW,然后換行分別輸出單個字符,然后換行分別輸出單個字符N、E、和、和W(n是轉(zhuǎn)義字符表示換行輸出)。是轉(zhuǎn)義字符表示換行輸出)。字符輸入函數(shù)字符輸入函數(shù)getchar()getchar()函數(shù)的函數(shù)的格式格式:getchar(); getchar()函數(shù)的函數(shù)的作用作用:從系統(tǒng)的輸入設(shè)備鍵盤輸入一個字符。:從系統(tǒng)的輸入設(shè)備鍵盤輸入一個字符。從功能角度來看,從功能角度來看,sc

9、anf()函數(shù)可以完全代替函數(shù)可以完全代替getchar()函數(shù)。函數(shù)。例:例:char c1; char c1; 則則c1=getchar();c1=getchar();可使用等價語句:可使用等價語句: scanf(%c,&c1);scanf(%c,&c1);說說 明:明: (1)getchar()函數(shù)一次只能返回一個字符,即調(diào)用一次只函數(shù)一次只能返回一個字符,即調(diào)用一次只能輸入一個字符。能輸入一個字符。 (2 2)程序第一次執(zhí)行)程序第一次執(zhí)行g(shù)etchar()函數(shù)時,系統(tǒng)暫停等待用戶函數(shù)時,系統(tǒng)暫停等待用戶輸入,直到按回車鍵結(jié)束,如果用戶輸入了多個字符,則該輸入,直到按回

10、車鍵結(jié)束,如果用戶輸入了多個字符,則該函數(shù)只取第一個字符,多余的字符(包括換行符函數(shù)只取第一個字符,多余的字符(包括換行符nn)存放)存放在鍵盤緩沖區(qū)中,如果程序再一次執(zhí)行在鍵盤緩沖區(qū)中,如果程序再一次執(zhí)行g(shù)etchar()函數(shù),則程函數(shù),則程序就直接從鍵盤緩沖區(qū)讀入,直到讀完后,如果還有序就直接從鍵盤緩沖區(qū)讀入,直到讀完后,如果還有g(shù)etchar()函數(shù)才會暫停,再次等待用戶輸入。函數(shù)才會暫停,再次等待用戶輸入。getchar()函數(shù)的格式和使用舉例:函數(shù)的格式和使用舉例:#include /*文件包含文件包含*/main()char ch; printf(Please input two

11、character: ); ch=getchar(); /*輸入輸入1個字符并賦個字符并賦給給ch */ putchar(ch);putchar(n); putchar(getchar(); /*輸入一個字符并輸出輸入一個字符并輸出*/ putchar(n);等輸入等輸入xy后就是上述結(jié)果后就是上述結(jié)果說明:說明:(1) getchar()函數(shù)用于單個字符的輸入,一次輸入一個字符;函數(shù)用于單個字符的輸入,一次輸入一個字符;即使輸入的是數(shù)字也按字符處理。當輸入多個字符時,只能接即使輸入的是數(shù)字也按字符處理。當輸入多個字符時,只能接收第一個字符。收第一個字符。(2)在使用本函數(shù)前必須包含文件)在使

12、用本函數(shù)前必須包含文件”stdio.h”。(3)當運行程序時,系統(tǒng)會進入用戶屏幕,提示并等待用戶輸)當運行程序時,系統(tǒng)會進入用戶屏幕,提示并等待用戶輸入字符入字符xy。在輸入完畢分兩行顯示運行結(jié)果。在輸入完畢分兩行顯示運行結(jié)果。3.3.1 3.3.1 數(shù)據(jù)格式輸出數(shù)據(jù)格式輸出printf()printf()函數(shù)函數(shù) 格式化輸出函數(shù)格式化輸出函數(shù)printf()功能功能:按控制字符串規(guī)定的格式,:按控制字符串規(guī)定的格式,向輸出設(shè)備輸出各輸出項向輸出設(shè)備輸出各輸出項其基本其基本格式格式為:為:printf(“控制字符串控制字符串”,輸出項列表),輸出項列表) 輸出項輸出項可以是常量、變可以是常量、

13、變量、表達式,其類型與個數(shù)量、表達式,其類型與個數(shù)必須與控制字符串中格式字必須與控制字符串中格式字符的類型、個數(shù)一致、當有符的類型、個數(shù)一致、當有多個輸出項時,各項之間用多個輸出項時,各項之間用逗號分隔。逗號分隔。 控制字符串控制字符串由格式說明由格式說明和普通字符兩部分組成。和普通字符兩部分組成。1格式說明格式說明一般格式為:一般格式為:%格式字符規(guī)定了輸出項的輸出格式,常用格式字符見表格式字符規(guī)定了輸出項的輸出格式,常用格式字符見表3-2格式字符格式字符意義意義舉舉 例例輸出結(jié)果輸出結(jié)果d按十進制整數(shù)輸出按十進制整數(shù)輸出printf(%d,a)65o 或或O按八進制整數(shù)輸出按八進制整數(shù)輸出

14、printf(%o,a)101x 或或X按十六進制整數(shù)輸出按十六進制整數(shù)輸出printf(%x,a)41u按無符號整數(shù)輸出按無符號整數(shù)輸出printf(%u,a)65c按字符型輸出按字符型輸出printf(%c,a)As按字符串輸出按字符串輸出printf(%s,aba)abcf按浮點型小數(shù)輸出按浮點型小數(shù)輸出printf(%f,x)3.141593e按科學計數(shù)法輸出按科學計數(shù)法輸出printf(%e,x)3.141593e+00g按按e和和f格式中較短的一格式中較短的一種輸出種輸出printf(%g,x)3.141593表表3-2輸出格式字符輸出格式字符(1) 字段寬度修飾符字段寬度修飾符

15、該修飾符用于確定數(shù)據(jù)輸出的寬度、精度、小數(shù)位數(shù)、對齊該修飾符用于確定數(shù)據(jù)輸出的寬度、精度、小數(shù)位數(shù)、對齊方式等,用于產(chǎn)生更規(guī)范整齊的輸出,表方式等,用于產(chǎn)生更規(guī)范整齊的輸出,表3-3列出了字段寬度修列出了字段寬度修飾符。飾符。 修飾符修飾符格式格式說明意義說明意義M%md以寬度以寬度m輸出整型數(shù),不足輸出整型數(shù),不足m時,左補空格時,左補空格0m%0md 以寬度以寬度m輸出整型數(shù),不足輸出整型數(shù),不足m時,左補零時,左補零m.n%m.nf以寬度以寬度m輸出實型小數(shù),小數(shù)位為輸出實型小數(shù),小數(shù)位為n位位表表3-3 字段寬度修飾符字段寬度修飾符例如:例如:voidvoid main() main(

16、) int int a=123; a=123; float x=12.345678; float x=12.345678; printf(%5d, %5.2fn,a,x); printf(%5d, %5.2fn,a,x); printf(%2d, %2.1fn,a,x); printf(%2d, %2.1fn,a,x); 程序的運行結(jié)果如下:程序的運行結(jié)果如下:說明:說明:當指定寬度小于數(shù)據(jù)當指定寬度小于數(shù)據(jù)的實際寬度時,對整的實際寬度時,對整數(shù),按該數(shù)的實際寬數(shù),按該數(shù)的實際寬度輸出。度輸出。對浮點數(shù),相應小數(shù)對浮點數(shù),相應小數(shù)位的數(shù)四舍五入。若位的數(shù)四舍五入。若度寬小于等于浮點數(shù)度寬小于等

17、于浮點數(shù)整數(shù)部分的寬度,則整數(shù)部分的寬度,則該浮點數(shù)按實際位數(shù)該浮點數(shù)按實際位數(shù)輸出,但小數(shù)位數(shù)仍輸出,但小數(shù)位數(shù)仍遵守寬度修飾符給出遵守寬度修飾符給出的值。的值。(2 2)對齊方式修飾符)對齊方式修飾符一般的輸出數(shù)據(jù)為右對齊格式,加一般的輸出數(shù)據(jù)為右對齊格式,加“-”-”號,變?yōu)樘?,變?yōu)椤白髮R左對齊”方式。方式。例如:例如:void main()void main() int int i=123; i=123; float a=12.34567; float a=12.34567; printf(%6d%10.4fn,i,a); printf(%6d%10.4fn,i,a); printf

18、(%-6d%10.4fn,i,a); printf(%-6d%10.4fn,i,a); printf(%6d%-10.4fn,i,a); printf(%6d%-10.4fn,i,a); 程序運行結(jié)果如圖所示:程序運行結(jié)果如圖所示:(3 3)長度修飾符)長度修飾符 l l和和h h可以與輸出格式字符可以與輸出格式字符d d、f f、u u等連用,以說明是等連用,以說明是用用longlong型或型或shortshort型格式型格式輸出數(shù)據(jù),如:輸出數(shù)據(jù),如:hdhd 短整型短整型lf lf 雙精度型雙精度型ld ld 長整型長整型huhu 無符號短整型無符號短整型2 2普通字符普通字符普通字符包

19、括普通字符包括可打印字符可打印字符和和轉(zhuǎn)義轉(zhuǎn)義字符。字符。v可打印字符是一些說明字符,可打印字符是一些說明字符,這些字符按原樣顯示在屏幕上這些字符按原樣顯示在屏幕上v轉(zhuǎn)義字符是不可打印的字符,轉(zhuǎn)義字符是不可打印的字符,它們其實是一些控制字符,控制它們其實是一些控制字符,控制產(chǎn)生特殊的輸出效果。常用的有產(chǎn)生特殊的輸出效果。常用的有“t”,“n”t”,“n”,其中,其中t為水平制為水平制表符,作用是跳到下一個水平制表符,作用是跳到下一個水平制表位,表位, “ “n”為回車換行符,遇為回車換行符,遇到到“n”,顯示自動換到新的一行。,顯示自動換到新的一行。3.3.1 3.3.1 數(shù)據(jù)格式輸出數(shù)據(jù)格式

20、輸出printf()printf()函數(shù)函數(shù) 例如:例如:voidvoid main() main() int int i=123; i=123; long n=456; long n=456; float a=12.34567,y=20.5; float a=12.34567,y=20.5; printf(i= %4dta=%7.4fntn=%lun,i,a,n); printf(i= %4dta=%7.4fntn=%lun,i,a,n); printf(y=%5.2f%n,y); printf(y=%5.2f%n,y); 程序運行的輸出結(jié)果如下:程序運行的輸出結(jié)果如下:3.3.2 3.3.

21、2 數(shù)據(jù)格式輸入數(shù)據(jù)格式輸入scanf()scanf()函數(shù)函數(shù) scanf()的的功能功能:從鍵盤上輸入數(shù)據(jù),該輸入數(shù)據(jù)按指:從鍵盤上輸入數(shù)據(jù),該輸入數(shù)據(jù)按指定的輸入格式被賦給相應的輸入項。定的輸入格式被賦給相應的輸入項。函數(shù)一般函數(shù)一般格式格式為:為: scanf(控制字符串控制字符串,輸入項地址列表,輸入項地址列表);控制字符串控制字符串規(guī)定數(shù)據(jù)的輸入格式,其內(nèi)容由格式說明和規(guī)定數(shù)據(jù)的輸入格式,其內(nèi)容由格式說明和普通字符兩部分組成。普通字符兩部分組成。輸入項地址列表輸入項地址列表由一個或多個變量地址組成,各變量地由一個或多個變量地址組成,各變量地址之間用逗號址之間用逗號“,”分隔。分隔。

22、 scanf()中各變量要加地址操作符,表示如下:中各變量要加地址操作符,表示如下: &變量名變量名控制字符串的兩個組成部分:格式說明和普通字符??刂谱址膬蓚€組成部分:格式說明和普通字符。1. 1. 格式說明格式說明格式說明規(guī)定輸入項中的變量以何種類型的數(shù)據(jù)格式被輸入,格式說明規(guī)定輸入項中的變量以何種類型的數(shù)據(jù)格式被輸入,形式是:形式是: % 各個格式字符及其意義見表各個格式字符及其意義見表3-5表表3-5輸入格式字符輸入格式字符格式字符格式字符意義意義舉例舉例輸入形式輸入形式d輸入一個十進制整數(shù)輸入一個十進制整數(shù)scanf(%d,&a)15o輸入一個八進制整數(shù)輸入一個八進

23、制整數(shù)scanf(%o,&a)015x輸入一個十六進制整數(shù)輸入一個十六進制整數(shù)scanf(%x,&a)0 x15f輸入一個小數(shù)形式的浮點數(shù)輸入一個小數(shù)形式的浮點數(shù)scanf(%f,&x)35680e輸入一個指數(shù)形式的浮點數(shù)輸入一個指數(shù)形式的浮點數(shù)scanf(%e,&x)3.568e+3c輸入一個字符輸入一個字符scanf(%c,&ch)As輸入一個字符串輸入一個字符串scanf(%s,ps)ABCD各修飾符是可選的,這些修飾符是:各修飾符是可選的,這些修飾符是:(1 1)字段寬度)字段寬度例:例:scanf(%3dscanf(%3d,&a)&am

24、p;a);輸入;輸入123456123456,按寬度輸入一個整數(shù),按寬度輸入一個整數(shù)123123賦給變量賦給變量a a(2 2) l l和和h h可與可與d d、o o、x x一起使用,一起使用,l l表示輸入數(shù)據(jù)為長整數(shù),表示輸入數(shù)據(jù)為長整數(shù),h h表示輸入數(shù)據(jù)表示輸入數(shù)據(jù)為短整數(shù),例:為短整數(shù),例:scanf(%ld%hd,&x,&iscanf(%ld%hd,&x,&i) );x x按長整型讀入,按長整型讀入,i i按短整數(shù)讀入。按短整數(shù)讀入。(3 3)字符)字符* *表示按規(guī)定格式輸入但不賦予相應變量,作用是跳過相應的數(shù)據(jù)。表示按規(guī)定格式輸入但不賦予相應變

25、量,作用是跳過相應的數(shù)據(jù)。例如:例如:scanf(“%d%scanf(“%d%* *d%d”,&x,&y,&z)d%d”,&x,&y,&z);執(zhí)行該語句,若輸入為;執(zhí)行該語句,若輸入為“ ” ” 結(jié)果為結(jié)果為x=1x=1,y=3y=3,z z未賦值,被跳過。未賦值,被跳過。2.2.普通字符普通字符普通字符包括空格、轉(zhuǎn)義字符和可打印字符。普通字符包括空格、轉(zhuǎn)義字符和可打印字符。(1)(1)空格空格在有多個輸入項時,一般用空格或回車作為分隔符,若以空格作分隔在有多個輸入項時,一般用空格或回車作為分隔符,若以空格作分隔符,則當輸入項中包含字符類型時,可

26、能產(chǎn)生非預期的結(jié)果,例如:符,則當輸入項中包含字符類型時,可能產(chǎn)生非預期的結(jié)果,例如:scanf(%d%c,&a,&chscanf(%d%c,&a,&ch) ); 輸入輸入32 q32 q期望期望a=32a=32,chch=q=q,但實際上,分隔符空格被讀入并賦給,但實際上,分隔符空格被讀入并賦給chch。 (2)(2)可打印字符可打印字符例如:例如:scanf(%dscanf(%d,%d%d,%c%c,&a&a,&b&b,&ch&ch););當輸入為:當輸入為:1,2,q 1,2,q 即:即:a=1a=1,b=2

27、b=2,chch=q=q若輸入為若輸入為1 2 q 1 2 q 除除a=1a=1正確賦值外,對正確賦值外,對b b與與chch的賦值都不能正確賦值。的賦值都不能正確賦值。這些不打印字符應是輸入數(shù)據(jù)分隔符,這些不打印字符應是輸入數(shù)據(jù)分隔符,scanfscanf在讀入時自動去除與可打印在讀入時自動去除與可打印字符相同的字符。字符相同的字符。使用使用scanf函數(shù)還必須注意以下幾點:函數(shù)還必須注意以下幾點: (1) scanf函數(shù)中沒有精度控制函數(shù)中沒有精度控制 。 如:如: scanf(%5.2f,&a); 是非法的。是非法的。(2) 在輸入多個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式在輸入多

28、個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格或回車作間隔。字符作輸入數(shù)據(jù)之間的間隔則可用空格或回車作間隔。(3)如果格式控制串中有非格式字符則輸入時也要輸入該如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。非格式字符。 例如:例如: scanf(%d,%d,%d,&a,&b,&c); 其中用非格式符其中用非格式符“ , ”作間隔符,故輸入時應為:作間隔符,故輸入時應為: 5,6,7 又如:又如: scanf(a=%d,b=%d,c=%d,&a,&b,&c); 則輸入應為則輸入應為 a=5,b=6,c=7例例3

29、-7 使用使用scanf函數(shù)輸入數(shù)據(jù)。函數(shù)輸入數(shù)據(jù)。main() int a,b,c;scanf(%d,%d,%d,&a,&b,&c); printf(%d,%d,%dn,a,b,c);運行時,等待從鍵盤輸入數(shù)據(jù),當我們輸入運行時,等待從鍵盤輸入數(shù)據(jù),當我們輸入12,34,56回回車后,屏幕上顯示如下結(jié)果:車后,屏幕上顯示如下結(jié)果:12,34,563.4.1 數(shù)學函數(shù)數(shù)學函數(shù)下面我們將介紹幾個常用數(shù)學函數(shù)的用法。下面我們將介紹幾個常用數(shù)學函數(shù)的用法。C語言提供了的數(shù)學函數(shù)見附錄語言提供了的數(shù)學函數(shù)見附錄D,這里僅介紹比較常用的幾,這里僅介紹比較常用的幾個。個。1.函數(shù)名

30、:函數(shù)名:sin 原型原型:double sin(double x); 功能:正弦函數(shù)。功能:正弦函數(shù)。2.函數(shù)名:函數(shù)名:floor 原型:原型:double floor(double x); 功能:求不大于功能:求不大于x的最大整數(shù)。的最大整數(shù)。如:如:設(shè)設(shè)x=floor(4.1),y=floor(4.9),z=floor(4)則則x= 4,y=4,z=4。3函數(shù)名:函數(shù)名:ceil 原型:原型:double ceil(double x); 功能:求不小于功能:求不小于x的最小整數(shù)。的最小整數(shù)。如:如:設(shè)設(shè)x=ceil(4.9),y=ceil(4.1),z=ceil(4)則則x = 4,y

31、=5,z=44函數(shù)名:函數(shù)名:sqrt 原型:原型:double sqrt(double x); 功能:求功能:求x的平方根。的平方根。如:如:設(shè)設(shè)x=sqrt(4),y=sqrt(16)則則x=2.0,y=4.05函數(shù)名:函數(shù)名:log10 原型:原型:double log10(double x); 功能:求功能:求x的常用對數(shù)。的常用對數(shù)。6函數(shù)名:函數(shù)名:log 原型:原型:double log(double x); 功能:求功能:求x的自然對數(shù)。的自然對數(shù)。7函數(shù)名:函數(shù)名:exp 原型:原型:double exp(double x); 功能:求歐拉常數(shù)功能:求歐拉常數(shù)e的的x次方。次

32、方。8函數(shù)名:函數(shù)名:pow 原型:原型:double pow(double x,double y); 功能:求功能:求x的的y次方。次方。如:如:設(shè)設(shè)a=pow(2,4),b=pow (2,0)則則a=16,b=19.函數(shù)名:函數(shù)名:abs 原型:原型:int abs(int i);功能:求整數(shù)的絕對值。功能:求整數(shù)的絕對值。如:如:設(shè)設(shè)x=abs(4),y=abs(4),z=abs(0)則則x=4,y=4,z=0。10.函數(shù)名:函數(shù)名:labs 原型:原型:long labs(long n);功能:求長整型數(shù)的絕對值。功能:求長整型數(shù)的絕對值。如:如:設(shè)設(shè)x=labs(40000L),y=

33、labs(4),z=labs(0)則則x=40000,y=4,z=0。11.函數(shù)名:函數(shù)名:fabs 原型原型:double fabs(double x); 功能:求實數(shù)的絕對值。功能:求實數(shù)的絕對值。如:如:設(shè)設(shè)x=fabs(4.3),y=fabs(4.3),z=fabs(0)則則x=4.3,y=4.3,z=0。在使用這些數(shù)學函數(shù)時,要調(diào)用系統(tǒng)的數(shù)學庫函數(shù),其調(diào)在使用這些數(shù)學函數(shù)時,要調(diào)用系統(tǒng)的數(shù)學庫函數(shù),其調(diào)用格式為:用格式為:函數(shù)名(參數(shù),參數(shù)函數(shù)名(參數(shù),參數(shù))其中,函數(shù)名由系統(tǒng)提供,不同的其中,函數(shù)名由系統(tǒng)提供,不同的C編譯系統(tǒng)提供的函數(shù)名編譯系統(tǒng)提供的函數(shù)名可能有所不同,使用前必須

34、查閱有關(guān)的手冊,括號中的參可能有所不同,使用前必須查閱有關(guān)的手冊,括號中的參數(shù)是要求用戶在調(diào)用時給出數(shù)據(jù)。若有多個參數(shù),則參數(shù)數(shù)是要求用戶在調(diào)用時給出數(shù)據(jù)。若有多個參數(shù),則參數(shù)與參數(shù)之間用逗號分隔。各參數(shù)的類型必須與系統(tǒng)要求一與參數(shù)之間用逗號分隔。各參數(shù)的類型必須與系統(tǒng)要求一致,參數(shù)的個數(shù)和排列順序也要與系統(tǒng)要求一致。致,參數(shù)的個數(shù)和排列順序也要與系統(tǒng)要求一致??傊傊?,當使用這些數(shù)學函數(shù)時,在程序開頭必須加入:,當使用這些數(shù)學函數(shù)時,在程序開頭必須加入:#include 。下面是幾個函數(shù)的使用舉例:下面是幾個函數(shù)的使用舉例:例例3-8 計算的值,計算的值, 設(shè)設(shè)x=8,y=3。程。程序如下序

35、如下 (3)yxx#include main()double x,y,z;x=8.0;y=3.0;z=x*(3.0+pow(x,y);printf(z=%fn,z); #include #include #define PI 3.14159int main(void)double x,y,z;int n; x=4.0; y=sqrt(x);printf(x=%fty=%fn,x,y);x=PI/4;y=sin(x);printf(x=%fty=%fn,x,y);x=2.0;y=3.0;z=pow(x,y);printf(x=%fty=%ftz=%fn,x,y,z);x=1.5;n=4;y=ex

36、p(x,n);printf(x=%ftn=%dty=%fn,x,n,y);return 0;在順序結(jié)構(gòu)程序設(shè)計中,各語句(或命令)是按照位置在順序結(jié)構(gòu)程序設(shè)計中,各語句(或命令)是按照位置的先后次序,順序執(zhí)行的,且每個語句都會被執(zhí)行到,的先后次序,順序執(zhí)行的,且每個語句都會被執(zhí)行到,而且不發(fā)生控制流的轉(zhuǎn)移。而且不發(fā)生控制流的轉(zhuǎn)移。 順序結(jié)構(gòu)程序一般包括兩部分:順序結(jié)構(gòu)程序一般包括兩部分:1程序開頭的編譯預處理命令。如果在程序中使用標準程序開頭的編譯預處理命令。如果在程序中使用標準庫函數(shù),則必須使用編譯預處理命令庫函數(shù),則必須使用編譯預處理命令#include,將相應的,將相應的頭文件包含進來。

37、頭文件包含進來。 2函數(shù)體主要包括:函數(shù)體主要包括:(1)變量類型的說明。)變量類型的說明。(2)提供數(shù)據(jù)語句。)提供數(shù)據(jù)語句。(3)運算部分。)運算部分。(4)輸出部分。)輸出部分。每個程序都是按照語句的書寫順序依次執(zhí)行的,它是最每個程序都是按照語句的書寫順序依次執(zhí)行的,它是最簡單的程序結(jié)構(gòu)。簡單的程序結(jié)構(gòu)。 3.5 順序程序設(shè)計順序程序設(shè)計例3.13 輸入三角形的三邊長,求三角形面積。假設(shè):三個邊長a,b,c能構(gòu)成三角形。已知面積公式:area=s=(a+b+c)/2c)b)(sa)(ss(s開始輸入三邊長計算s計算面積結(jié)束 順序結(jié)構(gòu)程序設(shè)計舉例#include#include#inclu

38、de#includevoid main()void main()float a,b,c,s,area;float a,b,c,s,area;scanf(“%f,%f,%f,&a,&b,&c);scanf(“%f,%f,%f,&a,&b,&c);s=1.0/2s=1.0/2* *(a+b+c(a+b+c););area=area=sqrtsqrt(s(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c);(s-c);printf(“a=%7.2f, b=%7.2f, c=%7.2f, printf(“a=%7.2f, b=%7.2

39、f, c=%7.2f, s=%7.2fn”,a,b,c,s);s=%7.2fn”,a,b,c,s);printf(“areaprintf(“area=%7.2fn”,area);=%7.2fn”,area); 數(shù)學函數(shù)庫因為要用到其中的sqrt函數(shù)運行情況:3.4,4.5,5.6a= 3.400000, b=4.500000, c=5.600000area=7.649173 printf(a=%7.2fnb=%7.2fnc=%7.2fnarea=%7.2fn,a,b,c,area); 運行情況:3.4,4.5,5.6a= 3.40, b=4.50, c=5.60area=7.65例3.14 從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。#include #include void main()void main() char c1,c2; char c1,c2; c1=getchar c1=get

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論