给你个例子:
int a=3;
switch(a)
{
case 1:
printf("the number is 1!!");
break;
case 2:
printf("the number is 2!!");
break;
case 3:
printf("the number is 3!!");
break;
default:
break;
}
先说第一个问题:
比如用查表法将结果保存到变量i中,查表变量为x,则i = table[x],记住C语言里面数组是从0开始的,比如说上面的0x01就是table[0],0x02是table[1],以此类推。
再说第二个问题:
比如说从P10口发送出去,则可以写为
sbit OUT = P1^0;//定义OUT为P10口,这样今后好写程序
char i;
for(i = 0;i < 8;i++)
{
OUT = data & 0x80;//因为高位在前,将它写成二进制就明白了
data <<= 1;
}
上面的程序就能搞定了;
应该是所有的单片机都有CY位(不知道浮点DSP有没有);
C语言中左移和右移之后低位或高位自动补零,CY位也保持为零(视编译器而定,这个得看编译器手册),有些编译器提供了循环移位的函数;
还有什么不明白的补充问题就是
#include\x0d\void main()\x0d\{\x0d\ int a[10]={1,2,3,4,5,6,7,8,9,10};\x0d\ int i,x,y;\x0d\ printf("输入你要查找的数:\n");\x0d\ scanf("%d",&x);\x0d\ y=0; //标记是否已找到,y=1表是找到了,y=0表示没找到\x0d\ for(i=0;i回答于 2022-11-16
以上就是关于C语言中如何用(SWITCH)查表语句全部的内容,包括:C语言中如何用(SWITCH)查表语句、单片机中用C语言查表和移位问题、如何用C语言顺序查找程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)