Operaattorien etusijajärjestys
Lausekkeiden arviointijärjestys.
Operaattorien etusijajärjestys on ilmainen C Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C Academy-kurssilla on yhteensä 4 oppituntia.
Miksi operaattorien tärkeysjärjestyksellä on väliä
Tärkeysjärjestys määrittää, mikä operaattori suoritetaan ensin useita operaattoreita sisältävässä lausekkeessa. Se vastaa tavallista matematiikkaa: kertolasku ennen yhteenlaskua.
#include <stdio.h>
int main(void) {
printf("%d\n", 2 + 3 * 4);
return 0;
}Sulkeet ohittavat oletusjärjestyksen
Sulkeet pakottavat evaluointijärjestyksen. Käyttäkää niitä tarkoituksen selkeyttämiseen ja oletusjärjestyksen ohittamiseen.
#include <stdio.h>
int main(void) {
printf("%d\n", (2 + 3) * 4);
return 0;
}Aritmeettisten operaattorien tärkeysjärjestys
Aritmeettisista operaattoreista * / % sitoutuvat tiukemmin kuin + -. Suuremman prioriteetin operaattorit suoritetaan ensin.
#include <stdio.h>
int main(void) {
int r = 10 - 2 * 3;
printf("r = %d\n", r);
return 0;
}Assosiatiivisuus
Kun operaattoreilla on sama prioriteetti, assosiatiivisuus määrittää suunnan. Useimmat aritmeettiset operaatiot suoritetaan vasemmalta oikealle.
#include <stdio.h>
int main(void) {
int r = 20 / 4 / 2;
printf("r = %d\n", r);
return 0;
}Sijoituksen oikealta vasemmalle assosiatiivisuus
Sijoitus ryhmitellään oikealta vasemmalle. Siksi a = b = 5 sijoittaa ensin arvon 5 muuttujalle b ja sitten muuttujalle a.
#include <stdio.h>
int main(void) {
int a, b;
a = b = 5;
printf("a = %d, b = %d\n", a, b);
return 0;
}Vertailut ja aritmetiikka
Aritmetiikalla on suurempi prioriteetti kuin relaatio-operaattoreilla, joten a + b > c laskee ensin arvon a + b.
#include <stdio.h>
int main(void) {
int a = 2, b = 3, c = 4;
printf("%d\n", a + b > c);
return 0;
}Relaatio-operaattorit ja loogiset operaattorit
Relaatio-operaattoreilla on suurempi prioriteetti kuin operaattorilla &&, jolla puolestaan on suurempi prioriteetti kuin operaattorilla ||.
#include <stdio.h>
int main(void) {
int x = 5;
if (x > 0 && x < 10)
printf("single digit positive\n");
return 0;
}Unaariset ennen binäärisiä
Unaariset operaattorit, kuten ! ja unaarioperaattori -, sitoutuvat hyvin tiukasti ja niitä sovelletaan ennen binäärioperaattoreita.
#include <stdio.h>
int main(void) {
int x = 0;
printf("%d\n", !x + 1);
return 0;
}Hankala lauseke
Ilman sulkeita tässä lausekkeessa yhdistyvät useat prioriteettitasot. Selvittäkää sen suoritusjärjestys huolellisesti.
#include <stdio.h>
int main(void) {
int r = 2 + 3 * 4 > 10 && 1;
printf("r = %d\n", r);
return 0;
}Jos olette epävarmoja, käyttäkää sulkeita
Hyvässä C-koodissa käytetään sulkeita runsaasti. Ne eivät aiheuta suoritusaikana kustannuksia ja estävät vaikeasti havaittavia virheitä.
#include <stdio.h>
int main(void) {
int a = 1, b = 2, c = 3;
if ((a < b) && (b < c))
printf("ascending\n");
return 0;
}Prioriteetti käytännössä
Tässä prioriteetin ansiosta voimme kirjoittaa selkeän kaavan ilman ylimääräisiä sulkeita.
#include <stdio.h>
int main(void) {
int base = 10, rate = 2, hours = 3;
int pay = base + rate * hours;
printf("pay = %d\n", pay);
return 0;
}Pikatarkistus
Testatkaa ymmärryksenne operaattoreiden prioriteetista.
Kertaus: operaattoreiden prioriteetti
Opitte, miten C määrittää operaattoreiden suoritusjärjestyksen.
* / %ennen operaattoreita+ -- Aritmetiikka ennen relaatio-operaattoreita ja relaatio-operaattorit ennen loogisia operaattoreita
- Useimmat operaattorit ovat vasemmalta oikealle assosiatiivisia, sijoitus on oikealta vasemmalle assosiatiivinen
- Unaariset operaattorit sitoutuvat tiukasti
- Sulkeet tekevät tarkoituksen yksiselitteiseksi
Opi C tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 39
- Oppitunnit
- 144
Usein kysytyt kysymykset
Onko oppitunti ”Operaattorien etusijajärjestys” ilmainen?
Kyllä – oppitunnin ”Operaattorien etusijajärjestys” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C Academy-kurssin, päivitä CoddyKit PROhon. C Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Operaattorien etusijajärjestys”?
Lausekkeiden arviointijärjestys. Harjoittelet C Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Operaattorien etusijajärjestys”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C Academy-oppitunnilla?
Kyllä. Jokainen C Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Aritmeettiset operaattorit
- Relationaaliset ja loogiset operaattorit
- Sijoitus ja kasvatus
- Operaattorien etusijajärjestys