当前位置: 首页 > news >正文

自助建设响应式网站简述seo和sem的区别与联系

自助建设响应式网站,简述seo和sem的区别与联系,企业所得税免税收入有哪些,代理记账公司如何寻找客户🔧 C语言基础与STM32矿探小车开发入门(第一篇) 🌟 前言 第一天接触STM32矿探小车项目,今日重点学习C语言基础语法,深入理解表达式与运算符的底层逻辑,为后续开发奠定基础。 环境安装&#xff…

🔧 C语言基础与STM32矿探小车开发入门(第一篇)

🌟 前言

第一天接触STM32矿探小车项目,今日重点学习C语言基础语法,深入理解表达式与运算符的底层逻辑,为后续开发奠定基础。
环境安装:Dev-C++

📚 一、C语言基础语法详解

1.1 第一个C程序:Hello World

#include <stdio.h>  
int main() {printf("hello world \n"); // '\n' 等价于换行符,与C++的std::endl功能相似return 0; // 标准返回值,建议显式添加
}

1.2 代码书写规范

  • 格式要求
    • 代码顶格书写,括号成对出现,{}独立占行
    • 括号内内容缩进一个Tab,多层嵌套时层级清晰
    {  {  {  // 深层逻辑代码  }  }  
    }
    

1.3 变量定义与标识符规则

  • 变量本质:存储数据的容器,值可变化
  • 定义格式
    数据类型 变量名;        // 如 int a;
    数据类型 变量名 = 初始值; // 如 float b = 3.14;
    
  • 标识符规则
    1. _、字母、数字组成,禁止其他符号
    2. 数字不能开头(如250sb非法,sb250合法)
    3. 不能使用关键字(如ifforswitch等)
      建议:见名知意,如temperaturet更易读

1.4 数据类型与内存占用

类型字节数范围(有符号)范围(无符号)
int2/4字节-2^31 ~ 2^31-10 ~ 2^32-1
char1字节-128 ~ 1270 ~ 255
float4字节约±1.2e-38 ~ ±3.4e+38——
double8字节约±2.3e-308 ~ ±1.7e+308——
  • sizeof 运算符 :计算类型或变量占用字节数
printf("int占用 %ld 字节\n", sizeof(int)); // 输出:int占用 4 字节(32位系统)

1.5 常量类型与应用

  • 整数常量
    • 八进制:以0开头,如0172(对应二进制001 111 010
    • 十六进制:以0x开头,如0xff(对应二进制1111 1111
  • 字符常量:单引号包裹,如'a'(ASCII值97)、'\n'(换行符)、'\0'(字符串结束符)
  • 字符串常量:双引号包裹,自动末尾添加'\0',如"abc"占用4字节('a','b','c','\0'

⚙️ 二、表达式与运算符深度解析

2.1 表达式基础

  • 定义:由运算符连接的合法式子,必有一个值
    int a = 1 + 2 * 3; // 表达式1+2*3的值为7,a=7
    

2.2 核心运算符详解

2.2.1 算术运算符
  • 整数运算特性:结果必为整数,如3/2=13%2=1
  • 自增/自减运算符
    int i = 0;
    printf("%d %d", ++i, i++); // 输出:1 1(前置自增表达式值为1,后置自增表达式值为0)
    
2.2.2 关系运算符
  • 结果类型:布尔值(0为假,1为真)
  • 易错点:关系运算符从左到右结合
    printf("%d", 5 > 4 > 3); // 输出0(先算5>4=1,再算1>3=0)
    
2.2.3 逻辑运算符(惰性运算)
运算符规则惰性示例
&&全真为真,一假则假0 && any(直接返回0,不计算any)
``
!取反(0变1,非0变0)!5(返回0)
int a=0, b=1;
printf("%d %d", a++&&b++, a||!b); // 输出0 1(a++&&b++中a=0,不计算b++;a||!b中a=1,返回1)
2.2.4 位运算符(底层操作核心)
运算符功能示例(假设a=0b00000111,即7)
<<左移(乘2^n)a<<1=0b00001110=14
>>右移(有符号补符号位,无符号补0)a>>1=0b00000011=3
~按位取反~a=0b11111000=248
&按位与(置0操作)a&~(1<<2)=0b00000011=3(清第2位)
``按位或(置1操作)
^异或(取反/交换操作)a^=1<<3(第3位取反)

经典应用:不借助临时变量交换值

int a=3, b=4;
a ^= b; b ^= a; a ^= b; // a=4, b=3

2.3 复合运算符与优先级

  • 赋值复合运算a += b等价于a = a + b,同理支持-=, *=, /=, %=
  • 优先级口诀(从高到低):
    () [] -> . > ! ~ ++ -- > * / % > + - > << >> > > < >= <= > == != > && > || > ?: > =

🛠️ 实战练习与代码优化

练习1:位操作实战

#include <stdio.h>
int main() {unsigned char a = 7; // 0b00000111// 置位操作:将第5、6位(从0开始)置1a |= (3 << 5);  // 3<<5=0b1100000,按位或后第5、6位为1// 取反操作:高4位取反,低4位不变a ^= (0xF0 << 4); // 0xF0<<4=0xF000(高8位取反,此处仅影响高4位)printf("操作后a的值:%d(二进制:0b%08b)\n", a, a);return 0;
}

练习2:颜色值合成(32位ARGB)

#include <stdio.h>
int main() {unsigned char alpha = 255;  // 透明度unsigned char red = 255;    // 红色unsigned char green = 0;    // 绿色unsigned char blue = 128;   // 蓝色// 合成颜色值:alpha(8位) + red(8位) + green(8位) + blue(8位)unsigned int color = ((unsigned int)alpha << 24) |((unsigned int)red << 16) |((unsigned int)green << 8) |blue;printf("ARGB颜色值:0x%08X\n", color); // 输出:0xFFFFFF80return 0;
}

📌 结束语

本篇涵盖C语言基础语法与运算符核心知识,后续将逐步深入STM32开发。建议重点掌握:

  1. 数据类型与内存占用的底层逻辑
  2. 位运算符在嵌入式开发中的高频应用
  3. 表达式求值顺序与运算符优先级

🔥 订阅专栏持续学习:C语言到基于STM32的智能矿探小车
💬 欢迎点赞、收藏、留言讨论,一起攻克嵌入式开发!

http://www.lakalapos1.cn/news/99/

相关文章:

  • 中山建设信息网站设计云
  • 微信网站开发报价表辽宁省建设工程信息网官网招标
  • 专业网站排名优化公司有哪些sns网站
  • 学做巧裁缝官方网站做爰全过程免费的视网站频
  • 花都网站建设简历模板图片
  • 免费app软件下载网站深圳建站软件
  • 北京网站搜索引擎优化推广江苏网站建设机构
  • 360应用商店seo排名需要多少钱
  • 哪里可以做微网站网站地图设计
  • 减肥产品网站模板广州在线网页制作
  • 免费自助建站哪个网站最好营销伎巧第一季
  • 网站后台发布了但看不见wordpress 关站
  • 免费舆情网站直接打开wordpress设置在新页面打开空白页
  • 旅游机票网站建设网站解析怎么设置
  • 广州市恒嘉建设有限公司网站国际国内热点新闻事件
  • 网站代建设费用吗成都科技网站建设电话多少钱
  • ip段访问网站代码python做网站比php
  • 图书馆门户网站建设有哪些公司单页设计制作
  • 福建嘉瑞建设工程有限公司网站模版网站
  • 使用 加速乐 网站变慢在过没wordpress火吗
  • 优秀网站开发互联网软件开发是什么
  • 新手学网站建设网站当前位置怎么做
  • 网站后台系统的易用性网站制作合同范本
  • wordpress网站存放在镇江一网推网络技术有限公司
  • 茂名快速建站模板wordpress下载链接框
  • html写手机网站在北京做家教的网站
  • 17网站一起做网店网页设计作品作业成品免费下载
  • 成都建站seo毕业设计代做网站都有哪些
  • 网站建设方案 规划网站策划书的撰写
  • 广西智能网站建设方案影视会员代理平台网站