‘壹’ 单片机c语言多个开关优先选择问题
整理如下:
当p0.1口输入低电平(持续时间8秒左右)情况下,
如果p0.2出现低电平,即后面不做任何操作。
当p0.1口输入低电平(持续时间8秒左右)情况下,
如果p0.2不出现低电平,
当p0.3出现低电平后,即进行p0.4的赋值和延时输出操作;
p0.3不出现低电平即不对p0.4操作。
等到p0.1口的低电平消失后,又继续进行下一次重复的。
程序结构如下:
START:
IF(P0.1 == 1)GOTOSTART;
延时次数 = 0;
LP1:
延时 10ms;
IF(P0.1 == 1)GOTOSTART;
延时次数++;
IF (延时次数 < 800)GOTOLP1;
//以上,就确认了:P0.1输入低电平持续8秒左右
IF ((P0.2 == 1)AND(P0.3 == 0))
//如果p0.2不出现低电平,p0.3出现低电平后
P0.4 = 0;延时 10ms;
//即进行p0.4的赋值和延时输出操作;
LP2:
IF(P0.1 == 1)GOTOLP2
//等到p0.1口的低电平消失,
GOTOSTART;
//又继续进行下一次重复的
别忘了采纳。
‘贰’ c语言中 开关分支语句是什么
C51开关分支语句
学习了条件语句,用多个条件语句能实现多方向条件分支,但是能发现使用过多的 条件语句实现多方向分支会使条件语句嵌套过多,程序冗长,这样读起来也很不好读。这个时候 使用开关语句同样能达到处理多分支选择的目的,又能使程序结构清晰。它的语法为下:
switch (表达式)
{
case 常量表达式 1: 语句 1; break; case 常量表达式 2: 语句 2; break; case 常量表达式 3: 语句 3; break; case 常量表达式 n: 语句 n; break; default: 语句
}
运行中 switch 后面的表达式的值将会做为条件,与 case 后面的各个常量表达式的值相 对比,如果相等时则执行 case 后面的语句,再执行 break(间断语句)语句,跳出 switch 语句。如果 case 后没有和条件相等的值时就执行 default 后的语句。当要求没有符合的条 件时不做任何处理,则能不写 default 语句。
‘叁’ C语言:开关灯
#include"stdio.h"
intmain(intargc,char*argv[]){
charlmp[5001];
inti,j,N,M;
printf("PleaseenterN&M(int0<N<5001,0<M<=N)... ");
if(scanf("%d%d",&N,&M)!=2||N<1||N>5000||M<1||M>N){//保证输入的N,M符合要求,否则退出
printf("Inputerror,exit... ");
return0;
}
for(i=1;i<=N;lmp[i++]=1);//N盏灯全开启(原始状态)
for(i=1;i<=M;i++)//遍历M个人
for(j=1;j<=N;lmp[j++]^=!(j%i));//每个人把与自己编号成整数倍的灯作相反操作
for(j=0,i=1;i<=N;i++)//输出,从编号小至大遍历所有灯
if(!lmp[i])//输出已被关闭的灯的编号
printf(j++?",%d":"%d",i);
printf(" ");
return0;
}
运行样例:
‘肆’ c语言开关语句
第二个问题问得好!
第一个个问题是这样的,switch中有值和case后面的值相等的时候,就执行case那行语句,switch都是从上往下判断的,C语言中的语句执行流程就是从下往上(别弄糊涂了),所以switch 执行也是一样的。不是先执行case0,而是先判断switch中的值是否为 2 -> 1 -> 0 从上往下依次判断下来。如果switch里的值为0 的话,就执行case0,好好想下!
第二个问题,说实话我以前没有把default放到case中间编译过(也不知道编译器是否报错),呵呵,虽然这种是无用功,但是对于了解编译还是有帮助的,反正结果应该是这样,执行到default后,下面的case都不会执行。
“default是不是不管放哪都是最后执行”,不是这样的,不管default放到哪儿,顺序由上往下执行到default的时候,它就会执行,尽管你后面还有case语句等等,都忽略了!
呵呵,说得有点乱,我看你在线,你再问我吧!
‘伍’ C语言中的开关语句是什么
你说的开关语句,应该是一种分支语句
格式如下:
switch( 条件 )
{
case 值:
break;
default:
}
‘陆’ C语言“开关变量”一般设置成什么
一般来说开关变量只会有两种情况,开 和 关
所以应该用布尔值
但是C语言没有纯粹的布尔类型,尽管可以声明 bool ,但实际上值是 int 的
C语言用 0 来表示 FALSE, 非0 表示 TRUE, TRUE和FALSE并不是关键字,而是预定义的宏,你如果跳转到头文件中应该能够看到
‘柒’ c语言 switch的用法
switch用在编程中,如C语言中它经常跟case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。
C语言程序语句switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
{
case constantExpression1 :
case constantExpression2 :
case constantExpression3 :
statements;
//当满足constantExpression1、constantExpression2、constantExpression3任何一个都执行statements
break;
case constantExpression :
statements ;
break;
...
default :
statements ;
break;
}
(7)c语言选择开关扩展阅读:
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
遵守switch语句规则
switch语句非常有用,但在使用时必须谨慎。所写的任何switch语句都必须遵循以下规则:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型 。
case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
‘捌’ C语言中的SWITCH是什么意思
1、SWITCH语句的字面意思是开关,是用来进行多重选择。具体的用法首先打开C-Free5.0软件,然后新建一个名为switch.c文件,然后在引入头文件和main主函数:
‘玖’ c语言开关语句是什么
break在for循环来实现开关语句、while循环等循环流程控制中起的作用是停止执行break后面的语句,跳出本次循环,并跳出该循环控制体。
‘拾’ 用C语言开关语句
#include<stdio.h>
void main()
{
float price;
int a;
printf("请输入购物金额\n");
scanf("%f",&price);
if(price<200)
printf("金额小于200不打折,实际应付:%f\n",price);
else
{
a=price/100;
switch(a)
{
case 2:
case 3:
case 4:printf("打折率为九折;实际应付:%f元\n",0.9*price); break;
case 5:
case 6:
case 7:
case 8:
case 9:printf("打折率为八折;实际应付:%f元\n",0.8*price); break;
default:printf("打折率为七折;实际应付:%f元\n",0.7*price); break;
}
}
}