You are on page 1of 34

Programowanie

w Matlabie (cz.2)
Opracowa:
Dr in. Zbigniew Rudnicki

Tematyka wykadu

Tryby uytkowania Matlaba


Elementy jzyka - wyraenia i instrukcje
Wyraenia arytmetyczne i ich skadniki
Wyraenia logiczne i ich skadniki
Wprowadzanie danych - funkcja INPUT
Instrukcja podstawiania - nadawanie wartoci zmiennym
Wyprowadzanie wynikw - funkcja DISP
Instrukcja IF - rozgazienie warunkowe
Ptle programowe
Instrukcja ptli FOR - przykady programw
Instrukcja ptli WHILE
Operowanie na wektorach i macierzach

Tryby uytkowania Matlaba


1) Tryb bezporedni - wpisywanie w oknie komend:
wyrae, instrukcji oraz funkcji
2) Tryb programowy - pisanie w edytorze
i zapisywanie do plikw (*.m):
programw (skryptw)
pojedynczych definicji funkcji uytkownika,
programw zoonych z bloku gwnego i wielu funkcji

Elementy jzyka - wyraenia i instrukcje


Programy skadaj si z komend czyli instrukcji.
Skadnikami komend s:
sowa kluczowe (np.: if, while, end, ...)
wyraenia arytmetyczne a wrd nich:
stae, zmienne i funkcje
(jako najprostsze postacie wyrae)
wyraenia logiczne:
proste czyli relacje oraz zoone

Wyraenia arytmetyczne
i ich skadniki
Wyraenia arytmetyczne mog zawiera:

stae (liczby)
zmienne (nazwy zmiennych)
operatory dziaa
nawiasy
funkcje

Jednak inaczej ni w innych jzykach - wyraenia te


dotycz tablic (macierzy), ktre w szczeglnoci
mog by skalarami (pojedynczymi liczbami).
5

Stae liczbowe - postacie zapisu liczb


Podobnie jak w wikszoci jzykw programowania
zapis liczb w MATLABie moe zawiera:
pocztkowy znak plus (na og pomijany) lub minus
kropk dziesitn (NIE PRZECINEK!) poprzedzajc
cz uamkow np.: -97.6397
moe by stosowana tzw. notacja naukowa w ktrej e
oznacza "dziesi do potgi ..."
np.: -1.60210e-23
oznacza: -1.60210 razy 10 do potgi -23
w zapisie liczb urojonych i zespolonych stosuje si
symbole i oraz j np.: 1i, 2-3.14159j, 3e5i
6

Typy wartoci
Matlab nie wymaga deklarowania typw zmiennych przed ich
uyciem. Okrela typ na podstawie wprowadzonej wartoci.
Stae i zmienne liczbowe maj typ wynikajcy z pierwszej
podstawionej wartoci a acuchy znakw czyli teksty typ char
W wyraeniach logicznych warto ZEROWA jest rwnoznaczna z
FASZEM
a wartoci rne od zera traktowane s jako PRAWDA
Moliwe jest dokonywanie rnych konwersji typw m.in.:
num2str(liczba) - przeksztaca liczb na cig znakw
str2num(tekst) - przeksztaca tekst (cig cyfr) na liczb
uint8, uint16, uint32 - konwertuj do cakowitych bez znaku
int8, int16, int32 - konwertuj do cakowitych ze znakiem
7

Typ double, zakres, precyzja


Typ double czyli liczb rzeczywistych podwjnej precyzji
Zakres liczb typu double siga od -realmax do realmax
gdzie realmax =1.7977 e+308
Najmniejszy uamek ma warto:
realmin=2.2251 e-308
Precyzja: Liczby s pamitane z dokadnoci ok. 15-16 cyfr
znaczcych.
Warto typu double zajmuje 8 bajtw (64 bity) w pamici

Zmienne
Wszystkie zmienne w MATLABie s traktowane jak macierze
Wektory i skalary s uwaane za szczeglne przypadki macierzy
Nazwy zmiennych mona tworzy wedug nastpujcych regu:
musz rozpoczyna si od litery, a dalej mog mie tylko
litery angielskie, nie wolno dawa polskich np.:, , , , , ....
oraz cyfry i znaki podkrelenia np.: Moment_sily9
dugo nazwy nie powinna przekracza max. 19 znakw
(tyle jest zapamitywanych)
MATLAB rozrnia due i mae litery.
Polecenia standardowe naley pisa maymi literami a dla nazw
wasnych programw i zmiennych mona uywa maych i
duych liter
9

Przykady poprawnych i niepoprawnych


nazw zmiennych
DOBRE:
Moc2
MomentGn1
moment_gn_1
SILA_Px1

ZE:
2Moc
Moment-1
moment_gncy1
SIA_Px1

10

Niektre komendy dla zmiennych


clear - usuwa wszystkie zmienne z pamici
clear zmienna - usuwa zmienn z pamici
clc - wymazuje okno komend
who - wywietla wykaz zmiennych
whos - wywietla dokadne informacje o zmiennych
save - zapisuje pami zmiennych do pliku matlab.mat
load - wczytuje pami zmiennych z pliku matlab.mat
11

Dziaania na liczbach
i zmiennych skalarnych

12

Operacje arytmetyczne na skalarach


realizowane s przy pomocy operatorw:

+
/
*
^

dodawanie
odejmowanie
dzielenie
mnoenie

potgowanie
Inne dziaania realizowane s przy pomocy FUNKCJI
np.: pierwiastek z 2:

sqrt(2)
13

Kolejno (priorytety) operacji


arytmetycznych - gdy brak nawiasw
1) obliczanie wartoci funkcji
2) potgowanie
3) zmiana znaku
4) mnoenie i dzielenie
5) dodawanie i odejmowanie
Przykady:
4/2^2 = 1
4/2*2 = 4
a=2;
-a^2 = -4
b=-2;
b^2 = 4
14

Uywanie nawiasw okrgych ( )


Nawiasy okrge uywamy:
dla argumentw funkcji np.: sin(3*x), sqrt(167)
nie wolno bez nawiasw !! np.: sin3x = le !!
dla okrelania odpowiedniej kolejnoci dziaa (np. dla sum i
rnic w liczniku lub mianowniku uamka) np.:

zapiszemy: 34.6/(1+2*sqrt(3))
dla indeksw elementw wektorw i macierzy np.:
V(1), b(16), sila(2*j+1), M(i,j), Mac_A(w+1, k-2)

15

Uywanie nawiasw okrgych ( )


Przykad:

zapiszemy:
(376.58^(3*sqrt(2))+2*sqrt(67))/(0.0789-1/(18-sqrt(3)))
(jak wida czasem musi by wiele nawiasw).

Po wpisaniu - bez rednika na kocu - i zakoczeniu


klawiszem ENTER, Matlab poda wynik:
ans =
4.8658e+012
16

Waniejsze elementarne funkcje matematyczne


abs(x) - warto bezwzgldna
sqrt(x)- pierwiastek
exp(x) - e do x
log(x) - logarytm naturalny
log2(x) - logarytm o podstawie 2
log10(x) - logarytm o podst 10
Zaokrglenia:
round(x) - zaokrgla do najbliszej cakowitej
ceil(x) - zaokrglenie w gr (sufit)
fix(x) - obcina cz. uamk. - zaokrgla w stron zera
floor(x) - zaokrgla w d (podoga)
gcd(x) - najwikszy wsplny podzielnik
lcm(x) - najmniejsza wsplna wielokrotno
mod(x) - reszta z dzielenia
sign(x) - znak
17

Funkcje trygonometryczne i hiperboliczne

sin
sinh
asin
asinh

sinus
sin hiperboliczny
arcus sinus
arcus sin hiperb.

sec
sech
asec
asech

secans
sec hiperboliczny
arcus secans
arc secans hiperb.

cos
cosh
acos
acosh

cosinus
cos hiperboliczny
arkus cosinus
arcus cos hiperb.

csc
csch
acsc
acsch

cosecans
cosecans hiperbol.
arcus cosecans
arcus cosecans hiperb.

tan
tanh
atan
atanh

tangens
tangens hiperb.
arcus tangens
arc tg hyperb.

cot
coth
acot
acoth

cotangens
cotangens hiperbolicz.
arcus cotangens
arc cotangens hyperbol.
18

Wyraenia logiczne
- s uywane m in. w instrukcjach: IF oraz WHILE
Rozrniamy wyraenia logiczne:
1) proste czyli RELACJE np.: 2*x < (x-y)
czyli oglnie:
wyraenie
arytmetyczne

operator
relacji

wyraenie
arytmetyczne

gdzie operatory relacji to: ==, >, <, >=, <=, ~=


2) zoone - z wielu relacji czonych operatorami
logicznymi
19

Operatory Relacji
== rwne
~= nie rwne (w Matlabie)
!= nie rwne (w FreeMat oraz C)
< mniejsze
> wiksze
<= mniejsze lub rwne
>= wiksze lub rwne
20

Operatory logiczne
Operatory logiczne ( & | ~ ) pozwalaj czy relacje
i tworzy z nich zoone wyraenia logiczne.
Matlab ma nastpujce operatory logiczne:
& - i czyli iloczyn logiczny czyli koniunkcja
| - lub czyli suma logiczna czyli alternatywa
~ - nie czyli negacja czyli zaprzeczenie

21

Funkcje Logiczne
Zamiast operatorw logicznych mona uywa funkcji:
and(x, y) - iloczyn logiczny czyli to samo co: x&y
or(x,y) - suma logiczna czyli to samo co: x|y
not(x) - zaprzeczenie czyli to samo co: ~x

22

INSTRUKCJE

23

Rodzaje zakocze instrukcji


Instrukcje (lub pojedyncze nazwy zmiennych) oddzielane
przecinkami lub zmianami linii [Enter]- wywietlaj
uzyskan warto (tzw. echo) np.:
a=input(A=)
b=3*a-1
c=6 -sqrt(b), d=a^2+3*b
Instrukcje koczone rednikiem [;]
nie wywietlaj uzyskanej wartoci (czyli echa) np.:
a=input(A=);
b=3*a-1;
c=6 -sqrt(b); d=a^2+3*b;
24

Podstawowe instrukcje
1) podstawiania: zmienna = wyraenie
- nadaj wartoci zmiennym
2) wprowadzania danych z klawiatury: zmienna=input( ...)
3) wyprowadzania wynikw: fprintf(format, lista_wyrae)
4) rozgazienie warunkowe: if ... else ... end
5) ptla o okrelonej liczbie cykli: for ... end
6) ptla o nieokrelonej liczbie cykli: while ... end
7) obsuga plikw dyskowych:
fopen(...), fscanf(...), fprintf(...), fclose(...),
readline(...)
25

1) Instrukcja podstawiania (przypisania)


Posta instrukcji:
zmienna = wyraenie

Najpierw obliczana jest warto wyraenia z


prawej a potem jest ona podstawiana do zmiennej
- zastpujc jej dotychczasow warto.
Pojedyncza liczba lub zmienna to te jest wyraenie.
Przykady instrukcji podstawienia:
a=5
b=a^2+1;
a=a+2,
26

2) INPUT - Wprowadzanie danej z klawiatury


Skadnia polecenia:
zmienna = input(danie danych)
Komputer wywietli danie danych i poczeka na wprowadzenie
wartoci z klawiatury oraz wstawi t warto do zmiennej.
Przykady:

SilaN = input( Skadowa normalna siy= );


E = input( Modu Younga= );
--------------------------------------------------------------------------

Skadnia polecenia dla zmiennych tekstowych:


zmienna = input(danie danych, s)
Przykad:
NazMasz = input( Podaj nazw maszyny: , s);
27

3) FPRINTF
- Wyprowadzanie wynikw na ekran
Skadnia polecenia:
fprintf(opis_formatu, lista_wyrae)
opis_formatu- moe zawiera:
- teksty - bd one przekopiowane do wydruku
- znaki sterujce poprzedzone backslashem:
np.: \n to rozkaz zmiany linii
- oraz formaty wyprowadzania dla wyrae z listy_wyrae
np.: %10.4f - dla liczby rzeczywistej,
10 znakw, w tym 2 po kropce dziesitnej

28

Funkcja FPRINTF c.d.


Przykad:
fprintf(\n %5.2f %7.2f, x, x^2);
(a)

(b)

(c)

lista wyrae

opis formatw
a) \n rozkaz zmiany linii na wydruku
b) %5.2f - format dla wydruku wartoci x
5 znakw dla caego pola, w tym 2 znaki po kropce
c) %7.2f - format dla wydruku wartoci x^2
7 znakw dla caego pola, w tym 2 znaki po kropce
29

4) Instrukcja IF - rozgazienie warunkowe


Instrukcja IF (czyli Jeeli) ma najczciej posta:
if warunek
. . . .instrukcje1
else
. . . . instrukcje2
end
Oznacza: Jeeli warunek jest speniony to wykonaj
instrukcje1 a w przeciwnym przypadku (ang.: else)
wykonaj instrukcje2.
Warunek to dowolne wyraenie logiczne na przykad:
3*x^2>3 albo x>3|(a<=2 & b==4)
30

Instrukcja IF c.d.

31

Powtarzanie oblicze w ptli


W Matlabie s dwa typy instrukcji organizujcych
powtarzanie operacji w ptli programowej:
instrukcja for ... end (czyli Dla ...)
- powtarzajca okrelon liczb razy
instrukcja while ... end (czyli Podczas ...)
- powtarzajca tak dugo jak dugo speniony jest
podany warunek (sprawdzany przed kadym
powtrzeniem)
32

5) Ptla FOR czyli Dla ...


Ptla FOR ma posta:
for X = Xp : Dx : Xk
instrukcje
end
Gdzie: X - dowolna zmienna,
Xp - wyraenie okrelajce pocztkow warto X
Dx - wyraenie okrelajce przyrost X
Xp - wyraenie okrelajce kocow warto X
Instrukcja ta oznacza: Dla wartoci zmiennej kontrolnej X
zmieniajcych si od Xp co Dx a do Xk wykonuj
instrukcje zapisane poniej, a do end.
33

Przykad programu z instrukcj FOR ... END


Napisa program, ktry oblicza kwadraty liczb z cigu 2; 2,2; ... 3.
clear;
for x = 2:0.2:3
y=x^2;
ptla
fprintf(\nLiczba=%5.2f Kwadrat=%7.2f,x,y)
end
wyniki:

Liczba= 2.00
Liczba= 2.20
Liczba= 2.40
Liczba= 2.60
Liczba= 2.80
Liczba= 3.00

Kwadrat=
Kwadrat=
Kwadrat=
Kwadrat=
Kwadrat=
Kwadrat=

4.00
4.84
5.76
6.76
7.84
9.00
34

Przykad programu z instrukcj FOR ... END


Napisa program, ktry oblicza kwadraty liczb z cigu 2; 2,2; ... 3.
clear; clc;
fprintf(Liczba Kwadrat);
for x = 2:0.2:3
ptla
fprintf(\n%5.2f %7.2f, x, x^2);
end
wyniki:

Liczba Kwadrat
2.00 4.00
2.20 4.84
2.40 5.76
2.60 6.76
2.80 7.84
3.00 9.00

35

Przykad programu z instrukcjami FOR oraz IF


Napisa program, ktry generuje 10 elementw cigu, przy czym pierwsze dwa
i ostatnie dwa maj by rwne 1 a pozostae rwne 2.

clear;
for i=1:10
if i<3 | i>8
x(i)=1;
else
x(i)=2;
end
end
x

ptla

wyniki:

x=
1

36

6) Ptla WHILE czyli Podczas...


Ptla WHILE ma posta:
while warunek
instrukcje
end
Gdzie warunek to wyraenie logiczne.
Instrukcja ta oznacza:
Podczas gdy warunek jest speniony (rzny od
zera) powtarzaj wykonywanie instrukcji
umieszczonych poniej a do end.
37

Przykad programu z ptl WHILE


Mam 100 z. Program ma odejmowa od tej sumy moje
wydatki tak dugo na ile wystarcza pienidzy a gdy braknie
to ma o tym zakomunikowa:
clear;
Suma=100;
while Suma>0
wydatek=input(Ile chcesz wyda:);
Suma=Suma-wydatek;
end;
disp(Przekroczye limit wydatkw !!);
disp(Stan konta=);
disp(Suma);

Uoglnij program, aby dziaa dla dowolnej sumy i podawa


stan po kadym wydatku.
38

7) Wyprowadzanie wynikw do pliku


Funkcje realizujce odczytywanie i zapisywanie informacji z i do plikw
dyskowych s zapoyczone z jzyka C. Poniej objaniono kilka
najwaniejszych funkcji na przykadzie:
% Program zapisuje do pliku wartoci kta x oraz jego funkcji sin(x), cos(x)
[id, kom] = fopen('WYNIKI1.TXT','wt'), % Tworzy plik,
% Parametr wt - oznacza: w - do zapisu, t - tekstowy
fprintf(id,'\n kt x [stopnie] sin(x) cos(x)\n' ); % Nagwek tabelki
for xs = 0 : 5 : 90
x = xs*pi/180; % kt xs zamieniony na radiany
y1=sin(x); y2=cos(x);
fprintf(id,' %5.0f %15.4f %12.4f\n', xs, y1,y2);
end
fclose(id); % zamyka plik wynikw
39

Dziaania
na
wektorach i macierzach

40

Generowanie cigw (wektorw)


Cigi czyli wektory mona generowa:
1) bez ptli np.:
x=-2:0.5:2
x=
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
2) w ptli:
for i=1:9; x(i)=(i-5)/2; end;
x=
-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
41

Nawiasy prostoktne [ ]
Uywane s do:
definiowania wartoci wektorw i macierzy np.:
V=[2.5, 3, 12] M=[1, 0, 3; 0.5, 2, 4]
sklejania (konkatenacji):
- wektorw,
- macierzy
- acuchw znakowych (tekstw) np.:
disp([Sila=, num2str(F1), Moment=, num2str(Mg)])

42

Indeksy elementw wektorw i


macierzy
Indeksy (wskaniki) naley umieszcza w nawiasach
okrgych np.:
V(1), b(16), sila(2*j+1)
M(i,j), MACIERZ_A(w+1, k-2)

43

>> A=[-2, 1, 3; 5, 6, 2], B=[0.5, 1, 1.5; 3, 2, 1]


A=
-2 1 3
5 6 2
B=
0.5000 1.0000 1.5000
3.0000 2.0000 1.0000
>> A+B
ans =
-1.5000 2.0000 4.5000
8.0000 8.0000 3.0000
>> A-B
ans =
-2.5000
0 1.5000
2.0000 4.0000 1.0000

Dodawanie
i
odejmowanie
macierzy

44

Dzielenie i mnoenie macierzy


Dla mnoenia, dzielenia i potgowania
s dwie kategorie operacji na macierzach:
Tablicowe = dziaania na parach elementw
macierzy o tych samych rozmiarach
Macierzowe - zgodne z definicjami dziaa
na macierzach
45

Operatory z kropk
= operacje tablicowe
.*

mnoenie (par elementw)

.^
./

potgowanie (kadego elementu)


dzielenie (par elementw)

46

>> A=[1, -1, 2; 1, 2, 3],


A=
1 -1 2
1 2 3
B=
2 0 1
1 0 2

B=[2, 0, 1; 1, 0, 2]

>> C=A .* B
C=
2 0 2
1 0 6
>> D=A*B; % Mnoenie macierzowe - niewykonalne
??? Error using ==> *
Inner matrix dimensions must agree.

Przykad
mnoenia
tablicowego
macierze
musz mie
takie same
wymiary

47

Mnoenie macierzowe

48

>> M1=[2,0,1;3,2,1],

M1 =
2 0
3 2

M2=[2;3;4]

Przykad
mnoenia
macierzowego

1
1

M2 =
2
3
4
>> W=M1*M2
W=
2*2 + 0*3 + 1*4 = 8
3*2 + 2*3 + 1*4 =16

liczba kolumn
w pierwszej
macierzy musi by
rwna liczbie
wierszy
w drugiej

49

Transpozycja macierzy [.]


- czyli zamiana wierszy na kolumny:
>> A=[1,3,4,5; 2,3,6,7]
A =
1
3
4
5
2
3
6
7
>> B=A.'
B =
1
3
4
5

2
3
6
7
50

Generowanie macierzy - programy z


podwjn ptl
Poniewa mamy dwa wskaniki i zmieniaj si one na og
niezalenie od siebie wic wikszo programw generujcych
lub wykorzystujcych macierze posiada dwie ptle - po jednej
dla kadego wskanika.
Jeli wybieranie kolejnych elementw odbywa si wierszami to
ptla zewntrzna generuje numery kolejnych wierszy (np.:
w=1, 2, 3, ...) a dla kadej wartoci wskanika w ptla
wewntrzna musi wygenerowa numery poszczeglnych
kolumn czyli zarazem numery elementw w danym wierszu.

51

Problem 1
Jak wida w macierzy w kadym
wierszu:
 pierwszy element jest kolejn liczb
nieparzyst
 kady nastpny element jest wikszy
o 4 od poprzedniego

Po za tym oczywicie wskaniki


zarwno wiersza jak i kolumny
musz
przyjmowa
kolejne
wartoci
w
zakresie
liczb
naturalnych
(w
naszym
przypadku: 1, 2, 3, 4).

52

Rozwizanie - program1

53

Rozwizanie - program2

54

Problem 2

55

Wykresy

56

57

Niektre funkcje dla wykresu X-Y


plot(x,y,opis, x,y,opis, ...) - wykres
grid on - siatka
title(tekst) - tytu
xlabel(tekst) - opis osi x
ylabel(tekst) - opis osi x
text(x,y,tekst) - dowolny tekst

58

59

60

Porwnanie Matlaba
z
jzykiem C

61

Algorytm obliczania kwadratw dowolnych liczb


5) program w jzyku MATLAB
% Program oblicza kwadraty liczb
p= 't';
while p=='T' | p=='t'
disp('Obliczanie kwadratow.');
x = input('Podaj liczbe :');
y = x^2;
disp('Kwadrat liczby = '); disp(y);
p=input('Czy nowe obliczenie? (T/N):', 's');
end
62

6) Obliczanie kwadratw liczb w jzyku C


#include <stdio.h>
main()
{
float x,y; char p;
p='t';
while(p=='t'| p=='T')
{
printf("\n OBLICZANIE KWADRATOW. Podaj liczbe:");
scanf("%f",&x);
y=x*x;
printf("\n Kwadrat liczby= %f",y);
printf("\n Czy nowe obliczenia? (T/N):");
p=getch();
}
}

63

Niektre rnice jzyka C w stos. do Matlaba


na pocz. docza si biblioteki podprogramw #include...
program musi by zdefiniowany jako funkcja main()

bloki instrukcji oraz ciaa funkcji s ujmowane w { }


zamiast end jest nawias klamrowy }
wszystkie zmienne musz mie zadeklarowane typy
kada instrukcja musi koczy si rednikiem
po sowach if, for, while wystpuj nawiasy
zamiast funkcji input(...) uyto funkcji scanf(...)
zamiast funkcji input(...,s) uyto funkcji getch( )
zamiast funkcji disp() uyto funkcji printf()
64

Pocztki jezyka C
Pierwsz wersj jzyka C opracowa Dennis Ritchie w roku 1972 (wykorzystujc
niektre rozwizania z opracowanych w latach1967-1970 jzykw BCPL oraz B).
Peny opis zosta zawarty w ksice Briana W. Kernighana i Dennisa M. Ritchie:
"The C programming language" w roku 1978.
Jzyk C opracowano gwnie dla potrzeb programistw tworzcych systemy
operacyjne (w nim napisano w r.1973 system UNIX) i dlatego jest znacznie
trudniejszy i bardziej zoony ni np. BASIC - przeznaczony dla pocztkujcych,
czy Matlab przeznaczony dla szerokich rzesz uytkownikw.
Dalszy rozwj jzyka C doprowadzi m.in. do ogoszenia w roku 1988 standardu
jzyka ANSI C.
W latach osiemdziesitych Bjarne Stroustrup opracowa znacznie rozszerzony,
obiektowy i dostosowany do graficznego interfejsu jzyk C++ w ktrym m.in.
opracowano system Ms Windows.

65

Struktura programu w C
Program w jzyku C skada si z funkcji. Funkcja jest wydzielon
czci programu, realizujc pewne zadanie. Gwny program musi
mie posta funkcji o nazwie main() - od niej rozpoczyna si
wykonanie programu. Instrukcje skadajce si na kod funkcji (zwany
jej "ciaem") umieszcza si w nawiasach klamrowych { }. Oto
najprostszy przykad:
/* Program wywietla napis: WITAM */
#include <stdio.h>
main()
{
printf("WITAM \n");
}

Nawiasy klamrowe s take uywane wszdzie tam gdzie dwie lub


wicej instrukcji ma utworzy blok, na przykad wewntrz ptli lub w
opcjach instrukcji warunkowej.
66

Komentarze i dyrektywa #include


W dowolnych miejscach mog by umieszczane komentarze ujte
midzy znakami /* ... */
Na pocztku programu s zazwyczaj tak zwane "dyrektywy
preprocesora" rozpoczynajce si znakiem #. Dyrektywa #include
pozwala wstawi zawarto okrelonego pliku (w tym przypadku
stdio.h), dokadnie w miejscu tej dyrektywy. W szczeglnoci
wstawiane s podprogramy.
Plik stdio.h to tak zwany plik nagwkowy (header - o czym wiadczy
rozszerzenie .h). Zawiera on procedury obsugi standardowego
("std") wejcia i wyjcia ("io" = input-otput) a wrd nich definicj
funkcji printf().

67

You might also like