




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
順序結(jié)構程序設計1第1頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院2賦值表達式和賦值語句簡單的格式輸入與輸出要點第2頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院3主要內(nèi)容1程序的三種基本結(jié)構2C語句概述3賦值表達式和賦值語句4數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)5字符數(shù)據(jù)的輸入輸出6簡單的格式輸入與輸出7較復雜的輸入輸出格式控制第3頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院41
程序的三種基本結(jié)構一個良好的程序由以下三種基本結(jié)構組成:
(1)順序結(jié)構
(2)選擇結(jié)構
(3)循環(huán)結(jié)構第4頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院5順序結(jié)構
數(shù)據(jù)的輸入和傳遞
數(shù)據(jù)的操作結(jié)果的輸出BeginEndAInputCBOperationOnput1
程序的三種基本結(jié)構第5頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院62C語句概述C程序的結(jié)構:C程序源程序文件1源程序文件2源程序文件n預處理命令函數(shù)n函數(shù)1數(shù)據(jù)聲明函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語句第6頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院7C語句分為5類控制語句函數(shù)調(diào)用語句表達式語句空語句復合語句2C語句概述一個語句經(jīng)編譯后產(chǎn)生若干條機器指令第7頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院83
賦值表達式和賦值語句1.賦值運算符
賦值符號“=”就是賦值運算符,它的作用是將一個數(shù)據(jù)賦給一個變量。
例:“a=3”2.復合的賦值運算符 在賦值符“=”之前加上其他運算符,可以構成復合的運算符。 例:a+=3等價于a=a+3先計算a加3,再賦給a
把常量3賦給變量a
第8頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院92.復合的賦值運算符
凡是二元(二目)運算符,都可以與賦值符一起組合成復合賦值符。有關算術運算的復合賦值運算符有:
+=,-=,*=,/=,%=
C語言采用這種復合運算符,一是為了簡化程序,使程序精練,二是為了提高編譯效率,能產(chǎn)生質(zhì)量較高的目標代碼。3賦值表達式和賦值語句第9頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院103.賦值表達式一般形式為:變量賦值運算符表達式例:a=3賦值運算符左側(cè)的標識符稱為“左值”賦值運算符右側(cè)的表達式稱為“右值”注意:運算表達式和常量就不能作為左值任何左值都可做右值3賦值表達式和賦值語句第10頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院11
思考題:下列各式中,a、b、c的值及賦值表達式的值分別是多少?
a=b=c=15 a=(b=6)+3 a=(b=7)+(c=2) a=(b=10)*(c=2)3賦值表達式和賦值語句第11頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院12
3.賦值表達式 分析賦值表達式:
(a=3*5)=4*3
賦值表達式為左值右值說明:先執(zhí)行括號內(nèi)的運算,將15賦給a,然后執(zhí)行4*3的運算,得12,再把12賦給a。最后a的值為12,整個表達式的值為12。注意:賦值表達式作為左值時應加括號
思考:a=3*5=4*3?3賦值表達式和賦值語句第12頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院13
賦值表達式也可以包含復合的賦值運算符。 例:a+=a-=a*a賦值表達式作為表達式的一種,不僅可以出現(xiàn)在賦值語句中,而且可以以表達式形式出現(xiàn)在其他語句(如輸出語句、循環(huán)語句等)中。 例:printf(“%d”,a=b);3賦值表達式和賦值語句第13頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院14賦值過程中的類型轉(zhuǎn)換如果賦值運算符兩側(cè)的類型一致,則直接進行賦值。例:i=6(假設i已定義為int型)如果賦值運算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時,在賦值時要進行類型轉(zhuǎn)換。類型轉(zhuǎn)換是系統(tǒng)自動進行的。3賦值表達式和賦值語句第14頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院15轉(zhuǎn)換規(guī)則:
⑴將浮點型數(shù)據(jù)(包括單、雙精度)賦給整型變量時,先對浮點數(shù)取為整,然后賦予整型變量。⑵將整型數(shù)據(jù)賦給單、雙精度變量時,數(shù)值不變,但以浮點數(shù)形式存儲到變量中。賦值過程中的類型轉(zhuǎn)換第15頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院16賦值過程中的類型轉(zhuǎn)換⑶將一個double型數(shù)據(jù)賦給float變量時,截取其前面7位有效數(shù)字,存放到float變量的存儲單元(4個字節(jié))中。但應注意數(shù)值范圍不能溢出;將一個float型數(shù)據(jù)賦給double變量時,數(shù)值不變,有效位數(shù)擴展到16位,在內(nèi)存中以8個字節(jié)存儲。⑷字符型數(shù)據(jù)賦給整型變量時,將字符的ASCII碼賦給整型變量。第16頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院17⑸將一個占字節(jié)多的整型數(shù)據(jù)賦給一個占字節(jié)少的整型變量/字符變量時,只將其低字節(jié)原封不動地送到該變量。 例:i=289;/*已定義i為整型變量*/ c=‘a(chǎn)’;/*已定義c為字符變量*/ c=i;/*將一個占2字節(jié)的int型數(shù)據(jù)賦給char型變量*/
注意:要避免進行這種賦值,因為賦值后數(shù)值可能發(fā)生失真。如果一定要進行這種賦值,應當保證賦值后數(shù)值不會發(fā)生變化。賦值過程中的類型轉(zhuǎn)換第17頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院18⑹將有符號整數(shù)賦值給長度相同的無符號整型變量時,按字節(jié)原樣賦值。voidmain(){ unsignedshorta;/*定義a為無符號整型變量*/ shortb;/*定義b為有符號整型變量*/
b=-1;
a=b; printf("%u\n",a);
}
說明:由于a是無符號整型變量,因此不能用%d輸出格式符,而要用輸出無符號數(shù)的“%u”格式符。運行結(jié)果:65535賦值過程中的類型轉(zhuǎn)換第18頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院19說明:執(zhí)行“b=a”時,將a的兩個字節(jié)(全1)賦給b,由于是有符號的整型數(shù),笫1個二進位是1表示此數(shù)是一個負數(shù),16位全1是-1的補碼。⑺將無符號整數(shù)賦值給長度相同的有符號整型變量時,應注意不要超出有符號整型變量的數(shù)值范圍,否則會出錯。voidmain() { unsignedshorta;
shortb;
a=65535;/*兩個字節(jié)16位全為1*/
b=a;/*b的數(shù)值范圍為-32768~32767*/
printf("%d\n",b);
}運行結(jié)果-1賦值過程中的類型轉(zhuǎn)換第19頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院20轉(zhuǎn)換規(guī)則:按存儲單元中的存儲形式直接傳送賦值過程中的類型轉(zhuǎn)換第20頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院21賦值語句是由賦值表達式加上一個分號構成。賦值表達式的作用是將一個表達式的值賦給一個變量。賦值表達式具有計算和賦值雙重功能。程序中的計算功能主要是由賦值語句來完成。C語言的賦值語句與其他高級語言的賦值語句之間的差異:
(1)C語言中的賦值號“=”是一個運算符,在其他大多數(shù)語言中賦值號不是運算符。
(2)要區(qū)別賦值表達式和賦值語句。其他多數(shù)高級語言沒有“賦值表達式”這一概念。賦值語句第21頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院22注意賦值號“=”與等號“==”的區(qū)別以下兩者截然不同!if(a==b)…if(a=b)…賦值語句第22頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院23程序中對變量賦初值的方法有兩種⑴在定義變量的同時使變量初始化(更方便)
inta=3; /*指定a為整型變量,初值為3*/ floatf=3.56; /*f為浮點型變量,初值3.56*/ charc=‘a(chǎn)’; /*指定c為字符變量,初值為‘a(chǎn)’*/ inta=b=c=3;⑵用賦值語句對變量賦值
inta; /*指定a為整型變量*/ a=3; /*賦值語句,將3賦給a*/變量賦初值
第23頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院24課堂練習編程驗證:分別執(zhí)行以下賦值表達式之后,變量a、b、c的值以及賦值表達式的是分別是多少。(1)a=3;(2)a=2;a*=9;(3)a=b=c=12;(4)a=(b=7)/(c=2);(5)a=4;a+=a-=a*a;(6)a=3*5=4*3;第24頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院25(一)所謂輸入輸出是以計算機主機為主體而言的4數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)顯示器,打印機)鍵盤,鼠標,掃描儀
C提供的IO函數(shù)實現(xiàn)內(nèi)存外部設備進行數(shù)據(jù)交互功能它們以庫的形式存放在系統(tǒng)中,<stdio.h>
不是c語言文本中的組成部分。第25頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院264數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)標準輸出操作
printf(),putchar(),puts()標準輸入操作
scanf(),getchar(),gets()復雜輸入和輸出
有格式的IO函數(shù)第26頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院27用putchar函數(shù)輸出一個字符putchar函數(shù)(字符輸出函數(shù)):向終端輸出一個字符。一般形式為putchar(c)c可以是字符型變量或整型變量
5字符數(shù)據(jù)的輸入輸出第27頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院28用getchar函數(shù)輸入一個字符getchar函數(shù)(字符輸入函數(shù)):從終端輸入一個字符。getchar函數(shù)沒有參數(shù),一般形式為getchar()函數(shù)的值就是從輸入設備得到的字符
5字符數(shù)據(jù)的輸入輸出第28頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院296簡單格式的輸入與輸出用簡單的printf函數(shù)輸出數(shù)據(jù)printf函數(shù)(格式輸出函數(shù)):向終端(或系統(tǒng)隱含指定的輸出設備)輸出若干個任意類型的數(shù)據(jù)。printf函數(shù)的一般格式為:
printf(格式控制,輸出表列) 例:
printf(”%d,%c\n”,i,c)第29頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院30printf(格式控制,輸出表列)用簡單的printf函數(shù)輸出數(shù)據(jù)用雙撇號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”格式說明:由“%”和格式字符組成,如%d、%f等。它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。格式說明總是由“%”字符開始的。普通字符:需要原樣輸出的字符。例如上面printf函數(shù)中雙撇號內(nèi)的逗號、空格和換行符。需要輸出的一些數(shù)據(jù),可以是常量、變量或表達式。第30頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院31printf函數(shù)的例子:
printf(“a=%db=%d”,a,b)
||| ||
格式說明輸出表列 若a=3,b=4
輸出為“a=3b=4”用簡單的printf函數(shù)輸出數(shù)據(jù)第31頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院32基本的格式字符有以下幾種:⑴d格式符。按十進制整型數(shù)據(jù)的實際長度輸出。
⑵i格式符。作用與d格式符相同,按十進制整型數(shù)據(jù)的實際長度輸出。一般習慣用%d而少用%i。⑶c格式符。用來輸出一個字符。
一個值在0~255范圍內(nèi)的整數(shù),也可以用“%c”使之按字符形式輸出
用簡單的printf函數(shù)輸出數(shù)據(jù)第32頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院33運行結(jié)果:a,97a,97
例3.5字符數(shù)據(jù)的輸出。
#include<stdio.h>
voidmain()
{charc='a';
inti=97;
printf("%c,%d\n",c,c);
printf("%c,%d\n",i,i);
}用簡單的printf函數(shù)輸出數(shù)據(jù)第33頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院34⑷s格式符,用來輸出一個字符串。
例:printf(″%s″,″CHINA″);
輸出字符串“CHINA”(不包括雙引號)⑸f格式符。用來輸出實數(shù)(包括單、雙精度),以小數(shù)形式輸出,不指定整個字段的長度,由系統(tǒng)自動指定。一般的處理方法是:整數(shù)部分全部輸出,并輸出6位小數(shù)。注意:在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字。單精度實數(shù)的有效位數(shù)一般為6-7位,雙精度實數(shù)的有效位數(shù)一般為15-16位。用簡單的printf函數(shù)輸出數(shù)據(jù)第34頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院35運行結(jié)果:333333.328125結(jié)果中只有前七位是有效數(shù)字。由于x和y是單精度變量,所以x+y也只能保證7位的精度,后面幾位是沒有意義的。
用簡單的printf函數(shù)輸出數(shù)據(jù)例3.6輸出實數(shù)時的有效位數(shù)。
#include<stdio.h>voidmain(){floatx,y;
x=11111111.11111111;
y=22222222.22222222;
printf("%f\n",x+y);}第35頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院36運行結(jié)果:33333333.333333x和y是雙精度變量,能提供16位精度,但是由于用%f格式輸出,只能輸出6位小數(shù),有兩位被省掉了。例3.7輸出雙精度數(shù)時的有效位數(shù)。#include<stdio.h>voidmain(){doublex,y;x=11111111.11111111; y=22222222.22222222; printf("%f\n",x+y);}用簡單的printf函數(shù)輸出數(shù)據(jù)%17.8f可全部輸出第36頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院37(6)e格式符,用格式說明%e指定以指數(shù)形式輸出實數(shù)。
例:printf(″%e″,123.456);輸出如下
1.234560
e+002
6列5列C編譯系統(tǒng)自動指定給出數(shù)字部分的小數(shù)位數(shù)為6位,指數(shù)部分占5位用簡單的printf函數(shù)輸出數(shù)據(jù)第37頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院38scanf函數(shù):按照變量在內(nèi)存的地址將變量值存進去。一般格式:scanf(格式控制,地址表列)同printf函數(shù)是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址用簡單的scanf函數(shù)輸入數(shù)據(jù)第38頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院39運行情況:
345 (輸入a,b,c的值,)
3,4,5(輸出a,b,c的值)a在內(nèi)存中的地址&是地址運算符輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可以用Enter鍵、Tab鍵。
例3.8用scanf函數(shù)輸入數(shù)據(jù)。
#include<stdio.h>
voidmain()
{
inta,b,c;
scanf(“%d%d%d”,&a,&b,&c);
printf(“%d,%d,%d\n”,a,b,c);
}用簡單的scanf函數(shù)輸入數(shù)據(jù)第39頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院40scanf函數(shù)的格式說明與printf函數(shù)的相似,以%開始,以一個格式字符結(jié)束,中間可插入附加的字符。例:
scanf(”%d%d%d”.&a,&b,&c); /*格式控制字符串中包含3個格式說明符%d*/ scanf(”a=%db=%dc=%d”.&a,&b,&c); /*格式控制字符串中包含格式說明符以外的字符*/用簡單的scanf函數(shù)輸入數(shù)據(jù)第40頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院41說明:(1)scanf函數(shù)中的“格式控制”后面應當是變量地址,而不應是變量名。(2)如果在“格式控制”字符串中除了格式說明以外還有其他字符,則在輸入數(shù)據(jù)時在對應位置應輸入與這些字符相同的字符。
(3)在用“%c”格式輸入字符時,空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入。(4)在輸入數(shù)據(jù)時,空格,“回車”、“跳格”(Tab)鍵或遇非法輸入,認為該數(shù)據(jù)結(jié)束。(5)對unsigned型變量所需的數(shù)據(jù),可以用%u或%d格式輸入。
用簡單的scanf函數(shù)輸入數(shù)據(jù)第41頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院42輸出數(shù)據(jù)格式控制除了上節(jié)所介紹的基本的格式控制外,還可以用下面一些格式符和附加字符。⑴%mdm為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補以空格,若大于m,則按實際位數(shù)輸出。 例:printf(“%4d,%4d,a,b”);
若:a=123,d=12345,則輸出結(jié)果為:
123,123457較復雜的格式輸入與輸出(自學)第42頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院43⑵%ld對于int型數(shù)據(jù)占2字節(jié)的系統(tǒng),在輸出長整型數(shù)據(jù)時要在格式字符d前面加一個英文字毋l。例:longa=135790;/*定義a為長整型變量*/printf(“%ld,a);%d只適用于范圍為-32768~32767的整型數(shù)據(jù),超過此范圍的整數(shù),應該用%ld輸出說明:如果用的是VC++6.0,由于int型和long型數(shù)據(jù)都分配4個字節(jié),因此用%d可以輸出int和long型數(shù)據(jù),不必要用%ld。輸出數(shù)據(jù)格式控制第43頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院44
⑶%o以8進制整數(shù)形式輸出。由于是將內(nèi)存單元中的各位的值(0或1)按八進制形式輸出,因此輸出的數(shù)值不帶符號,即將符號位也一起作為八進制數(shù)的一部分輸出。例:inta=-1;printf("%d,%o",a,a);
-1在內(nèi)存單元中的存放形式(以補碼形式存放)如下:
輸出為:
-1,1777771111111111111111用%d輸出的結(jié)果1,111,111,111,111,111||||||177777二進數(shù)111就是8進數(shù)7。因此上面的數(shù)用8進制數(shù)表示為17777輸出數(shù)據(jù)格式控制第44頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院45⑷%x以16進制數(shù)形式輸出整數(shù)。同樣不會出現(xiàn)負的十六進制數(shù)。例:
inta=-1;printf(“%x,%o,%d”,a,a,a);
輸出結(jié)果為
ffff,177777,-1
同樣可以用“%1x”輸出長整型數(shù),也可以指定輸出字段的寬度,如“%12x”。輸出數(shù)據(jù)格式控制第45頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院46⑸%u用來輸出無符號(unsigned)型數(shù)據(jù),以十進制整數(shù)形式輸出。一個有符號整數(shù)(int型)也可以用%u格式輸出;反之,一個unsigned型數(shù)據(jù)也可以用%d格式輸出。按相互賦值的規(guī)則處理。unsigned型數(shù)據(jù)也可用%o或%x格式輸出。⑹%mc用來指定輸出字符數(shù)據(jù)的寬度m
如果有printf(“%3c”,c);
則輸出“
a”,即c變量輸出占3列,前2列補空格。輸出數(shù)據(jù)格式控制第46頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院47TurboC2.0環(huán)境下的運行結(jié)果:
a=-1,177777,ffff,65535
b=-2,177776,fffe,65534VC++6.0環(huán)境下的運行結(jié)果:
a=65535,177777,ffff,65535
b=-2,37777777776,fffffffe,4294967294例3.9無符號數(shù)據(jù)的輸出。
#include<stdio.h>
voidmain()
{
unsignedinta=65535;intb=-2;
printf(“a=%d,%o,%x,%u\n”,a,a,a,a);
printf(“b=%d,%o,%x,%u\n”,b,b,b,b);
}輸出數(shù)據(jù)格式控制第47頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院48⑺%ms指定輸出的字符串占m列。如果字符串本身長度大于m,則突破m的限制,將字符串全部輸出。若串長小于m,則左補空格。%-ms如果串長小于m,則在m列范圍內(nèi),字符串向左靠,右補空格。%m.ns輸出占m列,但只取字符串中左端n個字符。這n個字符輸出在m列的右側(cè),左補空格。%-m.ns其中m、n含義同上,n個字符輸出在m列范圍的左側(cè),右補空格。如果n>m,則m自動取n值,即保證n個字符正常輸出。⑻%m.nf指定輸出的實數(shù)共占m列,其中有n位小數(shù)。如果數(shù)值長度小于m,則左端補空格。%-m.nf與%m.nf基本相同,只是使輸出的數(shù)值向左端靠,右端補空格。輸出數(shù)據(jù)格式控制第48頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院49例3.10字符串的輸出。
#include<stdio.h>
voidmain()
{
printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);
}運行結(jié)果:
CHINA,_____CH,CHIN,CHI__
輸出數(shù)據(jù)格式控制第49頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院50例3.11輸出實數(shù)時指定小數(shù)位數(shù)。
#include<stdio.h>
voidmain()
{
floatf=123.456;
printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f);
}運行結(jié)果:
123.456001123.456001____123.46123.46123.46____
輸出數(shù)據(jù)格式控制第50頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院51運行結(jié)果:
r1=1.53
r2=21.83
r3=123.71例3.12求3個圓的周長,輸出結(jié)果時上下按小數(shù)點對齊,取兩位小數(shù)。
#include<stdio.h>
#definePI3.1415926
voidmain()
{doubler1=1.53,r2=21.83,r3=123.71,s1,s2,s3;
s1=2.0*PI*r1;
s2=2.0*PI*r2;
s3=2.0*PI*r3;
printf("r1=%10.2f\nr2=%10.2f\nr3=%10.2f\n",r1,r2,r3);
}
輸出數(shù)據(jù)格式控制第51頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院52⑼%m.ne和%-m.nem、n和“-”字符的含義與前相同。此處n指擬輸出的數(shù)據(jù)的小數(shù)部分(又稱尾數(shù))的小數(shù)位數(shù)。若f=123.456,則:
printf("%e%10e%10.2e%.2e%-10.2e",f,f,f,f,f);
輸出如下:
1.234560e+002
1.234560e+002
1.23e+002
1.23e+002
13列13列10列9列
1.23e+00210列說明:未指定n,自動使n=6.超過給定的10列,乃突破10列的限制,按實際長度輸出。第3個數(shù)據(jù)共占10列,小數(shù)部分占2列。只指定n=2,未指定m,自動使m等于數(shù)據(jù)應占的長度。第5個數(shù)據(jù)應占10列,數(shù)值只有9列,由于是“%-10.2e”,數(shù)值向左靠,右補一個空格。(注:有的C系統(tǒng)的輸出格式與此略有不同)
輸出數(shù)據(jù)格式控制第52頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院53
(10)%g用來輸出實數(shù).
它根據(jù)數(shù)值的大小,自動選f格式或e格式(選擇輸出時占寬度較小的一種),且不輸出無意義的零。
例:若f=123.468,則printf(″%f%e%g″,f,f,f);輸出如下:123.468000
1.234680e+002
123.46810列13列10列說明:用%f格式輸出占10列,用%e格式輸出占13列,用%g格式時,自動從上面兩種格式中選擇短者(今以%f格式為短)故占10列,并按%f格式用小數(shù)形式輸出,最后3個小數(shù)位為無意義的0,不輸出,因此輸出123.468,然后右補3個空格。%g格式用得較少。輸出數(shù)據(jù)格式控制第53頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院54說明:除了X,E,G外,其他各式字符必須用小寫。可以在printf函數(shù)中的“格式控制”字符串中包含轉(zhuǎn)義字符。一個格式說明必須以“%”開頭,以9個格式字符之一為結(jié)束,中間可以插入附加格式字符。想輸出%,則應該在格式控制字符串中用連續(xù)兩個%表示輸出數(shù)據(jù)格式控制第54頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院55格式字符說明d,i用來輸入有符號的十進制整數(shù)u用來輸入無符號的十進制整數(shù)o用來輸入無符號的八進制整數(shù)xX用來輸入無符號的十六進制整數(shù)(大小寫作用相同)c用來輸入單個字符s用來輸入字符串,將字符串送到一個字符數(shù)組中,在輸入時以非空白字符開始,以第一個空白字符結(jié)束。字符串以串結(jié)束標志′\0′作為其最后一個字符f用來輸入實數(shù),可以用小數(shù)形式或指數(shù)形式輸入eEgG與f作用相同,e與f、g可以互相替換(大小寫作用相同)
表3.3scanf格式字符輸出數(shù)據(jù)格式控制第55頁,共65頁,2023年,2月20日,星期二大連理工大學軟件學院56字符說明l用于輸入長整型數(shù)據(jù)(可用%ld,%lo,%lx,%lu)以及double型數(shù)據(jù)(用%lf或%le)h用于輸入短整型數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (二模)晉中市2025年高三高考二模 語文試卷(含A+B卷答案詳解)
- 2.2聲音的特性說課稿2025年初中人教版物理八年級上冊
- 微整顧客協(xié)議書
- 需求導向性干預下行無縫隙護理在腹腔鏡子宮肌瘤剔除術圍術期的干預效果分析
- 住宅裝修設計協(xié)議
- 文化創(chuàng)意產(chǎn)業(yè)內(nèi)容創(chuàng)新與市場推廣方案
- 商業(yè)房產(chǎn)交易居間合同范本
- 提升客戶滿意度服務質(zhì)量方案
- 提高客戶服務質(zhì)量與滿意度的實施方案
- 產(chǎn)品設計與生產(chǎn)制造委托協(xié)議
- 2025年兒科常見面試題及答案
- (一模)贛州市2025年高三年級摸底考試物理試卷(含標準答案)
- 數(shù)學-湖北省武漢市2025屆高中畢業(yè)生二月調(diào)研考試(武漢二調(diào))試題和解析
- 【公開課】同一直線上二力的合成+課件+2024-2025學年+人教版(2024)初中物理八年級下冊+
- 學術英語智慧樹知到答案2024年南開大學
- 【部編版道德與法治六年級下冊】全冊測試卷(含答案)
- GB/T 10752-2005船用鋼管對焊接頭
- 現(xiàn)代商業(yè)空間展示設計ppt
- 高家堡副井井筒壁座施工安全技術措施
- 世界貿(mào)易組織(WTO課件(25頁PPT)
- FMEA第五版表格(實例)
評論
0/150
提交評論