scanf_sprint及相关

printf、scanf、getchar、putchar、sscanf、sprint

printf

printf()函数的使用:printf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf 函数之前必须包含stdio.h文件或cstdio文件。cstdio是将stdio.h的内容用C++头文件的形式表示出来。stdio.h是C标准函数库中的头文件,即:standard buffered input&output。提供基本的文字的输入输出流操作(包括屏幕和文件等)。

写法:printf(“格式控制字符串”,输出项列表)。

//print:打印 || f:format -> 格式

格式控制字符串:(包含三类字符)

  • 普通字符 (即原模原样输出的字符,主要用于做提示信息):

  • 格式说明符(以 “%” 开头):一般写法为 “标志、输出最小宽度、.精度、长度、类型”

    //、只是为了分隔,实际中不需要写出 、

    1. 标志-、+、# 和空格

      - :结果左对齐,右边填空格
      + :输出符号(正号或负号)
      # :对c、s、d、u 类无影响;
          对 o 类,在输出时加前缀 0;
          对 x 类,在输出时加前缀 0x;
          对 e、g、f 类当结果有小数时才给出小数点。
      空格:输出值为正时冠以空格,为负时冠以负号

    2. 输出最小宽度:一个数字(规定最小“字符”长度),默认如果最后显示不足最小宽度,则字符右对齐(例如:printf("%3d",2) -> 输出 “此处空两格”2);若输入的最小宽度前加个0,则自动补齐时,空位补 0(例如:printf("%03d",2) -> 输出 002)。

    3. .精度:. + 数字,表示保留几位小数。

    4. 长度:长度格式符为 h、l两种,h 表示按短整型量输出,l 表示按长整形量输出。

    5. 类型:%c、%d、%f、%s、%u、%o、%x、%ld、%lf、%e、%p、%%

      c:输出单个字符

      s:输出字符串

      d:以十进制形式输出带符号整数(正数不输出符号)

      ld:长整型

      lld:long long int

      llu:unsigned long long

      u:以十进制形式输出无符号整数

      f:以小数形式输出单、双精度实数

      //只是在 printf 中 f 既代表 float 又代表 double。在 scanf 中 f 只代表 float,而 double 用 lf 表示

      o:以八进制形式输出无符号整数(不输出前缀0)

      x X:以十六进制形式输出无符号整数(不输出前缀0x)

      p:十六进制输出地址(输出前缀)

      e,E:以指数形式输出单、双精度实数

      g,G:以 %f 或 %e 中较短的输出宽度输出单、双精度实数

      % :输出 %                      // %%

  • 转义字符: http://liouwei20051000285.blog.163.com/blog/static/2523674201002493536964/

  • **输出项列表:**此项是可以省略的,当"格式控制字符串"中没有"格式说明符"时,输出项列表省略;若是有"格式说明符"时,输出项列表不能省略,并且有几个格式说明符、输出项列表就必须有几个对应数据类型的表达式,各表达式之间用逗号隔开。

scanf:

写法:scanf(“格式控制字符串”,地址列表)

与printf的区别:

  1. 第二项为地址
  2. 多出了一个 lf 类型用来表示 double ,printf 中 f 也可代表 double。
  3. scanf("%4d",&a),与上面的输出宽度不同,这条语句指读入4位的整数。

注意:

  1. %c 读一个字符(包括空格);而 %d 等其他类型则遇到空白符(空格、Tab)则终止读入并跳过空白符;而 %s 读入的时候以空格跟换行为读入结束的标志。
  2. 格式控制字符串中不能含有 转义字符 -> 最好不要
  3. 地址列表只能是地址,不能是表达式
  4. 读入字符时,输入的空格也会算作字符

getchar、putchar:

getchar 用来输入单个字符,putchar 用来输出单个字符。

sscanf、sprintf:

    scanf、printf 是标准输入输出(即数据的流动是屏幕和变量之间的),而sscafn、sprintf 数据的流动是字符串、字符数组和变量之间的。
 格式为:sscanf(str, “%d”, &n)、sprintf(str, “%d”, n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Drdajie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值