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.

Személyes eszközök