Tutoriumsinhalt

  • Codingstandard
  • HW1: Häufige Fehler
  • Variablen
  • Operatoren
  • HW2: Besprechung

Coding Standard 1

    [...]
    if(a>=18) {
      if(wd != 0){if( 100<=m) {
e = 1;printf("Herzlich willkommen im Casino!\n");
      } else { printf("Zugang verweigert!\n");}
  }else { puts("Zugang verweigert!");}
  } else { printf("Zugang verweigert!\n");}
[...]

Coding Standard

Einheitliche Formatierung des Programms um die Zusammenarbeit zu vereinfachen.

  • Blockklammern ({ und }) in eigene Zeile
  • Keine Tabulatoren, Einrücken mit 2 Leerzeichen
  • Aussagekräftige Namen für Variablen und Funktionen
  • Naming Convention (long_variable_name, functionName(), CONSTANT_VALUE)
  • Kommentare

siehe https://palme.iicm.tugraz.at/wiki/ESP/CS

Coding Standard 2 - Besser so!

if (age >= 18 && well_dressed && money >= 100)
{
  entry = TRUE;
  printf("Herzlich willkommen im Casino!\n");
}
else
{
  printf("Zugang verweigert!\n");
}
      

HW1 Besprechung

Gut oder schlecht?

Gut oder schlecht?

Gut oder schlecht?

Gut oder schlecht?

Variablen

Eine Variable ist eine Speicherstellen im Arbeitsspeicher, die einen Wert eines bestimmten Typs speichern kann.

  • Definition einer Variable vom Typ int mit
    int age = 20;
  • Zuweisen eines neuen Wertes
    age = 21;
  • Den Wert um 3 erhöhen
    age = age + 3;
  • Ausgabe der ganzen Zahl
    printf("%d\n", age);

Variablen

1int main() { 2 int apples = 0; 3 apples = 5; 4 printf("I have %d apples.\n", apples); 5 return 0; }
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x10000
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x10005
0x1004
0x1008
0x100C
0x1010
0x1014

I have 5 apples.

apples 0x10005
0x1004
0x1008
0x100C
0x1010
0x1014

Operatoren

1int main() { 2 int apples = 15; 3 apples = apples + 5; 4 apples = apples - 5; 5 int persons = 5; 6 int apple_per_person = apples/persons; 7 int more_persons = persons * 2; 8 return 0; }
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x100015
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x100020
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x100015
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x100015
persons 0x10045
0x1008
0x100C
0x1010
0x1014
apples 0x100015
persons 0x10045
apple_per_person 0x10083
0x100C
0x1010
0x1014
apples 0x100015
persons 0x10045
apple_per_person 0x10083
more_persons 0x100C10
0x1010
0x1014
apples 0x100015
persons 0x10045
apple_per_person 0x10083
more_persons 0x100C10
0x1010
0x1014

Operatoren - Achtung!

1int main() { 2 int apples = 2; 3 int persons = 4; 4 int apple_per_person = apples/persons; 5 return 0; }
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x10002
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x10002
persons 0x10044
0x1008
0x100C
0x1010
0x1014
apples 0x10002
persons 0x10044
apple_per_person 0x10080
0x100C
0x1010
0x1014
apples 0x10002
persons 0x10044
apple_per_person 0x10080
0x100C
0x1010
0x1014

Gleitkommazahlen

1int main() { 2 double apples = 2; 3 double persons = 4; 4 double apple_per_person = apples/persons; 5 return 0; }
0x1000
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x10002.0
0x1004
0x1008
0x100C
0x1010
0x1014
apples 0x10002.0
persons 0x10044.0
0x1008
0x100C
0x1010
0x1014
apples 0x10002.0
persons 0x10044.0
apple_per_person 0x10080.5
0x100C
0x1010
0x1014
apples 0x10002.0
persons 0x10044.0
apple_per_person 0x10080.5
0x100C
0x1010
0x1014

Übersicht über die Datentypen

Ganzzahlen
  char
  short
  int
  long
Dezimalzahlen
  float
  double

Rechenoperationen

a + b;Summe
a - b;Differenz
a * b;Produkt
a / b;Division
a % b;Modulo

Rechenoperationen

Pre- & Post-Increment

++i;
i++;

Pre- & Post-Decrement

--i;
i--;

Zuweisung + Rechenoperation kombiniert

i += 3;
i -= 2;
i *= 4;
i /= 5;

HW2: Besprechung / Livedemo

Viel Erfolg bei den Hausübungen!

Abgabeschluss für HW 2:

  • (EP) Dienstag, 17.10.2017 14:00:00 Uhr
  • (ESP) Donnerstag, 19.10.2017 14:00:00 Uhr