scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
創(chuàng)新互聯(lián)公司專(zhuān)注于敖漢企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站定制開(kāi)發(fā)。敖漢網(wǎng)站建設(shè)公司,為敖漢等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
int scanf(const char *format, arg_list)
scanf主要從標(biāo)準(zhǔn)輸入流中獲取參數(shù)值,format為指定的參數(shù)格式及參數(shù)類(lèi)型,如scanf("%s,%d",str,icount);
它要求在標(biāo)準(zhǔn)輸入流中輸入類(lèi)似"son of bitch,1000"這樣的字符串,同時(shí)程序會(huì)將"son of bitch"給str,1000給icount.
scanf函數(shù)的返回值為int值,即成功賦值的個(gè)數(shù),在上例中如果函數(shù)調(diào)用成功,則會(huì)返回2,所以我們?cè)趯?xiě)程序時(shí),可以通過(guò)
語(yǔ)句if(scanf("%s,%d",str,icount) != 2){...}來(lái)判斷用戶輸入是否正確.
int printf(const char *format, arg_list)
printf主要是將格式化字符串輸出到標(biāo)準(zhǔn)輸出流中,在stdio.h頭文件中定義了標(biāo)準(zhǔn)的輸入和輸出,分別是stdin,stdout.
arg_list可以是變量名,也可以是表達(dá)式,但最終都會(huì)以值的形式填充進(jìn)format中.
int getc(FILE *fp)
getc主要是從文件中讀出一個(gè)字符.常用的判斷文件是否讀取結(jié)束的語(yǔ)句為:(ch = getc(fp)) != EOF.EOF為文件結(jié)束標(biāo)志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin
時(shí),getc(stdin)就等同于getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字符ch寫(xiě)到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個(gè)字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時(shí)又
涉及到緩沖的問(wèn)題,所以并不是在屏幕中敲上一個(gè)字符程序就會(huì)運(yùn)行,一般是通過(guò)在屏幕上敲上回車(chē)鍵,然后將回車(chē)前的字符
串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個(gè)一個(gè)的讀字符.當(dāng)然也可以在wh
一般格式
printf(格式控制,輸出表列) 。
說(shuō)明:
(1)“格式控制”是用雙撇號(hào)括起來(lái)的字符串,也稱(chēng)“轉(zhuǎn)換控制字符串”,它包括兩種信息:
①格式說(shuō)明:由“%”和格式字符組成,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出。
②普通字符,即需要原樣輸出的字符。?
(2)“輸出表列”是需要輸出的一些數(shù)據(jù),可以是表達(dá)式? 。
(3) printf函數(shù)的一般形式可以表示為printf(參數(shù)1,參數(shù)2,??,參數(shù)n) 。
功能是將參數(shù)2~參數(shù)n按參數(shù)1給定的格式輸出
方法如下:
第一、打開(kāi)編譯器,新建工程項(xiàng)目,新建文件。最后在這個(gè)空白地方是寫(xiě)代碼的地方。
第二、緊接著寫(xiě)#includestdio.h這個(gè)是頭文件。
第三、寫(xiě)個(gè)main,或者void main ?之后加上一對(duì)小括號(hào)。
第四、在main函數(shù)下面打上一對(duì)大括號(hào) {}。
第五、在大括號(hào)里面書(shū)寫(xiě)自己想要輸出的結(jié)果,如printf("Hello,Word\n");此語(yǔ)句為輸出語(yǔ)句,注意別忘了分號(hào)。
第六、此時(shí)運(yùn)行的程序即可看到結(jié)果,其中""號(hào)里面的內(nèi)容即為輸出內(nèi)容。
有兩種輸出辦法:
printf函數(shù)的一般使用形式為:printf("輸出格式",輸出項(xiàng)系列);要輸出字符串,則只需寫(xiě)出相應(yīng)的輸出格式以及輸出項(xiàng)系列即可,其中輸出格式為%s,輸出項(xiàng)系列為字符串名
printf函數(shù)輸出字符串的例子如下:
#includestdio.h
void?main()
{
char?str[10]="ABCD";
printf("%s",str);
}
上述程序輸出了字符串?ABCD
一、printf()函數(shù)
printf()函數(shù)是格式化輸出函數(shù), 一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出
信息。在編寫(xiě)程序時(shí)經(jīng)常會(huì)用到此函數(shù)。printf()函數(shù)的調(diào)用格式為:
printf("格式化字符串", 參量表);
其中格式化字符串包括兩部分內(nèi)容: 一部分是正常字符, 這些字符將按原
樣輸出; 另一部分是格式化規(guī)定字符, 以"%"開(kāi)始, 后跟一個(gè)或幾個(gè)規(guī)定字符,
用來(lái)確定輸出內(nèi)容格式。
參量表是需要輸出的一系列參數(shù), 其個(gè)數(shù)必須與格式化字符串所說(shuō)明的輸出
參數(shù)個(gè)數(shù)一樣多, 各參數(shù)之間用","分開(kāi), 且順序一一對(duì)應(yīng), 否則將會(huì)出現(xiàn)意想
不到的錯(cuò)誤。
二、scanf()函數(shù)
scanf()函數(shù)是格式化輸入函數(shù), 它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán)) 讀取輸入的信息。
其調(diào)用格式為:
scanf("格式化字符串", 地址表);
格式化字符串包括以下三類(lèi)不同的字符;
1. 格式化說(shuō)明符: 格式化說(shuō)明符與printf()函數(shù)中的格式說(shuō)明符基本相同。
2. 空白字符: 空白字符會(huì)使scanf()函數(shù)在讀操作中略去輸入中的一個(gè)或多
個(gè)空白字符。
3. 非空白字符: 一個(gè)非空白字符會(huì)使scanf()函數(shù)在讀入時(shí)剔除掉與這個(gè)非
空白字符相同的字符。
地址表是需要讀入的所有變量的地址, 而不是變量本身。這與printf()函數(shù)
完全不同, 要特別注意。各個(gè)變量的地址之間同","分開(kāi)。
三。puts()和gets()函數(shù)
1. puts()函數(shù)
puts()函數(shù)用來(lái)向標(biāo)準(zhǔn)輸出設(shè)備(屏幕)寫(xiě)字符串并換行, 其調(diào)用格式為:
puts(s);
其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。
puts()函數(shù)的作用與語(yǔ)printf("%s\n", s)相同。
2. gets()函數(shù)
gets()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán))讀取字符串直到回車(chē)結(jié)束, 但回車(chē)符
不屬于這個(gè)字符串。其調(diào)用格式為:
gets(s);
其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。
gets(s)函數(shù)與scanf("%s", s)相似, 但不完全相同, 使用scanf("%s", s)
函數(shù)輸入字符串時(shí)存在一個(gè)問(wèn)題, 就是如果輸入了空格會(huì)認(rèn)為輸入字符串結(jié)束,
空格后的字符將作為下一個(gè)輸入項(xiàng)處理, 但gets() 函數(shù)將接收輸入的整個(gè) 串直到回車(chē)為止。
其實(shí)還有其他輸入輸出函數(shù)getc,putc,getch,putch,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
這樣就可以了:
#include?stdio.h
int?main()
{
void?cu();
cu();
return?0;
}
void?cu()
{
printf("中國(guó)");
}
一會(huì)把使用指針的方式傳上來(lái)
源代碼如下:
#include stdio.h
#include stdlib.h
void Prtf1();//第一種函數(shù)調(diào)用-直接使用printf函數(shù)
void Prtf2();//第二種函數(shù)調(diào)用-字符數(shù)組
void Prtf3();//第三種函數(shù)調(diào)用-直接使用puts函數(shù)
void Prtf4();//第四種函數(shù)調(diào)用-用數(shù)組首地址方式訪問(wèn)
void Prtf5();//第五種函數(shù)調(diào)用-用指針?lè)绞皆L問(wèn)
void Prtf6();//第六種函數(shù)調(diào)用-用指針?lè)绞皆L問(wèn)(指針的定義賦值不同,區(qū)別方法五)
char str[5]= "Hello";
int main()
{
Prtf1();
Prtf2();
Prtf3();
Prtf4();
Prtf5();
Prtf6();
return 0;
}
//第一種函數(shù)調(diào)用-直接使用printf函數(shù)
void Prtf1()
{
printf("Hello\n");
}
//第二種函數(shù)調(diào)用-字符數(shù)組
void Prtf2()
{
int i;
for(i=0; i5; i++)
{
printf("%c",str[i]);
}
printf("\n");
}
//第三種函數(shù)調(diào)用-直接使用puts函數(shù)
void Prtf3()
{
puts("Hello");
}
//第四種函數(shù)調(diào)用-用數(shù)組首地址方式訪問(wèn)
void Prtf4()
{
int i;
for(i=0; i5; i++)
{
printf("%c",*(str+i));
}
printf("\n");
}
//第五種函數(shù)調(diào)用-用指針?lè)绞皆L問(wèn)
void Prtf5()
{
int i;
char *ptr_str;
for(i=0; i5; i++)
{
ptr_str = str[0];//把數(shù)組首元素地址給指針
printf("%c",*(ptr_str+i));
}
printf("\n");
}
//第六種函數(shù)調(diào)用-用指針?lè)绞皆L問(wèn)(指針的定義賦值不同,區(qū)別方法五)
void Prtf6()
{
int i;
char *ptr_str;
for(i=0; i5; i++)
{
ptr_str = str;//把數(shù)組名給指針
printf("%c",*(ptr_str+i));
}
printf("\n");
}