由于以前没有学过C,直接从C++入门的。最近A题发现C语言的输入输出灵活简洁,特意总结一下。
首先,C语言基本输入输出函数有:
getchar putchar 实现输入输出一个字符。
gets(str) puts(str) 实验输入输出字符串。
scanf() prinf() 基本输入输
注意
- get型输入可以忽略空格回车一些转义字符 而scanf()不可以。例如:
char c1,c2,c3; scanf("%c%c%c",c1,c2,c3);//空格。回车会占用一个字符
- scanf(字符手动输入)
int a,b; scanf("%d/%d",&a,&b);// /要手动输入
其次 printf("控制格式",输出表列)
- 控制格式就是括号括起来的字符串,又称装换控制字符串。它包含两方面信息格式说明%,转义字符\n \t等。
- 输出列表。可以是数据也可以是确定的表达式。多个数据要用,号隔开。
- 常用格式说明如下:
d 以十进制形式输出带符输出(正数不带符号, %nd n代表着输出所占列宽)
o 以八进制形式输出无符号整数(不输出前缀0)
x 以十六进制形式输出无符号整数(不输出前缀0X 带前缀#x)
f 以小数形式输出单精度数(%n.mf, n代表输出列宽,m代表保留小数点后几位小数)
lf以小数形式输出双精度数e 以指数形式输出单双精度数g 以%f%e中较短的输出宽度输出单双精度数c 输出单个字符
s 输出字符串
特殊 关于64位整数的输入输出 VC 定义_int64 a; 控制格式 %I64d。 G++ 定义long long a; 控制格式 %lld
输出宽度 若实际位数多于宽度,则按实际位数输出,否则以空格补全
输出精度 %. 后跟十进制整数。意义是:如果输出数字,则表示小数的位数;如果输出字符,则表示输 出字符个数;
最后 scanf("控制格式",输入表列)
可以输入我们需要的字符 scanf("/ - -")
可以精确取数 %(int)d s f lf s 取前int个位字符
char a[100];
scanf("%4s",a);//前四个字符