background image

Laboratorium nr 2 

1/7 

 

1) 

Wprowadzenie do języka C. 

 
Język  C  jest  językiem  programowania  ogólnego  zastosowania  (przeznaczenia)  i 

należy  do  najpopularniejszych  języków  programowania  na  świecie.  Był  i  jest  nadal  ściśle 

związany  z  systemem  operacyjnym  Unix,  dla  którego  został  opracowany  i  stworzony 

(większość kodu źródłowego Unix'a zostało napisane w języku C). Język C wyposażony jest 

w podstawowe 

typy danychinstrukcje sterująceinstrukcje grupoweinstrukcje pętli i 

podprogramy  (funkcje).  Nie  zapewnia  natomiast  wieloprogramowości,  współbieżności  czy 

też metod synchronizacji, nie ma w nim też instrukcji do manipulowania na ciągach znaków, 

zbiorach,  listach  czy  też  całych  tablicach  (dodatkowe  biblioteki  umożliwiają  taką 

funkcjonalność np. pthread-lib, IPC itp.). Przykładowy program w języku C: 

 

#include <stdio.h> 
#include <stdlib.h> 
 
#define PI 3.14  

 

 

//zdefiniowana stała 

 
float global=213.234;  

 

//zmienna globalna 

 
int main(void) 

int a; 
int b; 
int wynik; 

 

printf("Podaj liczbe a: "); 
scanf("%d",&a);  

 

//podajemy liczbe a 

 

printf("Podaj liczbe b: "); 
scanf("%d",&b);  

 

//podajemy liczbe b 

 

wynik = (a+b);   

 

//dodawanie dwoch liczb a i b 

 
printf("Wynik dodawania: %d\n",wynik); 
printf("Wynik dodawania: %d\n",(a+b)); 
 
/* Tu wyswietlam liczbe PI zadeklarowana jako "stala" 
oraz zmienna globalna "global"*/ 
 
printf("Zmienna globalna: %4.1f\n",global); 
printf("Stala: %4.4f\n",PI); 
return (0); 


 

Język C 

Temat: Wprowadzenie do języka C 

 

Instrukcja 

laboratoryjna 

Przygotował: mgr inż. Maciej Lasota 

background image

Laboratorium nr 2 

2/7 

 

2) 

Typy danych, deklaracja stałych, zmiennych. 

 

Podstawowe typy danych: 

Nazwa typu 

Rodzaj 

Liczba 

bitów 

Wartość min 

Wartość max 

int 

całkowity 

32 

-2147483648 

2147483647 

short int 

całkowity krótki 

16 

-32768 

32767 

long int 

całkowity długi 

32 

-2147483648 

2147483647 

unsigned int 

całkowity bez znaku 

32 

4294967295 

unsigned short int 

całkowity krótki bez znaku 

16 

65535 

unsigned long int 

całkowity długi bez znaku 

32 

4294967295 

char 

znakowy 

unsigned char 

znakowy bez znaku 

255 

float 

rzeczywisty pojedynczej 

precyzji 

32 

-3,4E+38 

3,4E+38 

double 

rzeczywisty podwójnej 

 precyzji  

64 

-1,7E+308 

-1,7E+308 

long double 

rzeczywisty długi 

64 

-1,7E+308 

-1,7E+308 

void 

typ pusty (bez wartości) 

 

Deklaracja stałej: 

 

const [typ danych] [nazwa stałej]

 

Przykład: 
 

const int liczba = 2; // stała całkowita 

 

Deklaracja zmiennej: 

 

[typ danych] [nazwa zmiennej]

 

Przykład: 
 

int liczba;  

 

// zmienna całkowita 

float liczba2 = 2.0;  // zmienna rzeczywista + inicjalizacja 

char znak;  

 

// zmienna znakowa 

char test='A';   

// zmienna znakowa + inicjalizacja 

 

Wartości  do zmiennych możemy  przypisywać za  pomocą 

operatora przypisania

 „=”, 

każda zmienna oraz instrukcja w języku C zakończona jest znakiem średnika „;”. 

 

background image

Laboratorium nr 2 

3/7 

 

3) 

Operatory arytmetyczne, relacji, logiczne oraz bitowe. 

 

Operatory arytmetyczne: 

• 

 

mnożenie, 

• 

/  

dzielenie, 

• 

+  

dodawanie, 

• 

-  

odejmowanie, 

• 

%  

modulo (zwraca resztę z dzielenia). 

 

Operatory specjalne: 

• 

+=,   przykład x += 2; --> x = x + 2; 

• 

-=,   przykład x -= 2; --> x = x – 2; 

• 

*=,   przykład x *= 2; --> x = x * 2; 

• 

/=,   przykład x /= 2; --> x = x / 2; 

• 

%=,   przykład x %= 2; --> x = x % 2; 

 

Operatory inkrementacji i dekrementacji: 

• 

++prefiks

• 

postfiks++

• 

--prefiks

• 

postfiks--

 

Operatory relacji: 

• 

==   równy, 

• 

<=   mniejszy lub równy, 

• 

>=   większy lub równy, 

• 

<  

mniejszy niż, 

• 

>  

większy niż, 

• 

!=   negacja. 

 

Operatory logiczne: 

• 

&&   iloczyn logiczny (AND), 

• 

||   suma logiczna (OR), 

• 

!  

negacja logiczna (NOT). 

 

Operatory bitowe: 

• 

&  

koniunkcja bitowy (AND), 

• 

|  

alternatywa bitowa (OR), 

• 

^  

suma modulo (EXOR), 

• 

~  

negacja. 

 

 

 

background image

Laboratorium nr 2 

4/7 

 

4) 

Wyświetlanie danych. 

 

Podstawową funkcją do wyświetlania danych w języku C jest funkcja 

printf(). Funkcja 

ta  zadeklarowana  jest  w  pliku  nagłówkowym 

<stdio.h>.  Ogólna  postać  tej  funkcji  wygląda 

następująco: 

int printf(const char *format, ...); 

lub 

int printf(”format”, arg1, arg2, ...); 

 

Funkcja  printf()  posiada  co  najmniej  jeden  argument  tzw. 

format,  będący  stałą 

łańcuchową (const char). Może ona przyjmować ciąg argumentów, każdy argument zostaje 

wstawiony  w  odpowiednie miejsce formatu rozpoczynające się  od  znaku 

%.  Tak  stworzony 

napis  zostaje  wyprowadzony  na  standardowe  wyjście  (stdout  ->  ekran  monitora).  Istotną 

rzeczą  jest  to,  aby  liczba  argumentów  odpowiadała  specyfikatorom  formatu  w  tekście 

formatującym.  Pierwszym  argumentem  funkcji  printf()  jest  tekst  formatujący  czyli  stała 

znakowa.  Znak  procenta  oznacza  rozpoczęcie  tzw.  specyfikatora  formatu.  Specyfikator 

formatu  pozwala  na  wprowadzenie  w  jego  miejsce  wartości  kolejnych  argumentów  funkcji 

printf() (wyjątek stanowi 

%%, który umożliwia wprowadzenie znaku „%”). Znak „\” w tekście 

formatującym  umożliwia  wprowadzenie  tzw.  znaków  specjalnych.  Specyfikator  formatu  ma 

postać: 

% [flaga] [szerokość] [.precyzja] [modyfikator] typ 

 

Typ: 

 

 

 

background image

Laboratorium nr 2 

5/7 

 

Modyfikator: 

 

 

Precyzja: 

Określa dokładność liczby zmiennoprzecinkowej, czyli liczbę miejsc po przecinku. 

 

Szerokość

Określa minimalną szerokość pola w znakach dla argumentów znakowych, oraz ilość 

liczb przed przecinkiem dla argumentów liczbowych. 

 

Flaga: 

 

 

 

 

 

 

 

 

 

 

 

background image

Laboratorium nr 2 

6/7 

 

Znaki specjalne: 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

background image

Laboratorium nr 2 

7/7 

 

5) 

Wprowadzanie danych. 

 

Podstawową funkcją do wczytywania danych w języku C jest funkcja 

scanf(). Funkcja 

ta  zadeklarowana  jest  w  pliku  nagłówkowym 

<stdio.h>.  Ogólna  postać  tej  funkcji  wygląda 

następująco: 

int scanf(const char *format, ...); 

lub 

int scanf(”format”, &arg1, &arg2, ...); 

 

Funkcja  scanf()  wczytuje  dane  ze  standardowego  wejścia  (stdin  ->  klawiatura)  i 

przekształca je na odpowiednie wartości w zależności od specyfikatora formatu. Pierwszym 

argumentem  funkcji  scanf()  jest  stała  znakowa  tzw. 

format.  Specyfikatory  formatu 

rozpoczynają  się  identycznie  jak  funkcji 

printf()  od  znaku  %.  Argumenty  do  funkcji  scanf() 

przekazujemy  w  postaci  wskaźników  dlatego  też  używamy  przed  nazwami  argumentów 

znaku 

„&”.  Specyfikatory  formatu  używane  w  funkcji  scnaf()  są  identyczne  jak  w  funkcji 

printf().  Dodatkowo  też  można  używać  modyfikatorów  z  funkcji  printf().  Używanie 

modyfikatora dla liczb całkowitych (%ld, %li, %lx, %lo, %lu) powoduje, że wczytana wartość 

traktowana  jest  jak 

long  int  lub  jak  unsigned  long  int.  Używanie  modyfikatora  dla  liczba 

zmiennopozycyjnych (%lf, %le, %lE) powoduje, że wartość traktowana jest jak 

double

 

Specyfikatory formatu: