<新手向>占位符初步理解运用
引言:初步接触C语言时,在语句中使用占位符的频次会大大增加,本章会用简单的例子帮助理解占位符的含义。
名称 | 含义 |
---|---|
%a | 十六进制浮点数,字母输出为小写。 |
%A | 十六进制浮点数,字母输出为大写。 |
%c | 字符 |
%d | 十进制整数 |
%e | 使用科学计数法的浮点数,指数部分的 e 为小写 |
%E | 使用科学计数法的浮点数,指数部分的 e 为小写 |
%i | 整数,基本等同于 %d |
%f | 小数 (包含 float 类型和 double 类型) |
%g | 6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的 e为小写 |
%s | 字符串 |
(以上仅列举部分占位符)
1.1 占位符+位数控制
正常输入123,打印5位整型,默认右对齐,故左边需空出两位。
同样5位整型,如若想打印左对齐,只需将%5d改为%-5d即可
如上两个例子中,负号仅代表向左或向右对齐,数字5代表打印长度。(限定宽度)
1.2 浮点数
在进行小数的打印时,默认打印小数点后6位
上图案例中,
该浮点数整数部分(3)+小数点(1)+小数点后(6)=10
还需要打印2位,故在前面空格。
如要控制小数点后的位数,可使用如下方法:
上图%12.8f 意为打印12位,其中小数点后(不包含小数点)8位。
1.3 正负号的加入
默认情况下,printf()不对正数显示 + 号,只对负数显示 - 号。如果让正数也输出 + 号,可以在占位符的 % 后面加一个 +。
1.4 实例:scanf占位符的应用
注:scanf中占位符需要在本体上加& “取地址”
scanf 使用多个占位符输入多个值时,取地址用逗号隔开。
ctrl+z 代表文件结束符,即结束占位符的功用,使得读取过程终止
r=scanf 代表 scanf 正确读取的变量个数。上图全部错误读取得到结果EOF(文件结束标志),即r=-1
1.5 讲解%c
占位符中,除了%c(表示占位单个字符),其他的都跳过开头的空格部分。
例: 输入空格+a,读取空格衔接下面用于分辨的xxxx
输入a,同上
如若不读取空格,在%前面空一格即可。
1.6 %s讲解(引入数组arr)
第六行含义:数组arr最多存放[ ]20个字符,初始化为{0}
%s 字符串:从第一个非空白字符开始,读取到空白之前为止
1.7 赋值忽略符
scanf中,将*插到占位符中间,表示该占位符不会返回值,解析后会被丢弃。
即输入符号的不同不影响输出结果。
世界上只有一种英雄主义,那就是在认清生活本质后仍然热爱生活~