{"id":984,"date":"2021-01-24T21:44:00","date_gmt":"2021-01-24T20:44:00","guid":{"rendered":"https:\/\/trzykody.pl\/?page_id=984"},"modified":"2026-02-19T21:37:03","modified_gmt":"2026-02-19T20:37:03","slug":"hello-world-c","status":"publish","type":"page","link":"https:\/\/trzykody.pl\/index.php\/c\/hello-world-c\/","title":{"rendered":"Hello World C"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Pierwszy program w nowym j\u0119zyku s\u0142u\u017cy zwykle do sprawdzenia, czy \u015brodowisko kompilacji dzia\u0142a poprawnie oraz czy rozumiemy minimaln\u0105 struktur\u0119 pliku \u017ar\u00f3d\u0142owego. W j\u0119zykach kompilowanych jest to szczeg\u00f3lnie istotne, poniewa\u017c proces budowania programu obejmuje kilka etap\u00f3w. W tradycji programistycznej przyj\u0119\u0142o si\u0119, \u017ce takim pierwszym przyk\u0142adem jest program wypisuj\u0105cy prosty tekst na ekranie. W j\u0119zyku C najcz\u0119\u015bciej b\u0119dzie to klasyczny Hello World C.<\/strong><\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Spis tre\u015bci<\/h2><nav><ol><li class=\"\"><a href=\"#hello-world-c-jako-minimalny-kompletny-program-w-jezyku-c-i-przyklad-struktury-pliku-zrodlowego\">Hello World C jako minimalny kompletny program w j\u0119zyku C i przyk\u0142ad struktury pliku \u017ar\u00f3d\u0142owego<\/a><ol><li class=\"\"><a href=\"#dyrektywa-preprocesora\">Dyrektywa preprocesora<\/a><\/li><li class=\"\"><a href=\"#funkcja-main\">Funkcja main<\/a><\/li><li class=\"\"><a href=\"#wywolanie-printf\">Wywo\u0142anie printf<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#hello-world-c-w-kontekscie-kompilacji-linkowania-i-uruchamiania-programu\">Hello World C w kontek\u015bcie kompilacji, linkowania i uruchamiania programu<\/a><\/li><li class=\"\"><a href=\"#hello-world-c-jako-punkt-wyjscia-do-zrozumienia-printf-c-oraz-c-language-hello-world\">Hello World C jako punkt wyj\u015bcia do zrozumienia printf c oraz c language hello world<\/a><ol><li class=\"\"><a href=\"#printf-c-mechanizm-formatowania\">printf c \u2013 mechanizm formatowania<\/a><\/li><li class=\"\"><a href=\"#printf-and-scanf-podstawy-wejscia-i-wyjscia\">printf and scanf \u2013 podstawy wej\u015bcia i wyj\u015bcia<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#c-hello-program-z-uzyciem-c-scanf-oraz-interakcji-z-uzytkownikiem\">C hello program z u\u017cyciem c scanf oraz interakcji z u\u017cytkownikiem<\/a><\/li><li class=\"\"><a href=\"#tablice-w-jezyku-c-jako-naturalne-rozszerzenie-prostego-programu-wyswietlajacego-tekst\">Tablice w j\u0119zyku C jako naturalne rozszerzenie prostego programu wy\u015bwietlaj\u0105cego tekst<\/a><\/li><li class=\"\"><a href=\"#algorytmy-c-na-przykladzie-prostych-operacji-wprowadzonych-po-programie-c-language-hello-world\">Algorytmy C na przyk\u0142adzie prostych operacji wprowadzonych po programie C language hello world<\/a><\/li><li class=\"\"><a href=\"#porownanie-prostego-programu-w-c-c-i-python-dla-lepszego-zrozumienia-modelu-wykonania\">Por\u00f3wnanie prostego programu w C, C++ i Python dla lepszego zrozumienia modelu wykonania<\/a><ol><li class=\"\"><a href=\"#c\">C<\/a><\/li><li class=\"\"><a href=\"#c-1\">C++<\/a><\/li><li class=\"\"><a href=\"#python\">Python<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#typowe-bledy-przy-pierwszym-programie-i-przy-pracy-z-printf-and-scanf\">Typowe b\u0142\u0119dy przy pierwszym programie i przy pracy z printf and scanf<\/a><\/li><\/ol><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hello-world-c-jako-minimalny-kompletny-program-w-jezyku-c-i-przyklad-struktury-pliku-zrodlowego\">Hello World C jako minimalny kompletny program w j\u0119zyku C i przyk\u0142ad struktury pliku \u017ar\u00f3d\u0142owego<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Najprostszy poprawny program w C wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint main() {\n    printf(\"Hello World\\n\");\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ten kod zawiera wszystkie podstawowe elementy:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Dyrektyw\u0119 preprocesora <code>#include<\/code>.<\/li>\n\n\n\n<li>Funkcj\u0119 <code>main<\/code>.<\/li>\n\n\n\n<li>Wywo\u0142anie funkcji wyj\u015bcia.<\/li>\n\n\n\n<li>Zwr\u00f3cenie kodu zako\u0144czenia.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dyrektywa-preprocesora\">Dyrektywa preprocesora<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Linia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">powoduje wstawienie deklaracji funkcji z biblioteki standardowej odpowiedzialnej za wej\u015bcie i wyj\u015bcie. Bez niej kompilator nie zna\u0142by deklaracji <code>printf<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Preprocesor dzia\u0142a przed w\u0142a\u015bciw\u0105 kompilacj\u0105. Rozwija makra i wstawia zawarto\u015b\u0107 plik\u00f3w nag\u0142\u00f3wkowych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"funkcja-main\">Funkcja main<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ka\u017cdy program w C zaczyna wykonanie od funkcji:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int main()\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Typ <code>int<\/code> oznacza, \u017ce funkcja zwraca liczb\u0119 ca\u0142kowit\u0105. W systemach operacyjnych kod zwracany przez <code>main<\/code> informuje o poprawno\u015bci zako\u0144czenia programu. <code>0<\/code> oznacza sukces.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"wywolanie-printf\">Wywo\u0142anie printf<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Instrukcja:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf(\"Hello World\\n\");\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">wywo\u0142uje funkcj\u0119 biblioteczn\u0105 odpowiedzialn\u0105 za wypisanie tekstu na standardowe wyj\u015bcie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sekwencja <code>\\n<\/code> oznacza znak nowej linii.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hello-world-c-w-kontekscie-kompilacji-linkowania-i-uruchamiania-programu\">Hello World C w kontek\u015bcie kompilacji, linkowania i uruchamiania programu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plik \u017ar\u00f3d\u0142owy, np. <code>program.c<\/code>, musi zosta\u0107 przetworzony przez kompilator.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typowy proces:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Preprocessing<\/li>\n\n\n\n<li>Kompilacja do kodu po\u015bredniego<\/li>\n\n\n\n<li>Asemblacja<\/li>\n\n\n\n<li>Linkowanie z bibliotek\u0105 standardow\u0105<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142adowe polecenie (gcc):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gcc program.c -o program\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Powstaje plik wykonywalny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uruchomienie:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/program\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Na ekranie pojawi si\u0119 tekst.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u017celi zabraknie <code>#include &lt;stdio.h&gt;<\/code>, kompilator mo\u017ce zg\u0142osi\u0107 ostrze\u017cenie o braku deklaracji funkcji. W nowoczesnych standardach jest to b\u0142\u0105d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hello-world-c-jako-punkt-wyjscia-do-zrozumienia-printf-c-oraz-c-language-hello-world\">Hello World C jako punkt wyj\u015bcia do zrozumienia printf c oraz c language hello world<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Program hello world c jest minimalny, ale pozwala om\u00f3wi\u0107 kilka wa\u017cnych zagadnie\u0144.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"printf-c-mechanizm-formatowania\">printf c \u2013 mechanizm formatowania<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Funkcja <code>printf<\/code> pochodzi z biblioteki standardowej C. Jej prototyp:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int printf(const char *format, ...);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Pierwszy argument to \u0142a\u0144cuch formatuj\u0105cy. Kolejne argumenty s\u0105 interpretowane zgodnie ze specyfikatorami formatu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int x = 10;\nprintf(\"Wartosc x = %d\\n\", x);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>%d<\/code> oznacza liczb\u0119 ca\u0142kowit\u0105 typu <code>int<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inne specyfikatory:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>%f<\/code> \u2013 liczba zmiennoprzecinkowa<\/li>\n\n\n\n<li><code>%c<\/code> \u2013 znak<\/li>\n\n\n\n<li><code>%s<\/code> \u2013 napis<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Niepoprawne dopasowanie typu do specyfikatora prowadzi do niezdefiniowanego zachowania.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"printf-and-scanf-podstawy-wejscia-i-wyjscia\">printf and scanf \u2013 podstawy wej\u015bcia i wyj\u015bcia<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Opr\u00f3cz wyj\u015bcia potrzebne jest wej\u015bcie. W C u\u017cywa si\u0119 funkcji <code>scanf<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int x;\nscanf(\"%d\", &amp;x);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Wa\u017cne jest przekazanie adresu zmiennej (<code>&amp;x<\/code>). Funkcja musi wiedzie\u0107, gdzie zapisa\u0107 wynik.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Brak operatora <code>&amp;<\/code> to jeden z najcz\u0119stszych b\u0142\u0119d\u00f3w pocz\u0105tkuj\u0105cych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"c-hello-program-z-uzyciem-c-scanf-oraz-interakcji-z-uzytkownikiem\">C hello program z u\u017cyciem c scanf oraz interakcji z u\u017cytkownikiem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rozszerzmy przyk\u0142ad:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint main() {\n    int wiek;\n\n    printf(\"Podaj wiek: \");\n    scanf(\"%d\", &amp;wiek);\n\n    printf(\"Masz %d lat\\n\", wiek);\n\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ten c hello program pokazuje:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wypisanie komunikatu,<\/li>\n\n\n\n<li>pobranie danych,<\/li>\n\n\n\n<li>ponowne u\u017cycie warto\u015bci.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Nale\u017cy pami\u0119ta\u0107, \u017ce <code>scanf<\/code> nie sprawdza poprawno\u015bci danych w spos\u00f3b bezpieczny. Je\u017celi u\u017cytkownik poda tekst zamiast liczby, program mo\u017ce dzia\u0142a\u0107 nieprzewidywalnie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tablice-w-jezyku-c-jako-naturalne-rozszerzenie-prostego-programu-wyswietlajacego-tekst\">Tablice w j\u0119zyku C jako naturalne rozszerzenie prostego programu wy\u015bwietlaj\u0105cego tekst<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po zrozumieniu pojedynczych zmiennych kolejnym krokiem s\u0105 tablice w j\u0119zyku c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint main() {\n    int tab&#91;5];\n\n    for (int i = 0; i &lt; 5; i++) {\n        scanf(\"%d\", &amp;tab&#91;i]);\n    }\n\n    for (int i = 0; i &lt; 5; i++) {\n        printf(\"%d\\n\", tab&#91;i]);\n    }\n\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tutaj wida\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>indeksowanie od zera,<\/li>\n\n\n\n<li>dost\u0119p do element\u00f3w przez <code>tab[i]<\/code>,<\/li>\n\n\n\n<li>przekazywanie adresu elementu do <code>scanf<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tablica jest ci\u0105g\u0142ym blokiem pami\u0119ci. <code>tab[i]<\/code> to skr\u00f3t od <code>*(tab + i)<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algorytmy-c-na-przykladzie-prostych-operacji-wprowadzonych-po-programie-c-language-hello-world\">Algorytmy C na przyk\u0142adzie prostych operacji wprowadzonych po programie C language hello world<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Po programie c language hello world naturalnym krokiem jest wprowadzanie logiki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad: obliczenie sumy element\u00f3w tablicy.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint main() {\n    int tab&#91;5];\n    int suma = 0;\n\n    for (int i = 0; i &lt; 5; i++) {\n        scanf(\"%d\", &amp;tab&#91;i]);\n    }\n\n    for (int i = 0; i &lt; 5; i++) {\n        suma = suma + tab&#91;i];\n    }\n\n    printf(\"Suma = %d\\n\", suma);\n\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Algorytm:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Zainicjalizuj zmienn\u0105 sumy.<\/li>\n\n\n\n<li>Wczytaj dane.<\/li>\n\n\n\n<li>Iteruj po tablicy.<\/li>\n\n\n\n<li>Dodawaj kolejne elementy.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Struktura sterowania:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>p\u0119tla <code>for<\/code><\/li>\n\n\n\n<li>zmienna akumuluj\u0105ca<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To podstawowy schemat stosowany w wielu algorytmach.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"porownanie-prostego-programu-w-c-c-i-python-dla-lepszego-zrozumienia-modelu-wykonania\">Por\u00f3wnanie prostego programu w C, C++ i Python dla lepszego zrozumienia modelu wykonania<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"c\">C<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nint main() {\n    printf(\"Hello World\\n\");\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"c-1\">C++<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W C++ mo\u017cna u\u017cy\u0107 strumieni:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\n\nint main() {\n    std::cout &lt;&lt; \"Hello World\" &lt;&lt; std::endl;\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00f3\u017cnica: u\u017cycie przestrzeni nazw i operatora <code>&lt;&lt;<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"python\">Python<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">W Python program jest kr\u00f3tszy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\"Hello World\")\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Brak kompilacji i brak jawnej funkcji g\u0142\u00f3wnej.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model wykonania jest inny \u2013 Python jest interpretowany.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"typowe-bledy-przy-pierwszym-programie-i-przy-pracy-z-printf-and-scanf\">Typowe b\u0142\u0119dy przy pierwszym programie i przy pracy z printf and scanf<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Brak \u015brednika.<\/li>\n\n\n\n<li>Liter\u00f3wka w <code>printf<\/code>.<\/li>\n\n\n\n<li>Brak <code>#include &lt;stdio.h><\/code>.<\/li>\n\n\n\n<li>U\u017cycie <code>scanf<\/code> bez <code>&amp;<\/code>.<\/li>\n\n\n\n<li>Brak <code>\\n<\/code> powoduj\u0105cy brak nowej linii w buforowanym wyj\u015bciu.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">W C kompilator jest rygorystyczny sk\u0142adniowo, ale nie chroni przed wszystkimi b\u0142\u0119dami logicznymi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pierwszy program wypisuj\u0105cy tekst jest formalnie prosty, lecz zawiera wszystkie kluczowe elementy struktury j\u0119zyka C: preprocesor, funkcj\u0119 g\u0142\u00f3wn\u0105, wywo\u0142ania funkcji bibliotecznych oraz kod zako\u0144czenia. Zrozumienie ka\u017cdego z tych element\u00f3w jest fundamentem dalszej nauki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pierwszy program w nowym j\u0119zyku s\u0142u\u017cy zwykle do sprawdzenia, czy \u015brodowisko kompilacji dzia\u0142a poprawnie oraz czy rozumiemy minimaln\u0105 struktur\u0119 pliku \u017ar\u00f3d\u0142owego. W j\u0119zykach kompilowanych jest to szczeg\u00f3lnie istotne, poniewa\u017c proces budowania programu obejmuje kilka etap\u00f3w. W tradycji programistycznej przyj\u0119\u0142o si\u0119, \u017ce takim pierwszym przyk\u0142adem jest program wypisuj\u0105cy prosty tekst na ekranie. W j\u0119zyku C najcz\u0119\u015bciej b\u0119dzie to klasyczny Hello World C. Hello World C jako minimalny kompletny program w j\u0119zyku C i przyk\u0142ad struktury pliku \u017ar\u00f3d\u0142owego Najprostszy poprawny program w C wygl\u0105da nast\u0119puj\u0105co: Ten kod zawiera wszystkie podstawowe elementy: Dyrektywa preprocesora Linia: powoduje wstawienie deklaracji funkcji z biblioteki standardowej odpowiedzialnej za wej\u015bcie i wyj\u015bcie. Bez niej kompilator nie zna\u0142by deklaracji printf. Preprocesor dzia\u0142a przed w\u0142a\u015bciw\u0105 kompilacj\u0105. Rozwija makra i wstawia zawarto\u015b\u0107 plik\u00f3w nag\u0142\u00f3wkowych. Funkcja main Ka\u017cdy program w C zaczyna wykonanie od funkcji: Typ int oznacza, \u017ce funkcja zwraca liczb\u0119 ca\u0142kowit\u0105. W systemach operacyjnych kod zwracany przez main informuje o poprawno\u015bci zako\u0144czenia programu. 0 oznacza sukces. Wywo\u0142anie printf Instrukcja: wywo\u0142uje funkcj\u0119 biblioteczn\u0105 odpowiedzialn\u0105 za wypisanie tekstu na standardowe wyj\u015bcie. Sekwencja \\n oznacza znak nowej linii. Hello World C w kontek\u015bcie kompilacji, linkowania i uruchamiania programu Plik \u017ar\u00f3d\u0142owy, np. program.c, musi zosta\u0107 przetworzony przez kompilator. Typowy proces: Przyk\u0142adowe polecenie (gcc): Powstaje plik wykonywalny. Uruchomienie: Na ekranie pojawi si\u0119 tekst. Je\u017celi zabraknie #include &lt;stdio.h&gt;, kompilator mo\u017ce zg\u0142osi\u0107 ostrze\u017cenie o braku deklaracji funkcji. W nowoczesnych standardach jest to b\u0142\u0105d. Hello World C jako punkt wyj\u015bcia do zrozumienia printf c oraz c language hello world Program hello world c jest minimalny, ale pozwala om\u00f3wi\u0107 kilka wa\u017cnych zagadnie\u0144. printf c \u2013 mechanizm formatowania Funkcja printf pochodzi z biblioteki standardowej C. Jej prototyp: Pierwszy argument to \u0142a\u0144cuch formatuj\u0105cy. Kolejne argumenty s\u0105 interpretowane zgodnie ze specyfikatorami formatu. Przyk\u0142ad: %d oznacza liczb\u0119 ca\u0142kowit\u0105 typu int. Inne specyfikatory: Niepoprawne dopasowanie typu do specyfikatora prowadzi do niezdefiniowanego zachowania. printf and scanf \u2013 podstawy wej\u015bcia i wyj\u015bcia Opr\u00f3cz wyj\u015bcia potrzebne jest wej\u015bcie. W C u\u017cywa si\u0119 funkcji scanf. Przyk\u0142ad: Wa\u017cne jest przekazanie adresu zmiennej (&amp;x). Funkcja musi wiedzie\u0107, gdzie zapisa\u0107 wynik. Brak operatora &amp; to jeden z najcz\u0119stszych b\u0142\u0119d\u00f3w pocz\u0105tkuj\u0105cych. C hello program z u\u017cyciem c scanf oraz interakcji z u\u017cytkownikiem Rozszerzmy przyk\u0142ad: Ten c hello program pokazuje: Nale\u017cy pami\u0119ta\u0107, \u017ce scanf nie sprawdza poprawno\u015bci danych w spos\u00f3b bezpieczny. Je\u017celi u\u017cytkownik poda tekst zamiast liczby, program mo\u017ce dzia\u0142a\u0107 nieprzewidywalnie. Tablice w j\u0119zyku C jako naturalne rozszerzenie prostego programu wy\u015bwietlaj\u0105cego tekst Po zrozumieniu pojedynczych zmiennych kolejnym krokiem s\u0105 tablice w j\u0119zyku c. Przyk\u0142ad: Tutaj wida\u0107: Tablica jest ci\u0105g\u0142ym blokiem pami\u0119ci. tab[i] to skr\u00f3t od *(tab + i). Algorytmy C na przyk\u0142adzie prostych operacji wprowadzonych po programie C language hello world Po programie c language hello world naturalnym krokiem jest wprowadzanie logiki. Przyk\u0142ad: obliczenie sumy element\u00f3w tablicy. Algorytm: Struktura sterowania: To podstawowy schemat stosowany w wielu algorytmach. Por\u00f3wnanie prostego programu w C, C++ i Python dla lepszego zrozumienia modelu wykonania C C++ W C++ mo\u017cna u\u017cy\u0107 strumieni: R\u00f3\u017cnica: u\u017cycie przestrzeni nazw i operatora &lt;&lt;. Python W Python program jest kr\u00f3tszy: Brak kompilacji i brak jawnej funkcji g\u0142\u00f3wnej. Model wykonania jest inny \u2013 Python jest interpretowany. Typowe b\u0142\u0119dy przy pierwszym programie i przy pracy z printf and scanf W C kompilator jest rygorystyczny sk\u0142adniowo, ale nie chroni przed wszystkimi b\u0142\u0119dami logicznymi. Pierwszy program wypisuj\u0105cy tekst jest formalnie prosty, lecz zawiera wszystkie kluczowe elementy struktury j\u0119zyka C: preprocesor, funkcj\u0119 g\u0142\u00f3wn\u0105, wywo\u0142ania funkcji bibliotecznych oraz kod zako\u0144czenia. Zrozumienie ka\u017cdego z tych element\u00f3w jest fundamentem dalszej nauki.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":968,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-984","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/comments?post=984"}],"version-history":[{"count":1,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/984\/revisions"}],"predecessor-version":[{"id":986,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/984\/revisions\/986"}],"up":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/968"}],"wp:attachment":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media?parent=984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}