b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

[传输] C语言printf格式控制字符已完全解析

电脑杂谈  发布时间:2020-05-07 05:21:31  来源:网络整理

printf 格式控制_printf格式控制_c printf 格式

printf格式控件的完整格式:

%-0 m.n l或h格式字符

以下是格式说明的每个组成部分的说明:

①%: 表示格式描述的开始符号,必不可少.

②-: 是-表示左对齐输出,如果省略则表示右对齐输出.

③0: 0表示指定的间隙用0填充,如果省略,则表示指定的间隙未填充.

④m.n: m表示字段宽度,即相应的输出项在输出设备上占据的字符数. N代表准确性. 用于描述输出实数的小数位数. 指定n时,隐含精度为n = 6位数字.

⑤l或h: l整数类型是long类型,实数类型是double类型. h用于将整数类型的格式字符修改为短类型.

----------------------------

设置字符格式

printf格式控制_printf 格式控制_c printf 格式

格式字符用于指定输出项目的数据类型和输出格式.

①d格式: 用于输出十进制整数. 有几种用法:

%d: 根据整数数据的实际长度输出.

%md: m是指定输出字段的宽度. 如果数据位数小于m,则左端用空格填充;如果数据位数大于m,则按实际位数输出.

%ld: 输出长整数数据.

②o格式: 以无符号八进制形式输出整数. 对于长整数,可以使用“%lo”格式进行输出. 您还可以指定字段宽度并以“%mo”格式输出.

示例:

主要()

{int a = -1;

printf(“%d,%o”,a,a);

c printf 格式_printf 格式控制_printf格式控制

}

运行结果: -1,177777

程序分析: -1为存储单元中的(1111111111111111)2(以补码形式存储),转换为八进制数为(177777)8

③x格式: 以无符号十六进制形式输出整数. 对于长整数,可以使用“%lx”格式进行输出. 您还可以指定字段宽度并以“%mx”格式输出.

④u格式: 以无符号十进制形式输出整数. 对于长整数,可以以“%lu”格式输出. 还可以指定字段宽度并以“%mu”格式输出.

⑤c格式: 输出字符.

⑥s格式: 用于输出字符串. 有几种用法

%s: 例如: printf(“%s”,“ CHINA”)输出“ CHINA”字符串(不包括双引号).

%ms: 输出字符串占用m列. 如果字符串本身的长度大于m,则将超出m的限制,并输出所有字符串. 如果字符串的长度小于m,则在左侧填充空格.

%-ms: 如果字符串的长度小于m,则在m列的范围内,字符串在左侧printf 格式控制,空格填充在右侧.

c printf 格式_printf格式控制_printf 格式控制

%m.ns: 输出占用m列,但仅从字符串的左端开始取n个字符. n个字符输出到m列的右侧,并在左侧留空格.

%-m.ns: 其中m和n与上述含义相同,在m列范围的左侧输出n个字符,并在右侧添加空格. 如果n> mprintf 格式控制,则自动取n值,以确保正常输出n个字符.

⑦f格式: 用于输出实数(包括单精度和双精度),并输出为十进制数. 有几种用法:

%f: 未指定宽度,全部输出整数部分,并输出6个小数位.

%m.nf: 输出总共占m列,并且有n个小数位,例如值的宽度小于m填充左端.

%-m.nf: 输出总共占据n列,其中n小数位,例如值的宽度小于m以便在右端填充空格.

⑧e格式: 以指数形式输出实数. 可以使用以下形式:

%e: 数字部分(也称为尾数)输出6个小数位,而指数部分则占用5或4位数字.

%m.ne和%-m.ne: m,n和“-”字符的含义与以前相同. 这里的n表示数据数字部分的小数位数,m表示整个输出数据所占的宽度.

⑨g格式: 自动选择f格式或e格式中较短的一种进行输出,并且不会输出无意义的零.

printf 格式控制_c printf 格式_printf格式控制

--------------------------------------

有关printf函数的进一步说明:

如果要输出字符“%”,则应在“格式控制”字符串中使用两个连续的%s,例如:

printf(“%f %%”,1.0 / 3);

输出0.333333%.

--------------------------------------

对于单精度数字,使用%f格式字符输出时,只有前7位是有效数字,而小数位是6.

对于双精度数字,使用%lf格式的字符输出时,前16位是有效数字,而6位是十进制数字.

m.n的格式也可以表示如下(示例)

char ch [20];

printf(“%*. * s \ n”,m,n,ch);

前面的*表示总宽度,后面的*表示输出数量. 分别对应于外部参数m和n. 我认为这种方法的优点是可以在语句外部分配参数m和n来控制输出格式.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-201409-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      每日福利