Info2/2008tavasz/kuka
A MathWikiből
(Változatok közti eltérés)
64. sor: | 64. sor: | ||
==== Feltételes kifejezés ==== | ==== Feltételes kifejezés ==== | ||
+ | |||
+ | a feltételes művelet ''ternér művelet'', azaz 3 argumentuma van. | ||
+ | |||
+ | ''feltétel'' ? ''kifejezés_1'' : ''kifejezés_2'' | ||
+ | |||
+ | Például: | ||
+ | |||
+ | z = x<y ? x : y; | ||
+ | |||
+ | Ami a következő kóddal ekvivalens: | ||
+ | |||
+ | if(x<y) | ||
+ | z = x; | ||
+ | else | ||
+ | z = y; | ||
+ | |||
+ | === Állapottér, állapotgép (automata) === | ||
+ | |||
+ | Ld. [http://www.fsz.bme.hu/~szebi/slides/C7/sld033.htm Szeberényi György] anyagában. |
A lap 2008. március 27., 23:35-kori változata
Tartalomjegyzék |
6. előadás (2008-03-28)
Ami az eddigiekből kimaradt
Felsorolások (enumerátorok), az enum adattípus
enum
típusazonosító {felsorolás} változók;
enum hetkoznap {hetfo, kedd, szerda, csutortok, pentek}; enum Boolean {true, false} elment=false; ... enum hetkoznap fogorvos=szerda; fogorvos=pentek; ... elment=true;
Automatikusan 0-tól sorszámozódó int típusok. Az érték megválasztható:
enum t_vegu_szamjegyek {ot=5, hat, het};
típusazonosító nélküli egyszer használatos felsorolások:
enum {tegnap, ma, holnap} mikor=ma; ... mikor=holnap;
typedef -- típus definiálása
Definiáljuk a Gauss-egészek struktúráját:
struct Gauss_egesz { int x; int y; } a, b;
Legyen egy ilyen típusunk:
typedef struct Gauss_egesz GEtipus; GEtipus a, b;
vagy összeolvasztva:
typedef struct Gauss_egesz { int x; int y; } GEtipus; GEtipus a, b;
esetszétválasztás (switch/case/default)
Az if-else csak kétfelé elágazást enged, a switch többfelé:
switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': printf("decimális"); break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': printf("hexadecimális"); break; default: print("nem számjegy"); }
Feltételes kifejezés
a feltételes művelet ternér művelet, azaz 3 argumentuma van.
feltétel ? kifejezés_1 : kifejezés_2
Például:
z = x<y ? x : y;
Ami a következő kóddal ekvivalens:
if(x<y) z = x; else z = y;
Állapottér, állapotgép (automata)
Ld. Szeberényi György anyagában.