Visual C++ 6.0 Podstawy programowania.doc

(252 KB) Pobierz
Jan Bielecki

 

 

 

 

prof. Jan Bielecki

 

 

 

 

 

 

 

Visual C++ 6.0

Podstawy programowania

 

 

 

1.              Pierwsze kroki

2.              Środowisko Visual C++

3.              Wskaźniki i odnośniki

4.              Przetwarzanie łańcuchów

5.              Posługiwanie się funkcjami

6.              Zarządzanie pamięcią

7.              Widoczność deklaracji

8.              Studia programowe

 

 

Dodatki

 

              Priorytety operatorów

              Opracowywanie wyrażeń

              Konwersje standardowe

              Operatory bitowe i warunkowe

              Operacje wejścia-wyjścia

             

 


Pierwsze kroki

 

 

 

 

Program jest zbiorem modułów źródłowych. Każdy moduł składa się z deklaracji typów, zmiennych i funkcji. Napis od znaków // do końca wiersza jest komentarzem. Jako taki nie ma wpływu na przebieg wykonania programu.

 

Dokładnie jeden moduł, nazywany głównym, zawiera deklarację funkcji main. Wykonanie programu polega na opracowaniu wszystkich jego globalnych deklaracji, a następnie przystąpieniu do wykonywania instrukcji zawartych w funkcji main. Zakończenie wykonywania programu następuje po wykonaniu w funkcji głównej instrukcji return, albo tuż po powrocie z funkcji exit. Może to nastąpić jeszcze przed podjęciem wykonywania funkcji głównej.

 

int main(void)      // deklaracja funkcji głównej

{

    return 0;       // instrukcja return

}

 

void exit(int);     // deklaracja funkcji exit

 

struct Empty {      // deklaracja typu Empty

    Empty(void)

    {

        exit(0);    // wywołanie funkcji exit

    }

};

 

Empty obj;          // deklaracja zmiennej

 

 

Program napisano w taki sposób, aby jego wykonanie zakończyło się przed podjęciem wykonywania funkcji głównej.

 

 

Komunikacja z otoczeniem

 

W najprostszym przypadku, program pobiera dane z klawiatury i wyprowadza je na monitor. Operacje wprowadzania danych odbywają się za pomocą operatora >>, a operacje wyprowadzania danych za pomocą operatora <<. Klawiatura jest reprezentowana przez zmienną cin, a monitor przez zmienną cout. Posłużenie się nimi wymaga użycia dyrektywy #include wyszczególniającej nazwę iostream.h.

 

Daną wprowadzoną z klawiatury kończy odstęp, uzyskany przez naciśnięcie klawisza Space, Tab albo Enter. Analiza danych wejściowych następuje wierszami, to jest dopiero po naciśnięciu klawisza Enter. W szczególności, jeśli program oczekuje 3 danych, to każdą można podać w osobnym wierszu, albo wszystkie podać w jednym wierszu. Przed wprowadzeniem kolejnej danej pomija się poprzedzające ją odstępy.

 

Uwaga: Wygodnym sposobem wyprowadzenia odstępu Enter jest użycie symbolu endl, a wygodnym sposobem wyprowadzenia znaku o kodzie 0 jest użycie symbolu ends.

 

Ponieważ operacja wejścia-wyjścia dostarcza w miejscu jej użycia jej lewy argument, więc zapis pary instrukcji

 

cin >> one;

cin >> two;

 

można uprościć do

 

cin >> one >> two;

 

Właściwość tę, nazywaną łączeniem operacji, można zastosować także do wyprowadzania danych.

 

 

#include <iostream.h>

 

int main(void)

{

    int one, two;

    cout << "Enter 2 numbers:" << endl;

    cin >> one >> two;

    cout << "Sum = " << one + two << endl;

 

    return 0;

}

 

Program wyprowadza zachętę do wprowadzenia 2 liczb, a następnie wyznacza i wyprowadza ich sumę.

 

 

Wykonywanie operacji

 

Wykonanie programu sprowadza się do wykonania operacji na danych. W Dodatku A zamieszczono kompletny wykaz operacji, a w Dodatku B omówiono zasady opracowywania wyrażeń. Podane tam opisy stanowią istotny element niniejszego opracowania.

 

 

Operacje przypisania

 

Prosta operacja przypisania ma postać

 

              a = b

 

w której a i b są wyrażeniami, ale ponadto a jest l-nazwą zmiennej (por. Dodatek B).

 

Wykonanie operacji polega na przypisaniu zmiennej a wartości wyrażenia b.

 

 

Złożona operacja przypisania ma postać

 

              a @= b

 

w której @= jest jednym z operatorów wymienionych w Dodatku A (np.  +=, -=, *= , /=).

 

Operację a @= b (np. a += b) wykonuje tak, jak operację

 

              a = a + b

 

ale wymaga się, aby opracowanie a i b było jednokrotne.

 

 

Operacja połączenia

 

Operacja połączenia ma postać

 

              a , b

 

Jej wykonanie składa się z opracowania wyrażenia a (wyłącznie dla jego skutków ubocznych) oraz z niejawnego zastąpienia całej operacji nazwą zmiennej reprezentowanej przez wyrażenie b.

 

Uwaga: Nie jest operatorem połączenia przecinek oddzielający parametry i argumenty funkcji.

 

W szczególności wykonanie instrukcji

 

return a = 10, cout <<  a, b = 20;

 

jest równoważne wykonaniu instrukcji

 

a = 10;

cout << a;

b = 20;

return b;

 

 

Operacje arytmetyczne

 

Operacje arytmetyczne wykonuje się za pomocą operatorów wymienionych w tabeli Operacje arytmetyczne.

 

Tabela Operacje arytmetyczne

###

              +              (dodawanie              -              (odejmowanie)             

              *              (mnożenie)              /              (dzielenie)              %              (reszta)

 

              ++              (zwiększenie o 1)              --              (zmniejszenie o 1)

 

              +=              (dodanie)              -=              (odjęcie)

              *=              (pomnożenie)              /=              (podzielenie)

###

 

Sposób wykonania podstawowych działań arytmetycznych nie wymaga opisu. Należy jedynie zauważyć, że rezultat dzielenia całkowitego jest całkowity, a argumenty wyznaczania reszty muszą być całkowite (np. 11 / 4 ma wartość 2, a 11 % 4 ma wartość 3).

 

 

Operacje przedrostkowe

 

Wykonanie operacji ++...

Zgłoś jeśli naruszono regulamin