Notki C++

0

Każdy chyba wie jak ważne są notatki w trakcie nauki programowania. Dlatego też chciałbym wam pokazać moje notki które do tej pory zrobiłem. Notki są w formie pojęcie i krótki opis. Pokazuje je w gdyż chciałbym abyście poprawili mnie, jeśli napisałem coś błędnie. Lepiej poprawić to od początku niż wyuczyć się błędnych sformułowań.

; - znak końca instrukcji
!= - różny od
\b - cofacz(backspace)
\f - nowa strona
\n - nowa linia
\r - powrót karetki
\t - tabulator poziomy
\v - tabulator pionowy
\a - sygnał dźwiękowy
''' - apostrof
'\' - bekslesz
'"' - cudzysłów
'\0' - NULL, znak o kodzie 0
'?' - pytajnik

    • wskaźnik do pokazywania na obiekt danego typu
      ( ) - funkcja zwracająca wartość danego typu
      & - referencja (przezwisko) obiektu danego typu

break - natychmiastowe przerwanie pętli

case - przypadek, jest używany do badania badania zmiennych przeciwko określonej wartości w switch
char - deklaracja obiektów alfanumerycznych
cin >> - umożliwia wczytywanie z klawiatury liczby,wartość tej liczby zostaje umieszczona w zmiennej
continue - powoduje zaniechanie realizacji instrukcji będącej treścią pętli, jednak (w przeciwieństwie do instrukcji break) sama pętla nie zostaje przerwana, continue przerywa tylko ten obieg pętli i zaczyn następny kontynuując pracę pętli
const – modyfikuje zwykłą definicję na definicję obiektu stałego
cout << - wypisuje tekst do konsoli programu

default - domyślny, przypadki domyślne w switch
do...while... - rób...dopóki...
double - typ reprezentujący liczby zmiennoprzecinkowe

endl - to samo co \n
else - w przeciwnym razie
extern - informuje kompilator, obiekt typu ... o nazwie ... juz gdzieś istnieje

float – typ reprezentujący liczby zmiennoprzecinkowe
for - dla takich warunków rób...

goto - po napotkaniu tej instrukcji wykonywanie programu przenosi się do miejsca gdzie jest dana etykietka

if - jesli
i = 0 (instr_ini) - instrukcja wykonywana zanim pętla zostanie po raz pierwszy wykonywana
i = i + 1 ( instr_krok )- to instrukcja wykonywana na zakończenie każdego obiegu pętli, jest to jakby ostatnia instrukcja wykonywana bezpośrednio przed obliczeniem wyrażenia wyraz_warun
int – typ reprezentujący liczby całkowite
i < 10 (wyraz_warun ) - jest to wyrażenie, które obliczane jest przed każdym obiegiem pętli, jeśli jest ono różne od zera to wykonywane zostają instrukcje będące treścią pętli

long - typ reprezentujący liczby całkowite
long double - typ reprezentujący liczby zmiennoprzecinkowe

main() - funkcja rozpoczynająca program

short - typ reprezentujący liczby całkowite
switch - służy do podejmowania wielowariantowych decyzji

void - typ danych, którego zmienna niesie zerową informację

za pokazanie błędów wielkie dzięki :-D

0
( ) - funkcja zwracająca wartość danego typu

funkcja to jest dopiero:

typ_zwracany nazwa_funkcji(opcjonalna lista parametrow);

typ_zwracany nazwa_funkcji(opcjonalna lista parametrow) {
// cialo funkcji/metody
}

petla for wyglada tak:

for (zmienna = wartosc_poczatkowa; warunek_przebiegu_petli_czyli np: zmienna < 10; modyfikator_zmiennej_np: zmienna++) {
// cialo petli
}

a funkcja main() wyglada tak:

int main(int argc, char **argv) {
// cialo funkcji
return 0;
}

badz

int main() {
return 0;
}

nie powinno sie deklarowac jej jako (choc to dopuszczalne):

void main() {

}

A o "goto" najlepiej zapomnij. NIGDY PRZENIGDY tego nie uzywaj. Praktycznie wszedzie, gdzie chcialbys uzyc goto powinienes uzyc petli (byc moze pozagniezdzanych w sobie). Goto powoduje klopoty w analizie kodu programu, zagmatwany i niejasny przebieg programu i w ogole jest przezytkiem poprzedniej epoki (czyt: dinozaury)

0

Dobra to dopisze Ci troche do nich ;) Sam kilka zeszytow grubszych zapisalem podczas nauki i pamietam, ze jak zapisalem sobie cos co nie do konca uscislilem to potem i tak musialem szukac informacji ;p

zielony545 napisał(a)

; - znak końca instrukcji
!= - różny od
\b - cofacz(backspace)
\f - nowa strona
\n - nowa linia
\r - powrót karetki
\t - tabulator poziomy
\v - tabulator pionowy
\a - sygnał dźwiękowy
''' - apostrof
'\' - bekslesz
'"' - cudzysłów
'\0' - NULL, znak o kodzie 0 // NULL bym wykreslil, poniewaz to nie jest znak
'?' - pytajnik

    • wskaźnik do pokazywania na obiekt danego typu // niewiem na jakim etapie jestes, ale jest to tez operator wyluskania wartosci z pod adresu, wskazywanego przez jakas zmienna, moze tez pomoc przy rzutowaniu
      ( ) - funkcja zwracająca wartość danego typu // to sa nawiasy, a nie funkcja, a funkcja nie musi koniecznie zwracac czegos
      & - referencja (przezwisko) obiektu danego typu // uzywasz do wyciagniecia adresu zmiennej

break - natychmiastowe przerwanie pętli

case - przypadek, jest używany do badania badania zmiennych przeciwko określonej wartości w switch

char - deklaracja obiektów alfanumerycznych // ze znakiem -/+

cin >> - umożliwia wczytywanie z klawiatury liczby,wartość tej liczby zostaje umieszczona w zmiennej
// nie tylko liczby

continue - powoduje zaniechanie realizacji instrukcji będących/ejdalsza czesci // treścią pętli, jednak (w przeciwieństwie do instrukcji break) sama pętla nie zostaje przerwana, continue przerywa tylko ten obieg pętli i zaczyn następny kontynuując pracę pętli

const – modyfikuje zwykłą definicję na definicję obiektu stałego // nie modyfikuje, tylko jest uzywane przewaznie przy deklaracji stalej

cout << - wypisuje tekst do konsoli programu // na standardowy strumien wyjscia

default - domyślny, przypadki domyślne w switch
do...while... - rób...dopóki...
double - typ reprezentujący liczby zmiennoprzecinkowe // ze znakiem

endl - to samo co \n
else - w przeciwnym razie
extern - informuje kompilator, obiekt typu ... o nazwie ... juz gdzieś istnieje

float – typ reprezentujący liczby zmiennoprzecinkowe
for - dla takich warunków rób...

goto - po napotkaniu tej instrukcji wykonywanie programu przenosi się do miejsca gdzie jest dana etykietka

if - jesli

// nad ponizszymi sie zastanow jeszcze chyba, ze to tylko tak ma byc napisane jako sugestia, a reszte wiesz
i = 0 (instr_ini) - instrukcja wykonywana zanim pętla zostanie po raz pierwszy wykonywana
i = i + 1 ( instr_krok )- to instrukcja wykonywana na zakończenie każdego obiegu pętli, jest to jakby ostatnia instrukcja wykonywana bezpośrednio przed obliczeniem wyrażenia wyraz_warun
// koniec myslenia

int – typ reprezentujący liczby całkowite // ze znakiem

i < 10 (wyraz_warun ) - jest to wyrażenie, które obliczane jest przed każdym obiegiem pętli, jeśli jest ono różne od zera to wykonywane zostają instrukcje będące treścią pętli

long - typ reprezentujący liczby całkowite // ze znakiem
long double - typ reprezentujący liczby zmiennoprzecinkowe // ze znakiem

main() - funkcja rozpoczynająca program

short - typ reprezentujący liczby całkowite // ze znakiem
switch - służy do podejmowania wielowariantowych decyzji

void - typ danych, którego zmienna niesie zerową informację // niewiem co przez to zdanie rozumiesz ;/
// glownie sie tego uzywa do zaznaczenia, ze funkcja ma nic nie zwracac

@up: z tym goto nie ma co tak swirowac, ale to dyskusja na inny temat, na pewno niech pozna ten jezyk lepiej zanim zacznie uzywac

0
t0m_k-tmp napisał(a)

'\0' - NULL, znak o kodzie 0 // NULL bym wykreslil, poniewaz to nie jest znak

char(0) to null (null terminator), NULL to zerowy pointer (w C, w C++ to zwykłe 0, ze względu na ograniczenia spieprzonego typowania).

t0m_k-tmp napisał(a)

( ) - funkcja zwracająca wartość danego typu // to sa nawiasy, a nie funkcja, a funkcja nie musi koniecznie zwracac czegos

Hmm, ostatnio używany przeze mnie na 4p element języka, jakim są pseudokonstruktory:

void funkcja_void() {
    return /* i tu po prawej pseudokonstruktor*/ void();
}

Więc to jeszcze bardziej skomplikowane...

t0m_k-tmp napisał(a)

char - deklaracja obiektów alfanumerycznych // ze znakiem -/+

Samo char może równie dobrze być domyślnie unsigned, zależnie od implementacji. Uroki C++...

t0m_k-tmp napisał(a)

continue - powoduje zaniechanie realizacji instrukcji będących/ejdalsza czesci // treścią pętli, jednak (w przeciwieństwie do instrukcji break) sama pętla nie zostaje przerwana, continue przerywa tylko ten obieg pętli i zaczyn następny kontynuując pracę pętli

Konkretnie to continue to takie goto na koniec ciała pętli, nadal wykonywane dwa pozostałe wyrażenia klauzuli for.

t0m_k-tmp napisał(a)

const – modyfikuje zwykłą definicję na definicję obiektu stałego // nie modyfikuje, tylko jest uzywane przewaznie przy deklaracji stalej

Znacznie szersze znaczenie - w wypadku metod deklaruje metodę mogącą zostać wywołaną na rzecz obiektu const, w wypadku wskaźników zależy po której stronie stoi - stały wskaźnik na zmienne dane, zmienny wskaźnik na stałe dane albo stały na stałe...

Generalnie C++ to język silnie kontekstowy, niespójny itd. więc prawie wszystko ma po kilka znaczeń, uroczy przykład z użyciem long double:

double long penis; // tak, równie poprawne co long double (a jakie śmieszne...), modyfikator 'long' może po obu stronach występować...

W sumie szkoda, że nie zachowałem moich notatek z czytania standardu C++, byłoby tego kikadziesiąt stron A4, praktycznie wszystko o nieścisłościach i innych urokach, na których można się bardzo boleśnie naciąć...

0

Dzięki za uświadomienie mi jak wiele błędów popełniłem. Wiele muszę jeszcze poprawić. Uświadomiliście mi również zawiłości języka C++

0

zawiłości języka C++

Nie jęcz , :/
Myślę że dobrze podchodzisz do tematu .
Ja zaczynałem też od bazgrania w zeszycie i te twoje obciachowe Notki są podobne
do moich ( a może i lepsze ).
Nauka podstaw zajęła mi 1 rok (prawie codziennie coś czytałem lub pisałem) , a zawiłościami nie
zawracałem sobie głowy bo nie miałem o nich pojęcia. :-D Szło różnie gdyż nie miałem nigdy do czynienia z programowaniem.
Myślę że trzeba systematycznie małymi krokami i nie przejmuj się że jak patrzysz
na jakiś 'poważniejszy' kod to Cię ogarnia zniechęcenie -> " O ,, nigdy tego nie zrozumiem".
Pamiętam jak po przeczytaniu pierwszej książki obejrzałem nagłówki STL (template)
to zbaraniałem ... nie wiedziałem czy to C++ czy może już coś innego :-/ .
Ale udało mi się , prawda jest taka że trzeba na wszystko czasu i systematyczności + chęci ,
i nie przejmuj się niepowodzeniami .
Jak czegoś nie rozumiałem to podchodziłem do tematu kilka razy lub odkładałem na później
a zajmowałem się czymś łatwiejszym.
Czyli można [green] .
Moim zdanie najpierw Podstawy na "blachę" i nie patrz na nic ...
Bo staniesz się podobny do gości co pierwsze programy piszą starając się wykorzystać
coś o czym słyszeli (np. klasy , polimorfizm , dziedziczenie itp..)
a potem pytają gdzie jest EOF w pliku zapisany ....

1 użytkowników online, w tym zalogowanych: 0, gości: 1