C语言输入&输出函数scanf、printf

本文详细介绍了C语言中的输入函数scanf()和输出函数printf()的使用方法。scanf()函数用于从键盘接收用户输入,需要注意格式化字符串、变量与变量地址的使用,以及输入数据的处理。printf()函数则负责格式化输出数据,支持多种格式控制字符和转义序列,可以调整输出宽度和精度。
摘要由CSDN通过智能技术生成
  • 基本输入输出

  1. scanf()函数

scanf ()原型:

                           # include <stdio.h>;
                           int scanf( const char *format, ... );

scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入。scanf函数是一个标准库函数,在使用scanf函数之前不必包含stdio.h文件,一般形式为:

            scanf("格式化字符串",地址表);

 格式化字符串包括以下三类不同的字符;
1. 格式化说明符: 格式化说明符与printf()函数中的格式说明符基本相同。
2. 空白字符: 空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。
3. 非空白字符: 一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
    格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表中给出各变量的地址,由地址运算符“&”后跟变量名组成的。

变量与变量地址:

例如定义两个变量a、b;

int a,b;

在这里,a、b为变量名,而&a、&b则分别表示变量a和变量b的地址。&是一个取地址运算符,&a和&b是一个表达式,其功能是求a、b的地址。一般使用时我们这样使用:

int a,b;
scanf("%d%d",&a,&b);

但在scanf()函数中也需要注意以下几点:

  1. 在scanf()函数中不存在转义字符,所以除了格式字符外全部都要原样输入;
    int a;
    scanf("%d\t",&a);

    这种写法是错误的,但系统一般不会报错;假如我们运行程序输入整型10,程序不会结束,而是等待你输入任意数字或符号才会结束,而变量a所获得的的值是10。

  2.  输入列表的变量如果是基本类型(即整型、实型、字符型)一定要使用取地址符&(输入字符串到字符数组的情况除外),而且&后必须是变量,不允许是常量或表达式。

    如:
     

    int a,b;
    scanf("%d%d",a,b);

    这是不合法的。scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。

  3. 输入数据时,不要企图规定数据的精度 

    float a;
    scanf("%.2f",&a);

    这样做是不合法的,输入数据时不能规定精度,因此在这里我们要记住一个程序是不能控制操作它的人来输入数据的精度的。

  4. 输入数据的方式与要求不符

    scanf("%d%d",&a,&b);

    输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:3,4 输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值