输入与输出

从字符串那里,包括之前听C语言群里大佬说
也获取到了一些关于printf与scanf的更多形式与更多玩法的知识。
今天也一并分享给大家。

1.stdio.h中的更多的函数

(关于stream与参数列表的不讲,还没学到。)

类似的,应该你们也听说过,这里列一下。

1
2
int sprintf(char *str, const char *format);
int sscanf(const char *str, const char *format, ...);

一.函数定义读法

这里是纯纯的函数函数定义,看起来可能很抽象,
没关系,我会出手。

总体上一讲,以后见到前面带f的一般是有关stream
带v的一般是有关参数列表的,
以后看到学长写类似的函数就知道该多学习了!😂

对于以后看这样的函数定义,首先看[返回值类型],
一般是,返回处理的结果或者返回一个数值(int/double)

然后如果看不懂函数名的话,
先看[括号中的形式参数],知道我们需要输入的是什么东西。

比如这两个函数中
const是数据类型的修饰符,表示常量。
char* 表示字符串、后面的是形式参数名,不需要管。

最后,通过[看实例]与函数的[概述]得知函数的作用。
在菜鸟教程里都一条一条地列出来的,每一条都有实例。

在最后一篇文章的最后会给大家列出来用过的这些网站。

二.浅谈没讲过的sscanf()函数

上一篇我们已经讲过sprintf函数了,知道了它可以用来写入字符串。
现在就来讲一讲相对的sscanf函数。

不多说,直接上函数定义。

1
int sscanf(const char *str, const char *format, ...);

首先看返回值
这个函数返回的是一个数值,也就像scanf一样
函数返回的是成功赋值与匹配的个数。
如果到达文件末尾或者错误返回EOF。

然后看形参
获取的是字符串常量(const char *str),
这个字符串,是包含着我们想要赋值数据的字符串。
写入形式(const char *format)
写入形式相当于格式化符,相当于赋值的顺序)
尽量不要加新的形式。
与参数列表(...)。
对应之前的格式化符。
关于参数列表,其实简单的说
就是我们printf中标准符后边逗号中的内容
见下方。

1
2
3
4
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
//后面的a,b,c就是参数列表
//%d的这个字符串就是写入形式的一种形式

所以这个函数的功能就是

1.从字符串中获取数据,
2.然后赋给格式化符的对应的变量。

sscanf不需要我们自己输入,在字符串中有就好。

所以更多的惯例自己去菜鸟教程上查就好,
建议立即行动,不然一定会忘记。

二.关于我们的输入输出

以下内容取自空梦大大的博客
如何理解c/c++中的输入/输出函数? | 山岳库博
我们这里梳理的是,我们这个阶段可以用到的符号。

1.关于格式化符与printf、scanf修饰符

格式化符我们需要知道的如下,之前在题中也出过。
1. %d/%lf/%f/%c 整数、字符、浮点数
2. %s 字符串输入与输出。
3. %x/%X - 十六进制整数 或者 %o 八进制整数
4. %%两个百分号一起用可以输出%号,相当于转义了。
%%
掌握了这些我们就不太用怕需要的数据表示不出来了。
现在看来老师教的还是不是很够,第一个都用过时了。

printf修饰符

  1. 加数字,右对齐字符宽度。-实例:printf("%4d",n);
  2. .数字,对于小数表示小数后位数,比如%.3lf
    对于字符串是打印字符的最大数量
    只使用点%.f与%.0f相同。
  3. 使用ll表示long long %lld
  4. 使用l,对于整型表示long int,对于浮点型表示double
  5. 各种标记:
    1. 在数字前加符号为左对齐
      • 是为了把在有符号数开头加’+’或者’-‘。
    2. 加0对于多于的字段宽度填充0,如%04d
      对于1,返回的是0001.
      4.加入 * 决定填入数字,
      需要在参数列表中新加入一个变量。
      常见形式为%*lf

scanf修饰符

    • 只读取不赋值,这对于无用数据是有用处的 形式为类似%*d
      d可以任意换,以下的所有实例中的d都可以换成其他类型
  1. 同样的加数字为取字段的宽,有多长取多长,别的截掉。

这就是最近关于输入输出想和大家分享的内容。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2024 大学生暮暖
  • 访问人数: | 浏览次数:

请我喝杯奶茶吧~

支付宝
微信