CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
PROGRAMOVÁNÍ V C – ZAČÍNÁME
OBSAH
Programování v C – Začínáme
Programování v C – Deklarace proměnných
Simulace stisku klávesy v Assembleru
Program na zjištění IP adresy v C++
Je tu první povídání o programování v C, kde uvedu a rozeberu příklad. Také se dozvíte, které vývojové nástroje používat.
Vítám Vás u mého seriálu, který je zasvěcen programování v C (dále jen cečko). Ale ještě před tím než začneme, chtěl bych Vám představit jeden nástroj, který používám sám a ve kterém budou napsaný všechny příklady. Tímto nástrojem je Dev-C++, který slouží jako kompilátor a vývojové prostředí pro programovací jazyky C a C++. Prostředí se skládá z projektově orientovaného programátorského editoru, který je integrovaný s překladačem jazyka C/C++ (GCC) a nástroji pro ladění programů (GDB 5). Editor podporuje zobrazování syntaxe jazyka a editování „resource“ souborů. S programem je dodávána utilita pro tvorbu instalačního programu a velké množství různých knihoven. Když k tomuto nástroji dodáte runtime knihovnu MinGW nebo Cygnus, mužete vyvinout dokonalé prostředí pro programátora. Dev-C++ si mužete stáhnout z této adresy Bloodshed.net.
Jak se budemé učit? Ze začátku Vám napíši program, který pak postupně rozeberu a vysvětlím.
A teď přístoupíme k našemu prvnímu programu, bohužel to nebude všem známý program 'Hello, World', ale trochu složitější program. Bude totiž využívat jednoduchý vstup a výstup.
/* Tento program bude obsahovatCo dělá tenhle malý programek? Žádá Vás o zadaní čísel, které pak vynásobí a vypíše výsledek. A teď k podrobnějšímu popisu.
První dvě řadky obsahují komentař, který se uzavírá takto /* */ (na více řadků) nebo // (na jednu řadku). Další řádka je příkaz preprocesoru začleňující hlavičkový soubor #include <stdio.h>, který obsahuje všechny údaje potřebné pro správné použití funkcí printf() a scanf(). Pak nastupuje funkce main(), kde úvodní int určuje celočíselný typ návratové hodnoty. Tělo funkce je vymezeno složenými závorkami . Určili jsme typ proměnných int (=celočíselná) a float(=reálná). Na další řádce žádáme uživatele, aby zadal dvě čísla, která se pak uloží do dvou proměnnych pomocí příkazu scanf. Jelikož ukládáme nějaké hodnoty do proměnných p a d, je nutné před tyto proměnné napsat znak &, který vrací adresu proměnné. Tak funkce scanf() pracuje s adresami těchto proměnných. Pak tyto dvě čísla násobíme a výsledek ukládáme do proměnné vysledek, který pak vypisujeme příkazem printf na obrazovku. To samé provadíme na ostatních řádcích.
Na dnešek je to vše.
Ano, jak jsem mohl zapomenout na proměnné a konstanty, vždyť je to nejduležitější. Jak říkam: 'Všecko do jednoho nenacpeš'. Jak jste jistě pochopili řeč dneska bude o proměnných a jejích deklarací.
Ze začatku Vám napíšu pár indentifikátorů a povím k čemu slouží, pak si povíme něco o typu dat a něco málo o konstantách a ukazatelých.
Indentifikátory – jsou to nějaká jména, která například přiřazujeme proměnným a používáme je. Pozor. Céčko rozlišuje mála a velká písmena u indentifikátorů. Také existují vyjimky – jsou to slova klíčova, která nemužete použít jako indentifikátor. Tady je seznam:
auto |
double |
int |
struct |
Typy dat – v minulem članku jsme použili dva typy dat: celočíselny a racionální jsou základní typy.
Datový typ |
Počet bitů |
Význam |
Co bych k tomu ještě dodal. To nevím, ale přejděme už na konstanty.
Konstanty – jsou několika druhů celočíselné, racionálni a znakové. Pozor: ke konstantam nelze přiřadit operátory přiřazení, inkrementace a dekrementace, funkční volání, operáto čárka. Jak definujeme konstanty? Odpoveď je prostá a jednoduchá. Definujeme je až po klíčovém slovu např.
const int
promena=25;
const float racionalni=6.25;
a tak dal. O proměnnych nic říkat nebudu, jelikož jsme je používali v našem předchozím příkladu. Jsou to ty, co jsme definovali jako int a float.
A je to vše, co dneska povíme. V následujícím članku čekejte další příklad neb lehčí se učit na příkladech, než na povídani, které mi už leze krkem. Jaký bude příklad? Budeme počítat slova, řádky a písmena, které napíšeme.
Tento program simuluje stisk klávesy (při stisku klávesy jiné)
Příkazová
řádka: 'nasm.exe
simul4.asm -o simul4.com -O2'
Ukázka demonstruje závádění rezidentního programu, odchytávání kláves a
simulaci stisku kláves.
Program nejprve skočí na zavaděč, který okopíruje rezidentní
část, přičemž přepíše nevyužitou část PSP. Poté přesměruje
vektor INT9 (IRQ1 - klávesnice) a rezidentní ponechá pouze obslužnou část.
Ta při detekci Shift-Tab simuluje F2.
Pokusím se přiblížit pomocí příkladu kódu:
GoTo Init
A tady uz je zdrojak:
V našem časopise se nedávno objevil program na zjištění IP adresy na vzdáleném počítači napsaný v Delphi. Byl jsem požádán o podobný příklad ale v C++. V článku najdete zdrojový kód a krátký popis programu.
Zdrojový kód, jak vidíte níže, je velmi jednoduchý. Skládá se pouze z funkce main() konzolové aplikace vytvořené ve VC++ nebo i jiném vývojovém prostředí.
#include
<windows.h>
#include <iostream.h>
void main(int argc, char *argv[])
if (WSAStartup(MAKEWORD(1, 1), &wsadata))
cout << 'Getting IP address of host: ' <<
argv[1] << endl;
hostent = gethostbyname(argv[1]);
if (hostent)
else
cout << 'Unable to get IP address.n';
WSACleanup();
}
Nyní si probereme jednotlivé kroky:
To je vše. Program a zdrojový kód si můžete stáhnout zde.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 793
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved