C NYELV PASCAL-ban: program Hello; begin Writeln('hello'); end c-ben: #include main(){ printf("hello"); } Forditas gcc -fordító gcc forras ->a.out gcc -o out_fn forras -> out_fn pl: gcc elso.c gcc -o elso elso.c #include <>:standard könyvt. " ":saját #include"my_func.h" függveny visszateresieert neve(parameterek) {} = begin end(pascal) Kiiratatas es beolvasas: printf -kiir printf(string [,valt1, ....,valtn]); %d -decimalis %c - karakter %lf -valos %s -sztring %x.ylf -valos x egesz, y tizedes jegy %6.3lf 6 3 \n: -new line (uj sor) \t: -TAB \\ \-jel \" "-jel \% %-jel #include main() { int i; i=10; printf("%d\n",i); scanf("%d",&i); printf("%d\n",i); } Beolvasas: scanf(string [,&valt,....,&valtn]) -a valtozok bemenetei memoria cimekre mennek! Valtozok tipus nev1,....,nevn; tomb tipust nev[d1]..[dn]; pl: int a[100][100]; -az index 0...d-1 -ig valtozik C-program #... . . . valt -> fiz. memoria . . . fugv(){} max 64 kb . . . main(){} max 64 kb . . . fugv{} TIPUSOK Egeszek: -char 1 byte(-128->+127) -short[int] -int 2-4 byte -long 4byte unsigned -elojel nelkul signed -elojeles(alapertelmezett) Valos -float 4byte -double 8byte Logikai -nincs!!!!!!!!!!!! MUVELETEK T x T ->B == =-ség jel != nem 7 && logikai es || logikai vagy ! negalas Bitmuveletek: & and | or ^ xor >> shift << pl: a=6, b=12 a & b=? 0110 &1100 =0100 (bitenkenti es) -> a&b=4 es -> a|b=14 vagy -> a^b=10 "kizaro"vagy shift: -eltolja(balra) a szamot: duplajara no ez erteke pl 10010 10010 Egeszek: / osztas % modulo Tipuskenyszerites: (T) v pl: int a[30]; double b; b=0.33; c=a[(int)b]; (egessze kenyszeriti b-t, 0 lesz, egszereszet veszi) Ertekadas: = v1=v1 m v2 pl a=a*b v1m=v2 a*=b (ha a hosszu, akkor jo) Succ, Pred (Pascal) ++ a++ -> a=a+1 -- a-- -> a=a-1 VEZERLESI SZERKEZETEK -szekvencialis p1; p2; ... -szelekcios if(felt){ igaz_felt; }esle if(felt2){ igaz_felt2; ... }else{ } -kezdofelteteles ism. vez: while(felt){ } -vegfelteteles: do{ }while(felt); ZH!!!!!!!!!!!!!!!!!!! C szintaktika C tipusok printf, scanf if -else if -else while, do while PASCAL tomb, rekord PASCAL pointer +ISM