单片机C语言基础知识篇

article/2025/10/2 5:04:27

本人是一名在校的即将大四的物联网专业学生,暑假期间无聊,想写一些东西,来记录之前学过的一些单片机的基础知识,由于记纸质笔记太过低效率了,而且也不看,所以想学着写博客来记录。后续会不定期推出Arduino篇,51篇,stm32篇,以及写一些之前自己做过的一些项目教程。

首先,简单介绍下单片机C语言,通常被简称为C51语言,单片机c语言继承了c语言结构上的优点,便于学习,又有汇编语言操作硬件的能力,因此被广泛使用于单片机程序设计中。

单片机c语言的特点有很多,总结下来主要有以下几点。

1.语法结构和标准c语言基本一致。没有汇编语言那么会涩难懂

2.可移植性好

单片机的一些常用的数据类型

常用的关键字

像if for do case等,单片机C51语言采用了ANSIC标准定义的32个关键字,

类型关键字

char、short、int、long、float、double、unsigned、signed、struct、union、enum、extern、static
控制语句关键字

if、else、switch、for、while、do-while、case、break、continue、goto 、return、default
存储类型关键字

auto、static、register、volatile
如果想详细了解这些关键字,可以参考这篇博客:https://blog.csdn.net/weixin_51177279/article/details/124774940

常用数据类型的定义

整型数据,浮点型数据,无值型数据的定义很简单,这里就不做阐述了,下面主要说下字符型数据,指针型数据

字符型数据

  字符型数据是用来存放字符的变量类型,字符型变量只能存放一个字符。一个字符型数据占八位,字符型定义格式如下

char a  ; // 定义a为有符号的字符变量
unsigned char b; //定义b为无符号的字符变量

#include "stdio.h"
void main()
{
 char c1,c2;
 c1=97;
 c2=98;
 printf("c1=%c\r\nc2=%c\r\n",c1,c2);
 }
 输出结果如下:
 c1=a;
 c2=b;
 大写小写字母转换,只用减去32就可以了

如果需要存放一个字符串,则需要定义一个字符型数组,将字符串存到该数组中来表示,示例如下

#include "stdio.h"
void main()
{
  char str[3];
    str[0]='A';
    str[1]='B';
    printf("str=%s",str);
    

在编译的时候,系统将留出三个字符的连续空间及str[0]-str[2]共三个变量,其中最后一个用来存放字符串终止符NULL,即”\0",只有前两个可以自由赋值

这里需要注意的是:终止符编译程序时,自动加上的程序中只对前两个赋值,最后一个不用赋值,如果对最后一个也进行付值,将导致程序的错误输出。

指针型数据

指针型数据是指向变量所存放地址的数据类型,指针型数据是一种特殊的数据类型,根据所指的变量类型不同,可以分为整型指针,浮点型指针,字符型指针,结构型指针和联合指针。

int *i;  //整型
float *f; //浮点型
char *c;  //字符型
struct *stu; //结构型
union *uni;  //联合型

void main()

{

 char ch; //定义字符型

char *p;  //定义字符型指针

ch = 'b'; //变量赋值

p=&ch; //将变量c的地址赋给p

printf("*p=%c",*p);//输出地址p中所存的数据内容

输出结果如下:

*p=b;

关于指针,跟数组,我会单独的再写一篇博客,因为这两个实在太重要了,而且大学老师关于这两点讲的也很模糊

好了,就先写到这里了。今天是突然的想法,所以准备的有很多不足。

第一篇博客,许多不足,多多指教!!

 


http://chatgpt.dhexx.cn/article/NSTsn6PS.shtml

相关文章

C语言基础知识总结大全(建议收藏)

前言:C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知识梳理总结,C语言零基础入门绝对不是天方夜谭! 1 算法结构 一、顺序结构、选择结构、循环结构;二、循环结构又分为…

c语言基础知识点字母和含义,大学c语言必背基础知识_c语言基础知识大全

描述 对于刚学计算机编程的同学来说,没一个编程知识都觉得很重要,其实不是的。下面小编为大家整理了相关大学c语言必背基础知识,希望大家喜欢。 大学c语言必背基础知识 举例说明: printf(“-”,123 ); 第二部分有三位,大于指定的两位,原样输出123 printf(“]”,123 );…

【C语言】C语言中基础操作符详细讲解

接着上次的C语言基础知识梳理,让我们来简单了解一下C语言里的操作符 目录 整数的二进制表示形式 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑运算符 条件操作符-三目操作符 下标引用、函数调用、结构成员访问操作符 隐式类型…

代理模式的理解?代理模式的应用场景?

说说你对代理模式的理解?应用场景? 一、是什么 代理模式(Proxy Pattern)是为一个对象提供一个代用品或占位符,以便控制对它的访问 代理模式的关键是,当客户不方便直接访问一个对象或者不满足需要时&…

设计模式 —— 代理模式

目录 一、代理模式的基本介绍 二、静态代理 三、动态代理 3.1 动态代理模式的基本介绍 四、Cglib 代理 4.1 Cglib 代理模式的基本介绍 五、几种常见的代理模式介绍— 几种变体 一、代理模式的基本介绍 代理模式:为一个对象提供一个替身,以控制对…

Spring:代理模式

一、概述 代理模式分为静态代理以及动态代理,属于23中设计模式之一。动态代理是SpringAop的底层。代理的概念如下图所示: 二、 静态代理 上图角色分析: 抽象角色:一般会使用接口或者抽象类来解决真是角色:被代理的角色…

什么是代理模式,如何写一个代理模式

什么是代理模式 代理模式分为静态代理模式,和动态代理模式,代理模式就是创建一个代理对象,由代理对象来接管原对象的引用,静态代理模式需要让代理类和被代理的类实现同一个接口,通过代理类中定义的构造方法将被代理的对象作为参数…

代理模式(Proxy)

代理模式介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代…

代理 模式

代理模式 Proxy Pattern 为其他对象提供一个代理以控制对这个对象的访问 可以详细控制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。 静态代理 直接写死的代码的代理逻辑 动态代理 动态…

代理模式例子

1.概念 代理模式就是为某个对象提供一种代理,以控制对这个对象的访问。 2.涉及角色 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象&#xff…

代理模式的使用

一.代理模式 代理模式是java常用的设计模式。 代理的定义:为其他对象提供一种代理以控制对这个对象的访问。 简单点说就是代理对象与实际对象都实现了相同的接口,我们可以通过代理对象来间接的访问实际对象,也因为这种间接性,我…

C++之代理模式

目录 模式思想 简介 组成 优点 代码实现 情景 如果不使用代理的话: 加代理的话: 结果 模式思想 简介 代理模式: 通过代理类,来控制实际对象的访问权限。 在某些情况下,一个对象不适合或者不能直接引用另…

代理模式与动态代理模式

原文地址:点击打开链接 1、代理模式 所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。 代理模…

设计模式之代理模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、代理模式是什么? 代理模式是一种结构型的软件设计模式,在不改变原代码前提下,提供一个代理…

动态代理模式详解

目录 (一)什么是动态代理模式 (二)动态代理模式入门案例 1.完成一个账户转账的功能 2. v1.0版本为转账添加一个事务 3.v2.0将事务从业务层和从持久层剥离 4.v3.0将事务使用动态代理完成 5.v3.0通过cglib实现代理模式 &…

三种代理模式详解

文章目录 二、代理模式(Proxy Pattern)1、常见的几种代理模式:2、静态代理3、JDK动态代理4、CGLib代理5、CGLib和JDK动态代理的区别 二、代理模式(Proxy Pattern) 根据B站狂神视频整理:https://www.bilibil…

Spring的代理模式

1、代理模式 为什么要学习代理模式? 因为这就是springAOP的底层!【springAOP和springMVC】 代理模式的分类: 静态代理动态代理 1.1、静态代理 角色分析: 抽象角色:一般会使用接口或者抽象类来解决真实角色&…

代理模式(Proxy模式)详解

在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保…

代理模式的详细介绍

国庆期间闲来无事,写了一个简单的小程序,小程序名称叫做 IT藏经楼。目的是分享这些年自己积累的一些学习材料,方面大家查找使用,包括电子书、案例项目、学习视频、面试题和一些PPT模板。里面所有材料都免费分享。目前小程序中只发…

代理模式

代理模式 代理模式应用场景模式结构实现方式 代理模式 控制着对于原对象的访问, 并允许在将请求提交给对象前后进行一些处理。 优点: 在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;代理对象可以扩展目标对象的功能&#x…