1
Podstawy informatyki
wykład 4a
dr Artur Jakubski
ajakubski@icis.pcz.pl
2
Plan wykładu – najważniejsze
elementy
• Literatura.
• Kompilacja programu w C++.
• Funkcja main().
• Operacje wejścia–wyjścia.
• Komentarze.
3
Literatura
1. Stroustrup B., Jezyk C++, Wyd. 5, WNT 2000
2. Lippman S., Lajoie J., Podstawy jezyka C++, WNT
2001
3. Vandevoorde D., Jezyk C++, WNT 2001
4.
J. Grębosz, Symfonia C++,T. 1-3 Oficyna Kallimach,
Kraków
1999
5. H. Deitel, Arkana, Programowanie C++,
Wydawnictwo RM, Łódź
1999.
4
Literatura uzupełniająca
1. J. Grębosz, Pasja C++, Oficyna Kallimach, Kraków
1997
2. D. Vandevoorde, Język C++. Ćwiczenia i rozwiązania,
WNT,
Warszawa 2004.
3. T. Hansen; C++ zadania i odpowiedzi; WNT,
Warszawa 1994.
4. Harel D., Rzecz o istocie informatyki, algorytmika,
WNT 2001.
5. Knuth D., Sztuka programowania I,II,III, WNT 2002.
5
Język C++
Wyrażenie zakończone średnikiem to instrukcja –
najmniejszy samodzielny element programu
cout << "Witamy w C++";
Plik zródłowy – plik stworzony przy pomocy edytora
tekstowego zawierający treść programu (zgodnie z
przyjętą konwencją plik zawierający program napisany w
języku C++, powinien się nazywać nazwa_pliku.cpp).
6
Język C++
Najprostszy program w C++:
void main( )
{
}
7
Język C++
#include <iostream>
int main( )
{
std::cout << "Witamy w C++";
return 0;
}
8
Kompilacja programu w C++
Po stworzeniu pliku zródłowego należy go skompilować.
Postać polecenia wywołującego kompilator C++ zależy
od konkretnej realizacji języka C++ w danym systemie
operacyjnym.
Jedno z zadań kompilatora polega na zanalizowaniu tekstu
programu pod względem jego poprawności: błędy składniowe,
błędy typu i inne.
W wyniku kompilacji poprawnego pod wzgledem formalnym
tekstu programu zostaje wygenerowany kod wynikowy czyli
powstaje plik wykonywalny.
9
Kompilacja programu w C++
Zalecane kompilatory wspierające standard języka C++:
Windows
◦ dj gpp
◦ devC++
Linux
◦ gcc (wersja 3.x, 4.x)
◦ icc (wersja 7.x, 8.x)
10
Format zapisu programu w C++
Język C++ posiada tzw. wolny format zapisu programu, np:
• #include <iostream>
int main() {std::cout << "Witamy w C++";return 0;}
• #include <iostream>
int
main() { std::cout
<<
"Witamy w C++";
return 0;}
11
Funkcja main()
W każdym programie języka C++ znajduje się specjalna
funkcja main().
Od tej funkcji rozpoczyna się działanie programu a jej treść
( jej ciało) jest umieszczona między dwoma nawiasami
klamrowymi: { }
int main()
{
...
return 0;
}
12
return 0;
Instrukcja
return 0 zwraca wartość 0 do
systemu
operacyjnego. Przyjęło się, że dla poprawnie
zakończonego programu wartość zwrócona do systemu
operacyjnego to 0.
13
Operacje wejścia–wyjścia
std::cout << "Witamy w C++";
powoduje wypisanie na standardowym urządzeniu
wyjściowym, czyli ekranie monitora, tekstu zawartego
między " ... ", w tym przypadku Witamy w C++.
cout pochodzi od console output.
znaki << (operator wyjścia) służą do skierowania napisu
do strumienia reprezentowanego przez obiekt cout.
14
Operacje wejścia–wyjścia
std::cout << "Pierwszy tekst";
std::cout << "i od razu drugi tekst";
spowoduje wypisanie na ekranie:
Pierwszy teksti od razu drugi tekst
Podobnie jedna instrukcja złożona:
std::cout << "Pierwszy tekst" << "i od razu drugi tekst";
15
Operacje wejścia–wyjścia
Znaki sterujące:
\n – znak końca linii
\t – znak tabulacji
Przykład:
std::cout << "Pierwszy tekst\ni od razu drugi tekst";
spowoduje wypisanie na ekranie:
Pierwszy tekst
i od razu drugi tekst
16
Operacje wejścia–wyjścia
Przykład:
cout << "Pierwszy tekst\n" << "i od \trazu drugi tekst";
spowoduje wypisanie:
Pierwszy tekst
i od razu drugi tekst
17
Operacje wejścia–wyjścia
Podobne znaczenie do \n ma tzw. manipulator endl.
endl pochodzi od end of line i powoduje oprócz przejścia do
nowej lini, także wyczyszczenie bufora wyjsciowego.
Przykład:
std::cout << "Pierwszy tekst" << std::endl
<< "i od razu drugi tekst";
spowoduje wypisanie na ekranie:
Pierwszy tekst
i od razu drugi tekst
18
Instrukcja #include
Aby używac symboli nie będących częścią języka C++,
(np. elementów biblioteki standardowej) należy dołączyć
do programu odpowiedni plik nagłówkowy instrukcją
#include<plik_naglowkowy>.
Dyrektywa #include oznacza by kompilator przed
kompilacją dołączył plik_naglowkowy.
Plik nagłówkowy odpowiedzialny za bibliotekę wejścia-
wyjścia to iostream.
19
Instrukcja #include
Instrukcja #include<plik_naglowkowy> powoduje
wstawienie zawartości pliku plik_naglowkowy do
naszego programu. Symbol # występujący przed daną
instrukcją oznacza, że instrukcja ta jest poleceniem
preprocesora.
20
Instrukcja using namespace std
#include <iostream>
using namespace std;
int main( )
{
cout << "Hello World!!!" << endl;
return 0;
}
• użyta instrukcja using namespace std;
nazywana jest dyrektywą używania. Powoduje ona
poinformowanie kompilatora, że będziemy używać
symboli z przestrzeni nazw std,
co w efekcie daje możliwość pominięcia std::
podczas używania
tych symboli
21
Instrukcja using namespace std
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!!!" << endl;
return 0;
}
• #include jest dyrektywa preprocesora. Plik
nagłówkowy
odpowiedzialny za biblioteke wejscia-wyjscia to
iostream
• instrukcja #include<plik_naglowkowy> powoduje
wstawienie
zawartości pliku plik_naglowkowy do naszego
programu
• symbol # występujący przed dana instrukcja oznacza,
że instrukcja
ta jest poleceniem preprocesora
22
Komentarze
Komentarz to ciąg znaków w programie ignorowany
przez kompilator.
Komentarzami w języku C++ jest tekst znajdujący się za
znakami “//” do końca linii. Drugim sposobem jest
komentarz znajdujący się pomiędzy znakami “/*” oraz
“*/”.
23
Komentarze
/* To jest pierwszy
program :-) */
#include <iostream> // nagłówek
using namespace std; // przestrzeń nazw std
//---------------------------------------------------------
int main()
{
cout << "Hello" << /*endl <<*/ " World!!!" << endl;
//nie przechodzę w środku do nowej linii
return 0;
}
24
Zmienna
Potrzeba przechowania jakiejś wartości w pamięci
komputera.
Łatwiej odwoływać się do zmiennej niż do numerów
komórek pamięci – adresu.
Tożsamość zmiennej to jej nazwa czyli jej identyfikator.
Zmienna musi mieć określony typ.
Definicja zmiennej typu całkowitego:
int liczba;
Definicja zmiennej typu całkowitego połączonej z
inicjalizacją:
int liczba=17;
25
Wybrane typy zmiennych
•
char - typ znakowy
•
int - liczba całkowita
•
float - liczba zmiennoprzecinkowa (rzeczywista)
•
short - liczby całkowite krótkie
•
long - liczby całkowite długie
•
double - liczby zmiennoprzecinkowe podwójnej
precyzji
cdn.
26
Dziękuję za
uwagę!