版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章語句與輸入輸出1《C語言程序設(shè)計》第3章語句與輸入輸出第3章語句與輸入輸出3.1C語言的語句
3.2數(shù)據(jù)的輸入和輸出2《C語言程序設(shè)計》第3章語句與輸入輸出C程序函數(shù)中的執(zhí)行部分是由語句組成的。程序的功能是由執(zhí)行語句實現(xiàn)的??蓤?zhí)行語句通過向計算機系統(tǒng)發(fā)出操作指令,指揮計算機完成相應(yīng)的操作。3.1C語言的語句《C語言程序設(shè)計》第3章語句與輸入輸出3C語言的語句分為五類。3.1C語言的語句《C語言程序設(shè)計》第3章語句與輸入輸出41.控制語句控制語句用于控制程序的流程,以實現(xiàn)程序的各種結(jié)構(gòu)。C語言有九種控制語句??煞殖梢韵氯悾海?)條件判斷語句if語句、switch語句;(2)循環(huán)執(zhí)行語句dowhile語句、while語句、for語句;(3)轉(zhuǎn)向語句break語句、continue語句、return語句、goto語句。C語言的語句分為五類。3.1C語言的語句《C語言程序設(shè)計》第3章語句與輸入輸出52.函數(shù)調(diào)用語句函數(shù)調(diào)用語句由函數(shù)調(diào)用加分號構(gòu)成。例如:
printf(“ThisismyfirstCprogram.\n”);C語言的語句分為五類。3.1C語言的語句《C語言程序設(shè)計》第3章語句與輸入輸出63.表達(dá)式語句表達(dá)式語句由表達(dá)式后加分號構(gòu)成。比較典型的表達(dá)式語句是賦值表達(dá)式語句。需要注意表達(dá)式與表達(dá)式語句是不同的:表達(dá)式后面沒有分號,它可以出現(xiàn)在任何使用表達(dá)式的地方;語句以分號結(jié)束,它是可執(zhí)行語句,不能出現(xiàn)在表達(dá)式中。C語言的語句分為五類。3.1C語言的語句《C語言程序設(shè)計》第3章語句與輸入輸出74.空語句空語句僅由一個分號構(gòu)成。顯然,空語句什么操作也不執(zhí)行。有時用來做被轉(zhuǎn)向點或循環(huán)體(此時循環(huán)體不執(zhí)行任何操作)。例如:;就是一個空語句。C語言的語句分為五類。3.1C語言的語句《C語言程序設(shè)計》第3章語句與輸入輸出85.復(fù)合語句復(fù)合語句是由大括號括起來的一組語句構(gòu)成。說明:(1)在語法上和單一語句相同,即可以使用單一語句的地方,也可以使用復(fù)合語句。(2)復(fù)合語句可以嵌套,即復(fù)合語句中也可出現(xiàn)復(fù)合語句。3.2數(shù)據(jù)的輸入和輸出所謂數(shù)據(jù)的輸入,是指計算機外部設(shè)備將數(shù)據(jù)送入計算機內(nèi)部的操作。例如常見的從鍵盤輸入數(shù)據(jù)。所謂數(shù)據(jù)的輸出,是指將計算機內(nèi)部的數(shù)據(jù)送到外部設(shè)備的操作。例如常見的將數(shù)據(jù)顯示在屏幕上或打印在紙上。C語言本身沒有輸入輸出語句,它是通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)中提供的輸入輸出函數(shù)來實現(xiàn)數(shù)據(jù)的輸入輸出。C語言提供了豐富的用于輸入輸出的庫函數(shù)。在使用這些庫函數(shù)之前需要在源文件開頭包含以下預(yù)編譯命令#include<stdio.h>9《C語言程序設(shè)計》第3章語句與輸入輸出3.2數(shù)據(jù)的輸入和輸出3.2.1printf()函數(shù)3.2.2scanf()函數(shù)3.2.3getchar()函數(shù)與putchar()函數(shù)10《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)printf()函數(shù)稱為格式輸出函數(shù),其作用是向終端設(shè)備按指定格式輸出數(shù)據(jù)。它是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。11《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)1.printf()函數(shù)的調(diào)用形式 printf(格式控制,輸出表列)例如:
printf("%d,%c\n",i,c);12《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)1.printf()函數(shù)的調(diào)用形式
說明:(1)格式控制:是由""括起來的字符串,由“格式說明”和“普通字符”兩部分組成。1)格式說明:以“%”字符開始,由%及格式字符共同組成。其作用是說明將“輸出表列”中的數(shù)據(jù)按指定格式進(jìn)行輸出。2)普通字符:格式字符以外的字符作為普通字符,按原樣輸出。13《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)1.printf()函數(shù)的調(diào)用形式
說明:(2)輸出表列:是指需要輸出的數(shù)據(jù),可以是變量、常量或表達(dá)式。14《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)1.printf()函數(shù)的調(diào)用形式例如:inta=3,b=4;printf("a=%db=%d",a,b);運行結(jié)果:a=3b=4其中,普通字符“a=”、“”、“b=”原樣輸出;格式說明“%d”、“%d”則按有符號數(shù)十進(jìn)制整數(shù)形式輸出變量a、b的值,即3和4。15《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符
格式字符用以指明按什么格式輸出數(shù)據(jù)。16《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(1)格式字符d:以有符號十進(jìn)制形式輸出整數(shù)。1)%d:用以輸出整型數(shù)據(jù)。例如:inta=123;printf("%d",a);運行結(jié)果:12317《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(1)格式字符d:以有符號十進(jìn)制形式輸出整數(shù)。2)%ld,用以輸出長整型數(shù)據(jù)。例如:longa=123456;printf("%ld",a);運行結(jié)果:123456注意:對于長整型數(shù)據(jù)輸出應(yīng)該采用%ld格式,否則有可能會出現(xiàn)錯誤。18《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(1)格式字符d:以有符號十進(jìn)制形式輸出整數(shù)。3)%md或%mld:按指定的長度輸出整型數(shù)據(jù)或長整型數(shù)據(jù)。如果數(shù)據(jù)位數(shù)小于m,則左端補以空格;否則,則按實際位數(shù)輸出。例如:longa=123456;printf("%8ld,%4ld",a,a);運行結(jié)果:□□123456,123456注意:□表示空格。19《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(2)格式字符o:以無符號八進(jìn)制形式輸出整數(shù)。例如:inta=-1;printf("%d,%o",a,a);在TC環(huán)境(16位系統(tǒng))下的運行結(jié)果:-1,177777說明:因為-1的16位補碼為1111111111111111,因此變量a在內(nèi)存實際存儲的內(nèi)容為“1111111111111111”。當(dāng)變量a以“八進(jìn)制無符號整數(shù)形式”輸出時,其值為177777Q,所以實際輸出為“177777”。20《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(3)格式字符x:以無符號十六進(jìn)制形式輸出整數(shù)。例如:inta=-1;printf("%x,%d",a,a);在TC環(huán)境(16位系統(tǒng))下的:ffff,-1說明:變量a在內(nèi)存實際存儲的內(nèi)容為“1111111111111111”。當(dāng)變量a以“十六進(jìn)制無符號整數(shù)形式”輸出時,其值為FFFFH,所以實際輸出為“ffff”。21《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(4)格式字符u:以無符號十進(jìn)制形式輸出整數(shù)。與“%d”格式一樣,可以使用“%lu”輸出長整型,使用“%mu”或“%mlu”形式進(jìn)行定長輸出。注意:一個int型數(shù)據(jù)可以用“%u”格式輸出;反之,一個unsigned型數(shù)據(jù)也可以用“%d”、“%o”、“%x”格式輸出。所有輸出都是將內(nèi)存中實際存儲的數(shù)據(jù)按格式字符指定的編碼進(jìn)行輸出。22《C語言程序設(shè)計》第3章語句與輸入輸出【例3.1】輸出函數(shù)的應(yīng)用。3.2.1printf()函數(shù)《C語言程序設(shè)計》第3章語句與輸入輸出2324源程序:#include<stdio.h>intmain(){ 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); return0;}在TC環(huán)境下的運行結(jié)果:《C語言程序設(shè)計》第3章語句與輸入輸出a=-1,177777,ffff,65535b=-2,177776,fffe,65534【例3.1】輸出函數(shù)的應(yīng)用。程序分析:a為無符號整型變量,賦值為65535后,在內(nèi)存中存儲為“1111111111111111”。當(dāng)變量a以“%d”格式輸出時,是作為有符號數(shù)輸出。根據(jù)補碼規(guī)則,“1111111111111111”是-1的補碼,因此輸出為-1。3.2.1printf()函數(shù)《C語言程序設(shè)計》第3章語句與輸入輸出253.2.1printf()函數(shù)2.格式字符(5)格式字符c:以字符形式輸出單個字符。例如:charc='a';printf("%c",c);26《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符實際上,整數(shù)也可以用字符形式輸出;反之,字符數(shù)據(jù)也可以用整數(shù)形式輸出。例如:inti=65;printf("%c,%d\n",i,I);運行結(jié)果:A,65說明:65是字符'A'的ASCII碼的值。也可以指定字符輸出的寬度,例如printf("%3c",c),此時輸出的3列中,前2列補空格。27《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(6)格式字符s:輸出字符串。有5種用法:1)%s:按字符串的實際長度輸出。例如:printf("%s","CHINA");運行結(jié)果:CHINA。2)%ms:指定長度輸出字符串。如果字符串長小于m,則左補空格;否則,按字符串實際長度輸出。28《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符3)%-ms:指定對齊方式為左對齊(默認(rèn)的對齊方式為右對齊)。在m列范圍內(nèi),字符串向左靠,右補空格。4)%m.ns:指定長度與輸出字符數(shù)。輸出占m列,只取待輸出字符串中左端n個字符。這n個字符向右靠,左補空格。5)%-m.ns:指定對齊方式為左對齊,并指定長度與輸出字符數(shù)。輸出占m列,只取待輸出字符串中左端n個字符,這n個字符向左靠,右補空格。29《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符注意:如果n>m,則m自動取n值(m=n),即保證n個字符正常輸出。例如:
printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");運行結(jié)果:CHINA,□□□□□CH,CHIN,CHI□□注意:%.4s中只給出了n,沒給m,自動使m=n=4。30《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(7)格式字符f:以小數(shù)形式輸出實數(shù)。1)%f:不指定輸出寬度。整數(shù)部分全部輸出,小數(shù)部分占6位。如果輸出雙精度實數(shù),使用%lf。注意:輸出的數(shù)字并非全部是有效數(shù)字。單、雙精度實數(shù)的有效數(shù)字一般分別為7、16位。31《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)【例3.2】輸出函數(shù)的應(yīng)用。32《C語言程序設(shè)計》第3章語句與輸入輸出33源程序:#include<stdio.h>intmain(){ floatx,y; doublea,b; x=123456.123; y=654321.321; a=1234401190110.123456789; b=7531031008655.23456321; printf("%f\n",x+y); printf("%lf\n",a+b); return0;}在TC環(huán)境下的運行結(jié)果:《C語言程序設(shè)計》第3章語句與輸入輸出777777.4375008765432198765.3574003.2.1printf()函數(shù)【例3.2】輸出函數(shù)的應(yīng)用。程序分析:由于單精度數(shù)前7位有效、雙精度數(shù)前16位有效,所以上述結(jié)果中超出有效位數(shù)的小數(shù)部分均存在無效數(shù)字,如.437500中的37500和.357400中的400是無意義的。34《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(7)格式字符f:以小數(shù)形式輸出實數(shù)。2)%m.nf:指定輸出長度和小數(shù)位數(shù)。輸出總長度為m列(含1位小數(shù)點),小數(shù)點后保留n位小數(shù)。當(dāng)數(shù)據(jù)位數(shù)小于m時,左補空格。當(dāng)數(shù)據(jù)位數(shù)大于m時,整數(shù)部分按實際長度輸出,小數(shù)部分按指定位數(shù)即n位輸出。如果沒有指定小數(shù)部分位數(shù)n時,則小數(shù)部分默認(rèn)為6位。35《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(7)格式字符f:以小數(shù)形式輸出實數(shù)。3)%-m.nf:指定對齊方式為左對齊,并指定輸出長度和小數(shù)位數(shù)。例如:
floatf=123.456;printf("%f,%11f,%9.2f,%-9.2f,%.2f\n",f,f,f,f,f);運行結(jié)果:123.456001,□123.456001,□□□123.46,123.46□□□,123.4636《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(8)格式字符e:以指數(shù)形式輸出實數(shù)。按“%e”格式輸出時,系統(tǒng)自動指定小數(shù)位數(shù)為6位,指數(shù)部分為5位(如e+002),數(shù)值按規(guī)范化指數(shù)形式輸出(即小數(shù)點前有且只有1位非零數(shù)字)。因此“%e”輸出正實數(shù)時,總位數(shù)為13位(含1位小數(shù)點),輸出負(fù)實數(shù)時,總位數(shù)為14位(多出1位符號位)。37《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(8)格式字符e:以指數(shù)形式輸出實數(shù)。也可以按“%m.ne”或“%-m.ne”格式輸出,m用以控制顯示數(shù)值的寬度、n用于控制小數(shù)點后面的位數(shù)、-用以控制對齊方式。例如:
floatf=123.96;printf("%15e,%10.2e,%-10.2e,%.1e",f,f,f,f);運行結(jié)果:
□□1.239600e+002,□1.24e+002,1.24e+002□,1.2e+00238《C語言程序設(shè)計》第3章語句與輸入輸出3.2.1printf()函數(shù)2.格式字符(9)格式字符g:選擇“小數(shù)形式”和“指數(shù)形式”中位數(shù)較少的一種形式輸出實數(shù)(不輸出無意義的0)。此格式較少使用。例如:floatf=123.468;printf("%f,%e,%g",f,f,f);
運行結(jié)果:123.468002,1.234680e+002,123.468
從結(jié)果中可以看出“%g”選擇了“%f”格式,且取消了末尾的無意義的002。39《C語言程序設(shè)計》第3章語句與輸入輸出《C語言程序設(shè)計》第3章語句與輸入輸出40格式字符說明d,i以帶符號的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號)。u以無符號的十進(jìn)制形式輸出整數(shù)。O以無符號的八進(jìn)制形式輸出整數(shù)(不輸出前導(dǎo)符0)。x,X以無符號的十六進(jìn)制形式輸出整數(shù)(不輸出前導(dǎo)符0x),用x則輸出十六進(jìn)制數(shù)a~f時以小寫形式輸出,用X時,則以大寫形式輸出。c以字符形式輸出單個字符。s輸出字符串。f以小數(shù)形式輸出單、雙精度實數(shù),隱含輸出6位小數(shù)。e,E以規(guī)范化指數(shù)形式輸出單、雙精度實數(shù)。用e時指數(shù)以“e”表示(如1.23e+002),用E時指數(shù)以“E”表示(如1.23E+002)。g,G選用%f或%e格式中輸出寬度較短的一種,不輸出無意義的0。用G時,若以指數(shù)形式輸出,則指數(shù)以大寫表示。表3-1printf()函數(shù)的格式字符注意:在格式說明中,在%和上述格式字符間可以插入以下幾種附加的格式修飾符,如表3-2所示?!禖語言程序設(shè)計》第3章語句與輸入輸出41字符說明字母l輸出長整型數(shù)據(jù)(%ld,%lu,%lo,%lx)或double型數(shù)據(jù)(%lf、%le)。m(一個正整數(shù))指定輸出數(shù)據(jù)的最小寬度。當(dāng)實際數(shù)據(jù)寬度>m時,以實際寬度為準(zhǔn)。n(一個正整數(shù))對實數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個數(shù)。-輸出的數(shù)字或字符在域內(nèi)向左靠。+輸出的有符號數(shù)無論正、負(fù),都帶上符號輸出(“+”號或“-”號)。0當(dāng)域?qū)抦>實際數(shù)據(jù)長度時,不足數(shù)位以0補足。表3-2printf()函數(shù)的格式修飾符注意:修飾符可以多個一起使用。例如:printf("%+08d\n",2346);運行結(jié)果:+0002346從結(jié)果中可以看出,三個修飾符“+、0、8(域?qū)挘币黄鹗褂?,使輸出?shù)據(jù)帶有+號,且總寬度為8,不足數(shù)位補0。3.2.2scanf()函數(shù)scanf()函數(shù)稱為格式輸入函數(shù),其作用是按用戶指定的格式從鍵盤輸入數(shù)據(jù)到指定的變量之中。它是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。42《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)1.scanf()函數(shù)的調(diào)用形式(1)格式控制:是由""括起來的字符串,由“格式說明”和“普通字符”兩部分組成。用于控制輸入數(shù)據(jù)的類型、個數(shù)、間隔符等。1)格式說明:以“%”字符開始,由%及格式字符共同組成。其是說明按指定格式進(jìn)行數(shù)據(jù)輸入。例如:“%d”,“%f”等。2)普通字符:格式字符以外的字符為普通字符,必須按原樣輸入。43《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)1.scanf()函數(shù)的調(diào)用形式例如:inta;scanf("a=%d",&a);
“scanf("a=%d",&a);”語句中,“a=%d”為格式控制,其中的“a=”為普通字符,在從鍵盤輸入數(shù)據(jù)時必須原樣輸入。44《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)1.scanf()函數(shù)的調(diào)用形式(2)地址表列:由若干個地址組成的表列,可以是變量的地址,或字符數(shù)組的首地址等。例如:inta,b,c;scanf("%d%d%d",&a,&b,&c);“scanf(”%d%d%d“,&a,&b,&c);”語句中,“&”為取地址運算符,“&a”是變量a在內(nèi)存中的地址,該地址將作為從鍵盤輸入數(shù)據(jù)存放的內(nèi)存地址。45《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)1.scanf()函數(shù)的調(diào)用形式注意:輸入的數(shù)據(jù)一般以空格進(jìn)行分隔,也可以用回車鍵(Enter、↙)或制表鍵(跳格鍵、Tab)。例如,對于“scanf("%d%d%d",&a,&b,&c);”語句,以下三種輸入方式均是正確的。(1)345↙(2)3↙45↙(3)3(按tab鍵)4↙5↙46《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)1.scanf()函數(shù)的調(diào)用形式注意:輸入數(shù)據(jù)時,不能加入多余的普通字符。例如,對于“scanf("%d%d%d",&a,&b,&c);”來說,“3,4,5↙”輸入方式是不正確的。47《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)2.格式說明以%開頭,以一個格式字符為結(jié)束,中間可以插入格式修飾符,如l、h、*等。格式字符如表3-3所示,格式修飾符如表3-4所示。48《C語言程序設(shè)計》第3章語句與輸入輸出《C語言程序設(shè)計》第3章語句與輸入輸出49格式字符說明d,i用來輸入有符號的十進(jìn)制整數(shù)。u用來輸入無符號的十進(jìn)制整數(shù)。o用來輸入無符號的八進(jìn)制整數(shù)。x,X用來輸入無符號的十六進(jìn)制整數(shù)(大小寫作用相同)。c用來輸入單個字符。s用來輸入字符串。將字符串送到一個字符數(shù)組中,在輸入時以非空格字符開始,以第一個空格字符結(jié)束。字符串末尾自動添加‘\0’作為字符串結(jié)束標(biāo)志。f用來輸入實數(shù),可以用小數(shù)形式或指數(shù)形式輸入。e,E,g,G與f作用相同,e、f、g可以互相替換(大小寫作用相同)。表3-3scanf()函數(shù)格式字符《C語言程序設(shè)計》第3章語句與輸入輸出50字符說明l用于輸入長整型數(shù)據(jù)(%ld、%lo、%lx、%lu)或double型數(shù)據(jù)(%lf、%le)。h用于輸入短整型數(shù)據(jù)(%hd,%ho,%hx)。域?qū)捴付ㄝ斎霐?shù)據(jù)所占寬度(列數(shù)),域?qū)拺?yīng)為正整數(shù)。*表示本輸入項在讀入后不賦給相應(yīng)的變量。表3-4scanf()函數(shù)的格式修飾字符3.2.2scanf()函數(shù)格式修飾字符的說明(1)指定域?qū)捿斎霐?shù)據(jù)時,系統(tǒng)自動按指定寬度截取所需數(shù)據(jù)。例如:inta,b;scanf("%3d%3u",&a,&b);輸入“123456↙”,則123賦值給a,456賦值給b。51《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)格式修飾字符的說明(2)如果使用禁止賦值符“*”,表示跳過它指定的列數(shù)。例如:
inta,b;scanf("%2d%*3d%2d",&a,&b);輸入:“123456789↙”,則12賦值給a;%*3d表示讀入3位整數(shù)但不賦給任何變量,即跳過345不用;67賦值給b。52《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)格式修飾字符的說明(3)輸入實數(shù)時不要指定精度。例如:“scanf("%7.2f",&a);”是錯誤的。(4)輸入字符串時用“%s”,以空格符或回車鍵作為輸入結(jié)束的標(biāo)志。53《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)3.使用scanf()函數(shù)時應(yīng)注意的問題(1)“地址列表”中的變量名前必須要有&符號(取地址運算符)。例如:“scanf(”%d,%f“,a,f);”中變量a,f前未加&,運行時會出現(xiàn)錯誤。54《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)3.使用scanf()函數(shù)時應(yīng)注意的問題(2)如果“格式控制”字符串中除了格式說明以外,還有其他字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。例如:inta,b;scanf("%d,%d",&a,&b);正確的輸入:“3,4↙”。55《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)3.使用scanf()函數(shù)時應(yīng)注意的問題(3)用“%c”格式輸入字符時,空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入。例如:scanf("%c%c%c",&c1,&c2,&c3);輸入:abc↙分析:字符‘a(chǎn)’賦值給c1,‘’(空格字符)賦值給c2,字符‘b’賦值給c3。如果希望變量c1、c2、c3的值分別為‘a(chǎn)’、‘b’、‘c’,則輸入應(yīng)該為“abc↙”,這是因為%c只能接收一個字符,所以‘a(chǎn)’、‘b’、‘c’之間無需加空格進(jìn)行分隔。56《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)3.使用scanf()函數(shù)時應(yīng)注意的問題(4)在輸入數(shù)據(jù)時,遇到以下情況則認(rèn)為一個數(shù)據(jù)輸入結(jié)束:1)遇到空格鍵、回車鍵、制表鍵。2)按指定的寬度結(jié)束,如“%3d”,只取3列。3)遇到非法輸入。57《C語言程序設(shè)計》第3章語句與輸入輸出3.2.2scanf()函數(shù)例如:
inta;charb;floatc;scanf("%d%c%f",&a,&b,&c);printf("%d%c%f\n",a,b,c);輸入:1234a123O.26↙運行結(jié)果:1234a123.000000分析:在輸入變量a的值時,字符'a'為非法字符,因此遇到'a'時,變量a的輸入會自動結(jié)束。同理,輸入變量c的值時,123后的字符'O'為非法輸入,變量c的輸入會自動結(jié)束。58《C語言程序設(shè)計》第3章語句與輸入輸出3.2.3getchar()函數(shù)與putchar()函數(shù)getchar()函數(shù)與putchar()函數(shù)是標(biāo)準(zhǔn)庫函數(shù),在使用時程序前面應(yīng)包含預(yù)編譯命令“#include<stdio.h>”。59《C語言程序設(shè)計》第3章語句與輸入輸出3.2.3getchar()函數(shù)與putchar()函數(shù)1.getchar()函數(shù)(字符輸入函數(shù))getchar()函數(shù)調(diào)用形式如下:
變量=getchar()函數(shù)沒有參數(shù)。功能:從標(biāo)準(zhǔn)輸入設(shè)備(一般為鍵盤)輸入一個
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年替溴銨公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年新版中國鋼化玻璃鼠標(biāo)墊項目可行性研究報告
- 2024-2030年新版中國電動工具用刷架項目可行性研究報告
- 2024-2030年多層(59層)共擠高阻隔薄膜吹塑機組公司技術(shù)改造及擴產(chǎn)項目可行性研究報告
- 2024-2030年國家甲級資質(zhì):中國插板閘門融資商業(yè)計劃書
- 2024-2030年全球及中國蛋白質(zhì)多重檢測行業(yè)應(yīng)用前景及投資規(guī)劃分析報告
- 2024年離婚雙方權(quán)益保障合同書樣本版B版
- 2024-2030年全球及中國有機爽膚水行業(yè)銷售策略及競爭趨勢預(yù)測報告
- 2024-2030年全球及中國嬰兒蔬菜行業(yè)營銷動態(tài)及銷售前景預(yù)測報告
- 2024-2030年全球及中國凍干寵物零食行業(yè)營銷態(tài)勢競爭趨勢報告
- 《沃森克里克》課件
- 風(fēng)險企業(yè)監(jiān)測方案
- 基礎(chǔ)團(tuán)務(wù)知識培訓(xùn)
- 呼吸科主任述職報告
- 老年人健康管理測試試題(兩套題-有答案)
- 家庭安全用電試題及答案
- 內(nèi)部承包合同補充協(xié)議書
- 戴煒棟語言學(xué)練習(xí)題
- 英漢互譯單詞練習(xí)打印紙
- 竣工結(jié)算審計服務(wù)投標(biāo)方案
- 電梯安裝工程竣工資料移交書
評論
0/150
提交評論