==== Adattípusok ====
A C nyelvben az adattípusok határozzák meg, hogy egy változó milyen típusú adatot tárolhat, és mennyi memóriát foglal.
**Alap adattípusok**
* int – egész számok tárolására (pl. -5, 0, 42)
* float – lebegőpontos szám, kisebb pontossággal (pl. 3.14, -0.5)
* double – lebegőpontos szám nagyobb pontossággal (pl. 3.1415926535)
* char – egyetlen karakter tárolására (pl. 'a', 'Z', '1')
//Megjegyzés: a char valójában egy kis egész számot (ASCII kódot) tár//
**Változók és konstansok**
Változó: olyan névvel ellátott memóriahely, amelyben az érték program közben változhat.
int x = 5; // egész típusú változó
float pi = 3.14; // lebegőpontos változó (tört, 32bit)
double tort = 4.6765 // lebegőpontos változó (tört, 64bit)
char betu = 'A'; // karakter változó
char szoveg[] = {'E', 'P', 'E', 'R'}; // karakter tömb (vektor), szöveg
Konstans: olyan érték, amely a program futása közben nem változtatható.
const double PI = 3.14159;
**Be- és kimenet**
A standard be- és kimenet a printf() (kiírás) és a scanf() (beolvasás).
Kiíratás (printf()):
int szam = 10;
printf("A szam erteke: %d\n", szam);
Formátumjelek:
* %d → egész szám (int)
* %f → lebegőpontos szám (float, double), double esetén inkább %lf
* %c → karakter (char)
* %s → szöveg (karaktertömb, string)
Beolvasás (scanf())
int x;
scanf("%d", &x); // az & jel a változó címét adja át
Formátumjelek (ugyanaz, mint fentebb):
* %d → egész szám (int)
* %f → lebegőpontos szám (float, double), double esetén inkább %lf
* %c → karakter (char)
* %s → szöveg (karaktertömb, string)
**Operátorok**
Aritmetikai operátorok
* + összeadás
* - kivonás
* * szorzás
* / osztás
* % maradékos osztás (csak egész számokra)
Relációs (összehasonlító) operátorok
* == egyenlő
* != nem egyenlő
* > nagyobb
* < kisebb
* >= nagyobb vagy egyenlő
* <= kisebb vagy egyenlő
Logikai operátorok
* && logikai ÉS
* || logikai VAGY
* ! logikai NEM
Értékadó operátorok
* = értékadás (pl. a = 5;)
* +=, -=, *=, /=, %= rövidített formák
//Megjegyzés: a += 3; ugyanaz, mint: a = a + 3;//
**Példa program**
#include
int main() {
int a, b;
printf("Adj meg ket egesz szamot: ");
scanf("%d %d", &a, &b);
printf("Osszeg: %d\n", a + b);
printf("Kulonbseg: %d\n", a - b);
printf("Szorzat: %d\n", a * b);
printf("Hanyados: %d\n", a / b);
printf("Maradek: %d\n", a % b);
if (a > b) {
printf("Az elso nagyobb.\n");
} else {
printf("A masodik nagyobb vagy egyenlo.\n");
}
return 0;
}
===== Gyakorlás =====
Írj programot, ami kiírja a neved és az életkorod!
#include
int main() {
char nev[50];
int kor;
printf("Add meg a neved: ");
scanf("%s", nev);
printf("Add meg az eletkorod: ");
scanf("%d", &kor);
printf("Szia %s, te %d eves vagy!\n", nev, kor);
return 0;
}
Kérj be két egész számot, és számítsd ki az összegüket, különbségüket, szorzatukat, osztásukat és maradékukat!
#include
int main() {
int a, b;
printf("Adj meg ket szamot: ");
scanf("%d %d", &a, &b);
printf("Osszeg: %d\n", a + b);
printf("Kulonbseg: %d\n", a - b);
printf("Szorzat: %d\n", a * b);
printf("Hanyados: %d\n", a / b);
printf("Maradek: %d\n", a % b);
return 0;
}
Kérj be három lebegőpontos számot, és számítsd ki az átlagukat!
#include
int main() {
float a, b, c, atlag;
printf("Adj meg harom szamot: ");
scanf("%f %f %f", &a, &b, &c);
atlag = (a + b + c) / 3;
printf("Az atlag: %.2f\n", atlag);
return 0;
}