To tylko jedna z 38 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Powtórka z C Wykład 2 11/10/2010 2 Sposób zapisu kodu W każdym programie musi być specjalna funkcja main() Instrukcje wykonywane w ramach tej funkcji zawarte są pomiędzy nawisami {} C++ zapis programu jest w tzw. formacie wolnym w przeciwieństwie do np. Fortran’a Poza szczególnymi przypadkami łamanie linii może odbywać się w dowolnym miejscu Dlatego każda instrukcja kończy się ‘ ; ’ Białe znaki są prawie zawsze ignorowane 11/10/2010 3 Pierwszy program Program na początku uruchamia funkcję main #include using namespace std; int main() { cout using namespace std;main(){cout #include using namespace std; 11/10/2010 7 Standardowe wejście/wyjście... Wypisywanie na ekran cout a; 11/10/2010 8 Komentarze Są zupełnie ignorowane przez kompilator Rodzaje /* ... */ - wiele linii, brak zagnieżdżeń Czasami kompilator pozwala na zagnieżdżenia, ale to jest wbrew standardowi // - do końca linii Komentarze są bardzo przydatne W znakomity sposób ułatwiają zrozumienie kodu Program Doxygen umożliwia automatyczne generowanie dokumentacji Adres: www.doxygen.org 11/10/2010 9 Nazwy Dowolny ciąg liter, cyfr oraz znaku ‘_’ Nazwa nie może zaczynać się od cyfry Małe i duże litery są rozróżniane Nazwa nie może być identyczna z następującymi słowami kluczowymi języka C++: asm - wstawia instrukcje asemblera auto - deklaruje zmienną automatyczną
(…)
…;
Definicja jest równocześnie deklaracją, ale
nie odwrotnie
11/10/2010
13
Typy
Dwa podziały typów
Pierwszy
Typy fundamentalne (podstawowe)
Typy pochodne
Drugi
11/10/2010
Typy wbudowane
Typy zdefiniowane przez użytkownika
14
Typy fundamentalne
Reprezentujące liczby całkowite
Reprezentujące znaki alfanumeryczne
char
wchar_t
Modyfikatory (dla powyższych)
short int (short)
int
long int (long)
signed – liczba ujemna i dodatnia
unsigned – tylko liczba dodatnia
Reprezentujące liczby zmiennoprzecinkowe
float
double
long double
11/10/2010
15
Stałe liczbowe
Całkowite
Dziesiątkowe
Ósemkowe
010 = 8
013 = 11
091 – błąd
Szesnastkowe
13, -55, 0, 1000, ...
0x10 = 16
0xFF = 255
Przykład cpp_2.2
Zmiennoprzecinkowe
0.0, 3.14159, -1000.0, 8e2, 13.3e-13…
…
try - wykonuje kod który może wyrzucić wyjątek
typedef - tworzy synonim do istniejącego typu
typeid - opisuje typ obiektu
typename - w szablonach oznacza że następujący po nim symbol
reprezentuje typ (synonim class)
union - tworzy unię
unsigned - deklaruje zmienną bez znaku
using - używa przestrzeni nazw
virtual - tworzy funkcję wirtualną
void - deklaruje zmienną z nieprzypisanym typem
volatile…
… w apostrofach
‘\\’- backslash
‘\’’- apostrof
‘\”’- cudzysłów
‘\0’- NULL
‘\?’- pytajnik
Stałe tekstowe
Znaki ujęte pomiędzy cudzysłowami ””
11/10/2010
18
Typy pochodne
Tablice – []
Wskaźniki – *
Funkcje – ()
Referencje – &
Typ void
funkcja nic nie zwraca void licz();
wskaźnik wskazuje na nieznany typ
void *p;
11/10/2010
19
Typ wyliczeniowy
enum
Osobny typ całkowity…
…
int k = 13;
int main()
{
cout << "k = " << k << endl;
{
int k = 1313;
cout << "k (lokalne) = " << k << endl;
cout << "k (globalne z bloku lokalnego) = "
<< ::k << endl;
}
cout << "k (po bloku lokalnym) = " << k << endl;
}
Przykład cpp_2.4
11/10/2010
23
Inne modyfikatory
const
Obiekty z tym modyfikatorem nie mogą być
zmieniane w programie
const float pi = 3.14159; //inicjalizacja
pi = 10;
//błąd…
…...
Logiczne
relacji
> większy
< mniejszy
<= większy lub równy
>= mniejszy lub równy
== równy
|| - suma logiczna (alternatywa)
&& - iloczyn logiczny (koniunkcja)
!
- zaprzeczenie (negacja)
Przykład cpp_2.7
11/10/2010
29
Operatory...
Bitowe
<<
>>
|
&
^
~
przesunięcie w lewo
przesunięcie w prawo
suma bitowa (OR)
iloczyn bitowy (AND)
różnica symetryczna bitów (XOR)
negacja…
... zobacz całą notatkę
Komentarze użytkowników (0)