C语言技术分享(上)

Posted RID机器人创新设计团队

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言技术分享(上)相关的知识,希望对你有一定的参考价值。

点击蓝字 关注我们

今天为大家带来的是C语言专栏!!C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

C语言技术分享(上)
C语言剖析

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

C语言中,最基本的单位称为:位(bit)。在计算机中数据都是以二进制的形式存在,因此,“位”只有0或1两种状态。字节(Byte):一个字节由8位组成。


C语言里基本数据类型

C语言技术分享(上)

short、int、long、char、float、double这六个关键字代表C 语言里的六种基本数据类型。

这些类型占据的字节长度是不同的:

短整型short占据的内存大小是2 个byte;

整型int占据的内存大小是4个byte;

长整型long占据的内存大小是4个byte;

单精度浮点型float占据的内存大小是4个byte;

双精度浮点型double占据的内存大小是8个byte;

字符型char占据的内存大小是1个byte。

进制转换

数据在计算机内都是以二进制的形式进行运算和储存的,而我们平常使用的都是十进制,因此要学会各种进制之间的转换是非常重要的。

所谓几进制就是逢几进一,比如我们最常用的十进制就是逢十进一,二进制就是逢二进一等等。

常用的进制有:十进制,二进制,十六进制等。二进制只有:0和1。十进制有0~9,共十个数。十六进制有:0~9,A,B,C,D,E,F,共十六个数,在十六进制中超过9以后的六位数用英文字母A~F代替。

如何计算进制之间的转换呢?

我们用二进制和十进制举例:一个十进制数55,把它转换成二进制,对他反复除2,直到除尽为止,如下图。

C语言技术分享(上)

可见将每次除2的余数按从低到高的顺序写就是:110111,这就是55的二进制结果。

C语言常用运算

我们在写程序的时候,通常直接在程序框内运算数据,看似简单的一次运算实则计算机要经过很多步骤。这里简单说一说常用的运算和其符号表示。

(1)算数运算

加(+):在计算机中将数据按位相加,进位等。

减(-):在计算机中将数据按位相减,借位等。

乘(*):乘法和除法通过计算机的加减法和位移来实现,而不是直接乘除。

除(/):此符号也有说法为:取商。因为在整型运算中,若两个数相除出现小数,则小数会被舍去,只留下整数。

求余(%):与除法类似,不同的是它只能得到除完后的余数,比如:5%2=5。

(2)逻辑运算

||():连接的两个表达式只要有一个成立,则整个结果就是成立的。

&&():连接的两个表达式都成立时,则整个结果成立;否则,只要有一个不成立,则整个结果就不成立。

!():其结果与!后面的值相反。如果后面的值为1,则该值取0;如果后面的值是0,则该值取。

(3)位运算 

<<(左移):用来将一个数的各二进制位全部左移N位,右补0。

>>(右移):将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0。

&(按位与):如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。

|(按位或):两个相应的二进制位中只要有一个为1,该位的结果值为1。

~ (取反):用来对一个二进制数按位取反,即将0变1,将1变0。

^(按位异或):若参加运算的两个二进制位值相同则为0,否则为1。


C语言技术分享(上)


本期C语言技术分享结束啦,下一期的精彩内容让我们共同期待!


感谢浏览


C语言技术分享(上)

本片推文实属个人在单片机编程上的个人理解与总结,若有不全面或有误之处还请大家包涵


END



以上是关于C语言技术分享(上)的主要内容,如果未能解决你的问题,请参考以下文章

推荐几个用心分享的C语言嵌入式相关公众号

处女作-----开始自己的技术分享之路

处女作-----开始自己的技术分享之路

分享4个每日必读的嵌入式技术号

大数据学习与分享技术干货合集

技术分享 | 基于SaltStack的自动化部署