C++ język programowania ogólnego przeznaczenia



Pobieranie 51.57 Kb.
Data29.04.2016
Rozmiar51.57 Kb.

C++ język programowania ogólnego przeznaczenia

Krótka historia


1970 – 1972 - język C Dennis Ritchie - Bell Laboratories

1983 - język C++ Bjarne Stroustrup - AT&T Bell Laboratories

1988 - ogłoszenie standardu ANSI C

1989 – 1998 - proces standaryzacji jezyka C++

1998 - standard jezyka C++ w postaci ISO/IEC 14882, zwany jako ANSI C++. Zawiera zestaw abstrakcji znany pod nazwa biblioteki standardowej C++.

2003 - poprawki w standardzie (ISO/IEC 14882:2003)

STL (Standard Template Library) - poczatkowo rozwijana jako niezalezna biblioteka przez firme Hewlett Packard

Styczeń 2012 poprawki w standardzie C++11 (ISO/IEC 14882:2011)

Właściwości języka


  • Umożliwia abstrakcję danych oraz stosowanie kilku paradygmatów programowania: strukturalnego, obiektowego i generycznego.

  • Charakteryzuje się wysoką wydajnością kodu wynikowego, bezpośrednim dostępem do zasobów sprzętowych i funkcji systemowych, łatwością tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych językach), niezależnością od konkretnej platformy sprzętowej lub systemowej (co gwarantuje wysoką przenośność kodów źródłowych) oraz niewielkim środowiskiem uruchomieniowym.

  • Podstawowym obszarem jego zastosowań są aplikacje i systemy operacyjne.

C++ został zaprojektowany przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Zachowanie zgodności z językiem C na poziomie kodu źródłowego pozostaje jednym z podstawowych celów projektowych kolejnych standardów języka.

W latach 90. XX wieku język C++ zdobył pozycję jednego z najpopularniejszych języków programowania ogólnego przeznaczenia. Na początku XXI wieku liczbę programistów języka C++ szacowano na około 3 miliony.

Od 1998 obowiązuje standard ISO/IEC 14882:1998 (Standard for the C++ Programming Language) z drobnymi poprawkami zatwierdzonymi w 2003 r. (ISO/IEC 14882:2003). W 2009 roku ogłoszono, że nowy standard (tzw. C++0x) zacznie obowiązywać nie wcześniej niż w 2010 roku.

Niektóre właściwości języka C++:


1. Możliwość programowania obiektowego:

  • Mechanizmy enkapsulacji:

    • funkcje składowe

    • sekcje prywatne, chronione i publiczne

    • zaprzyjaźnianie funkcji i klas

  • Klasy, jako rozszerzenie struktury o funkcje składowe, enkapsulację, dziedziczenie i polimorfizm

  • Obiekty, będące instancjami klas

  • Dziedziczenie

  • Metody wirtualne dostarczające polimorfizm

2. Inne:

  • Referencje

  • Przeciążanie funkcji

  • Przeciążanie operatorów

  • Funkcje rozwijalne (inline)

Programowanie strukturalne – przykład




DANE

½ kostki masła

1 szklanka cukru

2 jajka

………….

ALGORYTM

Utrzeć masło

Stopniowo dodawać cukier

Wbić jajka

………….

+



PROGRAM


Mechanika tworzenia programu


  1. edycja kodu źródłowego programu

  2. kompilacja – tłumaczenie kodu źródłowego na język wewnętrzny – język maszynowy; otrzymany plik, to kod obiektowy.

  3. Łączenie (konsolidacja) kodu obiektowego z kodem bibliotecznym. Plik z końcowym produktem to plik wykonywalny.


Kompilacja to proces automatycznego tłumaczenia kodu napisanego w języku programowania na kod maszynowy(obiektowy). Dane wejściowe najczęściej nazywa się kodem źródłowym. Program wykonujący tłumaczenie to kompilator. Przeważnie kompilacja jest częścią większego procesu tłumaczenia, tworzony w jej trakcie kod wynikowy jest przekazywany do innych programów (np. linkera), możliwe jest również tłumaczenie do postaci zrozumiałej dla człowieka.
Konsolidacja (linkowanie od ang. link - łączyć) to proces polegający na połączeniu skompilowanych modułów (plików zawierających kod obiektowy lub plików bibliotek statycznych) i utworzeniu pliku wykonywalnego lub rzadziej innego pliku obiektowego. Dodatkowo podczas konsolidacji do pliku wynikowego mogą być dołączone odpowiednie nagłówki i informacje charakterystyczne dla konkretnego formatu pliku wykonywalnego.

P
komentarz
ierwszy program



//pierwszy.cpp

#include

using namespace std;

int main()

{

cout<<”Wpadnij do mnie pogadac o wakacjach\n”;


Nawiasy klamrowe


cout<<”albo o C++”<return 0;

}
Kończy funkcje
/*komentarz

w stylu C */



Elementy programu:


  • Komentarze // oraz /* */

  • Dyrektywa preprocesora #include

  • Dyrektywa using namespace

  • Nagłówek funkcji int main()

  • Treść funkcji ograniczona nawiasami { }

  • Instrukcja cout do wyświetlenia komunikatu

  • Instrukcja powrotu return

Uwagi.

  1. Średnik kończy instrukcję

  2. Język C++ (oraz C) rozróżnia wielkość liter

  3. słowa kluczowe: #include, using, int, return, { } // /* */

Pliki dołączone


Dodanie dyrektywy #include sprawia, że zawartość pliku iostream zostaje wysłana do kompilatora wraz z zawartością tego pliku.

Uwaga. Nazwy plików nagłówkowych w języku C miały rozszerzenie h, np. stdio.h lub iostream.h, string.h, math.h. Obecnie są to pliki bez rozszerzeń: iostream, cstring, cmath.


Przestrzenie nazw


Jeśli używamy nazw plików bez rozszerzeń .h, to musimy mu dodatkowo udostępnić definicje zapisane za pomocą dyrektywy using, np. jeśli używamy dyrektywy

#include

to musimy udostępnić naszemu programowi definicje za pomocą dyrektywy using:



using namespace std;

Formatowanie kodu


  • Jedna instrukcja w wierszu

  • Otwierające i zamykające nawiasy klamrowe w oddzielnych wierszach

  • Wewnątrz nawiasów klamrowych instrukcje są wcięte

  • Brak odstępów wokół nawiasów związanych z nazwą funkcji

  • Stosowanie komentarzy

  • Nazwy zmiennych zgodne z kontekstem (np. v, prędkosc, dl, masa)

Instrukcje wejścia/wyjścia


W języku C wykorzystywano (m. in). funkcję scanf do wprowadzania danych z klawiatury oraz printf do wypisywania informacji na ekranie monitora. W języku C++ wykorzystujemy w tym celu odpowiednio obiektów cin oraz cout. (W przyszłości poznamy także inne).

Przykład

//twojkot.cpp

#include

using namespace std;

int main()

{

int pchly;



cout<<”Ile pchel ma twój kot?”<

cin>>pchly;

cout<<”Coz, to o ” <

cin.get(); //lub system(”pause”);

return 0;

}


Składnia języka

Dane

Proste zmienne


Nazwy zmiennych:

  • Litery, cyfry oraz _

  • Pierwszym znakiem nie może być cyfra

  • Duże litery są odróżniane od małych

  • Nazwy zaczynające się od dwóch znaków podkreślenia albo jednego znaku podkreślenia i dużej litery są zarezerwowane na użytek implementacji(np. __kot)

  • Długość nazwy jest dowolna

Przykład. Które nazwy zmiennych są prawidłowe w języku C++?

int spaniel;

int Spaniel;

int SPANIEL;



Int terier;

int Moj_piesek;

int _MojPiesek;

int 6nasta;

int double;

int begin;

int misz-masz;

Typy


proste

  • Całkowite

  • Zmiennoprzecinkowe

  • logiczne

Całkowite ze znakiem i bez znaku:

char signed char

short unsigned short

int unsigned int

long unsigned long

Zmiennoprzecinkowe

float


double

long double



Logiczne

bool

Kwalifikator const


Jeśli nie chcemy, aby wielkość symboliczna pozostawała stałą w trakcie trwania całego programu, możemy użyć słowa kluczowe const, Np:

const int MIESIACE=8;

const int ABC; //źle!!!

inny sposób – użycie dyrektywy preprocesora #define:

#define MIESIACE 12 //w C++ nieużywany

Sposób zapisu niektórych typów stałych


1. char:

65 lub ‘A’

97 lub ‘a’

10 lub ‘\n’ lub endl
2. całkowite long:

23L -9000000l

3. liczby zmiennoprzecinkowe:

9.0f 12.56F 2.45e12 8.33E-4


TYPE NAME MEMORY USED SIZE RANGE PRECISION

short

2 bytes

-32,767 to 32,767




int

4 bytes

-2,147,483,647 to 2,147,483,647




long

4 bytes

-2,147,483,647 to 2,147,483,647




float

4 bytes

ok. 10-38 do 1038

7 digits

double

8 bytes

ok. 10-308 do 10308

15 digits

long double

10 bytes

ok. 10-4932 do 104932

19 digits

char

1 byte

Wszystkie znaki ASCII (może być traktowana jako zmienna całkowita.)




bool

1 byte

true, false






Deklarowanie zmiennych


Przykład 1

int n, liczba_smokow;

double d;
Przykład 2 Instrukcja podstawienia (przypisania)

Kwiatek=fiolek;


Przykład 3 Deklaracja wraz z inicjalizacją

int liczba=10, n=-346;

double d=23.5e2;

Uwaga. W języku C++ można dokonywać deklaracji w dowolnym miejscu. Najczęściej będziemy dokonywali deklaracji zmiennych i stałych przed ich użyciem.
Operatory w C++

Operator

opis

+

dodawanie

-

odejmowanie

*

mnożenie

/

dzielenie

%

reszta z dzielenia



Zadania


  1. Napisz program, który pyta o wzrost w cm i przekształca go w stopy i cale wzrost.cpp

  2. Napisz program, który pyta o wzrost w stopach i calach oraz wagę w funtach. Program ma wyświetlać tzw. BMI. (waga[kg]/wzrost[cm]2). bmi.cpp (BMI zmiennoprzecinkowa)

  3. Napisz program, który pyta o zużycie benzyny w stylu europejskim i podaje go w stylu amerykańskim.

  4. Napisz program, który po wczytaniu znaku wyświetla jego kod ASCII. znak.cpp

http://phppp.gajdaw.pl/projekty/25-03/index.php?id=1





Pobieranie 51.57 Kb.





©absta.pl 2020
wyślij wiadomość

    Strona główna