C语言学习(三)----数据输入输出
C语言本身不提供输入输出语句,输入输出是由C函数库中的函数来实现的。
输入输出的函数有
putchar(输出字符);
getchar(输入字符);
printf(格式输出);
scanf(格式输入);
puts(输出字符串);
gets(输入字符串);
在使用这些函数前,要包含stdio.h的头文件:#include <stdio.h>。
格式输入与输出
(1)、printf(格式控制,输出列表);
格式控制是由“%”和格式字符组成。
格式字符:
1. d格式符。用来输出十进制整数。
★ %d:按十进制整型数据的实际长度输出。
★ %md:m表示输出字段的宽度。数据位数小于m,左端补以空格;大于m,输出实际位数。
★ %ld:输出长整型数据
2. o格式符。以八进制整数形式输出。(不会输出带负号的八进制整数)
★ %o:按八进制整型数据的实际长度输出。
★ %mo:m表示输出字段的宽度。数据位数小于m,左端补以空格;大于m,输出实际位数。
★ %lo:以八进制输出长整型数据
3. x格式符。以十六进制整数形式输出。(不会输出带负号的十六进制整数)
★ %x:按十六进制整型数据的实际长度输出。
★ %mx:m表示输出字段的宽度。数据位数小于m,左端补以空格;大于m,输出实际位数。
★ %lx:以八进制输出长整型数据
4. u格式符。用来输出unsigned型数据。
5. c格式符。用来输出一个字符。
6. s格式符。用来输出一个字符串。
★ %s 输出字符串
★ %ms 输出字符串占m列,字符串长度大于m,全部输出;小于m,左补空格。
★ %-ms 字符串长度小于m,则在m列范围内字符串向左靠。
★ %m.ns 输出占m列,但之取字符串左端n个字符,不足就左补空格。
★ %-m.ns n个字符输出在m列范围的左侧,如果n>m,m自动取n值。
7. f格式符。用来输出实数,以小数形式输出。
★ %f 不指定字符宽度,默认为6位。
★ %m.nf 输出的数据占m列,其中有n位小数。如果长度小于m,左端补空格。
★ %-m.nf 与%m.nf相同,只是输出靠左端,右端补空格。
8. e格式符。以指数形式输出实数。
9. g格式符。用来输出实数,自动选f格式符或e格式符。不输出无意义的0.
(2)、scanf(格式控制,地址列表);
注意点:scanf后面是变量地址,不是变量名。
(3)、输入结束
1. 空格,回车或者Tab
2. 指点的宽度结束
3. 非法输入