C/C++ Programmierung
Aufgabe 1
- Geben Sie das folgende Programm in den Editor ein.
- Starten Sie es nach erfolgreicher Übersetzung in der integrierten Umgebung.
- Lassen Sie sich die Online-Hilfe zu printf und scanf anzeigen
- Gehen Sie das Programm einzelschrittweise mit dem integrierten Debugger durch.
- Modifizieren Sie das Programm so, daß es auch den Wert von a ausgibt.
- Ändern sie die Reihenfolge der Auswertung a / 2 * 3 in 3 * a / 2. Wie verändert sich die Ausgabe für a=5, a=6 und a=12000?
- Passen Sie die Überprüfung des Wertebereiches an.
/* Header-Datei einbinden, damit der Compiler weiss, welche Parameter- und
welche Ergebnistypen printf und scanf haben können. */
#include <stdio.h>
int main(void) /* so heißt das Hauptprogramm immer */
{
int a,b; /* zwei Variablen vom Typ int (ganze Zahl -32768..32767) */
scanf("%d", &a );
if ( a > 21844 )
printf("a ist zu groß\n");
else
printf("Wertebereich wird nicht überschritten\n");
b = a / 2 * 3; /* alle Operationen werden ganzzahlig ausgeführt */
printf("b = %d\n", b ); /* Ausgabe: siehe auch Online-Hilfe */
return(0); /* jedes Hauptprogramm sollte 0 bei Erfolg zurückgeben */
}
Lösung für die Aufgabe
/* Header-Datei einbinden, damit der Compiler weiß, welche Parameter- und
welche Ergebnistypen printf und scanf haben können. */
#include <stdio.h>
int main(void) /* so heißt das Hauptprogramm immer */
{
int a,b; /* zwei Variablen vom Typ int (ganze Zahl -32768..32767) */
scanf("%d", &a );
if ( a > 10922 ) /* Wertebereich geändert */
printf("a ist zu gross\n");
else
printf("Wertebereich wird nicht überschritten\n");
b = 3 * a / 2; /* alle Operationen werden ganzzahlig ausgeführt */
printf("a = %d\n", a ); /* Ausgabe von a*/
printf("b = %d\n", b ); /* Ausgabe: siehe auch Online-Hilfe */
return(0); /* jedes Hauptprogramm sollte 0 bei Erfolg zurückgeben */
}
/*
Die Ausgabe für die Werte a=5, a=6 und a=12000
| a / 2 * 3 | 3 * a / 2
---------+-----------+-----------
a=5 | b=3 | b=7
a=6 | b=9 | b=9
a=12000 | b=18000 | b=-14768
*/
Zurück zur Übersicht