数据输入/输出

字符型

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 输出的数据在前面多余空格处加前导0
# 用在格式字符o或x之前,使输出八进制或十六进制数时输出前缀0或0x

格式输入

scanf(格式控制串,地址列表)

eg:scanf("%d%d",&x,&y)

从键盘上输入两个数,存在x,y中

scanf()函数格式说明及其作用

格式说明 作用
%c 输入一个字符
%d 输入一个十进制整数
%i 输入整数,可以是十进制数,带前导0或0x的八进制或十六进制
%o 以八进制形式输入整数(可带前导0,也可不带前导0)
%x 以十六进制形式输入整数(可带前导0或0x,也可不带)
%u 输入无符号的十进制整数型
%s 输入字符串,将整个字符串送到一个字符数组中,输入时以非空字符开始,以第一个空格结束,并自动在最后加一个'\0',作为字符串结束标志
%e或%f 两种格式相同,用来输入实数,可以用小数形式或指数形式输入

scanf()函数格式修饰符及其意义

格式修饰符 意义
字母l或L 用在d,i,o,x,u之前,表示输入长整型数据,用在f或e前,表示输入double型数据
字母h 用在d,i,o,x,u之前,表示输入短整型数据
m(正整数) 指定输入数据所占宽度(列数),不能用来指定实型数据的宽度
* 表示该输入项在读入后不存储,不需要为其指定地址