Programowanie w C - wstęp

Struktura programu w C:

#include "nazwa_pliku"
//wstawianie plików - w/w wiersz jest zastępowany plikiem o nazwie nazwa_pliku
#include <nazwa_pliku>
//efekt zastosowania tej instrukcji jw. z tym, że dodatkowo zleca się kompilatorowi poszukiwanie pliku w
//pewnym wyróżnionym katalogu (w Unix jest to skorowidz /usr/include)
# defme YES 1
//zastąpienie nazwy przez ciąg znaków
main ()
{
.....
}
 

Deklaracje podstawowych typów zmiennych:

Zmienna/słowo kluczowe Typ Rozmiar
     
char znak 8 bitów
int liczba całkowita 16/32 bitów/y
float liczba zmiennoprzecinkowa
double liczba zmiennoprzecinkowa o podwójnej precyzji
void brak wartości
     
     
     

W programie deklaracja zmiennych wygląda następująco:

Int zmienna_całkowita 1, zmienna_całkowita2, ...;
Float zmienna_zmiennoprzecinkowa1, zmienna_zmiennoprzecinkowa2, ...;
Char zmienna_znakowa1, zmienna_znakowa2, ...;

//komentarz

Każda instrukcja kończy się srednikiem!
 

Instrukcje podstawowe

Instrukcja podstawienia: Instrukcja złożona - blok: Instrukcja warunkowa:
     
X=0;
//przypisanie wartosci 0 zmiennej X
I++;
// inkremenlacja zmiennej I
{
instrl; 
instr2; 
.....
}
if (wyrażenie) instrukcja1;
//jeżeli spełniony jest warunek wykonywana jest instrukcja1
lub
if (wyrażenie) instrukcja1; else instrukcja2;
//jeżeli spełniony jest warunek wykony wana jest instrukcja1 w przeciwnym wypadku wykonuje się instrukcja2

 
Operatory relacji: Operatory przyrównania: Łączniki logiczne: 
     
>
>=
<
<=
== 
!=
&& 
||
Przykładowe programy
przykład 1
przykład 2
przykład 3

Funkcje

Podstawowymi funkcjami umożliwiającymi komunikację programu z otoczeniem są funkcje Printf oraz Scanf. Ich ogólna struktura wygląda następująco:

Printf(control,arg1,arg2,...)
Scanf(control,arg1,arg2,...)

Funkcja printf pod nadzorem argumentu tekstowego control przekształca, formatuje i wypisuje swoje argumenty do standardowego wyjścia.
Tekst sterujący ograniczony jest znakami cudzysłowiów i może zawierać zwykłe znaki, które są kopiowane do strumienia wyjściowego oraz specyfikację przekształceń, z których każda wskazuje sposób przekształcenia i wypisania kolejnego argumentu funkcji printf.
Wszystkie specyfikacje rozpoczynają, się. znakiem % i konczą znakiem przekształcenia. Miedzy nimi rnogą się znajdować:
 

Lista znakow przekształceń: Znaki niegraficzne: Funkcja scanf wczytuje znaki ze standardowego wejścia, interpretuje je zgodnie z zadanym formatem i przypisuje kolejnym argumentom. W funkcji scanf wszystkie argumenty muszą być wskaźnikami! np. scanf(,,%d",&x) gdzie x - zmienna całkowita dziesiętna, &x - wskaźnik (adres) do zmiennej x.
Przykładowe programy
przykład 1
przykład 2
przykład 3

Tablice

W języku C tablica jest listą (ciągiem) zmiennych, które są tego samego typu i do których można się odwołać za pomocą wspólnej nazwy. Pojedyncza zmienna w tablicy jest nazywana elementem tablicy. Tablice są prostym sposobem obsługiwania grup powiązanych danych.

Aby zdeklarować tablicę, należy użyć następującego schematu:

typ nazwa-tab[wielkość];

Typ musi być poprawnym typem języka C, nazwa-tab definiuje nazwę tablicy, a wielkość - liczbę jej elementów (rozmiar). Deklaracja 20-sto elementowej tablicy liczb całkowitych o nazwie mojatablica, będzie wyglądać następująco:

int mojatablica[20];

Element tablicy jest dostępny za pomocą indeksowania tablicy numerami elementów. W języku C tablica zaczyna się od indeksu zerowego. Oznacza to, że aby osiągnąć pierwszy element tablicy, należy użyć zera jako indeksu. Indeksowanie tablicy polega na podaniu numeru szukanego elementu w nawiasach kwadratowych.

Poniższy zapis odwołuje się do drugiego elementu tablicy:

mojatablica[1] 

Pamiętaj o tym, że tablice rozpoczynają się od numeru 0, zatem indeks 1oznacza drugi element tablicy!

Aby nadać elementowi tablicy wartość, należy ją zapisać w instrukcji przypisania:

mojatablica[0] = 100

Powyższa instrukcja nadaje pierwszemu elementowi tablicy (o nazwie: mojatablica) wartość 100.
 
 
Przykładowe programy
przykład 1
przykład 2
przykład 3

Operacje na plikach


Aby otworzyć plik i związać z nim strumień, należy użyć funkcji fopen(). Wygląda ona następująco:

FILE *fopen(char *nazwa,char *tryb);

Funkcja fopen() korzysta z pliku nagłówkowego stdio.h. Nazwa otwieranego pliku jest wskazywana przez wskaźnik nazwa. Musi to być nazwa poprawna w używanym systemie plików. Możliwe wartości trybu znajdują się w poniższym zestawieniu:
 
 
Tryb Opis
   
r Otwieranie pliki tekstowego do odczytu
w Tworzenie pliku tekstowego do zapisu
a Dołączanie do pliku tekstowego
rb Otwieranie pliku binarnego do odczytu
wb Tworzenie pliku binarnego do zapisu
ab Dołączanie do pliku binarnego
r+ Otwieranie pliku tekstowego do odczytu-zapisu
w+ Tworzenie pliku tekstowego do odczytu-zapisu
a+ Dołączanie do pliku tekstowego do odczytu-zapisu lub jego tworzenie
r+b Otwieranie pliku binarnego do odczytu-zapisu; można także użyćrb+
w+b Tworzenie pliku binarnego do odczytu-zapisu; można także użyćwb+
a+b Dołączanie pliku binarnego do odczytu-zapisu lub jego tworzenie; możnat także użyćab+
   

Poprawnie wykonana funkcja fopen() zwraca wskaźnik null.
 

Aby zamknąć plik należy skorzystać z funkcji fclose(). Wygląda ona następująco:

int fclose(FILE *fp);

Funkcja fclose() zamyka plik związany ze wskaźnikiem fp, który musi być poprawnym wskaźnikiem otrzymanym w wyniku użycia funkcji fopen(), oraz odłącza strumień od pliku.
Nie wolno wywoływać funkcji fclose() z niepoprawnym argumentem. Może to spowodować uszkodzenie systemu plików i niedwracalną utratę danych. Po prawidłowym wykonaniu funkcji fclose() zwraca ona wartość zero. Jeśli wystąpi błąd zwraca ona EOF.

Parametry programu

Jako parametru używa się głównie nazwy pliku, który będzie wykorzystywał program. Można również w sekcji funkcji main podać parametry programu.
 
Przykładowe programy
przykład 1
przykład 2
przykład 3

            Do góry