Elektronika - baza wiedzy

Cześć 1 kursu C/C++


1. Wprowadzenie do kursu


Są dwa powody, dla których zdecydowałem się napisać kurs języka C. Pierwszy jest taki, że nie udało mi się znaleźć w internecie strony, która zawierałaby taki kurs w języku polskim. Owszem, można znaleźć kilka tego typu publikacji, ale wszystkie są napisane w języku angielskim. Drugiego powodu, który skłonił mnie do tego kroku nie zdradzę, ale pewna grupa ludzi wie o co chodzi (sorry, że tak wyszło, ale sami chcieliście ;) Przejdźmy wreszcie do rzeczy...

Na wstępie chciałbym przedstawić założenia, jakie przyjąłem odnośnie Twojej wiedzy oraz kilka ogólnych informacji dotyczących języka C.

Język C, podobnie jak Pascal, jest językiem strukturalnym. Jednak w przeciwieństwie do Pascala jest on o wiele mniej rygorystyczny w stosunku do programisty, dzięki czemu osoba pisząca program w C ma o wiele większą swobodę działania. Poza tym język ten jest bardziej kompaktowy - w jednej linijce programu w C można zawrzeć to, co w przypadku Pascala zajęłoby dziesięć. Niektórzy uważają to za wadę, bo powoduje to trudności w późniejszym analizowaniu kodu programu, jednak według mnie jest to ogromna zaleta tego języka. To programista decyduje tu jak ma wyglądać jego program - jeśli chce czysty, przejrzysty kod to pisze dziesięć linijek kodu, ale jeśli wygodniej jest mu to samo zawrzeć w jednej linijce to dlaczego standard języka miałby go ograniczać ?

Jednak mimo tego (a może właśnie dlatego) sądzę, że język C nie powinien być pierwszym językiem programowania, który się poznaje. Według mnie powinno się zacząć o bardziej "szkoleniowego" języka jakim jest Pascal. Dopiero po zapoznaniu się z ogólnymi koncepcjami programowania można myśleć o rozpoczęciu nauki języka C. Dlatego też nie będę w tym kursie tłumaczył takich podstawowych pojęć jak np. zmienna. Zakładam, że masz już ogólne pojęcie o programowaniu. Do zrozumienia tego kursu nie będzie jednak konieczna znajomość Pascala, może to być dowolny inny język programowania. Będzie to jednak bardzo pomocne, gdyż często będę podawał odpowiedniki danej instrukcji właśnie w tym języku. Powinieneś także pamiętać, że samo przeczytanie tego kursu nic Ci nie da. Ja przekażę Ci tylko koncepcję języka, jego słowa kluczowe i przykłady ich zastosowania, jednak umiejętność praktycznego ich wykorzystania nabędziesz tylko i wyłącznie podczas samodzielnego pisania programów w języku C. Tak więc pamiętaj - ćwiczyć, ćwiczyć i jeszcze raz ćwiczyć !

Dołożyłem wszelkich starań, aby kurs ten w sposób jasny i czytelny przedstawiał zasady pisania w języku C. Jeśli jednak coś jest nie do końca zrozumiałe to możesz do mnie napisać. Mój email to motzel@panda.bg.univ.gda.pl lub motzel@polbox.com. Preferuję ten pierwszy, jeśli jednak on nie działa (bo na przykład oblałem jakiś egzamin i wyrzucili mnie ze studiów ;) to napisz na drugi. Postaram się w miarę możliwości wytłumaczyć dane zagadnienie. Proszę jednak, żebyś z pytaniami wstrzymał się aż do momentu, gdy przeczytasz punkt "Mój pierwszy program". Do tego momentu coś może wydawać się niejasne ponieważ brak jest odpowiednich przykładów, jednak ten pierwszy program powinien rozwiać wszelkie wątpliwości.
Mam też prośbę do osób znających już język C, a czytających ten kurs (są tacy ?). Jeśli znaleźliście jakieś nieścisłości lub też po prostu błędy, to proszę o informację, abym mógł to poprawić.

Wszystkie przykładowe programy przedstawione w tym kursie były kompilowane przy użyciu DJGPP (jest to dosowa wersja gcc, znanego z systemów unixowych), jednak powinny kompilować się bez problemu przy użyciu dowolnego innego kompilatora C. . Zakładając, że używasz tego samego kompilatora, aby skompilować te pliki musisz wydać polecenie:

gcc nazwa.c -o nazwa.exe

Po poprawnej kompilacji na dysku zostanie utworzony plik exe, który jest gotowym do uruchomienia programem.