A C programozás alapjai (1. rész)

A nyelv fejlesztése 1974-ben kezdődött el, Dennis Rithcie vezetésével. A B nyelv kibővítésére, hatékonyabbá tételére, felváltására készítették, ugyanis a B már nem volt elég hatékony az akkoriban megjelenő PDP-11 számítógép új UNIX-szának programozásához. Az amerikai szabványügyi hivatal 1983-ban hozta létre az ANSI C szabványosított, végleges változatát. Ezt a cikket azoknak ajánlom, akik már ismernek egy-két programozási nyelvet, de eddig még nehéznek tartották a C-t, most azonban szeretnének megismerkedni vele.

A C nem típusos nyelv, mert ugyan vannak adattípusai, az egyes adattípusok között automatikus adatkonverziók definiáltak. A legtöbb nyelvtől ezek csak abban különböznek, hogy a C-nek nincs előre definiált szöveg (string) adattípusa, karakterláncok tárolására karaktertömböket használ. A tömbökkel a későbbiekben részletesen foglalkozunk.

Annak érdekében, hogy a hagyományokat betartsuk, nézzünk egy "Hello Világ!" programot. A megjegyzéseket /* és */ fogja közre, illetve újabban már használható a //, viszont akkor ettől a két karaktertől az egész sor megjegyzésnek fog számítani.

#include <stdio.h>

//ez megjegyzés

/*de ez is*/

int main()

{

  printf("Hello Világ!");

  return 0;

}

Ez volna az első C programunk! A fordításhoz a Dev-C++ valamelyik verzióját, vagy a Turbo C 2.0-t javaslom, ezek ingyenesek és letölthetők az Internetről. Nézzük hát végig mit tartalmaz. Az elején található #include <stdio.h> sor az előfordító számára közli, hogy mi a programunkban az stdio.h fájlban található alprogramokat kívánjuk használni. Az előfordító-utasításokra még részletesebben kitérünk. A következő sorban található a main függvény, ennek minden programban szerepelnie kell, ebben a függvényben kezdődik meg programunk futása. Ennek típusa többnyire int, de gyakran használják a void-ot is. Egy függvény típusa azt adja meg, hogy a visszatérési érték milyen típusú lesz.

 A C-ben az alprogramokat mindig függvénynek nevezzük, ennek törzsét a { és } jelek fogják közre. A C blokkstrukturált nyelv, és az egyes programblokkokat ezek a jelek fogják közre. A programban bárhova lehet blokkot elhelyezni oda, ahol egy utasítás szerepelhet. A következő sorban láthatjuk a printf függvényt, amely formázott adatkivitelt valósít meg a képernyőn. Itt nem olyan formázásra kell gondolni, mint amit a szövegszerkesztőben használunk például, hanem arra, hogy a kivitelen nem csak szöveget, hanem különböző típusú adatokat is megjeleníthetünk. A függvény utolsó sorában található a return utasítás után található változó értékével tér vissza a függvény. Nem kötelező megadni, ha nem adjuk meg a visszatérési érték 0.

Hogy tudunk változókat deklarálni? Először megadjuk a típust, majd a változó nevét. Ha több azonos típusú változót kívánunk megadni, vesszővel választhatjuk el őket. Mint már említettem, a C nem használ string típust, ehelyett karaktertömböt (vektort) használ, aminek indexe megadja a karakterek számát. Figyelem! A C-ben a karakterláncok (sztringliterálok) NULL karakter végűek, azaz a \0 zárja le őket, tehát egy karaktert ez lefoglal. Számok tárolására legtöbbször az int (egész), double (lebegőpontos), real (valós) típusokat használjuk. Fontos még megjegyezni, hogy a legtöbb nyelvvel szemben a C-ben a többdimenziós tömbök megadásánál nem vesszővel választjuk el az indexeket, hanem külön szögletes zárójelben adjuk meg őket.

//A karaktertömbök:

char szoveg[45];

 

int a;

int b;

//Ez helyettesíthető így:

int a,b;

 

int a[45][23];

 

Ebben a részben még igen sokszor írtam, hogy később foglalkozunk vele. Ezt azért teszem így, mert az egyes részek az azokat megelőzőkre alapoznak. Tehát a viszontolvasásra, a következő számban.

Szelei Tamás