1 Grundlagen zu C und C++: Variablen, Schleifen
Sie haben einige Grundlagen zur Programmierung in C gelernt. Dazu gehören Programmblöcke, Datentypen und die Deklaration von Variablen, Operatoren, Auflaufkontroll-Statements
1 Deklaration und Implementierung
Welche Aussagen über Variablen und Funktionen treffen zu?
a „Definition“ ist ein anderes Wort für „Deklaration“. In C++ benutzt man modernerweise das erste der beiden Worte.
b Der Programmierer kann durch die Deklarationen leichter die Übersicht über den Typ einer Variable behalten
c Der Compiler reserviert für jede deklarierte Variable exakt 4 Bytes
d Der Compiler reserviert für deklarierte Variablen Speicherplatz entsprechend der Größe des Datentyps, der zur Deklaration verwendet wurde
e Datentypen sind untereinander grundsätzlich nicht kompatibel, d.h. einer Variable vom Datentyp A kann kein Wert vom Datentyp B zugewiesen werden
f Compiler und Linker geben eine Warnung aus, wenn eine nicht definierte Funktion aufgerufen wird. Das erzeugte Programm kann dann abstürzen.
g Variablen sind, wenn sie einmal deklariert sind, im ganzen Funktionsblock gültig
h Variablen sind, wenn sie einmal deklariert sind, ab der Deklarationsstelle im ganzen Funktionsblock gültig
i Variablen sind, wenn sie einmal deklariert sind, immer im ganzen Programm gültig
j Variablen, die außerhalb eines Anweisungsblocks deklariert sind, sind in der ganzen Datei gültig („global“).
2 Einstiegspunkt
Welche Stelle in jedem C / C++ Programm bezeichnet man als Einstiegspunkt, weil dort die Ausführung (nicht: Kompilierung) des Programms beginnt?
a #include "stdio.o"
b printf()
c #include "stdio.h"
d main()
3 Variablennamen (Bezeichner)
Welches sind gültige (erlaubte) Variablennamen?
a apfel
b Mitteilungstext
c float
d kaffee-bohne
e ganz_schön_teuer
f path name
g unsicherheitsFaktor
h tochter47
i 102dalmatiner
4 Variablendefinition
Im folgenden Programmcode wird der C-Compiler eine Warnmeldung ausgeben. Warum? Geben Sie an, wie man das Programm korrigiert.
/**
* Fibo - ein Programm, um die Fibonacci-Reihe auszugeben.
* Es enthält einen kleinen Fehler.
*
* Aufgabe 1.2
*
* @version $1.0 - 2001-03-27$
* @author David Reitter
*/
#include <iostream.h>
void main (void)
{
int i, j; // Deklaration
// Für alle i zwischen 0 und 99
for (i=0; i<100; i++)
{
j += i; // addiere i zu j
cout << j << endl; // Ausgabe
}
cout << "Fertig." << endl;
}
5 Kommentare
Welche der folgenden Anweisungen sind syntaktisch und inhaltlich akzeptable C++ Kommentare?
a /*
Mathematik-Funktionen
geschrieben von Dr. Lieschen Meier,
Version 2.5, 06.04.1998
*/
b /* Write entry into database and check correctness via checksum. */
c // ok
d // Open TCP/IP connection
e \\ show dialog
f \\* end of file *\\
g <!— main menu -->
h comment(„Dieser Fehler sollte nicht auftreten!“)
i /**
* AtomicValueList: List of possible
atomic values in a grammar
*
*
*
*
* @version $1.0 - 2000-26-10$
* @author David Reitter
* @see
**/
Lösungen müssen in einer einzelnen E-Mail an die Adresse reitter (at) ling.uni-potsdam.de bis zum folgenden Montag, 12 Uhr eingereicht werden. Quelltexte sind als Anhänge mitzuliefern und sollten ohne Warnungen mit dem Borland-Compiler und der mitgelieferten Rogue-Wave-STL zu übersetzen sein (auf jeden Fall jedoch ohne Compiler-Fehler). Sämtliche Quelltexte sind mit Kommentaren zu versehen. Bezeichner sollten sinnvoll sein (deutsch/englisch).