CyberStars

Variables (Integers)

În programare vrem adesea să stocăm valori ca să le folosim mai târziu. Cel mai simplu exemplu: numere. În C, înainte de a stoca ceva, trebuie să-i spunem limbajului ce fel de valoare stocăm. Asta se numește tip

#include <stdio.h>

int main(void) {
    int varsta = 18;
    int x = 1;

    printf("%d\n", varsta);
    printf("%d\n", x);

    return 0;
}

Ieșire

18
1

int este tipul pentru numere întregi (1, 2, 100, -20, 0). Lui C îi pasă de tipuri: nu ne va lăsa să stocăm un număr într-o variabilă fără să-i spunem ce fel de număr este


Observă noutatea: %d din interiorul printf-ului. Acesta este un format specifier. printf nu știe singur cum să afișeze un int, trebuie să-i spunem: "uite un int, te rog afișează-l"

  • %d → pentru un int
  • \n → linie nouă, ca până acum

Format specifier-ul (%d) este înlocuit cu valoarea (variabila care vine după virgulă)

Putem amesteca format specifier-i cu text obișnuit

#include <stdio.h>

int main(void) {
    int varsta = 60;
    printf("Varsta mea este %d\n", varsta);
    return 0;
}

Ieșire

Varsta mea este 60

Putem folosi mai mulți specifier-i pe o singură linie

#include <stdio.h>

int main(void) {
    int a = 10;
    int b = 20;
    printf("a = %d, b = %d\n", a, b);
    return 0;
}

Ieșire

a = 10, b = 20

Primul %d este înlocuit cu a, al doilea cu b, în ordine


Putem face calcule, exact ca la orice calcul obișnuit

#include <stdio.h>

int main(void) {
    int a = 2;
    int b = 6;
    int c = a + b;
    printf("%d\n", c);
    return 0;
}

Afișează 8. Aceeași regulă: partea dreaptă a lui = este calculată prima, apoi stocată în stânga

Clasica incrementare cu 1 are și o scurtătură în C

#include <stdio.h>

int main(void) {
    int n = 10;
    n++;
    printf("%d\n", n);
    return 0;
}

Afișează 11. n++ este același lucru cu n = n + 1


O mică surpriză. Hai să urmărim ce se întâmplă

#include <stdio.h>

int main(void) {
    int a = 7;
    int b = 2;
    printf("%d\n", a / b);
    return 0;
}

Afișează 3, nu 3.5. De ce? Pentru că a / b cu doi int-i dă înapoi un int: C aruncă partea zecimală. Vom vedea cum să păstrăm zecimalele în lecția următoare, cu float


Misiune: Fișa unui nou operator

La centrul de calcul, fiecare operator nou primește o fișă cu două numere: vârsta lui și nivelul de acces la sistem alocat de administrator.

Scrie un program care, în interiorul lui main

  • declară un int numit varsta (orice număr întreg vrei)
  • declară un int numit nivel_acces (orice număr întreg vrei)
  • afișează varsta pe o linie, cu eticheta Varsta:
  • afișează nivel_acces pe linie separată, cu eticheta Acces:

Exemplu

Pentru o varsta de 45 și un nivel_acces de 3, programul tău ar afișa ceva de genul

Varsta: 45
Acces: 3