0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第4章 C语言基础以及流水灯的实现(4.3 4.4)

137933yu 来源:137933yu 作者:137933yu 2025-10-29 15:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

4.3 C语言基本运算符

小学数学学过加、减、乘、除等运算符号以及四则混合运算,而这些运算符号在C语言中也有,但是有些表达方法不一样,并且还有额外的运算符号。在C语言编程中,加、减、乘、除和取余数的符号分别是:+、-、*、/、%。

C语言有一个很重要的赋值运算符“=”,前边程序有使用过。在C语言里,“=”代表的意思是赋值,而不是等于。最经典的一个例子就是a=1;b=2;如果写成a = a+b;这个在数学里的运算是a等于a加b,是个错误结论;而在c语言里的意思是把a加b的结果送给a,那么运算完了之后的结果是a等于3,b还等于2。

说到这里就不得不说C语言的比较运算符“==”。这个在C语言里是进行是否等于判断的关系运算符,而“!=”就是不等于的关系运算符。

此外,C语言中还有额外的两个运算符++和--,一个是自加1,一个是自减1,下面选++来讲一下。

++在用法上就是加1的意思,注意是变量自己加,比如b++的意思就是b=b+1,而在编程的时候有两种常用的方式先加和后加。比如

unsigned char a = 0; unsigned char b = 0;

那么

a = ++b;

其整个运算过程是先计算b=b+1,那么b就等于1了,然后再运行a=b,运行完毕后a=1,b=1。如果写成

a=b++;

那么运算过程就是先执行a=b;然后再执行b=b+1,执行完的结果就是a=0,b=1。

这些运算符这里就是简单介绍一下,而后边会通过使用实例来巩固这些知识。其他一些运算符,在使用过程中也会陆陆续续介绍到。

4.4 for循环语句

for语句是C语言编程的一个常用的语句,这个语句必须得学会其用法,它不仅仅可以用来做延时,更重要的是用来做一些循环运算。for语句的一般形式如下:

for (表达式1; 表达式2; 表达式3)

{

(需要执行的语句);

}

其执行过程是:表达式1首先执行且只执行一次;然后执行表达式2,通常都是一个用于判定条件的表达式,如果表达式2条件成立,就执行(需要执行的语句);然后再执行表达式3;再判断表达式2,执行(需要执行的语句);再执行表达式3.....一直到表达式2不成立时,跳出循环继续执行循环后面的语句。举个例子:

for (i=0; i<2; i++)

{

j++;

}

这里有一个符号++刚刚讲过了。假如j最开始初值是0,首先执行表达式1的i=0,然后判断i小于2这个条件成立,就执行一次j++,j的值就是1了,然后经过表达式3后,i的值也变成1了,再判断条件2,还是符合,j再加一次,j变成2了,再经过表达式3后i也变成2了,再判断条件2,发现2<2这个条件不成立了,所以就不会再执行j++这个语句了。所以执行完毕后,j的值就是2。

for语句除了这种标准用法,还有几种特殊用法,比如前面的闪烁小灯对for语句的用法for(i=0; i<30000; i++) ;没有加(需要执行的语句),就是什么都不操作。但是什么都不操作的话,这个for语句循环判断了30000次,程序执行是会用掉时间的,所以就起到了延时的作用。比如把30000改成20000,会发现灯的闪烁速度加快了,因为延时时间短了,当然,改成40000后会发现,闪烁慢了。但是有一点特别注意,C语言的延时时间是不能通过程序看出来的,也不会成比例,比如这个for循环里边的表达式2使用30000时延时是3秒的话,那么改成40000的时候,可能并不一定是4秒。

还有一种写法for( ; ; ),这样写后,这个for循环就变成了死循环了,就不停的执行(需要执行的语句),和前边讲的while(1)的意思是一样的了。那while这个语法是如何用的呢?

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144648
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    4 C语言基础以及流水灯实现(4.7 4.8)

    1.1 Keil软件延时 C语言常用的延时方法,有如图4-2所示4种。 图4-2  C
    的头像 发表于 11-19 17:20 506次阅读
    <b class='flag-5'>第</b><b class='flag-5'>4</b><b class='flag-5'>章</b> <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础<b class='flag-5'>以及</b><b class='flag-5'>流水灯</b>的<b class='flag-5'>实现</b>(4.7 4.8)

    【迅为工业RK3568稳定可靠】itop-3568开发板驱动开发4驱动模块传参实验

    【迅为工业RK3568稳定可靠】itop-3568开发板驱动开发4驱动模块传参实验
    的头像 发表于 11-06 14:25 179次阅读
    【迅为工业RK3568稳定可靠】itop-3568开发板驱动开发<b class='flag-5'>第</b><b class='flag-5'>4</b><b class='flag-5'>章</b>驱动模块传参实验

    4 C语言基础以及流水灯实现(4.5 4.6)

    4.5while循环语句 在单片机C语言编程的时候,每个程序都会固定的加一句while(1),这条语句就可以起到死循环的作用。对于while语句来说,他的一般形式是:        while
    的头像 发表于 11-06 11:21 128次阅读

    蜂鸟E203在黑金XC7A200T型FPGA上点亮LED并实现流水灯

    一、队伍介绍 本篇介绍的内容是蜂鸟E203在黑金XC7A200T型FPGA上点亮LED并实现流水灯。 二、前言 在此之前我们已经将蜂鸟E203在黑金XC7A200T型FPGA开发板上,所以
    发表于 10-31 09:04

    【沁恒CH585开发板免费试用体验】GPIO 流水灯

    ; 2) GPIO 端口模式设置; 3) 初始化IO口; 4) 编写处理函数; 3.2 流水灯代码实现 主函数代码如下: #include \"CH58x_common.h\"
    发表于 07-04 22:55

    【RA-Eco-RA4M2开发板评测】点灯实现6种LED花式流水灯操作

    很高兴收到瑞萨电子提供的RA4M2开发板,这次帖子就专门用来说说专业点灯操作,实现各种花式的流水灯,可以十分方便地控制LED的各种状态,甚至多个LED组合控制,如跑马灯等。 打开原理图,可以看到3个
    发表于 04-28 21:28

    【RA-Eco-RA4M2开发板评测】使用串口通信实现花样流水灯操作

    串口使用USB串口吧,节省USB口线!!!!! 使用串口通信实现花样流水灯操作,本次测评通过使用串口助手发送数据来控制RA4M2的流水灯操作,总共有9中模式: (1)发送0,3个L
    发表于 04-27 21:33

    【RA-Eco-RA4M2开发板评测】2 初识GPIO流水灯

    电平,再加上延时,从而实现流水灯的效果。 4 实验现象 将编译好的程序下载到板子中,可以看到三个LED灯依次闪烁。
    发表于 04-25 23:06

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    51库函数实现流水灯 2篇 内外部资源操作篇 3.1 数码管显示原理 3.2 数码管静态显示 3.3 数码管动态显示 3.4 中断概念 3.5 单片机的定时器中断 4.1 独立键盘检测 4.2 矩阵键盘
    发表于 04-15 13:57

    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-4 UART基础知识

    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-4 UART基础知识
    的头像 发表于 03-17 15:50 860次阅读
    【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发-<b class='flag-5'>第</b><b class='flag-5'>4</b><b class='flag-5'>章</b> UART基础知识

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-2OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-2OpenHarmony v3.2-Beta4版本测试
    的头像 发表于 03-05 10:53 888次阅读
    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-<b class='flag-5'>第</b>2<b class='flag-5'>章</b>OpenHarmony v3.2-Beta<b class='flag-5'>4</b>版本测试

    #中国香河英茂科工#STC32G12K128#屠龙刀三.2 流水灯例程

    流水灯
    丙丁先生
    发布于 :2025年01月19日 14:19:35

    【正点原子STM32H7R3开发套件试用体验】流水灯

    【正点原子STM32H7R3开发套件试用体验】流水灯 本文介绍了使用 STM32CubeMX 辅助配置 GPIO 及晶振参数,实现流水灯的方法。 工程创建 1.打开 STM32CubeMX 软件
    发表于 12-28 18:51

    低成本单片机方案——触摸流水灯开关控制

    概述本方案旨在提供一种基于低成本单片机的触摸流水灯开关控制解决方案。该方案结合了单片机技术、电容式触摸传感技术和LED驱动技术,实现了通过触摸操作控制流水灯的效果。
    的头像 发表于 12-26 16:37 1193次阅读
    低成本单片机方案——触摸<b class='flag-5'>流水灯</b>开关控制

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】MDK+点灯+流水灯

    的led引脚为P207\\\\P113P207引脚配置输出高P113也是这样当使用 RTOS 时,程序从 main 函数开始进行线程调度; 当没有使用 RTOS 时,C语言程序的入口函数 main 函数
    发表于 12-15 15:59