| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 初识C语言(一) -> 正文阅读 |
|
[嵌入式]初识C语言(一) |
目录?1、 什么是C语言??1.在了解什么是C语言之前我们先来了解一下什么是语言:
??????? C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易 的方式编译、处理低级存储器、产 生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的 C语言程序可在许多电脑平台上进 行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制 定了一套完整的美国国家标准语 法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和 国际电工委员会(IEC)发布的C11 标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字 标识符,一定程度上实现了汉 字编程。C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。 2.这里可能会有人问道,为什么计算机会有那么多语言? 3.C语言标准: (1)C语言的形成: ??? ?? 计算机只能识别二进制,所以早期写代码写的都是二进制序列(100100100),当某一功能的二进制序列不清晰的时候可能还要去查二进制序列手册(早期写二进制序列的人都是计算机科学家),因为写二进制序列太麻烦了,就有科学家想到了使用助记符来表示某一功能的二进制序列。有了助记符由此就产生了汇编语言,后来在汇编语言的基础上就发明了B语言,在B语言的基础上又发明了C语言。 补充:像二进制序列、汇编语言这种属于低级语言(这里的低级指的是使用起来比较困难),C语言我们就称为是一种高级语言! (2)C语言标准的形成: ??????? C语言出现了以后得到了各个厂商的追捧,但是C语言刚出来的时候还不够完整,这个时候各个厂商就可能会对C语言进行定制。每个厂定制的C语言可能不一样,由此就形成了差异。这个时候C语言就出现了国际标准(ANSI C)。最早期的标准是用C语言之父的名字命名的:K&R标准,在这之后就有了C89(89年制定的标准)/C90(90年制定的标准)/C99(99年制定的标准)……C11/C17等很多标准。 现在主流的标准还是C89/C90,C99之后使用的就比较少了! 4.C语言写完以后会有一个.C文件与.H文件,那么这些文件时怎样运行起来的呢? ????? 这些文件其实是通过编译器生成.exe文件(可执行程序)! 5.C语言编译器:Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。 2、第一个C语言程序1.输出:hello world
运行结果: ?2.main函数 ?????? 写C语言代码,首先要知道main函数。main函数是程序入口,程序是从main函数的第一行开始执行,main函数在一个源文件中有且仅有一个,一个源文件中如果不写main函数或写了多个main函数程序就会报错。 ?3.main函数书写格式:
(1)int main()中 int 表示整型,main函数运行结束后返回一个整型的值。 (2)return 0;这里的0就是一个整数,在main函数结束的时候被返回。 (3)有些人可能在一些资料中看到过main函数的其他书写格式:
4.C语言中的打印(输出)函数:printf
3、数据类型1.为什么会有数据类型? ????????? 在我们的生活中有很多地方要用到数据类型,比如一个人的年龄一般都会是18岁、20等等(18、20就是一个整型),比如一个人的身高是181.3cm(181.3就是一个小数,是一个浮点型),比如一个人的姓名是张三(张三就是一个字符串类型)。 ??????? 计算机语言要描述我们现实世界那它就要有能力去描述,这个时候C语言就提供了一些数据类型,这些数据类型规定好了以后计算机就可以描述我们现实世界中各种各样的类型。 2.C语言提供的数据类型: 整型: char ------------>字符数据类型 short ----------->短整型? (short写全是short int) int -------------->整形 long ----------->长整型? (long写全是long int) long long ---->更长的整形 浮点型: float ----------->单精度浮点数 double -------->双精度浮点数? (double的精度比float的精度更高) 4、数据类型的使用
5、为什么会出现这么多类型,每种类型的大小是多少?
运行结果:
运行结果:
????????? 计算机只能识别二进制数 ????????? 二进制:0~1;八进制:0~7;十进制:0~9 ???? ? ? 计算机中存放一个二进制的时候只需要一个小的格子就可了,这个小格子就相当于一个bit位; ???????? 1 byte? = 8 bit ; 1 kb = 1024 byte;1mb = 1024kb;1gb = 1024mb;1tb = 1024gb ;…… 之所以有这么多类型是为在我们定义一个变量的时候可以选择一个合适的类型存放数据,这样就可以提高内存的利用率同时也是为了更加丰富的表达生活中的各种值。 补充:C语言规定sizeof(long) >=sizeof(int),所以long所占内存的大小与int一样都是4个字节。 6、常量与变量生活中的有些值是不变的(比如:性别,身份证号码,血型等等); 有些值是可变的(比如:年龄,体重,薪资)。 C语言中为了描述变化的值,使用变量;描述不变的值,使用常量。 1.定义变量:
运行结果: 2.变量的分类 :局部变量与全局变量
运行结果: 局部变量与全局变量命名相同时:优先使用局部变量;一般不建议将局部变量与全局变量的名字设置成相同的。 ?7、总结????????????? 初识C语言,走进计算机语言的世界。 ????????????? 若有写的不准确的地方恳请大佬指正! |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:52:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |