Info2/2008tavasz/kuka

A MathWikiből
A lap korábbi változatát látod, amilyen Wettl (vitalap | szerkesztései) 2008. március 27., 23:35-kor történt szerkesztése után volt.

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