『壹』 單片機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;
}
}
}