struktura programu oraz podstawy programow...
G[o]Q
19.02.2010
Zacznijmy od tego ze każdy program trzeba skompilować nie będę tu wchodził w szczegóły typu linkowanie i tym podobne ponieważ to jest dla początkujących nie istotne,używanym prze zemnie kompilatorem jest dev c++ którego polecam.
A wiec zaczynamy każdy program składa się z:
a) dyrektyw pre-procesora :
najważniejsza dyrektywa to
#include <nazwa biblioteki>która dołącza moduły do naszego programu bez niej żaden program by się nie uruchomił,najczęściej będziemy używać biblioteki "iostream" wiec
deklarować będziemy tak :
#include <iostream>. O innych dyrektywach pre-procesora później.
b)deklaracji przestrzeni nazw (opcjonalnie)
przestrzeń nazw jest to coś co znacznie ułatwi nam prace ponieważ skróci nazwy naszych funkcji o zapis
Juz tłumacze przestrzenie nazw są takie jakby katalogi w których przechowywane są nazwy funkcji, zostało to wprowadzone z prostego powodu a mianowicie każdy użytkownik może sobie napisać swoje biblioteki i dodać je do programu żeby zapobiec dublowaniu się nazw funkcji czyli sytuacji gdy 2 osoby nazwa dwie różne funkcje tak samo wprowadzono właśnie przestrzenie. Przestrzenie deklarujemy w sposób następujący :"przestrzeń_nazw"::"nazwa funkcji".
using namespace nazwa_przestrzeni;np using namespace std; czyli skrót od standard;
c) funkcji głównej
funkcja główna jest to nieodzowny element każdego programu to od niej zaczyna się wykonanie naszego codu. Najczęściej ma ona postać :
int main(){
} funkcja główna może oczywiści mieć parametry ale w początkowych programach ta funkcja nie będzie ich miałaWiec to były najważniejsze elementy programu a teraz coś więcej o języku:
a) deklaracja zmiennych :
zmienne deklarujemy wg następującego schematu :
typy danych to min :typ_danych nazwa
int,short,long,double,float,char,boolprzykładowa deklaracja:
int zmienna;b)deklaracja i definicja funkcji
funkcje deklarujemy podobnie jak zmienne a mianowicie :
typ_wyniku nazwa_funkcji(parametry){
} np:double funkcja(int a,int <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />dodatkowo każda funkcja powinna być zdefiniowana pod instrukcja using namespace
wygląda to tak
typ_wyniku nazwa(parametry);czyli może to być kopia nagłówka funkcji , nie musimy tego stosować wtedy gdy nie chcemy używać funkcji ostatniej w programie w funkcji 2 lub 3 czyli jeśli nie chcemy odwoływać się w tył
dodatkowo funkcja może przyjmować typ wyniku void oznacza to ze nie zwraca ona wyniku w innym wypadku w każdej funkcji powinniśmy użyć return żeby zwrócić jakaś wartość
c)ramy programu
każdy blok mający więcej niż jedna instrukcje powinien zawierać się w "{" i "}"
d)średniki
średnik dajemy po każdej instrukcji z wyjątkiem pętli for oraz while ,nagłówka funkcji dyrektyw pre-procesora
e) pętle:
w języku c++ wyróżniamy 3 rodzaje pętli :
-for
-while
-do-while
pętla for ma postać :
npfor (wartość_początkowa_licznika;warunek_wykonania_pętli;instrukcja_krokowa)
for (int i=0;i<10;i++)wykona podane działanie 10x
pętla while ma postać:
npwhile(warunek){
kod
}
while(i<10){
i++
} pętla do - while ma postaćnpdo{
kod
}while(warunek);
do{
i++
}while(i>10); f) instrukcja warunkowa:instrukcja warunkowa to instrukcja wykonująca się jeżeli warunek jest spełniony ma ona postać :
g)operatory:if(warunek){
jeśli warunek prawdziwy to ...
}
else jeśli warunek nie prawdziwy
"==" - sprawdzenie czy wyrażenia po lewej stronie jest równe wyrażeniu po prawej stronie np 1==2-1
"=" - operator przypisania np int a=5
"!=" - operator negacji np 1!=4
"||" - operator "lub" stosowany w pętlach do oraz while i instrukcjach warunkowych aby dać instrukcji kilka możliwości np if((a==1)||a==2))
"&&"- operator sumy logicznej czyli "i" stosowany w pętlach do oraz while i instrukcjach warunkowych aby wykonać kod jeśli jednocześnie kilka warunków jest spełnione np if((a==1)&&(b==2))
"%" - operator reszty z dzielenia np 10%10 zwróci 0 a 11%10 zwróci 1
"++" - zwiększa wartość zmiennej stojącej po lewej stronie o 1
h) instrukcje wejścia/wyjścia:
Podstawowa instrukcja wyjścia jest
pisze ona podany text na ekraniestd::cout<<"text";
jeśli mamy zadeklarowana przestrzeń nazw to jest to
przy stosowaniu musimy jednak pamiętać o tym ze aby wyświetlić wartosc zmiennej po texcie musimy zrobić takcout<<"text";
cout<<"text"<<zmienna;w tej instrukcji mamy do dyspozycji kilka znaków specjalnych:
Podstawowa instrukcja wejścia jest"\n" lub "endl;"- przejście do nowej linii
"\t" wstawienie znaku tabulacji
"\r" usuniecie textu z ostatniej linijki
aby wyświetlić znak podając kod asci używamy operatora rzutowania char(kod) np cout<<"znak o kodzie 70 to "<<char(#70);
wczytuje ona wartość zmiennej do naszego programucin>>nazwa zmiennej;
przykład:
cout<<"podaj liczbę";int liczba; cin>>liczba; cout<<"wprowadzona liczba to "<<liczba;i) instrukcje przerwania:
instrukcje przerywające jaka czynność w programie:
break- kończy aktualny blok instrukcji
continue - pomija jeden cykl pętli (nie cala pętle tylu 1 "obrót")
exit(1) - kończy program
SHooT`3R
07.10.2010
Knopers
07.10.2010
Faktycznie pod inne OS są inne biblioteki ale lepiej jest najpierw zacząć od czystej konsolki niż od razu od okna .
R3X
07.10.2010
G[o]Q
08.10.2010
MaDaFaKa
17.11.2010
Dodano 17 listopad 2010 - 21:34:
Dobry poradnik dla początkujących, ale bolą mnie dwie sprawy. Wyświetlanie textu za pomocą "cout", choć jest teoretycznie prostsze, to jest złym nawykiem. Powinieneś zastosować metodę "printf()" z biblioteki "conio.h", która jest zdecydowanie szybsza. Defakto w tutorialu nie widzę przejścia do kolejnej funkcji, co jest na tym etapie dosyć ważne. Tyle z mojej strony.
G[o]Q
18.11.2010
Wyświetlanie textu za pomocą "cout", choć jest teoretycznie prostsze, to jest złym nawykiem
ale cout jest podstawowym operatorem
R3X
18.11.2010
G[o]Q
18.11.2010
a jak juz sie mamy czepiac to nie uzywa sie slowa "metoda" tylko "funkcja skladowa"
MaDaFaKa
18.11.2010
G[o]Q
18.11.2010
wywołania funkcji w funkcji
a widziales kiedys wywolanie funkcji poza funkcja
MaDaFaKa
18.11.2010
Użytkownik MaDaFaKa edytował ten post 19.11.2010 14:33
Frozen
19.11.2010
Drodzy użytkownicy... Proszę, nie używajcie Dev'a... Jest to już satare, nieaktualne i w ogóle źle się piszę ; ) Ja polecam Visual Studio Microsoftu. Jeżeli ktoś chce płacić za całe Visual Studio, proszę bardzo
. Jeżeli natomiast chcesz mieć legalnie to ŚRODOWISKO (!), to możesz ściągnąć coś takiego jak wersję Express. Wpisz w wyszukiwarkę hasło "Microsoft Visual C++ 2010 Express". od razu będzie mnóstwo wyników. Może to środowisko będzie się wydawać trudne dla początkującego, to warto się na nie przerzucić. Pozdrawiam !
stary ale ja wole dev c++ bo tym zaczolem... moze ktos bd mial source programu i zrobi update ciekawe...
MaDaFaKa
19.11.2010
MaDaFaKa
19.11.2010
nie wiem o co ci chodzi ale niech ci bd
Oh My Gooodnees! Czy ty naprawdę nie jesteś w stanie zrozumieć prostej polszczyzny(w mojej podświadomości polski jest dosyć łatwym językiem). Na tym etapie nauczania(o ile się nie myle jesteś w II Gimnazjum) powienieneś bezproblemowo rozpoznawać takie słowa jak groteska, itp. Jeżeli ich nie rozumiesz, to musisz zasięgnąć po słownik. Wracając jeszcze do Twojej wiedzy o programowaniu - "Nie rozumiem Ciebie". Chciałeś zabłysnąć na tym forum, mówiąc, iż znasz C++? Popracuj nad składnością zdań i ich rozumowaniem, bo jak na taki wiek dość kiepsko Ci to wychodzi.
PS. Napis u Ciebie pod ilością reputacją idealnie określa Twoje umiejętności.
Użytkownik MaDaFaKa edytował ten post 19.11.2010 15:19




