




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、語言程序設計 最簡單的c程序設計順序程序設計一、c語句概述案例案例 已知圓半徑radius=1.5,求圓周長和圓面積。#include #define pi= 3.1415926main() float radius,length,area; radius=1.5; length=2*pi*radius; /*求圓周長*/ area=pi*radius*radius; /*求圓面積*/ printf(“radius=%fn”,radius); /*輸出圓半徑*/ printf(“length=%7.2f,area=%7.2fn”,length,area); /*輸出圓周長、面積*/ 預處理命令
2、預處理命令全局變量全局變量函數函數c c語言提供的語句分五大類:語言提供的語句分五大類: (1)(1)控制語句,完成控制功能控制語句,完成控制功能if( ) else if( ) else 條件條件 for ( ) for ( ) 循環循環 while ( ) while ( ) 循環循環 do while ( ) do while ( ) 循環循環 continue continue 結束本次循環結束本次循環 break break 中止中止switch switch 或循環或循環 switch switch 多分支選擇多分支選擇 goto goto 轉向轉向 return return 從
3、函數返回從函數返回(2)(2)函數調用語句函數調用語句 函數名(參數);函數名(參數); 如:如:printf (“this is a c program.n”); printf (“this is a c program.n”); max(a,b); max(a,b); (3)(3)表達式語句表達式語句 在表達式后加在表達式后加 “ “ ;” ;” 構成構成 a=6a=6 a=5 ;a=5 ; 如如 i=i+2i=i+2 是是表達表達式式 而而 i=i+2; i=i+2; 是是表達式語句表達式語句 x+yx+y x+y ;x+y ; (4)(4)空語句空語句 ; ; 無任何操作,但合法,可用
4、于循環中的轉折無任何操作,但合法,可用于循環中的轉折(5)(5)復合語句復合語句 用用 將若干語句括起來而構成的語句。將若干語句括起來而構成的語句。 如:如:if (xy)if (xy) 與與 if (xy)if (xy) 意義不同意義不同 z=x;z=x; z=x; z=x; x+; x+; x+; x+; y-; y-; y-; y-; 二、賦值語句由賦值表達式與由賦值表達式與 “ “;” ” 組成。組成。 形式:變量形式:變量= =表達式;表達式; 功能:計算表達式的值,然后賦給左邊的變量。功能:計算表達式的值,然后賦給左邊的變量。 說明:說明: 1.1.賦值號與數學上的等號意義不同,如
5、賦值號與數學上的等號意義不同,如 x=x+2; x=x+2; 2.2.在在c c語言中,賦值號作為賦值運算符使用,具有計算語言中,賦值號作為賦值運算符使用,具有計算的功能。的功能。 3.3.賦值表達式可以包含在其它表達式之中。賦值表達式可以包含在其它表達式之中。 如:如:if ( (a=b) 0) t=a ; if ( (a=b) 0) t=a ; 但賦值語句不能包含在條件表達式中,如但賦值語句不能包含在條件表達式中,如: if (a=b;)0) t=a ; if (a=b;)0) t=a ; 三、數據輸入輸出(1)(1)輸入輸出:相對主機而言的輸入輸出:相對主機而言的 輸入設備:鍵盤、掃描儀
6、、磁盤、光盤等輸入設備:鍵盤、掃描儀、磁盤、光盤等 輸出設備:顯示器、打印機、磁盤等。輸出設備:顯示器、打印機、磁盤等。 (2)(2)本身不提供本身不提供i/oi/o語句語句: i/oi/o操作通過函數實現,標準函數庫中提供了一些操作通過函數實現,標準函數庫中提供了一些i/oi/o函數,如函數,如printf,scanfprintf,scanf等等, ,它們不是的關鍵字,而是它們不是的關鍵字,而是函數名。函數名。 好處是:使編譯系統簡化、通用性強、可移植性好。好處是:使編譯系統簡化、通用性強、可移植性好。c c函數庫提供的一些標準函數庫提供的一些標準/ / 函數是以終端設備為函數是以終端設備為
7、i/oi/o對對象的,如:象的,如:putchar, getchar, printf, scanf, puts, putchar, getchar, printf, scanf, puts, getsgets。 (3)(3)使用庫函數時使用庫函數時:用預編譯命令用預編譯命令#include#include將有關頭文件包含到用戶源文件將有關頭文件包含到用戶源文件中,在頭文件中包含了與用到的函數有關的信息,如使中,在頭文件中包含了與用到的函數有關的信息,如使用輸入輸出函數時要用到用輸入輸出函數時要用到stdio.hstdio.h文件。文件。#include#include放在程序開頭放在程序開頭如
8、如#include “stdio.h” #include “stdio.h” 或或#include #include 注意:區別注意:區別#include#include語句中用語句中用和和的區別。的區別。(2)(2)本身不提供本身不提供i/oi/o語句語句: i/oi/o操作通過函數實現,標準函數庫中提供了一些操作通過函數實現,標準函數庫中提供了一些i/oi/o函數,如函數,如printf,scanfprintf,scanf等等, ,它們不是的關鍵字,而是它們不是的關鍵字,而是函數名。函數名。 好處是:使編譯系統簡化、通用性強、可移植性好。好處是:使編譯系統簡化、通用性強、可移植性好。c c
9、函數庫提供的一些標準函數庫提供的一些標準/ / 函數是以終端設備為函數是以終端設備為i/oi/o對對象的,如:象的,如:putchar, getchar, printf, scanf, puts, putchar, getchar, printf, scanf, puts, getsgets。 四、字符數據的輸入輸出功能:向輸出設備輸出一個字符。功能:向輸出設備輸出一個字符。 形式:形式:putchar(putchar(參數參數) ) 其中,參數可以是整型或字符型變量或常量。其中,參數可以是整型或字符型變量或常量。例如:例如:putchar(97) ; putchar(a) ; putchar
10、(97) ; putchar(a) ; 都輸出字符都輸出字符 a, a, char c= b ; putchar ( c ) ; char c= b ; putchar ( c ) ;輸出字符輸出字符 b b。 注意:在注意:在c c語言中,除語言中,除printf printf 和和 scanf scanf 兩個函數外,兩個函數外,使用其它使用其它i/oi/o函數時,都必須在源文件的開始處加上預函數時,都必須在源文件的開始處加上預編譯命令:編譯命令:#include “stdio.h”#include “stdio.h” 意義:將標準意義:將標準i/oi/o函數庫中的函數包含到所在文件中來函
11、數庫中的函數包含到所在文件中來 4.1、putchar(字符輸出函數)#include #include main( )main( ) char a,b,c; char a,b,c; a=b;b=o;c=y; a=b;b=o;c=y; putchar(a); putchar(b); putchar (c); putchar(a); putchar(b); putchar (c); 運行結果:運行結果:boy boy 若無文件包含編譯預處理,在編譯連接時系統將指出:若無文件包含編譯預處理,在編譯連接時系統將指出: linking error:undefine symbol _putchar li
12、nking error:undefine symbol _putchar in in moduel xxx.c moduel xxx.c 另:另:putchar( )putchar( )函數還可以輸出控制字符函數還可以輸出控制字符 如:如:n n 或或012012 aa或或 007007 r r 或或 015015 換行換行 響鈴響鈴 回車回車#include “stdio.h”#include “stdio.h”main( )main( ) char a=a char a=a,b=bb=b,c=007c=007; putchar(a)putchar(a); putchar(b)putchar
13、(b); putchar(n)putchar(n); putchar(c)putchar(c); sleep(3)sleep(3); putchar(c)putchar(c); putchar(65)putchar(65);putchar(66)putchar(66);putchar(007)putchar(007); sleep(3)sleep(3); putchar(007)putchar(007); 運行結果:運行結果: ab ab 響響 延時延時3 3秒秒 響響 abab 響響 延時延時3 3秒秒 響響 功能:從鍵盤輸入一個字符功能:從鍵盤輸入一個字符 形式:形式:getchar( )
14、 getchar( ) 特點:無參數,其值是從輸入設備得到的字符。特點:無參數,其值是從輸入設備得到的字符。#include “stdio.h”#include “stdio.h”main( ) main( ) char c; char c; c=getchar(); c=getchar(); putchar(c); putchar(c); putchar(getchar(); printf(“%cn”,getchar( ); putchar(getchar(); printf(“%cn”,getchar( ); 輸入:輸入:abc abc 輸出:輸出:abcabc 如果一個一個輸入呢?換行符
15、如果一個一個輸入呢?換行符 4.2 getchar函數五、格式輸入與輸出功能:向輸出設備輸出若干個任意類型的數據功能:向輸出設備輸出若干個任意類型的數據 1 1、printf printf 函數的一般格式函數的一般格式 printf (printf (格式控制,輸出表列)格式控制,輸出表列) (1)(1)格式控制格式控制:由雙引號括起來的一串字符(格式說明和:由雙引號括起來的一串字符(格式說明和普通字符)。普通字符)。 格式說明:由格式說明:由% %和和格式字符格式字符(c,d,u,f,e,o,x,s,g)c,d,u,f,e,o,x,s,g)組成。組成。 普通字符:需要原樣輸出的字符。普通字符
16、:需要原樣輸出的字符。(2)(2)輸出表列輸出表列:需要桉格式說明所指定的格式輸出的數據,:需要桉格式說明所指定的格式輸出的數據,可以是常量、變量、表達式。可以是常量、變量、表達式。 格式控制格式控制 一般形式:一般形式:printf(printf(參數參數1 1,參數,參數2 2,參數參數n) n) 將參數將參數2n2n按參數按參數1 1的格式輸出。中間由逗號隔開。的格式輸出。中間由逗號隔開。 5.1 printf 格式輸出函數2 2、格式字符、格式字符(1)d (1)d 格式符:輸出十進制整數格式符:輸出十進制整數 %d%d:按十進制數據的實際長度輸出。:按十進制數據的實際長度輸出。 %m
17、d %md :m m為指定輸出字段的寬度。為指定輸出字段的寬度。 m m m時時 按數據的實際位數輸出。按數據的實際位數輸出。main( ) main( ) int a=123,b=12345 int a=123,b=12345; printf (“a=%4d,b=%4dn”,a,b)printf (“a=%4d,b=%4dn”,a,b); 運行結果:運行結果:a=_123,b=12345a=_123,b=12345 %ld%ld:輸出長整型數據:輸出長整型數據 對于長整型數據只能按長整型的格式說明符輸出對于長整型數據只能按長整型的格式說明符輸出, , 否則否則, ,輸出的數據有誤。輸出的數據
18、有誤。 在長整型格式說明中在長整型格式說明中, ,還可指出其輸出寬度還可指出其輸出寬度. . main( ) main( ) long a=134579; long a=134579; printf (“a=%dn”, a); printf (“a=%dn”, a); 結果:結果:a=3507a=3507 (2)o(2)o格式符,輸出八進制數格式符,輸出八進制數 特點:無論是正是負,輸出的都是不帶符號的數特點:無論是正是負,輸出的都是不帶符號的數 (3)x(3)x格式符,輸出十六進制數格式符,輸出十六進制數 特點:無論數據是正是負,輸出的都是不帶符號的數特點:無論數據是正是負,輸出的都是不帶符
19、號的數 (4)u(4)u格式符,輸出無符號數據格式符,輸出無符號數據 無符號類型的數據可用無符號類型的數據可用%d,%u,%o,%x %d,%u,%o,%x 格式輸出。格式輸出。 帶符號的帶符號的char char 和和 int int 整型數據可用整型數據可用%u%u格式輸出。格式輸出。 單、雙精度實型數據用單、雙精度實型數據用%u%u格式輸出時,則得到錯誤的格式輸出時,則得到錯誤的結果。結果。 如果實際值的范圍超出格式的范圍,輸出結果不正確。如果實際值的范圍超出格式的范圍,輸出結果不正確。 (5)c(5)c格式符,輸出一個字符格式符,輸出一個字符 字符型數據:占一個字節,數據表示范圍:字符
20、型數據:占一個字節,數據表示范圍:0255 0255 例例 main()main() char c= a char c= a; int i=97int i=97,j=355j=355,k=232k=232; printf (%c,%c,%c,%cn”,c,i,j,k)printf (%c,%c,%c,%cn”,c,i,j,k); printf (%d,%d,%d,%dn”,c,i,j,k)printf (%d,%d,%d,%dn”,c,i,j,k); 輸出結果:輸出結果: a,a,c, a,a,c, 97,97,355,232 97,97,355,232對于整型數據,若用字符格式輸出,由于對于
21、整型數據,若用字符格式輸出,由于整型數據占兩個字節,如果整型數據的值在整型數據占兩個字節,如果整型數據的值在02550255之間時,之間時,則輸出對應的字符,若其值在則輸出對應的字符,若其值在2563276725632767之間時,則截取之間時,則截取其低其低8 8位部分,然后輸出對應的字符位部分,然后輸出對應的字符. .(6 6)s s格式符,用來輸出一個字符串,有幾種方法格式符,用來輸出一個字符串,有幾種方法%s%s: 按實際長度輸出字符串。按實際長度輸出字符串。 %ms%ms:m m為列寬為列寬 當串長當串長mm時,按實際長度輸出時,按實際長度輸出 當串長當串長mmm時,按串實際長度輸出
22、,時,按串實際長度輸出, 當串長當串長mmnm時,時,m m自動取自動取n n值值, m, m只能是整常量,而不能是只能是整常量,而不能是變量或表達式。變量或表達式。 main( )main( ) printf (“%3s,%7.2s,%.4s,%-5.3sn”, “china”, printf (“%3s,%7.2s,%.4s,%-5.3sn”, “china”, “china”, “china”, “china” ); “china”, “china”, “china” ); 運行結果:運行結果: china, _ _ _ _ _ch, chin,chi_ _ china, _ _ _ _
23、 _ch, chin,chi_ _ (7) f(7) f格式符格式符: :輸出單、雙精度實數輸出單、雙精度實數 %f:%f:單精度單精度浮點輸出,有效位浮點輸出,有效位7 7位,通常小數點后有位,通常小數點后有6 6位位數字。數字。 %lf:%lf:雙精度雙精度浮點輸出,有效位浮點輸出,有效位1616位,通常小數點后有位,通常小數點后有6 6位數字。位數字。 例,輸出雙精度有效位例,輸出雙精度有效位main( )main( ) float x1,y1;double x2,y2; float x1,y1;double x2,y2; x 1 = 1 1 1 1 1 1 1 1 1 1 1 1 1
24、. 1 1 1 1 1 1 1 1 1 ; x 1 = 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 ; y1=2222222222222.222222222; y1=2222222222222.222222222; x 2 = 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 ; x 2 = 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 ; y2=2222222222222.222222222; y2=2222222222222.222222222; prin
25、tf (“x1+y1=%fnx2+y2=%lfn”,x1+y1,x2+y2); printf (“x1+y1=%fnx2+y2=%lfn”,x1+y1,x2+y2); 運行結果:運行結果: x1+y1=3333333319680.000000 x1+y1=3333333319680.000000 x2+y2=3333333333333.333010 x2+y2=3333333333333.333010 %m. nf %m. nf :輸出數據共占:輸出數據共占m m列,其中小數占列,其中小數占n n位,當數據位,當數據長度長度mm時,左補空格。時,左補空格。 %-m. nf%-m. nf:輸出數
26、據占:輸出數據占m m列,其中小數占列,其中小數占n n位,當數據長位,當數據長度度mm時,右補空格。時,右補空格。main( )main( ) float f=123.456; float f=123.456; printf (“%f,_ _%10f_ _%10.2f_ _% .2f_ _ printf (“%f,_ _%10f_ _%10.2f_ _% .2f_ _ %-10.2fn”,f,f,f,f,f); %-10.2fn”,f,f,f,f,f); 運行結果:運行結果: 123.456001,_ _123.456001_ _ 123.456001,_ _123.456001_ _ _
27、_ _ _ _ _ _123.46_ _123.46_ _123.46123.46_ _123.46_ _123.46_ _ _ _ _ _ _ (8)e(8)e格式,以指數形式輸出實數格式,以指數形式輸出實數 %e:%e:小數點前有一位數字小數點前有一位數字, ,小數點后有小數點后有5 5位數字位數字規范化數規范化數 float : x. xxxxxefloat : x. xxxxxexx xx 形式:形式: double: x.xxxxxedouble: x.xxxxxexxx xxx %m.ne%m.ne:m m為為輸出數據輸出數據的列數的列數,n,n是小數的位數是小數的位數. . m
28、mm數據長度數據長度, ,數據靠右輸出數據靠右輸出, ,左端補空格左端補空格 %-m.ne%-m.ne:m m為輸出數據的列數為輸出數據的列數,n,n是小數的位數是小數的位數. . m mm數據長度數據長度, ,數據靠左輸出數據靠左輸出, ,右端補空格右端補空格 在在tctc中的中的 n n:指在:指在e e左邊的數字個數左邊的數字個數, ,不包括小數點不包括小數點. . 在不同的在不同的c c系統中輸出結果可能不同系統中輸出結果可能不同 書中例子指小數位數書中例子指小數位數(9)g(9)g格式符,用來輸出實數格式符,用來輸出實數 根據數據的大小,自動選取根據數據的大小,自動選取e e,f f
29、 格式中占位數較少的格式中占位數較少的一種格式輸出。一種格式輸出。 (10)print (10)print 函數的使用說明:函數的使用說明: 格式符用小寫字母而不能用大寫字母,如格式符用小寫字母而不能用大寫字母,如%d%d而不是而不是%d%d。 格式控制的字符串中可包含轉義字符,如:格式控制的字符串中可包含轉義字符,如:n,t, n,t, b,r, 377, x41 b,r, 377, x41 由由% %和格式字符和格式字符d, f, e, g, u, c, s, o, xd, f, e, g, u, c, s, o, x構成格式構成格式輸出符號輸出符號 特殊字符:特殊字符:% %和和 的輸出
30、,如下所示:的輸出,如下所示: main( ) main( ) printf (“ ,%, “n”); printf (“ ,%, “n”); printf (“%f% n”,1.0/3); printf (“%f% n”,1.0/3); 輸出:輸出: ,% % ,“ “ 0.333333%0.333333%定義數據類型與格式符說明要一致,否則將輸出錯誤結定義數據類型與格式符說明要一致,否則將輸出錯誤結果。果。 1 1、一般形式、一般形式 scanf(scanf(格式控制,地址表列格式控制,地址表列) ) (1)(1)格式控制:是字符串,內容有格式控制:是字符串,內容有: 格式說明:由格式說明
31、:由% %和格式字符和格式字符 d, f, e, c, s, o, xd, f, e, c, s, o, x中之一中之一組成。組成。 普通字符:需原樣輸入的字符普通字符:需原樣輸入的字符 轉義字符:轉義字符: n, t n, t 用來實現換行和制表輸入用來實現換行和制表輸入 (2)(2)地址表列:地址表列: 變量名前加變量名前加& &,表示將輸入的數據存入變量所指定的存儲,表示將輸入的數據存入變量所指定的存儲單元內,字符數組前不加單元內,字符數組前不加& &5.2 scanf :格式輸入函數 main( )main( ) int a,b,c int a,b,c; scanf (“%d%d%d”
32、,scanf (“%d%d%d”,&a, &b,&c&a, &b,&c) ); printf (“a=%d, b=%d, c=%dn”, a, b, c)printf (“a=%d, b=%d, c=%dn”, a, b, c); 輸入方法:輸入方法: 3_4_5 3_4_5 3_ _4_ _ _ _5 3_ _4_ _ _ _5 3 3 4 4 5 5 3 3 tabtab 4 4 tabtab 5 5 輸出輸出:a=3,b=4,c=5 :a=3,b=4,c=5 常見問題:常見問題:scanf (“%d,%d,%d”,scanf (“%d,%d,%d”,&a,&b,&c&a,&b,&c) )
33、; 2 2、格式說明、格式說明 以以% %開始,以一個格式符(開始,以一個格式符(d, f, e(e), g(g),c, s, o, d, f, e(e), g(g),c, s, o, x(x)x(x))結束,中間可插普通字符。)結束,中間可插普通字符。 附加格式說明符有:附加格式說明符有: %ld, %lo, %lx :%ld, %lo, %lx :用于輸入長整型數據(十、八、十六進制用于輸入長整型數據(十、八、十六進制數)數) %lf, %le :%lf, %le :用于輸入雙精度類型數據用于輸入雙精度類型數據 %hd, %ho, %hx :%hd, %ho, %hx :用于輸入十、八、十
34、六進制短整型數據用于輸入十、八、十六進制短整型數據 域寬域寬n :n :指出輸入數據所占的列數指出輸入數據所占的列數n n。 * * : :本輸入項讀入后不賦給任何變量。本輸入項讀入后不賦給任何變量。 (1)(1)指出輸入數據所占列數,系統自動按其截取數據。指出輸入數據所占列數,系統自動按其截取數據。 main( ) main( ) int a,b; int a,b; scanf (“%3d%3d”,&a,&b); scanf (“%3d%3d”,&a,&b); printf (“a=%d,b=%dn”,a,b); printf (“a=%d,b=%dn”,a,b); 輸入:輸入:123456
35、789123456789輸出:輸出:a=123,b=456 a=123,b=456 (2)(2)字符型數據若指出字符型數據若指出n n位寬度,則只將第一個字符賦給變位寬度,則只將第一個字符賦給變量。量。 main( ) main( ) char ch; char ch; scanf (“%3c”,&ch); scanf (“%3c”,&ch); printf (“%cn”,ch); printf (“%cn”,ch); 輸入:輸入:abcdabcd輸出:輸出:a a (3)%(3)%后加后加* *, , 表示跳過相應數據表示跳過相應數據 例例 main( ) main( ) int a,b;
36、int a,b; scanf (“%2d % scanf (“%2d %* *3d %2d”,&a,&b); 3d %2d”,&a,&b); printf (“a=%d,b=%dn”,a,b); printf (“a=%d,b=%dn”,a,b); 輸入:輸入:12_345_67812_345_678輸出:輸出:a=12,b=67 a=12,b=67 (4)(4)格式說明中不能規定精度,編譯雖不指出錯誤,但結果格式說明中不能規定精度,編譯雖不指出錯誤,但結果不對。不對。 main( ) main( ) float a; float a; scanf (“%6.2f”,&a); scanf (“
37、%6.2f”,&a); printf (“a=%fn”,a); printf (“a=%fn”,a); tctc:輸入:系統通過,不讓輸入數據輸入:系統通過,不讓輸入數據 輸出:輸出:a=0.000000 a=0.000000 (5)o, x (5)o, x格式輸入格式輸入main ( ) main ( ) int a,b,c; int a,b,c; scanf (“%o%x%c”, &a,&b,&c); scanf (“%o%x%c”, &a,&b,&c); printf (“%d, %d, %dn”,a,b,c); printf (“%d, %d, %dn”,a,b,c); 輸入:輸入:1
38、2 12 12 12 1 12 2輸出:輸出:1010,1818,4949 3 3、使用、使用sacnf sacnf 函數應注意的問題函數應注意的問題 (1)(1)、sacnf()sacnf()中的變量必須使用地址。中的變量必須使用地址。int a, b;int a, b;scanf(%d,%d,a,b);scanf(%d,%d,a,b);scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b);(2)(2)、scanf()scanf()的的“格式控制中格式控制中”,可以使用其它字符,但,可以使用其它字符,但在輸入時必須輸入這些相同的字符。在輸入時必須輸入這些相同的字符。 s
39、canf(%dscanf(%d, ,%d,&a,&b);%d,&a,&b);輸入:輸入: 3 3,4 4 (逗號與(逗號與%d,%d%d,%d中的逗號對應)中的逗號對應) scanf(%dscanf(%d%d,&a,&b);%d,&a,&b); 輸入:輸入:3 34 4 (兩個或以上空格)(兩個或以上空格) scanf(%dscanf(%d:%d%d:%d%d,&h, &m, &s);&h, &m, &s); 輸入:輸入: 1212:2323:36 36 (與格式控制中的冒號對應)(與格式控制中的冒號對應) scanf(a=%d,b=%d,c=%d,&a,&b,&c);scanf(a=%d,b
40、=%d,c=%d,&a,&b,&c); 輸入:輸入:a=12,b=24,c=36 a=12,b=24,c=36 (a=,b=,c=a=,b=,c=及逗號與格式控制及逗號與格式控制相對應)相對應)在用在用%c%c輸入時,空格和輸入時,空格和“轉義字符轉義字符”均作為有效字符。均作為有效字符。例、例、 scanf(%c%c%c,&c1,&c2,&c3);scanf(%c%c%c,&c1,&c2,&c3); 輸入:輸入:a ab bcc 結果:結果:ac1ac1,c2c2,bc3 (bc3 (其余被丟棄其余被丟棄) )(4)(4)、輸入數據時,遇以下情況、輸入數據時,遇以下情況結束一個數據結束一個數
41、據的輸入:(不的輸入:(不是結束該是結束該scanfscanf函數,函數,scanfscanf函數僅在每一個數據域均有函數僅在每一個數據域均有數據,并按回車后結束)。數據,并按回車后結束)。 遇空格、遇空格、“回車回車”、“跳格跳格”鍵。鍵。 遇寬度結束。遇寬度結束。 遇非法輸入。遇非法輸入。 六、程序舉例 例例 輸入三角形的三邊長,計算其面積。輸入三角形的三邊長,計算其面積。設三邊長設三邊長a a、b b、c c,面積,面積areaarea的算法是:的算法是:求平方根函數求平方根函數sqrt()sqrt()在在math.hmath.h中定義。中定義。求平方根函數求平方根函數sqrt()sqr
42、t()在在math.hmath.h中定義。中定義。運行情況如下:運行情況如下: 3,4,6 a= 3.00, b= 4.00, c=6.00area = 5.33 #include math.h#include math.hmain()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/2 s = 1.0/2* *(a+b+c);(a+b+c); area = sqrt(s area = sqrt(s* *(s-a)(s-a)* *(
43、s-b)(s-b)* *(s-c);(s-c); printf(a=7.2f, b=%7.2f, c=%7.2fn,a,b,c); printf(a=7.2f, b=%7.2f, c=%7.2fn,a,b,c); printf(area = %7.2fn,area); printf(area = %7.2fn,area); #include #include main() float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c); disc = b*b - 4*a*c; p = -b/(2*a); q = sqrt(disc)/(2*a); x1 = p + q; x2 = p - q; printf(nnx1=%5.2fnx2=%5.2fn,x1,x2); 例例 分析:華氏溫度分析:華氏溫度(f)(f)與攝
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030便攜式康復設備行業市場深度研究與戰略咨詢分析報告
- 月餅代理試吃活動方案
- 最美班組活動方案
- 春節清倉特賣活動方案
- 村居防詐騙活動方案
- 暑期書店營銷活動方案
- 晟益公司團建活動方案
- 服裝公司五一活動方案
- 暑假實踐體驗活動方案
- 晨光節日活動策劃方案
- 國開(安徽)2024年《內部控制》形考任務1-2答案終考答案
- 100以內加減法豎式計算300道及答案
- 兒科有關疾病課件
- 2024年海南省海口市小升初數學試卷(含答案)
- 臺球俱樂部股東合同范本
- 個人沙石購銷合同協議書
- 人工智能教學設計《圖像識別教學設計》
- 租賃保證金保證書樣式
- 2024-2030年中國氯化聚醚行業市場運行狀況及前景趨勢分析報告
- 眼科結膜病診療規范2023版
- 甘肅省蘭州市2023-2024學年八年級下學期期末考試英語試卷
評論
0/150
提交評論