黑马程序员———C语言 printf函数和scanf函数

------- Java培训、Android培训、iOS培训、.Net培训 、期待与您交流 --------

一. printf函数:C语言的标准的输出库函数,使用时尽量包含一个“stdio.h”的头文件。

   1)printf函数的书写格式:"格式控制符",变量列表);

         其中变量列表可以省略例如:

          printf("hello world!");

 

   2)格式控制符

      a. %d 输出一个10进制整数

      b. %f 输出float类型的,默认的输出6位,不足补0,精度小数点后6位,有效数字7位。double精度小数点后6位,有效数字15位。%.2f就是打印2位有效数字。%m.n 中的m为正数的话就从左开始补空格,为负,从右开始补空格,m表示当前共输出多少列,n表示小数点后的位数。

      c. %c 输出一个字符

      d. %s 输出一个字符串

      e. %o 把一个数以8进制的形式输出

      f. %x把一个数以16进制的形式输出

      g. %p 输出地址

 

    3)printf的注意事项

      a.域宽问题%md

       如果要输出数的实际位数>域宽m按照实际位数输出如:printf("%3d",1888);

       如果要输出数的位数<域宽m,如果m>0从左侧开始补空格,反之右侧开始补0。

      b.printf函数不可以自动换行

  

二. scanf函数

   1)scanf(阻塞式函数:等待用户输入,若不输入,就停止不动,直到输入内容后按回车键等,继续执行):用于接收键盘输入的内容,保存到指定的变量中。使用时包含在"stdio.h"头文件中。

 

   2)格式:scanf("格式控制符",输入项地址列表);两项一项都不能省略。其中格式控制符不可以写成%m.nf,例如:%4.2f.但是%mf是可以的。例如:%3f


   3)格式控制符  

         a.%d 输入一个十进制

         b.%o 八进制

         c.%x 十六进制

         d. %i 有符号的十进制,八进制,十六进制

         e. %u 无符号的十进制数

         f. %f,e,g,G 小数形式或指数形式的浮点数

         g.%c 一个字符

          i. %s 一个字符串


   4)步骤

         a.定义变量

            int age=-1;//定义变量并且初始化

         b.给一个提示,让用户输入内容

            printf("请输入年龄:\n");//给一个提示

         c.接收用户输入的内容 

            scanf("%d\n",&age);

            //打印用户输入的年龄

             printf("%d",age);


   5)scanf函数注意事项

        a.scanf函数当遇到回车的时候,会结束执行。

        b.接收单个变量值的时候,在输入值之前,如果我们输入空格,回车,tab都会被忽略。

        c.%d%d,要求我们在输入的时候,输入两个整数,并且以空格或者回车隔开,输入完第一个数以后,如果自己添加了回车空格 tab都会被忽略。

        d.为了防止混合输入,每个格式控制符之间可以加逗号。

        e.关于*的使用:%*d是跳过一个整数,也可忽略一个字符。

        f.scanf函数尽量不要使用\n,要是用了,随便输入一个内容或者原样写在控制台上,再或者再写一个scanf接收多余的字符。

 

   6)scanf函数的运行原理

          a.当用户输入内容后,用户输入的内容会被存放到scanf得输入缓冲区中,然后scanf函数会根据格式控制符的要求,从缓冲区中依次取它想要的内容。如果缓冲区中取得的内容和我们的格式要求一致,则把值存放到变量中,若格式不一致,则不修改变量的值。

          b.scanf缓冲区中还有内容,则scanf不会在提示我们再输入。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值