数据输入/输出
字符型
char a;
//获取用户输入
a=getchar();
# include <stdio.h>
int main(){
char a,b,c;
a='B',b='O',c='Y';
putchar(a);//输出a
putchar(b);
putchar(c);
//输出BOY
}
# include <stdio.h>
int main(){
char a;
a=getchar();
putchar(a);
//上述两行可合为一个代码
//putchar(getchar());
}
格式输出
printf(格式控制串,输出项表)
prontf()格式说明及其作用
前四个重点,之后了解
格式说明 | 作用 |
---|---|
%d (或%i) | 以带符号的十进制格式输出整形数据 |
%c | 以字符形式输出,只输出一个字符 |
%f | 以带小数点的形式输出单,双精度浮点数据,小数位数默认为6位 |
%s | 输出字符串中的字符,直至遇到结束标记字符'\0' |
%o | 以八进制无符号格式输出整型数据(不带前导0) |
%x(或%X) | 以十六进制无符号格式输出整型数据(不带前导0x或0X) |
%u | 以无符号的十进制格式输出整型数据 |
%e(或%E) | 以指数形式输出单、双精度浮点数,尾数部分输出6位小数,1位非0整数部分 |
%g(或%G) | 由系统自动选用%f或%e格式,不输出无意义的0,以使输出宽度最小 |
%p | 输出变量的内存地址 |
%% | 输出一个% |
格式修饰符
格式修饰符 | |
---|---|
字母h | 输出短整型数据,可用在d,i,o,x,X,u之前 |
字母i或L | 输出长整型数据,可用在d,i,o,x,X,u之前 |
m.n | m和n均为正整数。m表示输出的最小宽度,当数据实际宽度超过m时,则按实际宽度输出,如果小于m,则输出时在前面补空格。n有两种含义,对于浮点型数据,表示输出n位小数;对于字符串数据,表示从左截取的字符个数。m和.n可独立使用 |
- | 输出的字符或数字在m指定的宽度内向左对齐,空格补在输出数据的后面 |
+ | 输出的数值数据前带有正负号 |
输出的数据在前面多余空格处加前导0 | |
# | 用在格式字符o或x之前,使输出八进制或十六进制数时输出前缀0或0x |
格式输入
scanf(格式控制串,地址列表)
eg:scanf("%d%d",&x,&y)
输入一个字符 | |
%d | 输入一个十进制整数 |
%i | 输入整数,可以是十进制数,带前导0或0x的八进制或十六进制 |
以八进制形式输入整数(可带前导0,也可不带前导0) | |
%x | 以十六进制形式输入整数(可带前导0或0x,也可不带) |
输入无符号的十进制整数型 | |
输入字符串,将整个字符串送到一个字符数组中,输入时以非空字符开始,以第一个空格结束,并自动在最后加一个'\0',作为字符串结束标志 | |
%e或%f | 两种格式相同,用来输入实数,可以用小数形式或指数形式输入 |
意义 | |
---|---|
字母l或L | 用在d,i,o,x,u之前,表示输入长整型数据,用在f或e前,表示输入double型数据 |
用在d,i,o,x,u之前,表示输入短整型数据 | |
m(正整数) | 指定输入数据所占宽度(列数),不能用来指定实型数据的宽度 |
* | 表示该输入项在读入后不存储,不需要为其指定地址 |