c语言的格式符

Python013

c语言的格式符,第1张

在c语言输出中有多种多样的格式。例如下面这种格式

这个是一个简单的输出语句。但是可以让我们知道什么是格式符

格式符的目的是为了满足我们想要输出的什么样格式的数据存在的。(个人理解)

现在我介绍下有几种格式符。

1.%d和%i:带符号十进制形式输出整数的(正数输出+)

2.%o:以八进制无符号输出整数

3.%x:十六进制无符号输出整数,小写的x是输出小写的a-f,大写X得到 A-F

4.%u:无符号形式输出整数

5.%c:只能输出一个字符

6.%s:输出字符串

7.%f:小数形式输出单双精度,隐含输出6位小数(默认六位,想要获取更多就得需要下面知识了)

8.%e:以指数形式输出实数,这个%e和%E也是输出的时候e的大小写区别

9.%g:%f和%e格式中输出宽度较短的一种格式,不输出无意义的0.

这个是各种格式符的意义。但是这样子能基本满足我们想要输出的格式,而不是全部

下面是我的见解和做出的结果

我以%f为例做出我能想到的可能性,这个是我实验用到的例子123.456789

我想在输出页面中--10位数--向左对齐(默认向右)--小数点前面取2位--小数点后面取3位

我这个例子后面“-”是输出完的结束符,自己添加为了好识别。

从这个例子中我们可以发现默认是向右,前面加个负号是向左。

符号后第一位是说明这个输出占有多少位。(注意小数点占一位)

.代表小数点一种格式

第二位表示取小数点后面多少位。这个如果取多了会用0补充,取少了会四舍五入。

就是假设我取123.4567这个数的小数点后8位,小数点后输出结果是.45670000

如果我取小数点后2位,小数点后输出结果是.46

在这个问题中我发现,我理解了事情后没有去实践,认为的结果都是自己认为的。实践挺重要。

文章有问题或者要联系我[email protected]

c语言中的格式说明符,以%开头,后面接上字母,如%d表示整数,%f表示浮点数,%s表示字符串,%c表示字符等等!

扩展:格式说明符详细说明

① d格式:用来输出十进制整数。有以下几种用法:

%d:按整型数据十进制的实际长度输出。

%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

%ld:输出长整型数据。

② o格式:以无符号八进制形式输出整数。

%d:按整型数据八进制的实际长度输出。

%lo:对长整型可以用格式输出

%mo:指定字段宽度用格式输出

③ x格式:以无符号十六进制形式输出整数。

%x:按整型数据十六进制的实际长度输出。

%lx:对长整型可以用格式输出

%mx:指定字段宽度用格式输出

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

%u:按无符号整型数据十进制的实际长度输出。

%lu:对长整型可以用格式输出

%mu:指定字段宽度用格式输出

⑤ c格式:输出一个字符。

⑥ s格式:用来输出一个串。有几中用法

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

%ms:输出的字符串占m列,如字符串长度大于m,将字符串全部输出。若串长小于m,则左补空格。

%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。

%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取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表示整个输出数据所占的宽度。

⑨ p格式:输出指针地址

c语言最基本的格式,可以参考最基本的hello

world程序。hello

world程序虽然小,但是几乎包含和计算机软件技术相关的各种基础知识。

#include

int main()

{

printf("hello world\n")

return 0

}1、#include

预处理操作,谈到预处理操作,就需要了解c语言编译器生成二进制可执行文件的过程,一般为预处理阶断、编译阶断、汇编阶断、链接阶断。

预处理阶断:进行预处理操作,有预处理器来完成。

编译阶断:有c语言编译器完成,它负责将c语言源码转换成汇编指令。要深入下去就是编译原理知识。

汇编阶断:有汇编器完成,它负责将汇编指令转换成二进制机器码。要深入下去就是汇编语言以及反汇编、调试技术的内容

链接阶断:有链接器完成,它负责将二进制机器码装载成一个可执行文件,如果要深入的探索下去,就是windows或者linux平台上的库编程以及相可执行文件格式的学习,比如windows平台的pe文件格式,如果把pe格式搞明白,自己可以直接用二进制编写一个程序,这没有不可思议,实际上是网上有这方面的帖子。

2、int

main()

每个c语言程序有且只有一个main函数,一般的教科书上只有一句:“有系统调用main函数”,

那么到底

是系统中的谁调用了此函数,如此深入下去,可以加深对应用程序执行的理解,实际上在linux平台上有,_start()函数调用main函数,在windows平台上有启动函数maincrtstartup函数来调用main函数。

3、printf("hello

world\n")

这是c语言的成功之处之一,c语言将输入、输出操作设置为一个标准,这大大方便了应用程序开发,也提高了应用程序的可称植性。自己有兴趣可以深入的去探索。

4、return

0

return

0,返回值的0表示程序执行成功了。