C语言基本概念
来源:互联网 发布:在线客服 java开源 编辑:程序博客网 时间:2024/05/22 07:40
背景唠叨两句:
物联网(IoT)一直被认为是“下一个工业革命”,从通信、娱乐、医疗到智能化生活无处不在,本人目前是微软系统工程师,由于个人比较看好和喜欢智能家居这块,所以想转嵌入式软件开发。不管做什么事,一定要根据自己的喜好,这样才有不断的动力去学习与实践。有目标后就要有一个明确的学习清单,所以找了一套嵌入式软件开发入门教程(为了避免被骂打广告,就不说是教程出处了),接下来开始IOT小白入门之路咯,写博客主要是提高自己归纳总结的能力。不喜勿喷,小心脏受不了(技术理解有误,欢迎指出)
1.经典入门:hello world
1.1.概念:
先来了解一段C语言完整的代码
#include <stdio.h>//IOT菜鸟入门(一)C语言基础/*C语言基本概念 */int main(int argc, char **argv){printf("hello world.\n");int a,b,c;a = 1;b = 2;c = add(a,b);printf("c = %d.\n",c);}int add(int a, int b){return a+b; }
*源文件:源文件即是源代码文件,后缀名是.c。
*头文件:include <stdio.h>就是一个头文件,后缀名是.h
C语言代码就是有源文件和头文件组成。
*关键字:关键字是C语言已经定义好了,代表着特殊含义的,直接可以使用的的字,无需我们再定义;每个关键字都有自己的特定的含义,我们需要去理解关键字的含义和用法,否则就看不懂C语言程序。
C语言关键字:
include(包含) 头文件包含
int(integer,整数) 用来表示一个整数的类型叫整形。
float(浮点型) 用来表示小数的类型
char(character,字符) 字符型数据类型
return(返回) 函数返回
*注释:C语言中注释以//开头,或者/* */,注释是给程序员看的,不是给机器看的。也就是说,程序员写注释给其他人看,以让人明白自己为什么要这么写。但是编译器编译程序的时候是忽略注释内容的,所以机器根本看不见注释,也不理注释。
*符号:C语言程序中包含很多符号,如; :, + () {} *等等,各种符号都有自己的含义,必须搞明白各种符号的含义,才能看懂C语言程序。
*变量:会变化的量。C语言程序中用变量来进行计算。
*函数:函数是C语言的一个基本组成单位,一个C语言程序其实就是由很多函数组成的,每个函数用来完成一定的功能,函数可以调用别的函数来完成功能。函数的标志是()。
C语言中有一个特殊的函数叫main,这个函数是整个程序的内定的入口,也就是说整个C语言程序是从main函数开始执行的,其他的函数都是直接或者间接被main调用。也就是你看到一段代码,看到main函数就要想到代码是从这个位置开始执行的,如int main(int argc, char **argv),而且main函数整段代码中是唯一的,入口有且只有一个。
其中“其他的函数都是直接或者间接被main调用”这句话怎么理解呢?请查看下图:
这样应该很清楚了吧,add这个函数就被main函数调用了。
我们再来聊聊printf这个函数名,为什么机器就能识别printf并打印出结果???printf字母换位abc行不行?答案肯定是不行的。
注意:printf这个函数名,其实是在<stdio.h>库函数里已经把printf这个函数定义了,所以当使用printf时,一定要带有#include <stdio.h>头文件,其中C语言中还有很多头文件,可百度查询。
再来看看int main(int argc, char **argv)
其中的argc和argv就是一个变量,他们的类型就被定义为int和char,(int argc, char **argv)是参数列表,调用main函数时,需要输入两个参数。
例如:
int add(int a, int b){return a+b; }
a和b就是一个变量而且定义为int类型,调用add函数时,需要输入两个参数对应a和b。
1.2、C语言写代码步骤:
第一步:编辑源代码(使用vi或者其他编辑器)
第二步:编译。编译就是用编译器把源程序转化成可执行程序的过程,编译要用到编译器。我们在linux中使用编译器一般是gcc。
譬如:gcchello.c 把当前目录下hello.c文件编译,得到的可执行文件名字叫a.out
也可以自己指定编译后生成的可执行程序的名字,使用gcc hello.c -o hello
第三步:执行编译生成的可执行程序,执行方式是./hello
第四步:调试。当你执行后发现程序结果不对,不是自己想要的,这时候就是返回来看源代码哪里不对。然后修改,再编译执行,再看结果。如此循环直接结果正确。
好了,这篇结束。主要是学习C语言的基本概念和能看懂简单的代码。
- C语言的基本概念
- C语言-向量基本概念
- C语言基本概念
- C语言基本概念理解
- C语言-向量基本概念
- C语言--基本概念
- C语言基本概念总结
- C语言--基本概念
- c语言面试------基本概念
- C语言基本概念
- C语言01 -- 基本概念
- 【C语言】02 基本概念
- C语言—基本概念
- C 语言基础 ---基本概念
- c语言基本概念
- C 语言基本概念
- C语言基本概念
- C语言基本概念
- 简述servlet的生命周期(工作流程)
- SQL Trace及10046事件
- TX1 刷系统+装cuda等
- jquery.validate.js 的逐条验证
- struct sk_buff结构体详解
- C语言基本概念
- 什么是WIFI?
- Linux学习之二(date,help,man,hwclock,info,cal,echo命令)2017-03-27
- RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密
- A20 uboot和kernel的编译环境和方法
- maven 打包 致命错误:在类路径或引导类路径中找不到软件包 java.lang
- PCA的数学原理(非常值得阅读)!!!!
- 浅谈React实现评论框(三)
- 火狐网页访问https提示安全连接失败