C-kielen alkeisopas
Yleistä ohjelmoinnista

Ohjelmointi on prosessi, jossa luodaan ohjeita, joita tietokone voi seurata suorittaakseen tiettyjä tehtäviä. Riippumatta siitä, rakennatko yksinkertaista laskinta tai monimutkaista verkkosovellusta, perusteiden ymmärtäminen on olennaista. Tämä artikkeli käsittelee ohjelmoinnin perusasioita, jotka sinun tulee tietää aloittaessasi ohjelmoinnin.

1. Muuttujat

Muuttujat ovat yksi minkä tahansa ohjelman keskeisistä rakennuspalikoista. Muuttuja on säiliö, joka pitää sisällään dataa, jota voidaan muuttaa tai käyttää ohjelman aikana. Useimmissa ohjelmointikielissä muuttuja määritellään ja sille annetaan arvo.

Esimerkiksi Pythonissa:

age = 25

Ja C:ssä:

int age = 25;

Tässä age on muuttuja, joka sisältää arvon 25.

Joissakin kielissä, kuten C:ssä, sinun täytyy ilmoittaa muuttujan tyyppi, ja yllä oleva int tarkoittaa, että tyyppi on kokonaisluku.

C-kielessä, kuten monissa muissakin ohjelmointikielissä, jokainen lause päättyy puolipisteeseen.

Lause ohjelmoinnissa tarkoittaa yksittäistä käskyä tai komentoa, jonka tietokone suorittaa. Se voi esimerkiksi asettaa muuttujalle arvon, kutsua funktiota tai tehdä päätöksen. Ja kuten edellä mainittiin monissa ohjelmointikielissä lause päättyy puolipisteeseen (;).

Lohko tarkoittaa joukkoa toisiinsa liittyviä lauseita, jotka kuuluvat yhteen. Lohko kirjoitetaan yleensä aaltosulkujen { } sisään, ja se voi sisältää useita lauseita.

2. Tietotyypit

Tietotyypit määrittävät, millaista dataa muuttuja voi sisältää. Yleisimmät tietotyypit ovat:

  • Kokonaisluku – Kokonaisluvut (esim. 5, -10)
  • Liukuluku – Desimaaliluvut (esim. 3.14, -0.5)
  • Merkkijono – Teksti (C-kielessä esimerkiksi merkkitaulukko tai merkkiosoitin)
  • Totuusarvo – Looginen arvo, joka on joko tosi tai epätosi. C-kielessä tähän voidaan käyttää bool-tyyppiä ottamalla käyttöön stdbool.h.
3. Operaattorit

Operaattorit ovat symboleita, jotka suorittavat operaatioita muuttujilla ja arvoilla. Tässä muutamia yleisiä operaattoreita:

  • Aritmeettiset operaattorit (esim. +, -, *, /) – Käytetään matemaattisiin perusoperaatioihin.
  • Vertailuoperaattorit (esim. ==, !=, >, <) – Käytetään arvojen vertailuun.
  • Loogiset operaattorit (esim. &&, ||, !) – Käytetään totuusarvojen yhdistämiseen tai kieltämiseen.
4. Ehtolauseet

Ehtolauseet mahdollistavat ohjelman tehdä päätöksiä ja suorittaa koodia tiettyjen ehtojen perusteella. Yleisin ehtorakenne on if-lause.

Esimerkiksi:

float temperature = 30.0;
if (temperature > 20) {
    printf("On lämmin päivä.");
}

Tässä ohjelma tarkistaa, onko lämpötila suurempi kuin 20, ja tulostaa viestin, jos ehto on tosi.

5. Silmukat

Silmukat antavat mahdollisuuden suorittaa koodilohkon useita kertoja. Yleisimmät silmukat ovat for- ja while-silmukat.

Esimerkiksi yksinkertainen for-silmukka C:ssä:

for (int i = 0; i < 5; i++) {
    printf("%d", i);
}

Tämä silmukka tulostaa luvut 0:sta 4:ään.

6. Funktiot

Funktiot ovat uudelleenkäytettäviä koodilohkoja, jotka voivat suorittaa tietyn tehtävän. Voit määritellä funktion ja kutsua sitä tarpeen mukaan.

Esimerkki C-kielellä:

#include <stdio.h>

// Funktio, joka tervehtii nimellä
void greet(const char *name) {
    printf("Hei, %s\n", name);
}

int main()
{
    // Kutsutaan tervehdys-funktiota eri nimillä
    greet("Alice");
    greet("Bob");

    return 0;
}

Tässä esimerkissä funktio greet ottaa nimen argumenttina ja tulostaa tervehdyksen. Voit kutsua sitä eri nimillä. Funktion kutsuminen tarkoittaa, että ohjelmalle annetaan käsky suorittaa funktion sisältämä koodi.

Funktion määrittelyssä tarvitaan neljä osaa:

  1. palautusarvon tyyppi: void, int, float jne (edellä void)
  2. funktion nimi: edellä greet
  3. parametrit: ()-sulkujen sisällä oleva lista arvoista, joita funktiolle tulee antaa
  4. funktion runko: {}-sulkujen välinen osa, jossa määritetään mitä funktion tulee tehdä

Palautusarvon tyyppi void tarkoittaa, että funktio ei palauta mitään. Palauttaminen tarkoittaa, että kun funktio on suoritettu se antaa sitä kutsuvalle koodille tuloksen eli palautuksen.

7. Taulukot

Taulukko on kokoelma arvoja, jotka on tallennettu yhteen muuttujaan. Jokaisella arvolla on indeksi, joka alkaa nollasta. Taulukot ovat hyödyllisiä tietolistojen tallentamiseen.

Esimerkki C-kielellä:

// Taulukko, joka sisältää kokonaislukuja
int myNumbers[3] = {101, 105, 202};

// Tulostetaan ensimmäinen luku
printf("%d\n", myNumbers[0]);  // Tulostaa 101

Ja toinen esimerkki, jossa taulukko sisältää merkkijonoja

const char *fruits[] = {"omena", "banaani", "appelsiini"};
printf("%s",fruits[0]); // Tulostaa "omena"
8. Kommentit

Kommentti tarkoittaa tekstinosaa (sana, rivi, kappale), jota kääntäjä ei huomioi. Kommenttien tarkoituksena on antaa informaatiota koodia lukevalle ohjelmoijalle. Kommentit muodostetaan c-kielessä kahdella tavalla:

  • Merkit // tarkoittavat, että näiden jälkeen loppuosa rivistä tulkitaan kommentiksi
  • Merkkien /* ja */ väliin jäävä osa tulkitaan kommentiksi
Staattisesti tyypitetty ohjelmointikieli

Staattisesti tyypitetty ohjelmointikieli on kieli, jossa muuttujien ja lausekkeiden tyypit tarkistetaan jo ohjelmaa käännettäessä. C on staattisesti tyypitetty kieli: esimerkiksi muuttujalle annetaan tyyppi, kuten int tai float, ja kääntäjä tarkistaa, että tyyppiä käytetään järkevästi.

Tärkeimmät Ominaisuudet
  • Tyyppien tarkistus tapahtuu C-kielessä käännösaikana.
  • Kääntäjä voi huomata monia virheitä ennen ohjelman suorittamista.
  • C sallii myös automaattisia tyyppimuunnoksia, joten kaikkia tyyppivirheitä ei aina huomata samalla tavalla kuin tiukemmissa kielissä.

Esimerkki C-kielellä:

int age = 10;
age = 3.5; // Arvo muunnetaan kokonaisluvuksi, jolloin desimaaliosa katoaa

Sen sijaan JavaScriptissä muuttujan tyyppi voi vaihtua ajon aikana:

let age = 10;
age = "a";



Toggle Menu