[技术讨论] keil中C语言的();【】;{}三种括号的使用

[复制链接]
 楼主| QWE4562009 发表于 2021-11-10 10:29 | 显示全部楼层 |阅读模式

keil中C语言的();【】;{}三种括号的使用

/*        名称:K1-K4 控制数码管加减演示
        说明:按下K1后加1计数,按下K2后减1计数,按下K3后清零。
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//段码
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
//待显示的3位缓冲
uchar Num_Buffer[]={0,0,0};
//按键代码,按键计数
uchar Key_Code,Key_Counts=0;
//延时
void DelayMS(uint x)
{
        uchar i;
        while(x--) for(i=0;i<120;i++);
}      
//显示函数
void Show_Counts_ON_DSY()
{
        uchar i,j=0x01;
        Num_Buffer[2]=Key_Counts/100;
        Num_Buffer[1]=Key_Counts/10%10;
        Num_Buffer[0]=Key_Counts%10;
        for(i=0;i<3;i++)
        {
                j=_cror_(j,1);
                P0=0xff;
                P0=DSY_CODE[Num_Buffer[i]];
                P2=j;
                DelayMS(1);
        }
}
//主程序
void main()
{
        uchar i;
        P0=0xff;
        P1=0xff;
        P2=0x00;
        Key_Code=0xff;
        while(1)
        {
                Show_Counts_ON_DSY();
                P1=0xff;
                Key_Code=P1;
                //有键按下时,数码管刷新显示30次,该行代码同时起到延时作用
                if(Key_Code!=0xff)
                for(i=0;i<30;i++) Show_Counts_ON_DSY();
                switch(Key_Code)
                {
                        case 0xfe: if(Key_Counts<255) Key_Counts++;
                                                break;
                        case 0xfd: if(Key_Counts>0) Key_Counts--;
                                                break;
                        case 0xfb: Key_Counts=0;
                }
                Key_Code=0xff;
        }
}


1.我想知道什么情况下要用空格、逗号?
2.什么情况下用小括号();中括号【】;还有大括号{}?
HWM 发表于 2021-11-10 10:42 | 显示全部楼层
大括号{}通常用于程序块,中括号[]则通常用于数组下标。小括号的使用范围通常类似表达式中的括号,包括函数参数。
tyw 发表于 2021-11-10 11:07 | 显示全部楼层
6552918 发表于 2021-11-10 11:57 | 显示全部楼层
这是C语言基础,找本书看看吧
海洋无限 发表于 2021-11-10 12:37 | 显示全部楼层
这是C语言基本语法哦
hxfxt 发表于 2021-11-10 15:33 | 显示全部楼层
找一本C语言的书仔细看一下
linxi6414 发表于 2021-11-10 20:00 | 显示全部楼层
不至于吧,10年的老会员了,连这些都不了解?
Gavin3389 发表于 2021-11-11 09:09 | 显示全部楼层
这个~~~随便一本c语言都会有写。
而且会给你例子

感觉论坛里大部人都会用,但是详细讲解的话,不一定全面~也很难做到给你举例
 楼主| QWE4562009 发表于 2021-11-11 16:47 | 显示全部楼层
本帖最后由 QWE4562009 于 2021-11-11 18:07 编辑
Num_Buffer[2]=Key_Counts/100;
        Num_Buffer[1]=Key_Counts/10%10;
        Num_Buffer[0]=Key_Counts%10;
是说除以100取出整数,除以10取出余数,对10取余数?
 楼主| QWE4562009 发表于 2021-11-11 16:48 | 显示全部楼层
HWM 发表于 2021-11-10 10:42
大括号{}通常用于程序块,中括号[]则通常用于数组下标。小括号的使用范围通常类似表达式中的括号,包括函数 ...

数组下标是啥含义?我做硬件的 多多指教
QuakeGod 发表于 2021-11-12 22:14 | 显示全部楼层
是得好好学习一下。
C语言里面得符号非常多,有句话咋说的来着,说C语言嫌键盘上的标点符号不够用了。
基本上键盘上所有的符号,在C语言里面都用用处。而且每种符号还都有多重含义,
举例 + ++ - -- = == * ** & && | || ......
a(int) 和(int)a 就是不同的涵义。
如果到了C++,就更乱了。
< > <> << >> <<<> <>>> 就能搞懵许多人。
举个例子,下面这句话是C语言里面的合法语句。
a=a+++ ++a;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1089

主题

3137

帖子

23

粉丝
快速回复 在线客服 返回列表 返回顶部