一、格式的輸入輸出函數(shù)(printf/scanf)
1、printf格式輸出函數(shù)
頭文件:#include
功能:以你固定號的格式向終端輸出
原型:int printf(const char *format, ...); //...表示可變參
format:輸出格式串
形式:%[修飾符]格式控制符 (%d、%u、 %c、%s、 %f 、%e、%#x、 %#o、%% )
修飾符:
m:可以設(shè)置輸出數(shù)據(jù)的域?qū)?/p>
:可以將系統(tǒng)默認的右對齊改為作齊
0:將設(shè)置域?qū)捒沼嗟牟糠钟?來補
注意:和0不能一起使用
.n:若在浮點類型中表示設(shè)置小數(shù)點后n位輸出,并且也進行四舍五入
若在字符串中表示設(shè)置字符串輸出位
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a = 345, c = ‐5;
printf("%d%d\n", a, a);
printf("%+d%+d\n", a, a);
printf("*******************************\n");
printf("%5d%5d\n", a, a);
printf("%05d%05d\n", a, a);
printf("*******************************\n");
printf("%‐5d%‐5d\n", a, a);
//左對齊,不允許使用0
//printf("%0‐5d%0‐5d\n", a, a)是錯的
printf("%+d\n", c);
float b = 3.1455926;
printf("%f\n", b);
printf("%.2f\n", b);
return 0;
}
2、scanf 格式輸入函數(shù)
頭文件:#include
功能:按照指定的格式從鍵盤輸入數(shù)據(jù),存入地址表指定存儲單元
中,并按回車鍵結(jié)束
原形:int scanf(const char *format, ...);
參數(shù):format 指定輸入格式,后面跟要輸入的變量的地址表,為不定
參,用“...”代表
返回值 :成功返回輸入的變量的個數(shù),失敗返回1(EOF)
格式說明:%[修飾符]格式字符( %d、%c、%s、 %f ) ,用于指定
輸出格式
修飾符:
l: 在d,o,x,u前,指定輸出精度為long型
在e,f,g前,指定輸出精度為double型
m:指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束
*:抑制符,指定輸入項讀入后不賦給變量
地址表:保存輸入數(shù)據(jù)的變量的地址
垃圾字符的回收:
在輸入多個字符的時候,往往會產(chǎn)出空格以及回車這個垃圾字符,所以需要處理
scanf("%c%c%c", &a, &b, &c);
方法1:使用空格隔開
scanf("%c %c %c", &a, &b, &c);
方法2:使用%*c隔開,但是那次只能回收一個
scanf("%c%*c%c%*c%c", &a, &b, &c);
方法3:使用getchar來回收垃圾字符
scanf("%c", &a);
getchar();
scanf("%c", &b);
getchar();
scanf("%c", &c);
getchar();
#include <stdio.h>
int main(int argc, const char *argv[])
{
//在輸入一個字符串的時候,需要保證字符串的長度足夠大
char c[32];
scanf("%s", c);
printf("c = %s\n", c);
return 0;
}
字符的輸入輸出函數(shù)(getchar/putchar)
#include <stdio.h>
int main(int argc, const char *argv[])
{
#if 0
//傳一個字符
putchar('a');
putchar('\n');
//傳一個字符的ascii
putchar(97);
putchar(10);
//傳一個變量
char a = 'h', b = 99;
putchar(a);
putchar(b);
putchar(10);
putchar(10);
char c;
c = putchar(a);
putchar(10);
printf("c = %d %c\n", c, c);
#endif
char a, b, c;
a = getchar(); //輸入字符無參數(shù)
getchar(); //回收空格
b = getchar();
getchar();
c = getchar();
putchar(a);
putchar(10);
putchar(b);
putchar(10);
putchar(c);
putchar(10);
return 0;
}
字符串輸入(gets)和輸出(puts)函數(shù)
#include <stdio.h>
int main(int argc, const char *argv[])
{
#if 0
//自帶換行功能
puts("hello world");
//printf("\n");
//putchar(10);
//puts("")
char a[] = "nihao beijing";
int num;
num = puts(a);
printf("num = %d\n", num);
//puts()能統(tǒng)計字符串的長度包括'\0'(相當(dāng)于sizeof(a))
#endif
//在輸入一個字符串的時候,必須保證字符串的長度足夠大,否則會內(nèi)存溢出
char c[32], *d;
d = gets(c);
printf("c = %s\n", c);
printf("d = %s\n", d);
return 0;
}