Zmienne
char - typ znakowy,
int - typ całkowity,
long - typ długich liczb całkowitych,
signed - liczby ze znakiem,
short - typ krótkich liczb całkowitych,
unsigned - liczby bez znaku.
float - liczby rzeczywiste pojedynczej precyzji,
double - liczby rzeczywiste podwójnej precyzji,
long double - liczby rzeczywiste wysokiej precyzji.
Np. double liczba = 3.564; char imie[10] = "Jan";
cout << "komunikat "<<zmienna;- wyświetlenie
cin >> zmienna; - wczytanie z klawiatury
Instrukcje warunkowe
if (a <= b)
c = 2;
else
c = 1;
Instrukcja swich
cout << "Nacisnij klawisz" << endl;
char klawisz = getch();
switch (klawisz)
{
case '1': cout << "Wybrales klawisz 1"; break;
case 'a': cout << "Wybrales klawisz a"; break;
default: cout << "Wybrales klawisz rozny od 1 i a";
}
Operatory
operand1 % operand2 - reszta z dzielenia
++operand - przedrostkowy operator inkrementacji
operand++ - przyrostkowy operator inkrementacji
--operand - przedrostkowy operator dekrementacji
operand-- - przyrostkowy operator dekrementacji
Operatory bitowe
operand1 & operand2 - iloczyn (AND)
operand1 ^ operand2 - suma modulo 2 (EXOR)
opreand1 | operand2 - alternatywa (OR)
~operand1 – negacja
Operatory logiczne (w funkcjach)
operand1 && operand2 - koniunkcja
operand1 II operand2 - alternatywa
!operand1 – negacja
Petla for
int w = 1;
for (int i = 1; i < 11; i++)
{
w *= i;
}
cout << "Silnia z 10 wynosi: " << w;
Petla while
int ilosc;
int i = 1;
cout << "Ile razy ma sie wykonac petla?" << endl;
cin >> ilosc;
while (i <= ilosc)
{
cout << "Petla wykonuje sie po raz" << i << endl;
i++;
}
Petla do..while
int i = 1;
int ilosc = 0;
do {
cout << "Petla wykonuje sie " << i << " raz " << endl;
i++;
} while (i <= ilosc);
Tablice
Jednowymiarowa
int dane [4];
for (int i = 0; i < 4; i++)
{
dane[ i ] = i * i;
}
for (int i = 0; i < 4; i++)
{
cout << "Element " << i << " tablicy wynosi: " << dane[ i ] << endl;
}
Wielowymiarowa
int tablica[5][5];
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
tablica[i][j] = i * 2;
cout << setw(6) << tablica[i][j];
}
cout << endl;
}
Macierze
…
Funkcje
int Modul(int liczba);
void Powitanie(void);
void Funkcja(int h=10, float g=7.3535, char z='D');
double SumaTablicy (double *tab, int ilosc);
int Modul(int liczba)
{
if (liczba < 0)
liczba = liczba * (-1);
return (liczba);
}
void Powitanie()
{
cout<<"Witaj" << endl;
}
void Funkcja(int h, float g, char z)
{
cout<<h<<" "<<g <<" "<<z<<endl;
}
double SumaTablicy (double *tab, int ilosc)
{
double suma;
for (int i = 0; i < ilosc; i++)
suma += tab[ i ];
return (suma);
}
void main(void)
{
int zmienna;
double tablica[5];
Powitanie();
cout << "Wprowadz liczbe calkowita: " << endl;
cin >> zmienna;
cout << "Wartosc bezwzgledna: " <<
Modul(zmienna) << endl;
cout << "Wpisz piec liczb do tablicy." << endl;
for (int i = 0; i < 5; i++)
{
cout << "Wpisz liczbe " << i << " = " ;
cin >> tablica[i];
}
cout << "Suma tablicy: " << SumaTablicy(tablica, 5) << endl;
Funkcja();
Funkcja(25);
Funkcja(74,45.894);
Funkcja(45,23.864,'a');
Przekazywanie parametrów przez wskaźnik
double Wartosc(unsigned int n);
double Wskaznik(unsigned int *n);
double Wskaznik(unsigned int *n)
{
*n = 10;
cout << "Wartosc przekazanej i zmodyfik. zmiennej: " << *n << endl;
return (*n);
}
Przekazywanie parametrów przez referencje
double Referencja(unsigned int &n);
double Referencja(unsigned int &n)
{
n = 15;
cout << "Wartosc przekazanej i zmodyfikowanej zmiennej: " << n << endl;
return (n);
}
Przekazywanie tablicy tekstowej do funkcji
char *dolacz1(char tab[20]);
char *dolacz2(char *t);
char *dolacz1(char tab[20])
{
char *tekst = " kota";
return strcat(tab,tekst);
}
char *dolacz2(char *t)
{
char *tekst = " i psa";
return strcat(t,tekst);
}
void main(void)
{
char tablica[20] = {'a','l','a',' ','m','a','\0'};
cout << tablica << endl;
cout << dolacz1(tablica) << endl;
cout << tablica << endl;
cout << dolacz2(tablica) << endl;
getch();
}
Zamiana wartości zmiennych
temp = a;
a = b;
b = temp;
Wyszukiwanie sekwencyjne liczby
{
int tab[5] = {4, 27, 17, 20, 9}, i;
for(i = 0; i<5; i++)
{ if (tab[i] == 20)
cout << "Znaleziono liczbe 20 w tab o indeksie " << i << endl;
}
Wyszukiwanie binarne
int tab[10] = {3, 12, 15, 27, 32, 36, 45, 51, 74, 87};
int szukana; int indeks; int i_min = 0; int i_max = 10;
int wyjscie = 0;
cout<<"Podaj wartosc szukanej liczby " << endl;
cin >> szukana;
do
{
indeks = (i_min + i_max)/2;
if (tab[indeks] == szukana)
{
wyjscie = 1;
} else
{
if (szukana > tab[indeks])
i_min = indeks + 1;
else
i_max = indeks - 1;
}
} while(wyjscie == 0);
cout << "Znaleziono szukana wartosc na miejscu " << indeks + 1 << " tablicy." << endl;
Struktury i unie
Deklarowanie
struct tosoba {
char naz[19];
unsigned rok,mies,dzien;
long id;
} o1, o2;
union tdana {
char z[5];
int k;
long p;
float w;
} u1, u2;
Inicjowanie
struct tosoba {
char naz[19];
unsigned rok, mies, dzien;
long id;
} o1= { "Kowal",1985,11,9, 123 },
o2 = { "Kostek",1981,10,9, 234 };
przykład
// definicja struktury
struct tosoba {
char naz[19];
unsigned rok, mies, dzien;
long id;
}
osoba *wsk; // wskaznik do struktury
wsk=new osoba; //utworzenie struktury w pamieci
wsk->rok=2004;
wsk->naz=”Jan Kowalski”; (…)// dostep do pól zmiennych
delete wsk; // usuniecie z pamieci