LEKCJA 1 - PODSTAWOWE INSTRUKCJE

adszed│ czas, aby napisaµ pierwszy program. Na razie nie bΩdzie on robi│ nic nadzwyczajnego. Stopniowo zaczniemy go rozbudowywaµ, a przy okazji om≤wiΩ tu najistotniejsze sprawy. Oto nasz pierwszy program:

#include <stdio.h> 
void main(void) 
{ 
printf("Anna Miedzianowska"); 
}

Ten program mo┐emy bez problemu skompilowaµ. Ale efekt mo┐e wydaµ siΩ marny... Czarny ekran zaraz znika i nie mo┐na siΩ przyjrzeµ efektom w│asnej pracy... Dlatego musimy wprowadziµ ma│▒ modyfikacjΩ. Ale najpierw wyja╢niΩ to, co ju┐ zosta│o napisane.

Linijka pierwsza: instrukcja #include poleca kompilatorowi do│▒czyµ do programu plik stdio.h (tzw. pseudonag│≤wkowy), w kt≤rym zawarta jest definicja funkcji printf. Jest tam te┐ wiele innych definicji przer≤┐nych funkcji i jest on jednym z najczΩ╢ciej u┐ywanych plik≤w pseudonag│≤wkowych. Bardzo czΩsto u┐ywa siΩ te┐ plik≤w: conio.h, math.h itp. Zamiast znak≤w nier≤wno╢ci (< >) mo┐na te┐ u┐yµ znaku cudzys│owia (""). Wszystkie pliki *.h znajduj▒ siΩ w podkatalogu INCLUDE. Tak wiΩc pierwsza rzecz, od kt≤rej nale┐y zacz▒c pisanie programu to w│a╢nie dyrektywa #include.

Linijka druga: Tu rozpoczyna siΩ g│≤wna funkcja programu (main()). Musi ona wyst▒piµ w programie dok│adnie 1 raz! Wszystkie instrukcje programowe zawieraj▒ siΩ w jej ciele, czyli miΩdzy nawiasami klamrowymi. Nag│≤wek tej funkcji ma w naszym przypadku postaµ: void main(void). S│owo void oznacza brak parametr≤w i w zasadzie mo┐na je pomin▒µ. Znaczy to, ┐e funkcja g│≤wna nie daje wyniku ┐adnego typu i nie pobiera ┐adnych parametr≤w do poprawnego wywo│ania. Dla przyk│adu deklaracja funkcji main mo┐e wygl▒daµ r≤wnie┐ tak:

Przez d│u┐szy czas mo┐emy siΩ tym jednak nie przejmowaµ i po prostu pisaµ: main()

Linijka czwarta: To cia│o naszej funkcji g│≤wnej. Instrukcja printf kt≤ra sprawia, ┐e okre╢lony tekst zostanie wy╢wietlony na ekranie. Jak ka┐da instrukcja ko±czy siΩ ╢rednikiem.

Linijka trzecia i pi▒ta: Nawiasy klamrowe oznaczaj▒ grupΩ instrukcji. W tym przypadku pokazuj▒ one cia│o funkcji g│≤wnej.


Podsumowuj▒c:

  1. Na pocz▒tku piszemy #include i pliki z definicjami instrukcji.
  2. Deklarujemy funkcjΩ main().
  3. W ciele funkcji g│≤wnej wypisujemy wszystkie instrukcje (zako±czone ╢rednikiem), kt≤re program ma wykonaµ.
  4. Wielko╢µ liter nie jest bez znaczenia, wiΩc x i X oznaczaµ mog▒ dwie r≤┐ne zmienne.
  5. Kompilujemy przez u┐ycie kombinacji klawiszy: CTRL+F9.


A teraz czas na modyfikacje:

#include <stdio.h> 
#include <conio.h> 
main(void) 
{
//to jest komentarz, kt≤ry 
//ko±czy siΩ na ko±cu linii 
clrscr(); 
printf("Anna \nMiedzianowska"); 
getch();
return 0;
}  

Efektem skompilowania tego kodu bΩdzie wypisanie na ekranie napisu "Anna Miedzianowska".

Modyfikacja polega│a przede wszystkim na wprowadzeniu nowych funkcji: clrscr() oraz getch(). Ich definicje opisane s▒ w pliku conio.h, dlatego nale┐a│o go dopisaµ na samym pocz▒tku po dyrektywie #include. Co robi▒ dane funkcje? Pierwsza z nich czy╢ci ekran (odpowiednik "cls" w Dosie). Druga zatrzymuje dzia│anie programu i czeka na wci╢niΩcie dowolnego klawisza. Jest jeszcze kilka innych sposob≤w na zatrzymanie pracy programu, aby mo┐na by│o obejrzeµ efekt, np. wpisanie while(!kbhit()); zamiast getch() lub np. getchar();.

To, co pojawi│o siΩ w kodzie przed moim nazwiskiem, to nie jest ┐adna liter≤wka. Efekt widaµ po uruchomieniu programu - nazwisko zosta│o przeniesione do nastΩpnej linijki. \n jest to tzw. znak specjalny. Innym z czΩ╢ciej u┐ywanych znak≤w specjalnych jest np. \t - tabulacja czy \a - kr≤tki sygna│ d╝wiΩkowy.

Po modyfikacji pojawi│o siΩ tak┐e tajemnicze return 0;. Chodzi o to, ┐e skoro funkcja g│≤wna zosta│a zadeklarowana jakby zwraca│a typ int (domy╢lnie), wiΩc na ko±cu programu nale┐y wpisaµ return 0; jako pomy╢lny wynik jej dzia│ania. Bez tego oczywi╢cie nic siΩ nie stanie, wiΩc r≤wnie dobrze mo┐na to pomin▒µ.

Ostatni▒ now▒ spraw▒ jest komentarz. Mo┐na w nim napisaµ co siΩ tylko chce, kompilator z za│o┐enia nie czyta komentarzy. Dla kr≤tkich komentarzy stosuje siΩ najczΩ╢ciej formΩ przedstawion▒ w przyk│adzie: dwa uko╢niki rozpoczynaj▒ komentarz (//), a ko±czy siΩ on samoistnie na koncu linii. Je┐eli komentarz jest d│u┐szy ni┐ jedna linijka nale┐y rozpocz▒µ go znakami /* i zako±czyµ w odpowiednim miejscu znakami: */ Nie jest istotne dla kompilatora, w kt≤rym miejscu napiszemy komentarz.


Podsumowuj▒c:

  1. Mamy 2 rodzaje komentarzy i mo┐emy w nich pisaµ, co nam siΩ podoba.
  2. Aby zatrzymaµ pracΩ programu, u┐ywamy funkcji getch();.
  3. Do czyszczenia ekranu s│u┐y funkcja clrscr();.
  4. Przyzwoicie by by│o napisaµ na ko±cu return 0;.
  5. W tek╢cie mo┐emy u┐ywaµ tzw. znak≤w specjalnych, np. z│amanie tekstu do nastΩpnej linii (\n).


To tyle, je┐eli chodzi o pierwsz▒ lekcjΩ. Dla ciekawych powiem, ┐e kolory w edytorze dla poszczeg≤lnych wyra┐e± nie s▒ przypadkowe. Kolorem bia│ym sa wyr≤┐niane tzw. s│owa kluczowe, niebieskim tekst cytowany i liczby, zielonym dyrektywy kompilatora, a wszystko inne na ┐≤│to. Je╢li natomiast zaczniemy wpisywaµ co╢ zupe│nie bez sensu, edytor zaznaczy to kolorem czerwonym.


Autorem Kursu C++ jest Anna Miedzianowska (http://annamiedzianowska.republika.pl/).


Baner reklamowy: