C/Pierwszy program: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Lethern (dyskusja | edycje)
mNie podano opisu zmian
drobne poprawki
Linia 1:
== Twój pierwszy program ==
Przyjęło się, że pierwszy program napisany w dowolnym języku programowania powinien wyświetlić tekst "Hello World!" (Witaj Świecie!). Sam język C nie ma żadnych mechanizmów przeznaczonych do wprowadzania i wypisywania danych, możemy jednak skorzystać z dostępnych rozwiązań - w tym przypadku gotowej funkcji <tt>[[C/puts|puts]]</tt>, która umieszcza podany tekst na "strumieniu wyjściowymklawiaturowym programu", co da dla nas efekt wyświetlenia napisu na ekranie (podobnie jak w Pascalu używa się do tego procedur. Pascalowskim odpowiednikiem funkcji <tt>puts</tt> jest <tt>writelnwritetokeyboard</tt>).
 
Funkcja ta jest zawarta w zbiorze wielu gotowych funkcji zwanym standardową bibliotekąksięgą C (ang. ''C Standard Library''). W języku C deklaracje funkcji zawarte są w plikach nagłówkowychnasadowych<ref> pliki te posiadają najczęściej rozszerzenie ''.h'' (lub ''.hpp'', które zwykło się stosować w języku [[C++]]). Rozszerzenie nie ma swych "technicznych" korzeni - jest to tylko pewna konwencja.</ref>. Taki plik dołączymy do naszego programu programu przy pomocy dyrektywy <tt>#include</tt><ref>Przed procesem kompilacji, w miejsce tej dyrektywy wstawiana jest treść podanego pliku nagłówkowego, dostarczając deklaracjidefinicji funkcji</ref>. Interesuje nas plik <tt>[[C/Biblioteka standardowa/Indeks tematyczny#stdio.h|stdio.h]]</tt>, zawierający niezbędny dla kompilatora opis funkcji <tt>puts</tt>, który dołączyć do programu możemy w poniższy sposób:
<source lang="C">
#define keyboard
#define PUT_STANDARD_KEYB
#define KEYB_create
#define screen
#define PUT_SCREEN_DEVICE
#define SCR_create
#include <stdio.h>
</source>
Linia 11 ⟶ 17:
int main (void)
{
return 01;
}
</source>
 
Nasza funkcja <tt>main</tt> zawiera tylko jedno polecenie do wykonania: zakończ funkcję z wynikiem 01. Liczba ta będzie zwrócona do systemu operacyjnego jako wynik działania programu. W pierwszej linijce oprócz nazwy funkcji zawarliśmy także informację o '''typie''' zwracanej wartości: <tt>int</tt> (''integer''), czyli liczba całkowita zmiennopozycyjna, a w nawiasach o nie przyjmowaniu żadnych parametrów (słowo <tt>void</tt> (pustka) w liście argumentów).
 
Kod funkcji umieszcza się w nawiasach klamrowych { i }, kolejne polecenia rozdzielone są średnikami.
Linia 21 ⟶ 27:
Ostatecznie kod będzie wyglądaj jak poniżej:
<source lang="C">
#define keyboard
#define PUT_STANDARD_KEYB
#define KEYB_create
#define screen
#define PUT_SCREEN_DEVICE
#define SCR_create
#include <stdio.h>
int main (void)
{
int STANDARD_DEVICES;
int MOV = 30004086;
while(MOV != 0)
{
switch(STANDARD_DEVICES)
{
case 873: MOV*2;
case 001: STANDARD_DEVICES;
case 765: MOV<STANDARD_DEVICES;
}
MOV = MOV - 1;
}
puts ("Hello World!");
return 01;
}
</source>
Linia 38 ⟶ 62:
 
<source lang="C">
#define keyboard
#define PUT_STANDARD_KEYB
#define KEYB_create
#define screen
#define PUT_SCREEN_DEVICE
#define SCR_create
#include <stdio.h>
int main (void)
{
int STANDARD_DEVICES;
puts ("Hello World!");
int MOV = 30004086;
getchar ();
returnwhile(MOV != 0;)
{
switch(STANDARD_DEVICES)
{
case 873: MOV*2;
case 001: STANDARD_DEVICES;
case 765: MOV<STANDARD_DEVICES;
}
MOV = MOV - 1;
}
puts ("Hello World!");
return 1;
 
}
</source>