这么多年过去了,回头再来学习一下C语言,发现很多不一样的感觉

#include <stdio.h>

int main(int argc, const char * argv[]) {
printf("Hello, World!\n");
return ;
}

十多年前学的第一个编程语言,重新认识一下

#include 预处理指令,不是c语句,因为末尾没有分号。C语言提供了很多的预处理功能,预处理指令都以#开始,经常遇到的#define(宏定义)、#include(文件包含)、#ifdef(条件编译)、#error(停止编译)等。

预处理指令是干嘛的呢?

  答案:C语言要被机器认识执行,需要将C语言进行编译生成可执行的文件,这样机器才会认识这是什么东西。整个过程的顺序是:预处理-编译-汇编-链接-生成可执行文件。可以看到预处理是最先得步骤,还是比较重要的。
  比如:#include<stdio.h>就是stdio.h的文件复制到这个文件中,这样编译时处理的就不是#include<stdio.h>这个操作了,而是直接去执行stdio.h里的内容了
     #define 进行宏替换,将使用了定义的宏的值进行替换
     #ifdef 根据不同条件进行编译,条件编译的指令有好几个
     #error 强制停止编译,调试时给出错误信息

main:是一个函数,每一个c程序有且只有一个main函数,main是整个c程序的入口,由系统调用的

int argc, char *argv[] ::main函数的两个参数,argc是整形,argv是指针数组,agrc命令行参数个数,argv保存每个命令行参数的字符串首地址,这两个参数由系统传递

{} main函数的实现过程

printf:标准库提供的格式化输出函数,他的作用是将Hello, World!字符串输出到终端上

return 0:函数返回,他的作用是将0返回给系统,一般返回的是一个状态

c语言的组成:

C语言是由数据结构和算法构成的,数据结构是指数据的组成形式,算法是对数据的操作方法,所以编程是一个创造艺术的过程,必须将算法和数据进行近乎完美的组合才能创造出各种各样的生活。

数据结构有很多种,数据结构可分为:

1:数据之间没有直接的联系(变量 int a, int b)

2:数据之间呈现一对一的联系(数组,链表,栈,队列)

3:数据之间呈现一对多的联系(树)

4:数据之间呈现多对多的联系(图)

C语言的精髓就是数据结构与算法。最近在写分布式网络爬虫,发现算法是非常非常重要的,当处理的数据大到不可想象时,才能懂算法的重要。而c语言在处理数据时相对其他高级语言要快很多。所以想要做一个飞侠,那就好好将C语言理解。

最新文章

  1. Flex 1046: 找不到类型,或者它不是编译时常数;1180: 调用的方法 CompPropInfo 可能未定义
  2. Maven学习随笔一——Maven安装报错处理(mvn -v, 提示不是内部命令的问题)
  3. 微信 5.3 for iPhone已放出 微信iphone版更新下载
  4. JSON.parse()和JSON.stringify()区别
  5. 如何正确做 Web端压力测试?
  6. LR通过SiteScope监控mysql
  7. Java Concurrency - ReentrantLock
  8. 第3组UI组件:AdapterView及其子类
  9. iOS 设备和外部配件的通讯
  10. Prisma
  11. 使用Maven管理Spring[转]
  12. 数据库问题(程序连接mysql错误)
  13. winows 服务器环境搭建 (碰到了windows服务器,小记一下吧~)
  14. Bash提示符
  15. linux 获取CPU个数
  16. Java基础面试知识点总结
  17. Python第二十六天 python装饰器
  18. JQuery+formValidator实现表单验证
  19. 多啦爱梦~多啦A梦CSS3测试源代码
  20. 关于Reactor和Proactor的差别

热门文章

  1. mvc 验证封装到某个特征类里[特性的使用]
  2. c++11多线程学习笔记之一 thread基础使用
  3. springmvc cfx 整合
  4. 2018软工项目UML设计(团队)
  5. NET(C#)连接各类数据库-集锦
  6. 二进制搭建kubernetes多master集群【开篇、集群环境和功能介绍】
  7. 非常实用的windows运行打开服务命令
  8. 2018.09.28 bzoj3743: [Coci2015]Kamp(树形dp)
  9. 2018.08.27 lucky(模拟)
  10. jdk1.7和1.8共存的问题(默认1.7)