1
1. Struktura programu c++
Ogólna struktura programu w C++ składa się z kilku części:
część 1 #include <cstdlib>
#include <iostream>
część 2 using namespace std;
część 3 int main(int argc, char *argv[]) część 4
{
/* instrukcje funkcji main */
return 0;
}
Część 1 - biblioteki
Ta część programu opisuje biblioteki jakie mają być dołączone do programu. Biblioteki to pliki, których zawartość jest dołączana do programu za pomocą dyrektywy preprocesora #include. Biblioteka to plik o nazwie podanej w nawiasie "< nazwa biblioteki >", który posiada między innymi definicje przydatnych funkcji.
Biblioteka cstdlib zawiera funkcje ogólne takie jak konwersje, alokacja pamięci czy funkcje matematyczne.
Biblioteka iostream(input/output stream) jest standardową biblioteką wejścia/wyjścia w C++.
Jeśli chcemy coś wyświetlać na ekranie (za pomocą obiektucout i przeciążonego operatora"<<"), lub pobierać dane z klawiatury (za pomocą obiektucini przeciążonego operatora ">>") musimy ją dodać do nagłówka programu, np. math.h - > cmath
Część 2 - przestrzenie nazw
Dyrektywę using namespace musimy użyć w przypadku, gdy zamiast pliku iostream.h, będziemy używać iostream, w celu udostępnienia definicji zawartej w tym pliku.
Podczas pracy nad dużymi projektami, w których używa się wielu bibliotek z licznymi deklaracjami, można natknąć się na problem konfliktu nazw - gdy kilka obiektów, typów czy funkcji ma tę samą nazwę. Rozwiązaniem może być np. zamknięcie nazw w "zakresach", w celu oddzielenia ich
Wyobraźmy sobie, że mamy dwa pakiety, w których zdefiniowana jest funkcja o nazwie wspaniala(). Pierwszy pakiet jest od producenta JANEK, a drugi od MARCIN. Jeśli chcemy używać funkcji wspaniala() od MARCIN, bo uważamy, że jest lepsza, udostępniamy definicję przestrzeni nazw MARCIN:
using namespace MARCIN,
i nie musimy za każdym wywołaniem funkcji wspaniala(), pisać MARCIN::wspaniala().
Część 3 – funkcja main
Funkcja main() jest charakterystyczną funkcją w C++, która musi występować w każdym konsolowym programie. Wszystko co zaczyna się dziać w danej aplikacji, jest określana w ciele właśnie tej funkcji.
Oczywiście wszystkie inne funkcje mogą być wywoływane z wnętrza tej funkcji.
Funkcja main() ma kilka postaci:
2
int main() lub int main(void) lub main() - postacie równoważne, oznaczające, że w ciele funkcji pojawia się informacja zwrotna (return 0 lub return EXIT_SUCCESS), która zwraca do systemu operacyjnego informacje o zakończeniu działania danej aplikacji
void main() - nie posiada informacji zwrotnej o zakończeniu działania programu, niezalecane, a w niektórych systemach niedopuszczalne
int main(int argc, char *argv[]) - funkcja z argumentami. Argument int argc, mówi ile tych danych jest, natomiast char *argv[] przechowuje te dane.
Część 4 – „życie programu”
W tej części programu zaczyna się życie naszej aplikacji. Wszystko to co tu napiszemy, będzie rzutowało na sposób zachowania się naszego programu.
3
2. Podstawowe typy danych
W języku C++ mamy 5 podstawowych typów danych:
int – liczby całkowite
float – liczby rzeczywiste pojedynczej precyzji
double – liczby rzeczywiste podwójnej precyzji
char – typ znakowy
string – ciąg znaków Deklaracja zmiennej: int a;
Definicja zmiennej: a=4;
lub po prostu: int a=4;
3. Operatory:
Arytmetyczne Relacje Logiczne
+ dodawanie a==b a jest równe b || Suma
- odejmowanie a<b a jest mniejsze od b && Iloczyn / dzielenie a<=b a jest mniejsze bądź równe b ! Negacja
* mnożenie a>b a jest większe od b
% reszta z dzielenia (dzielenie modulo) a>=b a jest większe bądź równe b
= przypisanie a!=b a jest różne od b
Złożone
+= -= *= /= %=
np. a += 4; //działanie to oznacza, że do aktualnej wartości zmiennej "a" dodajemy 4, czyli nowa wartość tej zmiennej wynosi 7
Inkrementacji i dekrementacji:
++a, a++, --a, a—
np. int a, b;
a = 1;
b = a ++; // w tym przypadku najpierw zostanie przypisana wartość do zmiennej "b", // a następnie zwiększona wartość zmiennej "a" o 1, czyli od tej chwili // " a = 2 " natomiast " b =1 "
4. Instrukcje
Instrukcja if Instrukcja if ... else Pętla for
if(a>0) {
instrukcja do wykonania;
}
if(a>0) {
instrukcja1;
} else {
intrukcja 2;
}
for(i=1;i<=100;i++) {
intrukcje;
}
4
Pętla while Pętla do ... while Instrukcja switch
while(a>0) {
intrukcje;
}
do {
intrukcje;
}
while(warunek);
switch(wyrażenie) {
case wartość1:
instrukcje1;
break;
case wartość2:
instrukcje2;
break;
case wartość3:
instrukcje3;
break;
default:
instrukcja domyślna;
}
5. Tablice
W celu gromadzenia wielu danych różnego typu można używać tablic. Tablice statyczne mają z góry określony rozmiar, który jest ustalany w momencie tworzenia tablicy i nie może być zmieniany w trakcie działania programu.
W c++ elementy tablicy zawsze są numerowane od 0. Zatem T[0] jest pierwszym elementem, a T[3] – czwartym elementem tablicy T.
Możliwe jest również używanie tablic dwuwymiarowych, które można traktować jak tablice tablic.
Przykłady:
int T[10] – deklaracja tablicy T o 10 elementach typu całkowitego t[0]=3 – spisanie do pierwszego elementu tablicy wartości 3 T[9]=T[3] – wpisanie do 10 elementu wartości elementu czwartego X[1][0]=true – wpisanie do elementu tablicy X wartości true
6. Przykłady
Przykład 1
Program wypisze na ekranie tekst "PODSTAWY INFORMATYKI" a w nowym wierszu poczeka na wprowadzenie dowolnego znaku.
#include <iostream>
using namespace std;
int main()
{
cout << "PODSTAWY INFORMATYKI\n" ; char x;
cin >> x;
return 0;
}
5 Przykład 2
Program odczytuje dwie liczby (np. oceny z kolokwium) i oblicza ich średnią. Jeśli średnia jest mniejsza niż 3.0, program wypisuje komunikat „brak zaliczenia”, w przeciwnym wypadku program wypisuje „przedmiot zaliczony. Jeśli średnia przekracza 4.0, to dopisywane jest dodatkowo „ i to na wysokim poziomie”. Następnie program czeka na wprowadzenie dowolnego znaku.
#include <iostream>
using namespace std;
int main () {
double a, b, s;
cout << "Pdaj pierwsza ocene: ";
cin >> a;
cout << "Pdaj druga ocene: ";
cin >> b;
s = (a+b)/2;
if (s < 3.0)
cout << "brak zaliczenia";
else {
cout << "przedmiot zaliczony";
if (s > 4.0)
cout << " i to na wysokim poziomie";
}
cout << endl;
system("pause");
return 0;
}
Przykład 3
Program tłumaczy liczbę na tekst. Program odczytuje liczbę całkowitą z przedziału <0,7> i wypisuje jej wartość słownie. Np. dla liczby 7 wypisuje „siedem”.
#include <iostream>
using namespace std;
int main () {
int a;
cin >> a;
switch (a) {
case 1:
cout << "jeden";
break;
6 case 2:
cout << "dwa";
break;
case 3:
cout << "trzy";
break;
case 4:
cout << "cztery";
break;
case 5:
cout << "piec";
break;
case 6:
cout << "szesc";
break;
case 7:
cout << "siedem";
break;
default:
cout << "zla liczba";
}
cout << endl;
system("pause");
return 0;
}
Przykład 4
Program w 10 - elementowej tablicy jednowymiarowej o nazwie tab umieszcza liczby od 1 do 10.
#include <iostream>
using namespace std;
int main() {
int tab[10]; // deklaracja tablicy 10-elemntowej
for (int i=0; i<10; i++) //wypełnianie tablicy liczbami od 1 do 10 {
tab[i] = i+1;
cout << "tab[" << i << "] = " << tab[i] << endl; // wypisanie tablicy
}
system("pause");
return 0;
}