C语言格式化输出输入

先来复习一下转义字符

\'			输出'
\"			输出
\?			输出
\\			输出
\a			产生声音或视觉信号
\b			退格
\f			换到下页开头
\n			换行
\r			回车 (本行开头)
\t			水平tab
\v			垂直制表符
\o\oo\ooo	一个o代表一个八进制数,输出对应字符
\x同上		同上

1、printf()输出函数

一般格式printf(“格式控制,字符”,输出表列)

举例

int a=520;
printf("%d",a);

此操作输出数字520。在这里插入图片描述

char a='w';
printf("%c",a);

此操作输出字符w。在这里插入图片描述

char c[]="abc";
printf("%s",c);

输出字符串abc在这里插入图片描述
此外%f输出六位小数的实数

float d = 1.0/3;
printf("%f",d);

在这里插入图片描述
可以用%m.nf指定数据宽度和保留小数位数(注意数据本身的有效长度)
请观察一下输出:

float e = 2.0/3;
printf("%5.2f\n",e);
printf("%5.3f\n",e);
printf("%7.2f\n",e);
printf("%8.2f\n",e);

在这里插入图片描述
若在前面加-号则左对齐

float e = 2.0/3;
printf("%-5.2f\n",e);
printf("%-5.3f\n",e);
printf("%-7.2f\n",e);
printf("%-8.2f\n",e);

在这里插入图片描述
若输出位数不足可以用0补齐:

	int f = 520.1;
    printf("%5d\n",f);
    printf("%05d\n",f);
    printf("%7d\n",f);
    printf("%07d\n",f);

在这里插入图片描述
注意:0前面不能有-号

各位猜一猜输出%怎么写?

1	printf("%\n");
2	printf("\%\n");
3	printf("30%\n"); //会输出30%吗?

巧了,都不是

在这里插入图片描述

其实是这样

printf("30%%");

在这里插入图片描述

2、输入函数scanf()

格式跟printf()差不多
一般格式scanf(“格式控制、字符”,地址)
举例:

    scanf("%d ",&a);
    scanf("%c ",&b);
    scanf("%f ",&e);
    scanf("%s ",&c);
    scanf("%s",c);
    printf("%d\n",a);
    printf("%c\n",b);
    printf("%f\n",e);
    printf("%s\n",c);
    printf("%s\n",c);

在这里插入图片描述
这里&是取地址符号,但最后一个可以不要,因为我定义的字符数组,众所周知,数组名是开头第一个地址也是数组的地址。scanf遇到空格会结束,要么会被读进去,所以用scanf一定要保证输入格式一致,并且要与scanf里""保持一致如:

	scanf("a=%d ",&a);
    scanf("%d",&b);
    printf("a=%d\n",a);
    printf("b=%d\n",b);

在这里插入图片描述
这里b赋值失败了。在这里插入图片描述
可以限制每次读数据的宽度:

	for(int i=0;i<10;i++)
    {
        scanf("%1d",&b[i]);
    }
    for(int i=0;i<10;i++)
    {
        printf("%d ",b[i]);
    }

在这里插入图片描述

	for(int i=0;i<10;i++)
    {
        scanf("%2d",&b[i]);
    }
    for(int i=0;i<10;i++)
    {
        printf("%d ",b[i]);
    }

在这里插入图片描述

3、putchar()可以输出一个字符包括转义字符

	char a='A';
    putchar(a);
    putchar('\n');
    putchar(' ');
    putchar(65);

在这里插入图片描述

4、getchar()输入函数

这个函数没有参数,只能接收一个字符

    char a;
    char b;
    a=getchar();
    b=getchar();
    printf("%c",a);
    printf("%c",b);

在这里插入图片描述
此外getchar()的使用还有一些小技巧,如在输入流最后加一个这函数能防止下一个输入流被回车占掉。多说无益,实践出真知😂。

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值