120 likes | 307 Views
Informatik Grundlagen, WS04, Seminar 7 Informatik. Allgemeines. Besprechung „Unvollständige Spezifikation“ im Übungsblatt Übungsblatt Mittwoch oder Donnerstag?. 2-dimensionale Felder. Matrix int myMatrix[ROWS][COLUMNS]. Funktionen. Immer Return Value angeben
E N D
Informatik Grundlagen, WS04, Seminar 7 Informatik
Allgemeines • Besprechung „Unvollständige Spezifikation“ im Übungsblatt • Übungsblatt Mittwoch oder Donnerstag?
2-dimensionale Felder • Matrix • int myMatrix[ROWS][COLUMNS]
Funktionen • Immer Return Value angeben • auch wenn standardmäßig int als return wert • also int myFunc()… • nicht myFunc()… • Wenn in Funktion verschiedene Zweige (durch if-else) müssen alle Zweige Return Value zurückgeben! • Normalerweise aber sowieso nur ein Ausstiegspunkt • void myProc() ist Prozedur
main • main hat auch Rückgabewert. • int main() {… • Dieser kann von Win(DOS) batch file verwendet werden. • errorlevel • Auch Linux/ Unix kann Rückgabewert in shell scripts verwenden • $?
Call by value • Tafel: Funktion max int main () { int a,b printf („%d“,max (a,b)); } int max(int x, int y) { … } • Jede Funktion hat eigenen Speicher für lokale Variablen • Demo: Debugger. Gültigkeitsbereich von Vars. • Demo projekt test4: zech expo funktion
Call by value • Was ist das? • Probieren sie swap-Funktion: • vertauscht x und y; int swap (int x, int y) { int temp = x; x=y; y=temp; } main() { int a=4; int b=5; swap (a,b); }
Parameterübergabe • Aktualparameter • Formalparameter • Zuweisungskompatibilität • Typen von Aktualparameter und Formalparameter müssen zusammenpassen. • sonst castet der compiler. • bsp: intmyFunc (int iPar) {…} main () { myFunc(2.0) }
Umwandeln String in Integer • Dasselbe Prinzip wie in Übung 2: Binärzahl umwandeln in Dezimalzahl.
Deklaration - Defínition • Unterschied? • Compiler benötigt Deklaration • Linker benötigt Definition • #include <stdio.h> • ist eine Forward Deklaration von printf • Definition ist in anderer Bibliothek/ Datei • Demo projekt test4: zech expo funktion • auskommentieren von Dekl. /Def.
tipps • Visual Studio • Consolen Fenster ist nach Programmaufruf sofort wieder weg. • Abhilfe: Ctrl F5 statt F5: Start without Debugging
Aufgabe: Matrix • Matrix mit Skalar multiplizieren. • Erklärung Tafel. Weitere Aufgabe : eigenes strcmp