Muzete mi nekdo, prosim, vysvetlit datove typy - co je co?
int
long int
short int
char
float
double
long double
Omlouvam se za asi debilni dotaz, ale jsem zelenac.
Diky za pochopeni...
int - celé číslo snad od 32 000 do - 32 000
long int větší celé číslo má větší rozpětí
short int - menší celé číslo
char - znak
float - číslo s deset. čárkou
double - to samí? Nejsem si jistý
long double - --- || ----
Datovy typ patri nedilne k promenne, urcuje jak se bude promenna interpretovat:
signed int - cele cislo -32768 az 32767 (staci psat int)
unsigned int - cele cislo 0 az 65535 (staci psat unsigned)
signed short int - cele cislo -32768 az 32768 (staci psat short - 16bitove)
unsigned short int - cele cislo 0 az 65535 (staci psat unsigned short - 16bitove)
signed long int - cele cislo od -2^31 az 2^31-1 (staci psat long)
unsigned long int - cele cislo od 0 az 2^32 (staci psat unsigned long)
signed char - cele cislo -127 az 128 (pro reprezentaci znaku)
unsigned char - cele cislo 0 az 255 (pro reprezentaci znaku)
float - realne cislo s mensi presnosti (6 mist)
double - realne cislo s vetsi presnosti (15 mist)
long double - realne cislo s nejvetsi presnosti (19 mist)
... uff, snad jsem to nespletl :)
aneb, zjednodusene receno, urcuje, kolik mista v pameti je potreba na cislo vymezit.
zacatecnici nejvice pouzivaji int a float (aspon ja jsem to tak delal...)
> ... uff, snad jsem to nespletl :)
Jen pro doplneni ... takhle presne to nemusi byt vsude ... v norme C/C++ nejsou presne velikosti a rozsahy typu specifikovane a tak kazda implementace to muze mit trosku jinak (=> podivej se do dokomentace tvyho C), ale tradicne plati, ze int odpovida prirozene aritmetice procesoru ...
16bit platforma => 16bit int
32bit platforma => 32bit int
... a dale je v norme stanoveno jen toto omezeni:
char <= short <= int <= long
float <= double <= long double
... tusim, ze presna velikost je dana jen pro char ... 1B.
Radek
Jasne, zavisi to na platforme. To co jsem popsal je obecne pro 16bitove prekladace. Rozsah daneho typu se da zjistit z konstant v hlavickovem souboru souboru limits.h. Velikost operatorem sizeof.
Dekuju moc za prispevky - uz umim scitat, nacitat soubor a pipat :-)
Jeste bych se rad zeptal:
1)
Jak je to s grafikou v C pro MS-DOS? Da se tu pracovat take s barvama, rameckama, obrazkama..., nebo je to vylozene textova zalezitost?
2)
Nevite nekdo co je to deleni modulo? Napr: x % y ?
Vubec jsem nepochopil co to je a jak to pracuje?
3)
Daji se do programu zadat take neco jako jsou dosove prikazy 'cls', 'cd'...?
Jak napr. udelam, kdyz budu chtit, aby program 'vycistil' obrazovku (cls) a zacal psat znova od shora? Nebo da se to najak obejit?
Diky moc...
1) Grafika pod DOSem normalne funguje, aspon v Borland C++ 3.1 to slo krasne, koukni se do dokumentace k graphics.h, uz si ty prikazy presne nepamatuju, ale bylo to dobre popsany v helpu.
2) Deleni modulo vraci zbytek po deleni, takze napr 10 % 7 bude 3. Obcas se to hodi...
3) Dosove prikazy spoustet jdou, ale ted si nevzpomenu, jak se ten prikaz jmenoval, opet je to dobre popsane v dokumentaci. Co se tyce mazani obrazovky, staci #include<conio.h>, pak jde pouzit funkci clrscr();
Sezen si Borland C++ 3.1 pro DOS, ma vybornou napovedu.
Rad bych se zeptal, jaky je rozdil mezi 'a++' a '++a' ?
Narazil jsem totiz na nejake priklady a vubec nevim, jak funguji:
a = 2; b = 2; c = 1; d = 0; e = 4;
a++ / ++c * --e by se podle autora melo rovnat 3, ale vubec nevim proc?
--b * c++ - a = -1
-b - --c = -2
.....
Dokazete mi nekdo vysvetlit, jak je to mozny?
Dekuju moc za trpelivost :)
a++ je pre-inkrementace, hodnota a je nejdrive vracena a pak se teprve zvysi
++a je post-inkrementace, a je nejdrive zvyseno a pak vraceno
takze :
a = 3;
b = a++; // b bude 3, a bude 4
a = 3;
b = ++a; // b bude 4 a bude 4
hm, takze oprava:
a++ je post-inkrementace
++a je pre-inkrementace
Aha, tak uz tomu pomalu zacinam rozumet :-)
Jeste bych se rad zeptal, nevite nekdo, jestli se daj nekde na internetu sehnat nejake zdrojaky jednodussich programku v C pro MS-DOS na kterych by zacatecnik mohl neco okoukat a priucit se?
Diky moc za kazdy tip...
Jinak dobrej serial o programovani v C vychazel na serveru Builder.cz
http://www.builder.cz/serial3.html
Co se prikladu tyce, nejlip se programovat naucis, kdyz si budes tvorit vlastni :)
Diky moc za rady - konecne se mi za vasi asistence podarilo vytvorit prvni programek :-)
Jeste bych se rad zeptal ne nejake veci:
Kdyz soucasti instalace kompilatoru neni nejaky hlavickovy soubor (*.h) a ja bych ho nekde sehnal (napr. z jineho kompilatoru) a dokopiroval do adresare k ostatnim hlav. souborum, bude mi to pak chodit, nebo je mozne ze mi to nepujde zkompilovat? Popr. daji se tyto soubory nekde sehnat?
Program v C pro MS-DOS je mozne spoustet pouze z prikazoveho radku MS-DOSu, nebo existuje i nejaky zkusob, aby to slo treba i poklepanim z Win Commanderu. Kdyz to takhle udelam, vzdycky mi program probehne, ale dosove okno se mi vzapeti zavre.
K cemu slouzi v kompilatoru prikazy Rebuild a Debug?
Dekuju moc...
Standardni hlavickove soubory si nemuzes do kompilatoru jen tak pridavat.
Co se tyce spousteni DOSu pod Windows - pouzivej treba primo prikazovy radek, nabidka Start - Prikazovy radek, nebude se ti to zavirat.
Rebuild znovu sestavi jiz zkompilovany zdrojak, Debug obsahuje nastroje
pro hledani a ladeni chyb.