- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Hromadně přidat materiály
Programovací jazyk C++ Jiří Vogel
2012033ZAPG - Základy algoritmizace a programování
Hodnocení materiálu:
Zjednodušená ukázka:
Stáhnout celý tento materiálProgramovací jazyk C++
Jiří Vogel
Úvodní poznámka
Tato skripta vznikla po odpřednáąení několika jednosemestrálních doporučených kurzů: Programovací jazyk C++. Při sestavování těchto přednáąek jsem vycházel hlavně z publikace [3], jejíľ autoři jsou zároveň tvůrci jazyka C. Jsou to zřejmě ty výjimečné typy lidí, kteří jsou skvělými programátory a zároveň výbornými pedagogy. Takľe v prakticky celé 1. a 2. kapitole jsem se nechal vést jejich vzorem. Daląí publikace, do kterých jsem by» jen nahlédl, jsou uvedeny v seznamu literatury. Publikace [2] a [6] pojednávají o standardu ANSI C. Publikace [1] a [3] o původní K&R verzi jazyka C, skriptum [4] popisuje jazyk ANSI C a zároveň seznamuje čtenáře s verzí K&R. Jazyka C++ se týkají knihy [5], [7] a kniha [8], která je navíc věnována hlavně objektově orientovanému programování, protoľe C++ je jedním z mnoha jazyků, které tento programátorský styl práce umoľňují.
Skripta jsem se snaľil psát maximálně stručně a důraz jsem kladl na příklady, které jsou vąechny odladěny (větąinou jsem pouľil produktu firmy Borland Turbo C++), takľe syntaktické chyby ani chyby v algoritmizaci (snad s výjimkou volby optimálního algoritmu a chyb, které vznikly při přenosu programů do skript) by se v nich neměly vyskytovat.
V prvé kapitole jsou základní struktury jazyka C++ vysvětleny pouze na příkladech. Tuto kapitolu by si měl kaľdý čtenář důkladně promyslet, a odzkouąet jak odladěné příklady, tak zadaná cvičení. Ve druhé kapitole jsou uvedeny podrobnosti typu: Jak se zadávají konstanty? Kolik a jakých znaků smí mít jméno nějakého objektu? Jaké jsou základní typy hodnot, jaké jsou standardní operace v jazyku atd. Ve třetí kapitole se čtenář dozví daląí důleľité podrobnosti o jazyku C++, kterými jsem nechtěl z pedagogických důvodů zatěľovat v prvních dvou kapitolách. Čtvrtá kapitola pojednává podrobně o polích a funkcích, o kterých čtenář skript, který doąel aľ sem, jiľ dost ví, a o ukazatelích (jiný český termín je spoj), které byly čtenáři prakticky zamlčeny. Pátá kapitola pojednává o strukturách, třídách (i kdyľ s nejdůleľitějąími vlastnostmi tříd se čtenář seznámí aľ v kapitole ąesté), unionech a takových podrobnostech jako jsou tzv. bitová pole. ©está kapitola je věnována objektově orientovanému programování, které je vysvětleno na různě sloľitých příkladech, kdy jsem se vľdy snaľil vycházet od jednoduchých příkladů, ale závěrem jsem se nevyhnul ani příkladům dosti sloľitým, aby vynikl důvod, pro který tento programátorský styl vznikl. Sedmá kapitola je věnována předpřekladači (nebo, chcete-li, preprocesoru), který usnadňuje programování jak v jazyku C, tak v jazyku C++.
Závěrem bych chtěl upozornit, ľe ten, kdo se chce seznámit se speciálními moľnostmi konkrétní implementace jazyka C++, tj. např. grafickými a matematickými knihovnami, moľnostmi optimalizace programu apod., ten nech» tato skripta odloľí. Ten kdo se chce obecně, ale relativně podrobně seznámit s jazykem C++, ten by snad mohl toto skriptum pouľít jako uľitečnou pomůcku.
Závěrem bych chtěl poděkovat studentu Jiřímu Vávrovi ze Strojní fakulty ČVUT a doktorandu Ing. Luďku ©árovi z Ústavu termomechaniky AV ČR za pečlivé přečtení rukopisu a oponentu Ing. Svenu Ubikovi, systémovému programátorovi z Informačního centra FS ČVUT za cennépřipomínky k úpravě textu.
Autor
Poznámka k "elektronické" podobě skript
Skripta jsem přepsal do jazyka HTML, aby se studentům usnadnil přístup a zároveň aby byla demonstrována uľitecnost práce s tímto tvarem informací. Dneąním dnem ruąim informaci: Contents under Construction , ale za jakékoliv připomínky na své e-mailové adrese:
nebo
předem děkuji
Autor
Praha 11. července 1998
Obsah
Úvod do jazyka C++
U201/skrcpp.html" \l "neko" Několik jednoduchých programů
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "poci" Počítání znaků
externí proměnné
z/cz/U201/skrcpp.html" \l "cvic" Cvičení
http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "jmen" Jména
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "typy" Typy
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "kons" Konstanty
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "oper" Operátory
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "arit" Aritmetické operátory
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "prop" Přiřazovací operátory
cz/U201/skrcpp.html" \l "typo" Typová konverze
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "prbl" Příkazy a bloky
Registrové proměnné
skrcpp.html" \l "ukad" Ukazatelé a adresy
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "ukaf" Ukazatelé a argumenty funkcí
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "ukpo" Ukazatelé a pole
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "ukko" Ukazatelé a konstanty
HYPERLINK "http://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "arpr" Argumenty povelového řádku
ttp://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "jnpf" Jeątě několik podrobností o funkcích
Dosazené parametry
t.fsid.cvut.cz/cz/U201/skrcpp.html" \l "cvi3" Cvičení
nonymní typ union
/skrcpp.html" \l "cvi4" Cvičení
://fsinet.fsid.cvut.cz/cz/U201/skrcpp.html" \l "poop" Příklady objektově orientovaného programování v C++
/skrcpp.html" \l "oppr" Přetíľené operátory
sid.cvut.cz/cz/U201/skrcpp.html" \l "tth_chAp7" Poznámky k předpřekladači
ne bez parametrů
/U201/skrcpp.html" \l "popr" Podmíněný překlad
Kapitola 1 Úvod do jazyka C++
V této kapitole se seznámíme s podstatnými prvky jazyka, aniľ bychom zabíhali do podrobností. Jazyk budeme vykládat na příkladech. Tento způsob výkladu má svá úskalí, zejména pokud se jedná o přesnosti popisu jazyka, ale jediným způsobem jak se naučit programovací jazyk, je programovat, a proto zvolíme tuto strategii. Budeme postupovat tak, ľe nejprve zadáme úlohu, napíąeme program v jazyku C++ a program si vysvětlíme.
1. Vstup a výstup
Příklad 1.1. Sestavme program, který vytiskne text
Vitejte v kurzu jazyka C++
Řeąení:
varianta:
#include
main()
{
cout b) ? a : b;
Příklad 2.4. Sestavme program, který tiskne n prvků pole tak, ľe na řádku je 10 prvků. Kaľdý prvek je oddělen od druhého mezerou a kaľdý řádek (i poslední) je ukončen právě jedním znakem . Pole a jeho velikost definujme jako externí proměnné.
Řeąení:
#include
int a[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},n=15;
main()
{
for (int i=0;i 0) ? i : f typu float.
V přiřazovacím příkazu je typ na pravé straně konvertován na typ z levé strany; tato skutečnost, právě tak jako ve Fortranu, můľe vést ke ztrátě přesnosti a nepříjemným chybám.
Příklady:
[a)] Je-li definováno char zn; pak
zn += 65; Ż 65 je konvertováno na char, tj. zn je přiřazen znak A 65 je konvertováno na char, tzn. zn je přiřazen znak A zn += 32; hodnota zn se zvětąí o 32, tj. na 97, coľ je znak a zn -= '2'; hodnota zn se zmenąí o 50, tj. na 47, coľ je znak /
[b)] Je-li definováno int k; pak
k = 'Z' + 32; Ż k je přiřazena hodnota 90 k je přiřazena hodnota 90 k = 'Z' + 32; k se přiřadí hodnota 122 k = 7.9876 k se přiřadí hodnota 7 (!!!)
[c)] Je-li definováno double d; pak
k = 'Z' + 32; Ż k je přiřazena hodnota 90 d se přiřadí hodnota 10.0 k = d * zn;
V posledním případě se zn konvertuje na int a pak na double. Výsledek součinu je double a je to hodnota 470., která se opět zkonvertuje na int a přiřadí proměnné k.
Je nutno upozornit, ľe hodnoty v příkladech uvedené platí v případě, ľe systém pracuje s kódem ASCII.
Předchozí popsané případy se provádějí automaticky bez naąeho přispění. Můľeme vąak provádět typové konverze explicitně, které se říká přetypování. Má tvar:
( typ)výraz a význam: výraz je konvertován
Vloženo: 25.04.2009
Velikost: 534,00 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Copyright 2025 unium.cz


