大家好!前两天我学习了两章节python,感觉python很棒啊!(虽然我暂时不知道它棒在哪里了!)嘿嘿!后来,我无意看到说C语言是一门可以操作硬件的语言(也不太明白是什么意思!)。好像很多人把他定位在中级语言!然后我就有个想法,我要C和python一起学,可能是觉得反正是为了乐趣了,没有什么压力的学习,所以就“胆子“大了呢。各位不要认为我像某本小人书上的那个“猴子!”呵呵!
一:第一个C程序和其初步解释
为什么要有C语言呢?!我以前觉得计算机好奇怪啊!她是怎么表示世界万物的!我通过搜寻网络大概明白了点,不同的编码造就了不同的意义!哦!那计算机到底认识什么样子的数据呢!我听说计算机的大脑只认识二进制的数据。这个“猪脑袋”幸好她计算的时候速度快!不然真的就太笨蛋啦!听说世界上第一个程序是女的~!那她当时应该就是用二进制去写程序的了!好厉害啊!前段日子我在电驴下了不少视频教程!只要是关于计算机的我都去下载来瞧瞧,当时看到好多人讲什么OD!里面好多什么00FABAF4听他里面说是反编译的工具!不懂!不过!后来我知道了1点进制转换的知识后明白了。原来啊!二进制写东西比较长,而且很容易写错!所以常常用十六进制去表示二进制(ADA到底是用的二进制还是十六进制写的程序啊)。后来大家觉得这样写程序还是很麻烦!后来就用了汇编语言!汇编语言就像给“一个人”取的一个外号,然后这个外号又比较容易记忆!所以汇编语言和二进制代码是一一对应的!但是后来!人们觉得汇编语言还是太繁琐了!要是写的程序就像说话一样就该多好啊!后来所以才有了C语言!C语言呢比较接近自然语言了!但是计算机如何才能懂C语言啊!所以就有了编译器,什么gcc,cl啊之类的。编译器呢先把C语言转化为汇编语言!然后再转化为二进制的。这样计算机就能明白了!
第一个C程序!哈哈!要开始写C程序了哦!我就照着书上在VC中先敲一个
int main(void)
{
}
看着头晕啦!好多python里面没有的东西!我得仔细看看书,充分理解才行!
第一行!很多人做事情都有自己的一个工具包!比如修电路的大叔!一般都挎着一个电工包!木匠呢,也有一个工具包,里面放着一些常用的工具。嘿嘿!那么,现在我是想在屏幕上输出helloworld!这个时候呢,我就需要1个输出包啦!所以#include<stdio.h>就表示把stdio.h文件包拿来用,<>是表示从哪里去拿。#include就是表示这里这个位置开始插入包。嘿嘿!我明白了!stdio.h里啦就定义实现如何输出的了!其实这个stdio.h里了不是只有输出工具的,还有输入等工具!所以这里的代码其实是把所有stdio.h里面的工具包全拿过来了!(看起来有点浪费啊!唉!)。
第二行!int main(void),这行呢,先要说明下了!一个很特别的单词main后面还跟着个()。其实这样的形式在C语言就是表示函数,前面的int就是函数的返回值了!其实函数也就像1个工具包里的一个有生命的小工具!你给它喂点东西,比如这里喂void,而且还要让它吐出1个int类型的东西出来!嘿嘿!而且这个有生命的小工具是可以反复使用的!但是这里有点特殊!用main命名的小工具一般只用1次,因为它有个特殊的使命啊!!!它是用户的入门函数!其实呢在VC上面真正的入门函数是mainCRTStartup(),在用户入门函数main()之前到mainCRTStartup()中间呢其实已经做了好多工作了!比如有准备命令行,获得操作系统版本,IO的初始化,获得环境选项以及其字符串,全局变量的初始化,还有做了条件编译!如果是Win程序的话入口就是WinMain(),如果不是入口就是main()啦!然后main()执行完了程序才exit啦!其实main()函数是倒数第二条函数了!不过呢一般来说,程序员有操作权限的就是到了main()函数这里了!
第三行和第六行!诶!为什么这两行要一起学啊!因为这两行只有2个括号!哈哈!在C语言中呢1对括号就代表1个代码块了!就像python的缩进了!(应该是这样吧!以后学多了或许有新感悟的!暂时就这样理解吧!)
第四行!这一行呢其实就是从stdio.h中取出printf输出这个小工具(函数)了,然后用这个工具在屏幕上打印helloworld!字符串了!哦!很神奇!这个工具好啊!
第五行!这个呢就是你当初系统要求main()函数在工作了以后一定要吐出1些东西出来,这样系统才知道main()函数这个小鬼有木有干坏事呢!这里return返回的是0,就说明,main()是老老实实在做事情了!诶!我发现个问题!刚才第四行那个printf工作了以后也应该吐出了点东西出来的啊,唉!暂时我还不知道怎么的!先记下来,学到后面应该会解决的!
以上代码的书写和编译都是在VC6.0这个IDE中进行的,我现在去休息会,玩会xbox360嘿嘿!呆会接着学!