四、输入输出
1、字符输入输出函数
一、字符输出函数
一般形式 putchar()
二、字符输入函数
一般形式 c=getchar() 无参数
三、说明:
(1)getchar()只能接受一个字符,以回车结束;
(2)连续输入多个字符时,中间不用空格或回车。
(3)常用方法while((ch=getchar())!=\n' )
2、格式输入函数
一、一般形式:
scanf(格式控制字符串,参数地址列表)
2、功能:作用是将从键盘读取的数据放入为变量分配的内容
scanf( "a=%d, b=%f", &a, &b);
普通字符原样输入
%d } 格式说明符
%f }
scanf的格式串中通常只包含普通字符或格式符(%s,%c等)。
scanf的第2个参数必须为变量地址,常用形式
-普通整型变量或数组示素: scanf("%d",&x);
-普通字符变量: scanf("%c",&c);
- 字符数组:字符数组可整体赋值, scanf("%s",ch); //ch为字符数组名,其值等于为数组分配的连续存储空间的首地址。
scanf的格式符:%d %c %f %lf %s
键盘输入数据时,除格式符外都要原样输入!
回车与空格(tab)都是有效字符。
int x; char c;
scanf("%d%c",&x,&c); //如何将10和字符a分别放入x和c?
①输入数据要加分隔符,如下情况认为结束。遇分隔符,宽度结束,非法输入;
3、格式输出函数与进制转换
一、一般形式:
printf(格式控制字符串,输出项表列)
2、功能:将输出项表列内容按照控制字符串要求输出
格式控制串:用双引号引起,包含三种信息。
1.格式说明符: %[修饰符]格式字符,指定数据输出格式、
区分%d,%u, %o,%x
2.普通字符:原样输出(包括空格) ;
3.转义字符:实现特定功能,如'\b'、'\r';
printf的格式符:
%d 十进制
%c 字符
%f 单精度 (实数float,double)小数点后保留6位
%m.nf 总共m位长度,小数点占用n位,右对齐左补空格
%-m.nf 总共m位长度,左对齐右补空格
%s
%m.ns
格式字符与输出项个数应相同,按先后顺序——对应;
普通变量、数值数组:逐个输出(循环),不能整体输出,输出项为变量或数组元素。
字符数组中存放字符串时(包含\0)可采用%s整体输出,此时,输出项为要输出的字符串的起始地址;
结构体变量必须逐个输出变量的成员,不能整体输出;
数据类型转换
1.自动转换 int3+double4.2=6.2
2.强制类型转换 x=(int)(a+b)
3.赋值转换 x=(int)a+b
4.函数返回值转换
#include <stdio.h>
void main() {
char a,b;
float d,f;
int i,k;
i=f=k=d=25/3;
printf("%3d%3d%5.2f%5.2f\n",i,k,f,d);
}