Vad är den grundläggande syntaxen för en switch-sats i C?

Dec 26, 2025

Lämna ett meddelande

Som switchleverantör får jag ofta frågan om den grundläggande syntaxen för en switch-sats i C-programmering. Att förstå switch-satsen är viktigt för alla som vill skriva effektiv och organiserad kod, särskilt när de hanterar flera villkorade grenar. I den här artikeln kommer jag att dela upp komponenterna i en switch-sats i C och förklara hur den fungerar, samtidigt som jag lyfter fram några av de högkvalitativa switcharna vi levererar.

Grundläggande struktur för ett switchuttalande i C

Switch-satsen i C ger ett sätt att testa en variabel mot en lista med värden. Varje värde kallas ett fall, och switch-satsen utvärderar uttrycket inom parentes efterväxlanyckelord. Här är den grundläggande syntaxen:

switch(uttryck) { case constant1: // kod som ska köras om uttryck == konstant1; bryta; case constant2: // kod som ska köras om uttryck == konstant2; bryta; //...du kan ha så många fall som behövs standard: // kod som ska köras om uttrycket inte matchar något av fallen }

Låt oss gå igenom varje del i detalj.

växlaoch denuttryck

Deväxlanyckelordet startar switch-satsen. Uttrycket inom parentesen måste utvärderas till en heltalstyp (som t.exint,röding, eller enuppräkning). Detta uttryck är vad målen kommer att jämföras mot. Till exempel:

int dag = 3; switch(day) { // fall kommer att jämföras med värdet på 'day' }

fallUttalanden

Varjefallföljs av ett konstant värde (som måste matcha typen av uttryck). När switch-satsen exekveras kontrollerar den om uttrycket är lika med det konstanta värdet för var och enfall. Om en matchning hittas, kodblocket efter detfallavrättas.

switch(dag) { fall 1: printf("måndag\n"); bryta; fall 2: printf("Tisdag\n"); bryta; }

I exemplet ovan, ifdagär lika med1, kommer programmet att skriva ut "måndag". Omdagär2, kommer den att skriva ut "Tisdag".

brytaUttalanden

Debrytanyckelordet är avgörande i en switch-sats. När enbrytapåträffas, avslutar programmet switch-satsen. Utanbryta, skulle programmet fortsätta att exekvera koden i efterföljandefallblock, ett beteende som kallas "fall - through". Till exempel:

switch(dag) { fall 1: printf("måndag\n"); fall 2: printf("Tisdag\n"); bryta; }

Omdagär1, både "måndag" och "tisdag" kommer att skrivas ut eftersom det finns nrbrytaefter den förstafall. Men omdagär2, endast "tisdag" kommer att skrivas ut sedan denbrytaefter den andrafalllämnar omkopplaren.

standardFall

Destandardfall är valfritt. Det exekveras när uttrycket iväxlauttalandet matchar inte något avfallkonstanter.

switch(dag) { fall 1: printf("måndag\n"); bryta; fall 2: printf("Tisdag\n"); bryta; default: printf("Inte en giltig arbetsdag\n"); }

Omdagär ingendera1eller2, kommer programmet att skriva ut "Inte en giltig arbetsdag".

D4A-3101N switchD4A-4501N D4A-4510N Limit Switch

Verkliga exempel i programmering

Låt oss titta på ett mer praktiskt exempel där en switch-sats kan vara användbar. Anta att du skriver ett program för att styra olika typer av switchar i en industriell miljö.

#include <stdio.h> int main() { int switchType = 2; switch(switchType) { fall 1: printf("Du har valt en enkel på-av-knapp.\n"); bryta; fall 2: printf("Du har valt en gränslägesbrytare.\n"); bryta; fall 3: printf("Du har valt en tryckvakt.\n"); bryta; default: printf("Ogiltig switchtyp vald.\n"); } returnera 0; }

I det här exemplet, beroende på värdet avswitchType, ger programmet information om vilken typ av omkopplare som valts.

Våra switchprodukter

Som switchleverantör erbjuder vi ett brett utbud av högkvalitativa switchar för olika industriella applikationer. Till exempelD4A - 3101N Allmänt - gränslägesbrytareär ett mångsidigt alternativ som lämpar sig för många allmänna scenarier. Den har pålitlig prestanda och tål tuffa industriella miljöer.

DeD4A - 4501N D4A - 4510N Gränslägesbrytareär ett annat utmärkt val. Dessa gränslägesbrytare är designade för precision och hållbarhet, vilket gör dem idealiska för applikationer där noggrann positionsavkänning krävs.

Vi levererar även514120 Ställdon, som kan användas tillsammans med våra switchar för att ge smidig och effektiv drift.

Varför välja våra switchar

Våra switchar är tillverkade med den senaste tekniken och högkvalitativa material. De genomgår rigorösa tester för att säkerställa att de uppfyller de högsta industristandarderna. Oavsett om du arbetar med ett småskaligt projekt eller en storskalig industriell applikation, kan våra switchar ge den tillförlitlighet och prestanda du behöver.

Kontakta oss för upphandling

Om du är intresserad av att köpa någon av våra switchar eller har frågor om våra produkter uppmanar vi dig att höra av dig. Vårt team av experter är redo att hjälpa dig att hitta rätt switch för dina specifika behov. Vi kan tillhandahålla detaljerad produktinformation, teknisk support och konkurrenskraftiga priser. Starta ett samtal med oss ​​idag för att utforska hur våra switchar kan förbättra dina projekt.

Referenser

  • K&R, "The C Programming Language", andra upplagan
  • "C Primer Plus", sjätte upplagan av Stephen Prata

Skicka förfrågan