五、scanf輸入
六、注意事項
七、課後作業
編寫程式的主要目的就是為了處理資料。資料從**來?資料的**有很多種方式,如從磁碟檔案中讀取資料、從資料庫中讀取資料、從網頁中抓取資料等,還有一種原始的方式就是從鍵盤輸入資料。
在c語言中,有三個函式可以從鍵盤獲得使用者輸入。
getchar:輸入單個字元,儲存到字元變數中。
gets:輸入一行資料,儲存到字串變數中。
scanf:格式化輸入函式,一次可以輸入多個資料,儲存到多個變數中。
在c語言中,有三個函式可以把資料輸出到螢幕。
putchar:輸出單個字元。
puts:輸出字串。
printf:格式化輸出函式,可輸出常量、變數等。
各位是初學者,出於教學的需要,採用scanf從鍵盤輸入資料,便於演示程式的功能,所以我們只需要學習scanf函式的簡單用法即可,getchar和gets函式無需關注。
c語言的輸入函式已不重要,但輸出函式仍然非常重要。
putchar和puts函式沒什麼用,已經被淡忘,那就忘了吧。
printf函式非常重要,以後我們將深入學習,本章節只討論它的簡單用法。
現在,只剩下scanf和printf函式了。
用%x暫時代替要輸出的量
printf函式是格式化輸出函式, 用於向螢幕輸出資料。
printf函式的呼叫方法是:
printf
(格式化字串,引數列表)
;
把輸出的文字用雙引號(一般是字串所以用引號)包含起來,文字中的\n表示換行,多個\n可以換多行。
printf
("我心匪席,不可卷也,我心匪石,不可轉也。\n"
);
以上**將在螢幕上輸出文字:
我心匪席,不可卷也,我心匪石,不可轉也。
出輸文字之後,再輸出乙個換行。
輸出整數型常量或變數用%d表示,在引數中列出待輸出的整數常量或變數。
printf
("我年齡是%d歲。\n",18
);int age=18;
printf
("我年齡是%d歲。\n"
,age)
;
輸出字元型常量或變數用%c表示,在引數中列出待輸出的字元常量或變數。
printf
("我姓別是:%c。\n"
,'x');
// 姓別:x-男;y-女
char xb=
'x';
printf
("我姓別是:%c。\n"
,xb)
;
輸出的浮點型常量或變數用%lf表示,在引數中列出待輸出的浮點型常量或變數。
printf
("我體重是%lf公斤。\n"
,62.5);
double weight=
62.5
;printf
("我體重是%lf公斤。\n"
, weight)
;
輸出字串常量或變數用%s表示,在引數中列出待輸出的字串常量或變數。
printf
("我的姓名是%s。\n"
,"西施");
char name[21]
;memset
(name,0,
sizeof
(name));
strcpy
(name,
"西施");
printf
("我的姓名是%s。\n"
,name)
;
呼叫一次printf函式可以輸出多個常量或變數。
int age=18;
char xb=
'x';
double weight=
62.5
;char name[21]
;memset
(name,0,
sizeof
(name));
strcpy
(name,
"西施");
printf
("我的姓名是:%s,姓別:%c,年齡:%d歲,體重%lf公斤。\n"
,name,xb,age,weight)
;
注意,printf函式第乙個引數(格式化字串)的格式與後面的引數列表(常量或變數的列表)要一一對應,乙個蘿蔔乙個坑的填進去,不能多,不能少,順序也不能錯,否則會產生意外的結果。
/*
* 程式名:book12.c,此程式演示printf函式輸出變數的內容
*/#include
#include
intmain()
執行效果
scanf函式是格式化輸入函式,用於接受從鍵盤輸入的資料,使用者輸入資料完成後,按回車鍵(enter)結束輸入。
scanf函式的呼叫方法是:
scanf
(格式化字串,引數列表)
;
注意,不要在scanf的格式化字串的最後加\n。也不要在格式化字串與格式化字串間加逗號
輸入整數的格式用%d表示,在引數中列出整數型變數名,用於儲存輸入的資料。
在輸入資料之前,一般要先輸出一句話提示使用者。下同。
int age=0;
printf
("請輸入您的年齡:");
// 提示文字不要換行,讓使用者在後面輸入,下同。
scanf
("%d"
,&age)
;// 在變數名前要加符號&,先不要問原因,以後再介紹。
輸入字元的格式用%c表示,在引數中列出字元型變數名,用於儲存輸入的資料。
char xb=0;
printf
("請輸入您姓別:");
scanf
("%c"
,&xb)
;// 在變數名前要加符號&
輸入浮點數的格式用%lf表示,在引數中列出浮點型變數名,用於儲存輸入的資料。
double weight=
62.5
;printf
("請輸入您體重:");
scanf
("%lf"
,&weight)
;// 在變數名前要加符號&。
輸入字串的格式用%s表示,在引數中列出字串變數名,用於儲存輸入的資料。
char name[21]
;memset
(name,0,
sizeof
(name));
printf
("請輸入您姓名:");
scanf
("%s"
,name)
;// 注意了,字串變數名前可以不加符號&,不要問原因,以後再介紹。
呼叫一次scanf函式可以輸入多個資料,全部的資料輸入完成後按回車鍵結束輸入。
int age=0;
char xb=0;
double weight=0;
char name[21]
;memset
(name,0,
sizeof
(name));
printf
("請輸入您的姓名、姓別(x-男;y-女),年齡和體重,中間用空格分隔:");
scanf
("%s %c %d %lf"
,name,
&xb,
&age,
&weight)
;// 只有name變數前沒加&。
scanf函式第乙個引數(格式化字串)的格式與後面的引數列表(變數的列表)要一一對應,乙個蘿蔔乙個坑的填進去,不能多,不能少,順序也不能錯,否則會產生意外的結果。
/*
* 程式名:book13.c,此程式演示scanf函式輸入資料。
*/#include
#include
intmain()
執行效果
1)本章節只學習scanf和printf函式最簡單的用法。
2)scanf函式只是在c程式基本知識的學習中才用到,在實際開發中基本上不用。
3)printf不是乙個函式,是一系列函式,功能強大,變化很多,應用廣泛,極其重要,以後我們將深入的學習它。
4)scanf函式的變數列表,除了字串,其它的變數前面都要加&,表示取位址,如果不加,程式編譯不會報錯,但執行時會出現意想不到的後果(1-賦值不成功;2-段錯誤core dump)。
5)printf函式的變數列表,變數名前都不需要加&。
編寫示例程式,從鍵盤輸入您喜歡的女(男)神的姓名、性別、年齡、身高(cm)、體重(kg)、和您最喜歡她的身體部位,把輸入的資料存放在變數中,然後在螢幕上把變數的值顯示出來。
要求:1)姓名用字串變數存放;
2)性別用乙個字元變數存放(x-男,y-女);
3)年齡和身高用整數變數存放;
4)體重用浮點型變數存放;
5)身體部位用字串存放。
C語言輸入和輸出
編寫程式的主要目的是為了處理資料,但是,資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種重要的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 用於輸入單個字元。gets 獲取一行資料,並作為字串處理。s...
C語言輸入和輸出
1.有關概念 1 輸入輸出是以計算機主體而言的。2 c語言本身不提供輸入輸出語句,輸入輸出操作是由c標準函式庫中的函式來實現的。3 要在程式檔案的開頭用預處理指令 include把有關標頭檔案放在本程式中。關於標頭檔案的形式 使用尖括號的話,編譯時會先在系統include目錄裡搜尋,如果找不到才會在...
C語言輸入和輸出
五 scanf輸入 六 注意事項 七 課後作業 編寫程式的主要目的就是為了處理資料。資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種原始的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 輸入單個字元,儲...