c語言是函數式語言,所以函數很重要,舉個例子 #includestdio.h int abc(int a ,int b) /* abc 前的 int 表示這個函數的返回值是整數,abc 是函數名稱,括號里的是定義了兩個參數它們都是整數*/ { int a=123; printf("%d",a); } 這個是我們自己寫的函數,還有現成的c庫函數,直接調用就行,限于篇幅,其實你仔細的摳書,書上都有,我就是看書學會的
創(chuàng)新互聯建站從2013年開始,是專業(yè)互聯網技術服務公司,擁有項目網站設計、網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元固陽做網站,已為上家服務,為固陽各地企業(yè)和個人服務,聯系電話:18982081108
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
scanf(const
char
*format,
arg_list)
scanf主要從標準輸入流中獲取參數值,format為指定的參數格式及參數類型,如scanf("%s,%d",str,icount);
它要求在標準輸入流中輸入類似"son
of
bitch,1000"這樣的字符串,同時程序會將"son
of
bitch"給str,1000給icount.
scanf函數的返回值為int值,即成功賦值的個數,在上例中如果函數調用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount)
!=
2){...}來判斷用戶輸入是否正確.
int
printf(const
char
*format,
arg_list)
printf主要是將格式化字符串輸出到標準輸出流中,在stdio.h頭文件中定義了標準的輸入和輸出,分別是stdin,stdout.
arg_list可以是變量名,也可以是表達式,但最終都會以值的形式填充進format中.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結束的語句為:(ch
=
getc(fp))
!=
EOF.EOF為文件結束標志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin
時,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標準輸入流讀取一個字符.默認的標準輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又
涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符
串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個一個的讀字符.當然也可以在while循環(huán)中指定終止字符,如下面的語句:
while
((c
=
getchar())
!=
'#')這是以#來結束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標準流stdout中去.
char
*
gets(char
*str)
gets主要是從標準輸入流讀取字符串并回顯,讀到換行符時退出,并會將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標準流stdout中去,并會在輸出到最后時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數組指針,num是最大允許的讀入字符數,fp是文件指針.fgets的功能是讀一行字符,該行的字符數
不大于num-1.因為fgets函數會在末尾加上一個空字符以構成一個字符串.另外fgets在讀取到換行符后不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當前位置讀取一個字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當前指定位置.
int
fscanf(FILE
*fp,
char
*format,...)
fscanf按照指定格式從文件中出讀出數據,并賦值到參數列表中.
int
fprintf(FILE
*fp,
char
*format,...)
fprintf將格式化數據寫入流式文件中.
在windows下的編譯器,支持conio.h頭文件的可使用 getch()函數。
例:
main()
{
char ch;
ch = getch();
if( ch == 'a')
printf("OK\n");
}
Linux下的編譯器不支持 getch 函數,可使用系統(tǒng)命令關閉緩沖區(qū),則不需要回車直接讀取。
例:
#include stdio.h
int main()
{
char ch;
system("stty -icanon");//關閉緩沖區(qū),輸入字符無需回車直接接受
ch = getchar();
if(ch == 'a')
printf("OK\n");
return 0;
}
不是,使用c語言編寫程序時,c語言程序庫內包含了printf和scanf這兩個函數,當你需要輸入輸出時,就要輸入這兩個函數,編譯時c語言程序庫則調用這兩個函數,所以c語言本身是不能輸入輸出的。就像你要寫字,你是不能直接用手寫的,而要借用一直筆才能達到目的。懂了嗎?歡迎追問,如果好請采納。