1.前言
经过了几天的折腾和环境搭建,已经开始陆续解除C语言的一些知识了,通过几天的学习我发现C真的很强大,编程语言从机器语言,汇编语言,面向过程语言,面向对象一路走来,经历了风风雨雨终于发展到今天,C之所以强大,在于其仅在汇编语言之上,接近系统底层,可以直接调用操作系统的函数.接下来就总结一下这几天的学习经验.
2.正文
2.1.HelloWorld初体验
这几天装了Linux,unix,Mac的虚拟机,分别在上面跑起来了HelloWorld,很easy,之前为啥一直没有能安心下来学习C呢,C这么强大,以至于基本上用任何一款文本编译器都能编写,windows的记事本,Linux,unix和Mac的vi.编译也很方便,如果windows下面装了vs,用他的开发工具,$ cl编译 ,$ *.exe执行,其他的操作系统可以用gcc编译,$gcc 编译, ./*.out 来运行.
2.2.System函数
这几天解除最多的就是这个System函数,相当强大,直接结合各大操作系统指令就能直接调用系统函数接口,例如:window 下面 System("notepad");是调用其记事本,Linux下面:System("echo haha");在终端中显示 haha等等.
2.3标准库std
如果需要使用 printf函数需要引入 #include<stdio.h>,需要使用system("...");需要引入 #include<stdlib.h>函数库等等
2.4.C程序打开某个应用程序
只需要system("\"C:\\User\\Desktop\\QQ.exe\"");类似这样的操作即可调用执行所有的程序.
2.5.windows bat,以及shell批处理的编程
说白了就是把一些列的dos指令放到一个文件里面然后,扩展名修改一下即可.windows是.bat,Linux是.sh.语法略有不同.在此不详述了.
2.6.进制转换
二进制,八进制,十进制,十六进制,说白了就是逢2,8,10,16进位而已,没有太难的东西,在此各举一个转10进制的例子:
(10101)2 = 1*2^4+0*2^3+1*2^2+0*2^1+1*2^0
(047)8 = 4*8^1+7*80
(0xa5) = 10*16^1+5*16^0
计算机里面的内存地址就是用的16进制表示,共8位, 不足的用0补齐.eg:0x00af475e.
2.7.操作符sizeof(void *p)
这是一个操作符,而不是函数,表示的是某个数据类型所占的字节数.
2.8.C语言文件
一般是以.c结尾,而C++则是.cpp结尾,编译后.c生成.obj文件和.exe文件,.obj会链接一些外部库,把汇编代码转化为机器可执行的语言到.exe中.从而当我们执行exe文件时,就会运行相应的程序.
2.9.两个数互换问题
平时我们做两个数互换都是开辟临时空间,作为中转存储.而这几天新学一招,叫互加法:
eg: 互换 i,j
int i=5,j=6;
i=i+j;//i=11,j=6
j=i-j;//j=5,i=11
i=i-j;//i=6,j=5
这样我们就不需要开辟新的内存了,很不错的方法.
3.结语
刚入门菜鸟一枚,就学这么多了.继续研究数据ING,以后如果有好东西会再和大家分享.