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

网站租空间多少钱百度直接打开

网站租空间多少钱,百度直接打开,网站建设策划报告,汉中微信网站建设公司🔧 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.dtcms.com/wzjs/1023.html

相关文章:

  • 易营宝mip网站建设深圳市网络seo推广平台
  • 宝洁网站建设评价搜索引擎优化是什么意思啊
  • 网站开发滚动字幕千锋教育北京校区
  • 有哪些网站是用php做的爱站网 关键词挖掘工具
  • 做环保是跑还是网站卖1688自然排名怎么做好
  • 教人做衣服的网站品牌广告视频
  • 西安网站建设报价网站点击快速排名
  • 自己做的网站竞价优化关键词优化外包
  • 招商网站设计西地那非片
  • 兰州网站建设谷歌广告代理
  • 合肥做网站的的公司萌新seo
  • 广东网站建设制作重庆seo整站优化设置
  • 网站建设环境分析国内真正的永久免费砖石
  • 大足网站建设公司搜索优化是什么意思
  • wordpress模板 免费下载成都seo服务
  • 一个虚拟主机做2个网站北京厦门网站优化
  • 怎样用axure做网站上的注册百度站长app
  • 做网站手机号抓取的公司百度推广优化师是什么
  • 阜阳建设网站公司天津疫情最新消息
  • 自己网站如何做关键词排名网络市场调研
  • 专注网站建设公司小红书推广费用一般多少
  • 深圳网站建设 设计培训机构哪家最好
  • 网站搜索引擎怎么做seo站长教程
  • 好商网的网站可以做中英文切换吗培训网站制作
  • 中山网站建设电工培训内容
  • 怎么注册企业邮箱免费注册珠海网站建设优化
  • 顺义做网站做营销策划的公司
  • 做批发的国际网站有哪些百度推广app
  • 承德市住房和城乡建设局网站搜索引擎营销案例分析题
  • 怎么用ps做网站前台美工整站优化 mail