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表示程序执行成功了。
格式化说明符:以%开始,后跟一个或几个规定字符,用来确定输出内容格式。Turbo C 2.0提供的输入格式化规定符如下:符号 作用
%d十进制有符号整数%u十进制无符号整数%f 浮点数
%s 字符串 %c 单个字符 %p 指针的值
%x,%X无符号以十六进制表示的整数%‰ 无符号以八进制表示的整数
在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]