版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2022-5-71 Program Design in C LanguagePage根本運算符及其表達式C言語程序的根本語句 數(shù)據(jù)的輸入輸出 第四講第四講第三章第三章 根本語句與順序構(gòu)造程序設(shè)計根本語句與順序構(gòu)造程序設(shè)計 2022-5-72 Program Design in C LanguagePageC C言語沒有邏輯型數(shù)據(jù)。因此,言語沒有邏輯型數(shù)據(jù)。因此, 在前往邏輯值時:在前往邏輯值時:用用1 1表示表示“真,用真,用0 0表示表示“假;假; 在判別邏輯值時:在判別邏輯值時:用非用非0 0代表代表“真,用真,用0 0代表代表“假。假。24 根本運算符及其表達式根本運算符及其表達式例:例
2、:#includevoid main()int a=15,b=18,c=10; printf(%d,%d,%dn,ab,abc);0,1,02022-5-73 Program Design in C LanguagePage For instance: 知知a=3,b=2,c=1那么那么 1c = = a + b 結(jié)果為結(jié)果為 0 2a = = b b 結(jié)果為結(jié)果為 124 根本運算符及其表達式根本運算符及其表達式2022-5-74 Program Design in C LanguagePage例例 寫出以下各題的關(guān)系表達式:寫出以下各題的關(guān)系表達式: 1 x 為 不 小 于為 不 小 于
3、- 5 的 整 數(shù)的 整 數(shù) x=5 2x 為非零的數(shù)為非零的數(shù) 35mk2022-5-75 Program Design in C LanguagePage例例#include void main int a ,b ,c ;a = b = c = 10 ; a = b = c ; printf ( “%d , %d , %d n, a , b, c ) ; a = ( b= c+ * 2 ) ; printf ( “%d , %d , %d n, a , b, c ) ; a = b c = 100 ; printf ( “%d , %d , %d n, a , b, c ) ; 2022-
4、5-76 Program Design in C LanguagePage2.4.3 邏輯運算符與邏輯表達式Logical Operators and Precedence關(guān)系表達式只能表達一些簡單的關(guān)系,如:sum=1500y!=z即只能對一個條件進展測試。而以下關(guān)系:而以下關(guān)系: 20 x100那么不能用關(guān)系表達式表達。那么不能用關(guān)系表達式表達。a!a真(1) 假(0)假(0) 真(1)邏輯非!邏輯非! 真真值表值表1.1.邏輯運算符邏輯運算符 C C邏輯運算符:邏輯運算符:含義含義運算符運算符優(yōu)先級優(yōu)先級結(jié)合性結(jié)合性邏輯非邏輯非!2右結(jié)合右結(jié)合邏輯與邏輯與&11左結(jié)合左結(jié)合邏輯或
5、邏輯或|12左結(jié)合左結(jié)合24 根本運算符及其表達式根本運算符及其表達式2022-5-77 Program Design in C LanguagePagea ab ba|ba|b真(1 )真(1 )真(1 )真(1 )真(1 )真(1 )真(1 )真(1 )假(0 )假(0 )真(1 )真(1 )假(0 )假(0 )真(1 )真(1 )真(1 )真(1 )假(0 )假(0 )假(0 )假(0 )假(0 )假(0 )邏輯或邏輯或 真真值表值表aba&b真(真(1)真(真(1)真(真(1)真(真(1)假(假(0)假(假(0)假(假(0)真(真(1)假(假(0)假(假(0)假(假(0)假(假
6、(0)邏輯與邏輯與& 真值表真值表24 根本運算符及其表達式根本運算符及其表達式2022-5-78 Program Design in C LanguagePage2.2.邏輯表達式邏輯表達式Logical ExpressionLogical Expression 用邏輯運算符將表達式銜接起來的式子。用邏輯運算符將表達式銜接起來的式子。如:如: 1) 0 x10 x=0&x5或或x5x15 3)a、b不能同時為零不能同時為零 a=0&b!=0|a!=0&b=0普通方式為:普通方式為:表達式表達式1邏輯運算符表達式邏輯運算符表達式224 根本運算符及其表達式根本運
7、算符及其表達式2022-5-79 Program Design in C LanguagePage 邏輯表達式是構(gòu)成選擇構(gòu)造條件的根本式子。邏輯表達式是構(gòu)成選擇構(gòu)造條件的根本式子。與關(guān)系運算一樣,邏輯表達式結(jié)果的類型為整型。邏輯運算與關(guān)系運算一樣,邏輯表達式結(jié)果的類型為整型。邏輯運算的結(jié)果以整數(shù)的結(jié)果以整數(shù)1 1表示真,以整數(shù)表示真,以整數(shù)0 0表示假。表示假。 留意留意 在計算邏輯表達式時,并非一切的邏輯運算符都參與運算。在計算邏輯表達式時,并非一切的邏輯運算符都參與運算。如:如:x=y=-1; +x&+y; /* x=? y=? */0-124 根本運算符及其表達式根本運算符及其表
8、達式“短路才干短路才干算術(shù)運算算術(shù)運算關(guān)系運算關(guān)系運算邏輯與、或邏輯與、或邏輯非邏輯非運算符運算優(yōu)先級小結(jié):運算符運算優(yōu)先級小結(jié):2022-5-710 Program Design in C LanguagePage 例:例:17 3 & 8 age = 10 ,由于,由于 7 3為零為零 ,那么,那么 8 4 | mum = 0 由于由于 5 4 故故短路短路 ,那么,那么 mum = 0 不執(zhí)行不執(zhí)行 .24 根本運算符及其表達式根本運算符及其表達式2022-5-711 Program Design in C LanguagePage#include void main( ) in
9、t a=-1, b=-1, d=-1; d=(a=1)|(b=1); printf(1) %d, %d, %dn, a, b, d); d=(a=0)|(b=0); printf(2) %d, %d, %dn, a, b, d); d=(a=1)&(b=1); printf(3) %d, %d, %dn, a, b, d); d=(a=0)&(b=0); printf(4) %d, %d, %dn, a, b, d); 例例程序運轉(zhuǎn)結(jié)果程序運轉(zhuǎn)結(jié)果: :(1) 1, -1, 1(1) 1, -1, 1(2) 0, 0, 0(2) 0, 0, 0(3) 1, 1, 1(3) 1,
10、 1, 1(4) 0, 1, 0(4) 0, 1, 02022-5-712 Program Design in C LanguagePage#include void main( ) /*留意短路留意短路*/ int a , b , c , d ; a = b = c = 1 ;d = + a | + b & + c ;printf( “ ( 1 ) %d%d%d%d n “, a , b , c , d ) ;a = b = c = 1 ; d = + a & + b | + c ;printf( “( 2 ) %d%d%d%d n “, a , b , c , d ) ;a
11、 = b = c = 1 ; d = + a & + b & + c ;printf( “( 3 ) %d , %d , %d n “, a , b , c ) ; Run例例程序運轉(zhuǎn)結(jié)果程序運轉(zhuǎn)結(jié)果: :(1) 2111(1) 2111(2) 2211(2) 2211(3) 2,2,2(3) 2,2,22022-5-713 Program Design in C LanguagePage24 根本運算符及其表達式根本運算符及其表達式2.4.4 條件運算符與條件表達式條件運算符:條件運算符: ? : ? : 三目運算符三目運算符 右結(jié)合右結(jié)合例:例:ab?max=a:max=b
12、例:例:(grade=60)?printf(“Passed):printf(“Failed);普通方式:普通方式:?:2022-5-714 Program Design in C LanguagePage2.4.5 賦值運算符與賦值表達式賦值運算符與賦值表達式簡單賦值運算符為簡單賦值運算符為“=;由;由“=銜接的式子稱為簡單賦值表達式銜接的式子稱為簡單賦值表達式(assignment statement) 。普通方式:普通方式: =1 1簡單賦值運算符和簡單賦值表達式簡單賦值運算符和簡單賦值表達式d=25c=a+bz=sqrt(x)+sqrt(y)k=i+-jx=(a=5)+(b=8)例:例:
13、24 根本運算符及其表達式根本運算符及其表達式2022-5-715 Program Design in C LanguagePage賦值運算符優(yōu)先級為賦值運算符優(yōu)先級為14,僅高于逗號運算符,而低于其他一切運算符。,僅高于逗號運算符,而低于其他一切運算符。2.4.5 賦值運算符與賦值表達式賦值運算符與賦值表達式1 1簡單賦值運算符和簡單賦值表達式簡單賦值運算符和簡單賦值表達式賦值運算符為右結(jié)合性賦值運算符為右結(jié)合性 a=b=c=d=10 a=(b=(c=(d=10)24 根本運算符及其表達式根本運算符及其表達式2022-5-716 Program Design in C LanguagePag
14、e賦值運算的類型轉(zhuǎn)換,規(guī)那么為:賦值運算的類型轉(zhuǎn)換,規(guī)那么為: 整型數(shù)據(jù)賦給字符型時,只把低整型數(shù)據(jù)賦給字符型時,只把低8 8位賦給字符變量。位賦給字符變量。字符型數(shù)據(jù)賦給整型變量時,整型變量的高八位補字符型數(shù)據(jù)賦給整型變量時,整型變量的高八位補0 0,低八位取字,低八位取字符的符的ASCIIASCII碼值。碼值。 整型數(shù)據(jù)賦給實型變量時,以浮點方式取值。整型數(shù)據(jù)賦給實型變量時,以浮點方式取值。 實型數(shù)據(jù)賦給整型變量時,只取整數(shù)部分。實型數(shù)據(jù)賦給整型變量時,只取整數(shù)部分。如如: K=8.88 (k值為值為8)如如: f=15 (f: f=15 (f值為值為15.000000)15.000000
15、)如如: K=: K=A A (k (k值為值為65)65)如如: C=578 (C: C=578 (C值為字母值為字母B)B)24 根本運算符及其表達式根本運算符及其表達式2022-5-717 Program Design in C LanguagePage2 2復(fù)合賦值運算符和復(fù)合賦值表達式復(fù)合賦值運算符和復(fù)合賦值表達式復(fù)合賦值運算符是在簡單賦值運算符前加雙目運算符構(gòu)成。復(fù)合賦值運算符是在簡單賦值運算符前加雙目運算符構(gòu)成。共以下共以下1010種:種: +=,-=, +=,-=,* *=,/=,%=,=,&=,=,|=,/=,%=,=,&=,=,|=24 根本運算符及其表達式
16、根本運算符及其表達式例:例:a+=5x*=y+7x+=x-=x*=xa=a+5x=x*(y+7)x=x+(x=x-(x=x*x)復(fù)合賦值運算符優(yōu)先級復(fù)合賦值運算符優(yōu)先級14,右結(jié)合性。,右結(jié)合性。2022-5-718 Program Design in C LanguagePage2.4.6 逗號運算符和逗號表達式逗號運算符和逗號表達式逗號運算符逗號運算符“ , 用逗號運算符將各表達式銜接起來的式子稱為逗號表用逗號運算符將各表達式銜接起來的式子稱為逗號表達式。達式。 逗號運算符優(yōu)先級逗號運算符優(yōu)先級15,是,是一切運算符中最低的。一切運算符中最低的。24 根本運算符及其表達式根本運算符及其表達
17、式普通方式:普通方式:, #includevoid main()int a=2,b=4,c,y; y=(c=a*b),(b+c); printf(y=%dn,y);例:例:y=12 程序中并非一切出現(xiàn)逗號的地程序中并非一切出現(xiàn)逗號的地方都組成逗號表達式。方都組成逗號表達式。如:如:int a=2,b=4,c=6,x,y;printf(y=%d, x=%d, y, x); /* 分隔符分隔符 */2022-5-719 Program Design in C LanguagePage31 C言語程序的根本語句言語程序的根本語句3.1 C言語程序的根本語句言語程序的根本語句 C言語語句分為五類:表達
18、式語句、函數(shù)調(diào)用語言語語句分為五類:表達式語句、函數(shù)調(diào)用語句、控制語句、復(fù)合語句、空語句。句、控制語句、復(fù)合語句、空語句。1表達式語句表達式語句由一個表達式組成一個語句。由一個表達式組成一個語句。 如:如: +p; /*自增運算表達式加分號構(gòu)成語句自增運算表達式加分號構(gòu)成語句*/ N+=10; /*復(fù)合賦值表達式加分號構(gòu)成語句復(fù)合賦值表達式加分號構(gòu)成語句*/ a+b; /* a+b表達式加分號構(gòu)成語句表達式加分號構(gòu)成語句*/2函數(shù)調(diào)用語句函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加上分號由一次函數(shù)調(diào)用加上分號“;組成;組成 。方式:函數(shù)名方式:函數(shù)名(實參列表實參列表) ;如:如: printf(“Very
19、Good!n); /*輸出輸出Very Good!*/ max(x,y,z); /*調(diào)用自定義函數(shù)調(diào)用自定義函數(shù)max,求,求x,y,z中的最大中的最大數(shù)數(shù)*/2022-5-720 Program Design in C LanguagePage4.復(fù)合語句復(fù)合語句: 用用 括起來組成的一個語句括起來組成的一個語句 如:如:if ab x=0;b=b+1;x=a;5.空語句:僅由一個分號構(gòu)成的語句空語句:僅由一個分號構(gòu)成的語句3.控制語句:控制程序的流程控制語句:控制程序的流程 如:如:ifelse語句,語句,while語句,語句,return語句等。語句等。 如:如:while (getch
20、ar( ) != n ) ; /*空語句空語句*/3.1 C3.1 C言語程序的根本語句言語程序的根本語句 2022-5-721 Program Design in C LanguagePage3.3 數(shù)據(jù)輸入輸出數(shù)據(jù)輸入輸出輸入和輸出功能是一個完好的程序必不可少的。輸入和輸出功能是一個完好的程序必不可少的。C言語本身沒有提供輸入輸出語句,而是經(jīng)過調(diào)用言語本身沒有提供輸入輸出語句,而是經(jīng)過調(diào)用C系系統(tǒng)的規(guī)范函數(shù)來實現(xiàn)輸入輸出功能的。其中最根本的統(tǒng)的規(guī)范函數(shù)來實現(xiàn)輸入輸出功能的。其中最根本的輸入輸出函數(shù)有輸入輸出函數(shù)有printf()(格式輸出格式輸出),scanf()(格式輸格式輸入入),pu
21、tchar()(字符輸出字符輸出),getchar()(字符輸入字符輸入)等。等。C言語對數(shù)據(jù)的輸入、數(shù)據(jù)的輸出是經(jīng)過函數(shù)實現(xiàn)。言語對數(shù)據(jù)的輸入、數(shù)據(jù)的輸出是經(jīng)過函數(shù)實現(xiàn)。Each source file that refers to an input/output library function must contain the line #include 2022-5-722 Program Design in C LanguagePage功能:按格式控制字符串規(guī)定的格式,向指定的功能:按格式控制字符串規(guī)定的格式,向指定的輸出設(shè)備輸出在輸出表列中列出的各輸出項。輸出設(shè)備輸出在輸出表列中列
22、出的各輸出項。(it converts,formats,and prints its arguments on the standard output under control of the format. )輸出方式由輸出方式由“格式控制字符串規(guī)定。格式控制字符串規(guī)定。3.3.1 Formatted output :printf( )函數(shù)和函數(shù)和scanf( )函函數(shù)數(shù)普通方式:普通方式: printf(“格式控制字符串,輸出表列格式控制字符串,輸出表列);3.3 3.3 數(shù)據(jù)輸入輸出數(shù)據(jù)輸入輸出1. printf( )函數(shù)函數(shù)2022-5-723 Program Design in C
23、LanguagePage格式控制格式控制Format control :由雙引號:由雙引號(double quote)括起來的字符串,用于指定要輸出的數(shù)據(jù)括起來的字符串,用于指定要輸出的數(shù)據(jù)的格式。的格式。它包括:它包括: 1普通字符普通字符ordinary characters作用:作用:which are copied to the output stream3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)普通起提示作用。如普通起提示作用。如 printf(“a+b=%d,c);其中其中“a+b=是普通字符
24、。普通字符可以根據(jù)需求是普通字符。普通字符可以根據(jù)需求來運用,不是必需項。來運用,不是必需項。2022-5-724 Program Design in C LanguagePage2格式闡明格式闡明 (Conversion specifications):用來指定需輸出數(shù)據(jù)的輸出格式的,其方式用來指定需輸出數(shù)據(jù)的輸出格式的,其方式為:為: % 格式字符格式字符 格式字符用以闡明輸出數(shù)據(jù)的類型,方式,格式字符用以闡明輸出數(shù)據(jù)的類型,方式,長度,小數(shù)位數(shù)等。長度,小數(shù)位數(shù)等。輸出表列:需求輸出的數(shù)據(jù)列表,彼此間用逗輸出表列:需求輸出的數(shù)據(jù)列表,彼此間用逗號分隔。它可是恣意合法的表達式。號分隔。它可
25、是恣意合法的表達式。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-725 Program Design in C LanguagePage用于輸出的格式字符用于輸出的格式字符格式符功 能形 式d輸出十進制整數(shù)%d 、%md 、%ld 、%mldo以八進制方式輸出整數(shù)%o 、%mo 、%lox X以十六進制方式輸出整數(shù)%x 、%mx 、%lxu以十進制方式輸出一個無符號的數(shù)%uc輸出一個字符% cs輸出一個字符串%s 、 %ms 、 % m.nsf以小數(shù)的方式輸出實數(shù)%f、%m.nf、%lfe E
26、以規(guī)范指數(shù)的方式輸出實數(shù)%e 、 %m.neg G根據(jù)實數(shù)的大小自動按f或e的方式選擇輸出格式% g3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù) % 輸出一個百分號輸出一個百分號2022-5-726 Program Design in C LanguagePage修飾符功 能l用于長整型、雙精度型數(shù)據(jù)可加在格式符d 、o 、x 、u、f 前m數(shù)據(jù)的最小寬度n對實數(shù),表示輸出 n 位小數(shù)對字符串,表示從左端截取的n 個字符輸出的數(shù)字或字符左對齊,右邊填補空格用于輸出的修飾符用于輸出的修飾符3.3.1 3.3.
27、1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-727 Program Design in C LanguagePage3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)修飾符修飾符意義意義-結(jié)果左對齊,右邊填空格。結(jié)果左對齊,右邊填空格。+輸出符號(正號或負號)。輸出符號(正號或負號)??崭窨崭袢糨敵鲋禐檎龝r就輸入空格,為負時輸出負號。若輸出值為正時就輸入空格,為負時輸出負號。#對格式字符對格式字符c,s,d,u無影響。對無影響。對o
28、格式字符,在輸出時加前綴格式字符,在輸出時加前綴0;對;對x或或X格式字符,在輸出時加前綴格式字符,在輸出時加前綴0 x或或0X;對;對f,e,g 格式格式字符,當(dāng)結(jié)果有小數(shù)時才輸出小數(shù)點。字符,當(dāng)結(jié)果有小數(shù)時才輸出小數(shù)點。0輸出時空位填輸出時空位填0(如省略表示指定空位不填如省略表示指定空位不填)。h長度修飾符,表示按短整型輸出。長度修飾符,表示按短整型輸出。l長度修飾符,表示對整型按長度修飾符,表示對整型按long(長整型長整型)輸出,對浮點型指輸出,對浮點型指double型。型。m(一個整數(shù)一個整數(shù))指域?qū)?,?shù)據(jù)最小寬度。指域?qū)?,?shù)據(jù)最小寬度。n(一個整數(shù)一個整數(shù))表示輸出精度。對實數(shù),
29、表示輸出表示輸出精度。對實數(shù),表示輸出n位小數(shù);對字符串位小數(shù);對字符串,表示表示截取的字符個數(shù)。截取的字符個數(shù)。2022-5-728 Program Design in C LanguagePage例:格式輸出:例:格式輸出:printf函數(shù)函數(shù) printf a+b = %5.2 f , c );附加附加格式符格式符格式符格式符輸出表列輸出表列普通字符普通字符格式闡明符格式闡明符格式控制格式控制3.3.1 格式輸出:格式輸出:printf( )函數(shù)和函數(shù)和scanf( )函數(shù)函數(shù)2022-5-729 Program Design in C LanguagePage(1) d格式字符格式字符
30、d:按整型數(shù)據(jù)的實踐長度輸出:按整型數(shù)據(jù)的實踐長度輸出md:m為指定的輸出長度。假設(shè)數(shù)據(jù)位小于為指定的輸出長度。假設(shè)數(shù)據(jù)位小于m,那么左端補以空格那么左端補以空格;大于大于m,那么按實踐位輸出。,那么按實踐位輸出。例:例:printf(“%4d,%4d,a,b); 假設(shè)假設(shè)a=12, b=12345,那么輸出,那么輸出 12,12345ld:輸出長整型數(shù)據(jù)。:輸出長整型數(shù)據(jù)。d d的輸出范圍為的輸出范圍為32768327673276832767,輸出超越該,輸出超越該范圍的整型數(shù)就會出錯,此時用范圍的整型數(shù)就會出錯,此時用%ld%ld輸出。輸出。其輸出格式和功能與其輸出格式和功能與%d%d一樣
31、,如:一樣,如:8ld8ld3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-730 Program Design in C LanguagePage(2) o格式字符格式字符以八進制數(shù)方式輸出整數(shù),且不帶符號。以八進制數(shù)方式輸出整數(shù),且不帶符號。對于長整數(shù)可用對于長整數(shù)可用“l(fā)o輸出。功能同十進制輸出。輸出。功能同十進制輸出。(3) x格式字符格式字符以十六進制數(shù)方式輸出整數(shù),且不帶符號。以十六進制數(shù)方式輸出整數(shù),且不帶符號。對于長整數(shù)可用對于長整數(shù)可用“l(fā)x輸出。功能同十進制輸出。輸出。功能同十
32、進制輸出。(4) u格式字符格式字符用來輸出用來輸出unsigned型數(shù)據(jù),即無符號數(shù),輸出十型數(shù)據(jù),即無符號數(shù),輸出十進制數(shù)。進制數(shù)。用用o o,%x%x輸出負數(shù)時會發(fā)生錯誤。輸出負數(shù)時會發(fā)生錯誤。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-731 Program Design in C LanguagePage(5) c格式字符格式字符 一個整數(shù),假設(shè)在一個整數(shù),假設(shè)在02550255之間,也可用字符方式輸出,之間,也可用字符方式輸出,系統(tǒng)會將該整數(shù)轉(zhuǎn)換成相對應(yīng)的系統(tǒng)會將該整數(shù)轉(zhuǎn)換成相對應(yīng)
33、的ASCIIASCII碼字符;同時,一碼字符;同時,一字符也可以用整數(shù)方式輸出。字符也可以用整數(shù)方式輸出。例:例:char c=a; printf(“%c,c);用來輸出一個字符。用來輸出一個字符。int a=65;printf (“%c,a); int c=A;printf (“%d,c); 輸出輸出A輸出輸出65如如:printf(:printf(“%3c%3c,c),c),那么輸出那么輸出c格式字符也可以指定輸出字數(shù)寬度格式字符也可以指定輸出字數(shù)寬度 A3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)20
34、22-5-732 Program Design in C LanguagePage(6) s格式字符格式字符s:用來輸出一個字符串:用來輸出一個字符串例:例:printf(“%s,“Hello!); 輸出輸出Hello!,不包括!,不包括“ ms:輸出的字符串占:輸出的字符串占m列。假設(shè)字符串長度小于列。假設(shè)字符串長度小于m,那么左端補以空格;長度大于那么左端補以空格;長度大于m,那么輸出整個字符串。,那么輸出整個字符串。-ms:假設(shè)串長小于:假設(shè)串長小于m,那么字符串向左靠,右補空,那么字符串向左靠,右補空格,其他同上。格,其他同上。m.ns:輸出的字符串占:輸出的字符串占m列列,但只取字符
35、串中左端但只取字符串中左端n個個字符,這字符,這n個字符輸出在個字符輸出在m列的右側(cè),左端補空格。列的右側(cè),左端補空格。-m.ns:其他意義同:其他意義同m.ns,右補空格。,右補空格。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)例:例:printf(“%3s,“Hello!); 輸出輸出Hello! printf(“%7s,“Hello!); 輸出輸出 Hello!2022-5-733 Program Design in C LanguagePage(7) f格式字符格式字符f:不指定字段寬度,整數(shù)部分全
36、部輸出,小數(shù):不指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出部分輸出6位。位。m.nf:指定輸出數(shù)據(jù)占:指定輸出數(shù)據(jù)占m列,其中有列,其中有n位小數(shù)。位小數(shù)。假設(shè)數(shù)值長度小于假設(shè)數(shù)值長度小于m,那么左端補以空格。,那么左端補以空格。-m.nf:功能同上,右端補以空格。:功能同上,右端補以空格。(8) e格式字符格式字符e:不指定字段寬度,系統(tǒng)自動給出:不指定字段寬度,系統(tǒng)自動給出6位小數(shù),指位小數(shù),指數(shù)部分占數(shù)部分占4位。其中位。其中“e占占1位,指數(shù)符號占位,指數(shù)符號占1位,位,指數(shù)占指數(shù)占2位。位。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和
37、scanf( )scanf( )函數(shù)函數(shù)2022-5-734 Program Design in C LanguagePage例:例:printf(“%e,123.456);輸出:輸出:1.234560e+026 6位小數(shù)部分位小數(shù)部分4 4位指數(shù)部分位指數(shù)部分(tc)(tc)為指數(shù)部分為指數(shù)部分m.ne, -m.ne, me :中:中m,-的意義和前一樣,的意義和前一樣,n是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。(9) g格式字符格式字符 用來輸出實數(shù),根據(jù)數(shù)值大小,自動選用來輸出實數(shù),根據(jù)數(shù)值大小,自動選f或或e格式,且不輸出無意義的零。格式,且不輸出無意義的零。3.3
38、.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)5 5位為指數(shù)部位為指數(shù)部分分(vc+)(vc+)e+0022022-5-735 Program Design in C LanguagePage#include void main() int a=1234; float f1=12.34567,f2=678.9; printf(1%d,%6d,%-6d,%2d;n,a,a,a,a); printf(2%f,%10.4f,%3.2f;n,f1,f1,f1); printf(3%e,%e;n,f1,f2); printf
39、(4%8e,%14e;n,f1,f1); printf(5%10.7e,%10.3e;n,f1,f1); 實例:實例:程序運轉(zhuǎn)結(jié)果:程序運轉(zhuǎn)結(jié)果:11234, 1234,1234 ,1234;212.345670, 12.3457,12.35;31.23457e+001,6.789000e+002;41.23457e+001, 1.234567e+001;51.2345670e+001, 1.235e+001;2022-5-736 Program Design in C LanguagePage例:例:printf(“%e,123.456);輸出:輸出:1.234560e+026 6位小數(shù)部分
40、位小數(shù)部分4 4位指數(shù)部分位指數(shù)部分(tc)(tc)為指數(shù)部分為指數(shù)部分m.ne, -m.ne, me :中:中m,-的意義和前一樣,的意義和前一樣,n是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。(9) g格式字符格式字符 用來輸出實數(shù),根據(jù)數(shù)值大小,自動選用來輸出實數(shù),根據(jù)數(shù)值大小,自動選f或或e格式,且不輸出無意義的零。格式,且不輸出無意義的零。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)5 5位為指數(shù)部位為指數(shù)部分分(vc+)(vc+)e+0022022-5-737 Program D
41、esign in C LanguagePage#include void main() int a=1234; float f1=12.34567,f2=678.9; printf(1%d,%6d,%-6d,%2d;n,a,a,a,a); printf(2%f,%10.4f,%3.2f;n,f1,f1,f1); printf(3%e,%e;n,f1,f2); printf(4%8e,%14e;n,f1,f1); printf(5%10.7e,%10.3e;n,f1,f1); 實例:實例:程序運轉(zhuǎn)結(jié)果:程序運轉(zhuǎn)結(jié)果:11234, 1234,1234 ,1234;212.345670, 12.34
42、57,12.35;31.23457e+001,6.789000e+002;41.23457e+001, 1.234567e+001;51.2345670e+001, 1.235e+001;2022-5-738 Program Design in C LanguagePage2、格式輸入:、格式輸入:scanf( )函數(shù)函數(shù)功能:從終端輸入任何類型的多個數(shù)據(jù)功能:從終端輸入任何類型的多個數(shù)據(jù) 格式:格式:scanf(格式控制格式控制,地址表列,地址表列);格式控制:由雙引號括起來的字符串,用于指定要輸入格式控制:由雙引號括起來的字符串,用于指定要輸入的數(shù)據(jù)的格式。的數(shù)據(jù)的格式。1普通字符:按原樣
43、輸入的字符;普通字符:按原樣輸入的字符; 2格式闡明:用來指定需輸入數(shù)據(jù)的輸入格式的,格式闡明:用來指定需輸入數(shù)據(jù)的輸入格式的,其方式為:其方式為: % 格式字符格式字符3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)地址表列:由假設(shè)干個變量地址組成的表列。地址表列:由假設(shè)干個變量地址組成的表列。 地址是由運算得到的。地址是由運算得到的?!笆侨≈愤\算符,單目運算符,右結(jié)合性。是取址運算符,單目運算符,右結(jié)合性。2022-5-739 Program Design in C LanguagePage例:例:&
44、;a, &chr, &i,&a, &chr, &i,分別表示變量分別表示變量a, chr, ia, chr, i的地址,該地的地址,該地址是在編譯銜接時系統(tǒng)分配給變量址是在編譯銜接時系統(tǒng)分配給變量a, chr, ia, chr, i的地址。的地址。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)用于輸入的修飾符修飾符功 能l用于長整型、雙精度型數(shù)據(jù)可加在格式符 d、o、x、f、e 前h用于短整型數(shù)據(jù)可加在格式符 d、o、x 前m(域?qū)挘?指定輸入數(shù)據(jù)所占的寬度(列數(shù))*表
45、示本輸入項在讀入后不賦給相應(yīng)的變量2022-5-740 Program Design in C LanguagePage用于輸入的格式字符格式符功 能形式d輸入十進制整數(shù)%d、%ld、%hd% md、%mldo輸入八進制整數(shù)%o、%mo、%lox輸入十六進制整數(shù)%x、%mx、%lxc輸入一個字符%cs輸入一個字符串%s、%msf%f、%mf、%lfe%e、%me、%le以小數(shù)或指數(shù)的形式輸入實數(shù)兩者功能相同,可互換3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-741 Program Design
46、 in C LanguagePage格式輸入的運用與留意:格式輸入的運用與留意:輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的分隔符一致。輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的分隔符一致。例例1: scanf%d%f%d, &a, &b, &c; 格式符中無普通字符時,可用空格、格式符中無普通字符時,可用空格、Tab鍵、回車鍵作分隔符。鍵、回車鍵作分隔符。如:如:12 3.45 678 或或 12Tab3.45Tab678例例2: scanf%d,%f,%d, &a, &b, &c; 必需采用格式:必需采用格式:12,3.45,678 例例3: scan
47、fa=%d, b=%d, &a, &b; 必需采用格式:必需采用格式: a=12, b=345 3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-742 Program Design in C LanguagePage無符號數(shù)可用無符號數(shù)可用 %d、%o、%x 格式輸入。格式輸入。輸入格式符帶有輸入格式符帶有 * :表示該數(shù)據(jù)不賦值。:表示該數(shù)據(jù)不賦值。 例:例:scanf%d%*d%d, &a, &c; 鍵入鍵入: 12 34 567 那么那么 a=12, c=56
48、7, 34未賦值。未賦值。數(shù)據(jù)輸入時不可規(guī)定精度,但可確定寬度。數(shù)據(jù)輸入時不可規(guī)定精度,但可確定寬度。 例:例:scanf%3f%3c, &a, &b; 合法。合法。 例:例:scanf%3.2f%3c, &a, &b; 非法。非法。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-743 Program Design in C LanguagePage用用c格式符輸入字符時,空格、本義字符均為有效格式符輸入字符時,空格、本義字符均為有效字符。字符。 例例 scanf
49、%c%c%c, &a, &b, &c; 假設(shè)鍵入假設(shè)鍵入 ABC 那么那么 a=A,b=B,c=C 假設(shè)鍵入假設(shè)鍵入 A B C 那么那么 a=A,b= ,c=B 假設(shè)鍵入假設(shè)鍵入 A B 那么那么 C 未送,結(jié)果已出為未送,結(jié)果已出為: a=A,b= ,c=B3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)2022-5-744 Program Design in C LanguagePage 在以下情況下可以為數(shù)據(jù)輸入終了:在以下情況下可以為數(shù)據(jù)輸入終了: 遇空格、回車、跳格鍵遇空格、
50、回車、跳格鍵TabTab時;時; 遇寬度終了;遇寬度終了; 非法輸入。非法輸入。3.3.1 3.3.1 格式輸出:格式輸出:printf( )printf( )函數(shù)和函數(shù)和scanf( )scanf( )函數(shù)函數(shù)在格式控制字符串中可包含本義字符。在格式控制字符串中可包含本義字符。 例例: 1) printf(“1) %sn,“ Very Good!); 2) printf(“2) “%sn,“Very Good!); 輸出結(jié)果:輸出結(jié)果:Very Good!“Very Good!2022-5-745 Program Design in C LanguagePage例:自增、自減運算符程序?qū)嵗?/p>
51、:自增、自減運算符程序?qū)嵗?main ( ) int i ; i=1; printf(“1)i=%d; 2)i=%d; 3)i=%d; 4)i=%d; 5)i=%d; 6)i=%d; 7)i=%d;n, i, i+, i , i-,+i, i, -i); 程序運轉(zhuǎn)結(jié)果:程序運轉(zhuǎn)結(jié)果:1)i=1; 2)i=0; 3)i=0; 4)i=1; 5)i=1; 6)i=0; 7)i=0;不同的編譯系統(tǒng)對輸出表列中的求值順序不一定一樣。不同的編譯系統(tǒng)對輸出表列中的求值順序不一定一樣??梢詮淖蟮接?,也可從右到左??梢詮淖蟮接?,也可從右到左。 TC和和BC是按從右到左進展的。是按從右到左進展的。 2022-5
52、-746 Program Design in C LanguagePagemain( ) int a; float b ; char c ; printf(按格式按格式%d%f%c送數(shù)送數(shù):); scanf(%d%f%c, &a, &b, &c); printf(a=%d, b=%f, c=%c,n,a, b, c); printf(按格式按格式%d,%f,%c送數(shù)送數(shù):); scanf(%d,%f,%c, &a, &b, &c); printf(a=%d, b=%f, c=%c,n,a, b, c); printf(按格式按格式%6d%6f%6
53、c送數(shù)送數(shù):); scanf(%6d%6f%6c, &a, &b, &c); printf(a=%d, b=%f, c=%c,n,a, b, c); 程序運轉(zhuǎn)結(jié)果:程序運轉(zhuǎn)結(jié)果:按格式按格式%d%f%c送數(shù)送數(shù):234.5pa=23, b=4.500000, c=p,按格式按格式%d,%f,%c送數(shù)送數(shù):23,4.5,pa=23, b=4.500000, c=p,按格式按格式%6d%6f%6c送數(shù)送數(shù): 234.5pa=23, b=4.500000, c=p,程序?qū)嵗绦驅(qū)嵗? 1:2022-5-747 Program Design in C LanguagePagem
54、ain( ) char a, b, c, d, e ; scanf(%c%c%c, &a, &b, &c); scanf(%3c%3c, &d, &e); printf(%c, %c, %cn, a, b, c); printf(%c, %cn, d, e); 程序?qū)嵗绦驅(qū)嵗?:程序運轉(zhuǎn)結(jié)果程序運轉(zhuǎn)結(jié)果:12345 1, 2, 34, 5程序運轉(zhuǎn)結(jié)果程序運轉(zhuǎn)結(jié)果(錯誤錯誤):123451, 2, 3 ,2022-5-748 Program Design in C LanguagePage例:執(zhí)行以下程序時,假設(shè)從第一列開場輸入數(shù)例:執(zhí)行以下程序時,假設(shè)
55、從第一列開場輸入數(shù)據(jù),為使變量據(jù),為使變量a=3,b=7,x=8.57,y=71.82,c1=A,c2=a ,正確的數(shù)據(jù)正確的數(shù)據(jù)輸入格式是什么?輸入格式是什么?#include void main( ) int a, b; float x,y; char c1,c2; scanf(a=%d b=%d, &a, &b); scanf(x=%f y=%f, &x, &y); scanf(c1=%c c2=%c, &c1, &c2); printf(a=%d, b=%d,x=%f,y=%f,c1=%c,c2= %cn, a, b, x,y,c1,c2
56、); 2022-5-749 Program Design in C LanguagePage1、字符輸出:、字符輸出:putchar( )函數(shù)函數(shù)格式:格式: putchar ( );功能:向終端輸出一個字符。功能:向終端輸出一個字符。C為方式參數(shù),它可以是字符型變量、整型變?yōu)榉绞絽?shù),它可以是字符型變量、整型變量,字符型常量或本義字符。量,字符型常量或本義字符。3.3.23.3.2字符輸入輸出函數(shù)字符輸入輸出函數(shù):putchar:putchar函數(shù)和函數(shù)和getchargetchar函數(shù)函數(shù)2022-5-750 Program Design in C LanguagePagevoid mai
57、n( ) char a ; int b ; a=b; b = 111; putchar( a ); putchar( b ); putchar(y); putchar(n); 例:運用例:運用putchar( )函數(shù)函數(shù)程序運轉(zhuǎn)結(jié)果:程序運轉(zhuǎn)結(jié)果:boy“o的的ASCII碼為碼為1113.3.23.3.2字符輸入輸出函數(shù)字符輸入輸出函數(shù):putchar:putchar函數(shù)和函數(shù)和getchargetchar函數(shù)函數(shù)2022-5-751 Program Design in C LanguagePage1 1、字符輸入:、字符輸入:getchar( )getchar( )函數(shù)函數(shù)格式:格式: ge
58、tchar ( );功能:從終端輸入一個字符。功能:從終端輸入一個字符。getchar()只能接納一個字符,該字符可賦給字只能接納一個字符,該字符可賦給字符變量、整型變量或作為表達式的一部分。符變量、整型變量或作為表達式的一部分。例:例: main( ) char c ; c=gethar( ); putchar( c ); 輸入一個字符,輸入一個字符,再將該字符輸出再將該字符輸出3.3.23.3.2字符輸入輸出函數(shù)字符輸入輸出函數(shù):putchar:putchar函數(shù)和函數(shù)和getchargetchar函數(shù)函數(shù)2022-5-752 Program Design in C LanguagePag
59、e例:將十進制數(shù)例:將十進制數(shù) 407 407 轉(zhuǎn)換為八進制數(shù)。轉(zhuǎn)換為八進制數(shù)。main int m, n1, n2, n3; m=407; n1=m%8; / * n1為個位為個位 * / n2=m/8%8; / * n2為十位為十位 * / n3=m/8/8%8; / * n3為百位為百位 * / printf407=0%dn,n3*100+n2*10+n1); 3.3.23.3.2字符輸入輸出函數(shù)字符輸入輸出函數(shù):putchar:putchar函數(shù)和函數(shù)和getchargetchar函數(shù)函數(shù)2022-5-753 Program Design in C LanguagePage程序舉例程序
60、舉例1 輸入三角形的三邊長,求輸入三角形的三邊長,求area分析:area=sqrt(s(s-a)(s-b)(s-c), s=(a+b+c)/2(1) define variables: area,s, a,b,c(2) input data: use scanf(),a,b,c(3) algorithm:s=(a+b+c)/2 area=sqrt(s(s-a)(s-b)(s-c)(4) output data:use printf(),area Declare variables area,s,a,b,cInput a,b,cs=(a+b+c)/2area=sqrt(s(s-a)(s-b)(s-c)output area2022-5-754 Program Design in C LanguagePage程序:程序:#include #include void main() float a,b,c,s,area; scanf(“%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c); area= sqrt(s*(s-a)*(s-b)*(s-c); printf(“area=%7.2fn,area);202
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建漳州市海洋與漁業(yè)執(zhí)法支隊招聘勞務(wù)派遣人員32人備考題庫及1套參考答案詳解
- 淺埋暗挖大斷面城市隧道關(guān)鍵技術(shù)
- 中國火箭公司2026校園招聘備考題庫及一套答案詳解
- 2026重慶市萬州區(qū)龍沙鎮(zhèn)人民政府招聘非全日制公益性崗位1人備考題庫及參考答案詳解
- 中國疾病預(yù)防控制中心教育培訓(xùn)處(研究生院)招聘合同制1人備考題庫及1套參考答案詳解
- 中國物流2026屆校園招聘備考題庫有答案詳解
- 職業(yè)技能培訓(xùn)課件
- 檔案管理員培訓(xùn)班考核試題及答案
- 艾滋病專題知識
- 胸痹的脈診技巧
- 司機入職心理測試題及答案
- 退休支部換屆工作報告
- T/CMES 37002-2022景區(qū)玻璃類游樂和觀景設(shè)施建造單位能力條件要求
- T/CATCM 029-2024中藥材產(chǎn)地加工(趁鮮切制)生產(chǎn)技術(shù)規(guī)范
- 2025至2030中國氯蟲苯甲酰胺行業(yè)應(yīng)用狀況及未來前景展望報告
- 網(wǎng)絡(luò)游戲代練團隊服務(wù)合作協(xié)議
- 活牛轉(zhuǎn)讓協(xié)議書
- 高血壓病人的手術(shù)中護理
- 乙肝患者透析管理規(guī)范
- 老人臨終前的正確護理
- 防性侵家長會課件教學(xué)
評論
0/150
提交評論