个人对c语言的认知与建议
我是很早就开始学c语言了,应该是不到12岁,到现在其实也没什么成就。基本能看懂别人写的代码,但是自己写不出来像样的作品。我还能记起一个理论,是我看过的一篇师范毕业生论文中的一段(也没必要背原文,记得大概是这个意思):
很多人第一个c语言程序都是在visual studio,dev c,turbo c里,写了一个hello world就编译跑起来了,但是过一周两周一月两月,基本还是只会hello world,因为他们不懂编译器。不懂编译器没关系,不懂命令没关系,既然是从0开始,那就从0开始,当然不是从0101开始,还是要基于用户界面,找一个没有行号没有补全没有高亮的编辑器,手动装上gcc,逐渐了解怎么把想法告诉计算机,为什么要这样告诉计算机。
之所以记得清楚是因为有很多共同的见解,总结来说就是全靠手动,就是手写全部逻辑代码(不包括标准库),手动编译执行。当然全靠手动是对于初写c语言程序本身来说的,实现需求的思路当然是动脑想出来的。对于有些定式初学时无法理解就不要理解,越底层的当然就越难,逐渐理解。
第一个c语言程序
#include <stdio.h> int main() { printf("When you see this in terminal, you succeed\n"); return 0; }
第一行引用标准库文件在上一篇文章中就说过了,必须要做的。
第二行主函数入口上一篇中也见过,标准的写法,没什么好说。
第三行的花括号开始{可以写到main()后面,但是另写一行有什么好处,可以在超纲交流中探讨。
第四行printf是输出语句,语法是printf("example"); printf后跟括号(),输出的内容要用引号"",这里的所有符号一律要用半角的英文符号。
第五行return 0;是函数的返回值,int类型就一定要写。
第六行闭合括号,没什么好说。
编译代码
- 打开终端,定位到源文件目录
cd desktop/c-code
- 查看文件夹内容
ls
- 编译源文件
gcc first-program.c
- [无警告/报错]
- 查看文件夹内容(多了一个a.out)
ls
- 运行a.out
./a.out
gcc first-program.c -o first-program.out
加一个 -o 后面跟example.out,就可以自定义编译生成文件的文件名了。那么second-program.c就生成second-program.out。
超纲交流:
- 花括号另起一行写有什么好处?
- 为什么用了int类型的主函数,不写返回值也能编译成功?那么能不能省略不写?
下一篇:C语言学习第三节-数据类型