You are on page 1of 2

Jazyk C (ANSI) Operátory Tok riadenia

prvok štruktúry meno.clen ukončenie prı́kazu ;


Štruktúra programu/Funkciı́ smernı́k do štruktúry pointer ->clen oddelenie bloku { }
#include <filename> vložı́ knižničné súbory inkrementácia, dekrementácia ++, -- komentáre /* */
#include "filename" vložı́ užı́vateľské súbory plus, minus, logical not, bitwise not +, -, !, ~ opustenie switch, while, do, for break
#define meno value definı́cia makra/konštanty hodnota cez smernı́k, adresa *pointer , &meno ďalšia iterácia while, do, for continue
typ fnc(typ 1 ,. . . ) deklarácia funkcie typová konverzia (typ) vyraz návrat z funkcie return vyraz
typ meno deklarácia externej premennej zistenie veľkosti sizeof ukončenie vykonávania exit(arg)
main() { hlavná funkcia násobenie, delenie, zvyšok *, /, % Tvorba toku riadenia (if/while/for/do/switch)
declarations deklarácie lokálnych premenných sčı́tanie, odčı́tanie +, -
if (vyraz )
prikazy bitový posun vľavo, vpravo <<, >>
prikaz
} porovnanie >, >=, <, <=
else if (vyraz )
typ fnc(arg 1 ,. . . ) { definı́cia funkcie porovnanie ==, !=
prikaz
declarations deklarácie lokálnych premenných bitové AND &
else
prikazy bitové XOR ^
prikaz
return value; bitové OR |
} logické AND && while (vyraz )
logické OR || prikaz
/* */ komentár
podmienený výraz vyraz 1 ? vyraz 2 : vyraz 3 for (vyraz 1 ; vyraz 2 ; vyraz 3 )
main(int argc, char *argv[]) main s argumentmi
operátory priradenia +=, -=, *=, . . . prikaz
Dátové Typy/Deklarácie oddeľovač výrazov ,
do
Unárne operátory, podmienený výraz a operátory priradenie sa
znak (1 byte) char združujú zprava do ľava; ostatné zľava doprava. prikaz
celé čı́slo int while(vyraz );
pohyblivá rádová čiarka (malá presnosť) float Smernı́ky a polia switch (vyraz ) {
pohyblivá rádová čiarka (dvojitá presnosť) double
objekt, na ktorý ukazuje smernı́k pointer *pointer case const 1 :
krátke (16 bit) čı́slo short
adresa objektu meno &meno prikaz 1
dlhé (32 bit) čı́slo long
deklarácia smernı́ka typ *meno break;
kladné aj záporné signed
pole meno[dim] case const 2 :
iba kladné unsigned
viacrozmerné pole meno[dim 1 ,. . . ] prikaz 2
smernı́k na int, float,. . . *int, *float,. . .
beztypový smernı́k void * break;
vymenovanie konštánt enum
smernı́k do štruktúry pointer ->clen default:
konštantná (nemenná) hodnota const
Deklarácie smernı́kov prikaz
deklarácia externej premennej extern
smernı́k na typ typ *meno break;
registrová premenná register
funckia f vracajúca smernı́k na typ typ *f() }
lokálna v jednom súbore static
smernı́k pf na funkciu vracajúcu typ typ (*pf)()
bez hodnoty void C Preprocesor
štruktúra struct Štruktúry vložı́ knižničné súbory #include <filename>
pomenovaný dátový typ typedef typ meno struct tag { predpis štruktúry vložı́ užı́vateľské súbory #include "filename"
veľkosť objektu (typ je size_t) sizeof object declarations deklarácia členov nahradenie textu #define meno text
veľkosť typu (typ je size_t) sizeof(typmeno) }; nahradenie makra #define meno(var ) text
Konštanty vytvorenie štruktúry struct tag meno Prı́klad. #define max(A,B) ((A)>(B) ? (A) : (B))
sprı́stupnenie člena štruktúry meno.clen zrušenie definı́cie #undef meno
long (prı́pona) L or l podmienený preklad #if, #else, #elif, #endif
float (prı́pona) F or f člen štruktúry danej smernı́kom pointer -> clen
Prı́klad. (*p).x a p->x značia to isté je meno definované, nedefinované? #ifdef, #ifndef
vedecký tvar e meno definované? defined(meno)
oktálne (prefix nula) 0 jedna hodnota, viac typov union
bitové pole s b bitmi clen : b pokračovanie makra na viac riadkoch \
hexadecimálne (prefix nula-x) 0x or 0X
znaková konštanta 'a' Initializácia Štandardné ANSI knižnice
znaková konštanta (oktálne) '\ooo' <assert.h> <ctype.h> <errno.h> <float.h> <limits.h>
znaková konštanta (hexadecimálne) '\xhh' premennej typ meno=value
<locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h>
newline, cr, tab, backspace \n, \r, \t, \b poľa typ meno[]={value 1 ,. . . }
<stddef.h> <stdio.h> <stdlib.h> <string.h> <time.h>
špeciálne znaky \\, \?, \', \" reťazca char meno[]="string"
znaková konštanta (končı́ '\0') "abc. . . de"
c 1998 Joseph H. Silverman
July 1998 v1.0. Copyright °
Permission is granted to make and distribute copies of this card pro-
vided the copyright notice and this permission notice are preserved on
all copies.
Send comments and corrections to J.H. Silverman, Math. Dept., Brown
Univ., Providence, RI 02912 USA. hjhs@math.brown.edui
C Reference Card (ANSI) Operácie s reťazcami <string.h> Limity Typov Celých Čı́sel <limits.h>
s,t sú reťazce, cs,ct sú reťazcové konštanty CHAR_BIT 8 bitov v char
Vstup/Výstup <stdio.h> džka s strlen(s) CHAR_MAX max. hodnota char
kopı́ruj ct do s strcpy(s,ct) CHAR_MIN 0 max. hodnota char
Štandardný Vstup/Výstup INT_MAX +2147483647 max. hodnota int
až po n znakov strncpy(s,ct,n)
štandardný vstupný súbor stdin INT_MIN -2147483647 min. hodnota int
zlúč ct s s strcat(s,ct)
štandardný výstupný súbor stdout LONG_MAX +2147483647 max. hodnota long
až po n znakov strncat(s,ct,n)
štandardný chybový súbor stderr LONG_MIN -2147483647 min. hodnota long
porovnaj cs s ct strcmp(cs,ct)
koniec súboru EOF SCHAR_MAX +127 max. hodnota char
iba prvých n znakov strncmp(cs,ct,n)
načı́taj znak getchar() SCHAR_MIN -127 min. hodnota char
smernı́k ku prvému c v cs strchr(cs,c)
vypı́š znak putchar(chr ) SHRT_MAX +32767 max. hodnota short int
smernı́k k poslednému c v cs strrchr(cs,c)
formátovaný výpis printf("format",arg 1 ,. . . ) SHRT_MIN -32767 min. hodnota short int
kopı́ruj n znakov z ct do s memcpy(s,ct,n)
vpı́š do reťazca s sprintf(s,"format",arg 1 ,. . . ) UCHAR_MAX 255 max. hodnota unsigned char
kopı́ruj n znakov z ct do s memmove(s,ct,n)
načı́taj formátované dáta scanf("format",&meno 1 ,. . . ) UINT_MAX 4294967295 max. hodnota unsigned int
porovnaj n znakov z cs s ct memcmp(cs,ct,n)
načı́taj z reťazca s sscanf(s,"format",&meno 1 ,. . . ) ULONG_MAX 4294967295 max. hodnota unsigned long
smernı́k ku prvému c v prvých n znakoch memchr(cs,c,n)
z cs
riadok do reťazca s (< max znakov) gets(s,max) USHRT_MAX 65536 max. hodnota unsigned short
vlož c do prvých n znakov z cs memset(s,c,n)
vypı́š reťazec s puts(s)
Vstup/Výstup do/zo súboru Štand. univerzálne funkcie <stdlib.h> Funkcie Času a Dátumu <time.h>
deklarácia smernı́ka súboru FILE *fp
absolútna hodnota z int n abs(n) procesorový čas použitý programom clock()
otvorenie súboru fopen("meno","mode")
absolútna hodnota z long n labs(n) Prı́klad. clock()/CLOCKS_PER_SEC je čas v sekundách
módy: r (čı́tanie), w (zápis), a (doplnenie)
podiel a zvyšok delenia int n,d div(n,d) aktuálny kalendárny čas time()
načı́taj znak getc(fp)
vracia štruktúru s div_t.quot a div_t.rem čas2 -čas1 v sekundách (double) difftime(time2 ,time1 )
zapı́š znak putc(chr ,fp)
podiel a zvyšok delenia long n,d ldiv(n,d) typy na reprezentácie času clock_t,time_t
zapı́š do súboru fprintf(fp,"format",arg 1 ,. . . )
vracia štruktúru s ldiv_t.quot and ldiv_t.rem typ štruktúry pre formát kalendárneho času tm
čı́taj zo súboru fscanf(fp,"format",arg 1 ,. . . )
pseudo-náhodné celé čı́slo [0,RAND_MAX] rand() tm_sec sekundy po minúte
uzavri súbor fclose(fp)
nastav náhodné počiatočné čı́slo n srand(n) tm_min minúty po hodine
nenulová hodnota, ak nastala chyba ferror(fp)
ukonči vykonávanie programu exit(status) tm_hour hodiny od polnoci
nenulová hodnota, ak nastal koniec súborufeof(fp)
pošli reťazec s systému na vykonanie system(s) tm_mday deň v mesiaci
načı́taj riadok do reťazca s (< max zankov)fgets(s,max,fp)
Konverzie tm_mon mesiace od januára
napı́š reťazecs fputs(s,fp)
preveď reťazec s float/double atof(s) tm_year roky od 1900
Formáty pre Vstup/Výstup: "%-+ 0w.pc"
preveď reťazec s int atoi(s) tm_wday dni od nedele
- ľavé zarovnanie
preveď reťazec s long atol(s) tm_yday dni od 1. januára
+ výpis so znamienkom
preveď časť reťazca s na double strtod(s,endp) tm_isdst Indikácia letného času
space vypı́š medzeru ak nie je znamienko
0 blok vedúcich núl preveď časť reťazca s (base b) na long strtol(s,endp,b) preveď lokálny čas na kalendárny čas mktime(tp)
w minimálna šı́rka poľa rovnako, ale unsigned long strtoul(s,endp,b) preveď čas v tp na reťazec asctime(tp)
p presnosť Alokácia Pamäte preveď kalendárny čas v tp na lokálny časctime(tp)
c znak konverzie: alokuj pamäť calloc(nobj,size) preveď kalendárny čas na GMT gmtime(tp)
d,i celé čı́slo u neznamienkové alokuj pamäť malloc(size) preveď kalendárny čas na lokálny čas localtime(tp)
c jediný znak s reťazec znakov zmeň veľkosť objektu realloc(pts,size) formátuj info dátumu a času strftime(s,smax,"format",tp)
f float/double e,E čı́slo s exponentom uvolnenie miesta free(ptr) tp je smernı́k na štruktúru typu tm
o osmičkové čı́slo x,X šestnástkové čı́slo Funkcie Polı́
p smernı́k n počet napı́saných znakov hľadaj v poli heslo bsearch(key,array,n,size,cmp()) Limity Typu Float <float.h>
g,G rovnaké ako f alebo e,E závisı́ od exponentu zoraď pole vzostupne qsort(array,n,size,cmp()) FLT_RADIX 2 základ exponentu
FLT_ROUNDS zaokrúhľovacı́ mód rádovej čiarky
Testovanie Druhu Znaku <ctype.h> Matematické funkcie <math.h> FLT_DIG 6 desatinné čı́slice presnosti
argumenty a vrátené hodnoty sú typu double FLT_EPSILON 1E-5 najmenšie x tak 1.0 + x 6= 1.0
alfa-numerický? isalnum(c)
trigonometricé funkcie sin(x), cos(x), tan(x) FLT_MANT_DIG počet čı́slic v mantise
abecedný? isalpha(c)
prevrátené trigonomické funkcie asin(x), acos(x), atan(x) FLT_MAX 1E+37 maximálne čı́slo s rádovou čiarkou
kontrolný znak? iscntrl(c)
arctan(y/x) atan2(y,x) FLT_MAX_EXP maximálny exponent
desatinná čı́slica? isdigit(c)
hyperbolické trigon. funkcie sinh(x), cosh(x), tanh(x) FLT_MIN 1E-37 minimálne čı́slo s rádovou čiarkou
viditeľný znak? isgraph(c)
exponenciály & logaritmy exp(x), log(x), log10(x) FLT_MIN_EXP minimálny exponent
malé pı́smeno? islower(c)
Prevod mantisa/exponent ldexp(x,n), frexp(x,*e) DBL_DIG 10 desatinné čı́slice presnosti
viditeľný znak? isprint(c)
delenie & zvyšok modf(x,*ip), fmod(x,y) DBL_EPSILON 1E-9 najmenšie x so 1.0 + x 6= 1.0
interpunkcia? ispunct(c)
mocniny pow(x,y), sqrt(x) DBL_MANT_DIG počet čı́slic v mantise
medzera, koniec riadku, tab...? isspace(c)
zaokrúhlenie ceil(x), floor(x), fabs(x) DBL_MAX 1E+37 max double čı́slo s rádovou čiarkou
veľké pı́smeno? isupper(c)
DBL_MAX_EXP maximálny exponent
šestnástková čı́slica? isxdigit(c)
DBL_MIN 1E-37 min double čı́slo s rádovou čiarkou
konvertuj na malé pı́smeno tolower(c)
DBL_MIN_EXP minimálny exponent
konvertuj na veľké pı́smeno toupper(c)

You might also like