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

    文章

    7650

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程2-基于紫光FPGA 的键控流水灯实验例程

    控制模块和LED显示模块的设计实现。实验通过按键切换三种LED显示模式(流水灯、交替闪烁、暗灯流水),展示了FPGA模块化设计方法,包括子模块设计、消抖处理和状态机控制等关键技术。开发板为国产FPGA学习提供了高性价比平台.
    的头像 发表于 05-20 11:48 3229次阅读
    【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程2-基于紫光FPGA 的键控<b class='flag-5'>流水灯</b>实验例程

    手把手教你学51单片机-C语言

    --金沙滩工作室。读者不仅可以下载所有的学习视频和文档资料,还可以加入到技术讨论群中和大家一起讨论学习,共同进步。 主要内容 全书一共14,从113
    发表于 03-05 11:47

    讲解C语言代码的实现过程

    重点讲解C语言代码的实现过程,算法的C语言实现过程具有一般性,通过PID算法的C
    发表于 01-21 07:58

    C语言主要特点

    指针类型数据,使用十分灵活和多样化,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。 4.具有结构化的控制语句。用函数作为程序的模块单位,便于实现程序的模块化。C
    发表于 01-05 07:41

    6 中断与数码管动态显示(6.1 6.2)

    系统来完成实用的数码管显示程序。 6.1C语言的数组 6.1.1数组的基本概念 4已经学过变量的基本类型,比如char、int等等。这种
    的头像 发表于 12-08 17:03 886次阅读

    C语言的编程技巧

    一个成员是一个未知大小的数组,适用于动态分配内存并关联一个可变长度的数组。‌ ‌3、匿名结构体和联合体‌:C语言允许在结构体或联合体中定义不带标签的内部结构体或联合体,简化代码结构。 ‌4
    发表于 11-27 06:46

    C语言特性

    数据,实现对设备的精准控制,同时降低功耗,延长设备的使用寿命。 2、可移植性:跨平台的通行证 C 语言具有良好的可移植性,这意味着用 C 语言
    发表于 11-24 07:01

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

    1.1 Keil软件延时 C语言常用的延时方法,有如图4-2所示4种。 图4-2  C
    的头像 发表于 11-19 17:20 1113次阅读
    <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)

    C语言和单片机C语言有什么差异

    的目标代码短、运行速度高、存储空间小、符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。
    发表于 11-14 07:55

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

    【迅为工业RK3568稳定可靠】itop-3568开发板驱动开发4驱动模块传参实验
    的头像 发表于 11-06 14:25 636次阅读
    【迅为工业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 631次阅读

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

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

    【「AI芯片:科技探索与AGI愿景」阅读体验】+内容总览

    提升AI智力 4 AI芯片:汇聚半导体芯片产业前沿技术 5 从AI硬件到AI湿件:用化学或生物方法
    发表于 09-05 15:10

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

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

    RK3568驱动指南|第十二篇 GPIO子系统-130 GPIO的调试方法

    RK3568驱动指南|第十二篇 GPIO子系统-130 GPIO的调试方法
    的头像 发表于 06-03 11:32 1598次阅读
    RK3568驱动指南|第十二篇 GPIO子系统-<b class='flag-5'>第</b>130<b class='flag-5'>章</b> GPIO的调试方法