2. Rechnerübung

Werbung
2. Rechnerübung
Informatik 1 – Programmieren in C
Variablen und Ausdrücke
Variablen sind Platzhalter im Hauptspeicher des Computers, in denen
verschiedenste Daten abgelegt werden können.
Zahl1
27
Zahl2
67.23
PI
3.141
string1
“Hello World!“
daten
16 0a e7 11 05…
Jede Speicherzelle besitzt einen Namen, eine Adresse und einen Inhalt. Dabei kann
eine Variable auch mehrere Speicherzellen belegen. Die Größe einer Speicherzelle
beträgt in der Regel 1 Byte (= 8 Bit).
Je nach dem, wie man den Inhalt der Variable interpretiert, ergibt sich der
Datentyp.
Variablen und Ausdrücke
Der Datentyp „Integer“
•
In Variablen des Typs „Integer“ können ganze Zahlen mit Vorzeichen
gespeichert werden.
•
Die Länge eines „Integers“ ist 4 Byte (= 32 Bit)
Damit ergeben sich 4294967296 verschiedene Zustände im Zahlenbereich
von:
-2147483648 bis 2147483647
… das ist eine ganze Menge.
Variablen und Ausdrücke
Definition von Variablen in C
int main()
{
int Variable1, Variable2;
... /* weiterer Programmcode */
}
Hier durch werden zwei Variablen vom Typ „Integer“ definiert
(in C heißt dieser Typ „int“).
Variablen und Ausdrücke
Hinweise und Regeln
•
Variablen werden nach dem Schema <Typ> <Name1>, <Name2>,… ;
definiert.
•
Variablen dürfen nur zu Beginn eines Anweisungsblockes definiert
werden.
•
Variablen-Namen dürfen nur aus Buchstaben, Ziffern (nicht am
Anfang) und Unterstrichen (“_“) bestehen.
•
Variablen dürfen nicht wie reservierte Wörter benannt werden.
Variablen und Ausdrücke
Ausdrücke
Ausdrücke dienen zum Umgang mit Daten und Datenobjekten. Man
unterscheidet:
- Berechnungen (Addition, Subtraktion, …)
- Zuweisungen
- Vergleiche
(kommen später)
Jeder Ausdruck besteht aus Operanden und Operatoren.
=> Ein Operand ist entweder eine Variable oder eine Konstante.
=> Der Operator verknüpft ein oder zwei Datenobjekt miteinander.
Variablen und Ausdrücke
Beispiele für Ausdrücke
int main()
{
int a,b;
int c = 7;
a = 13;
b = a+b;
}
/* Definition zweier Variablen */
/* Definition + Zuweisung
*/
/* Zuweisung einer Konstanten
/* Zuweisung + Addition
*/
*/
Variablen und Ausdrücke
Die wichtigsten Operatoren im Überblick
(a) Klammern
-a Negation
a*b Multiplikation
a/b Division
a+b Addition
a-b Subtraktion
a=b Zuweisung
Jeder Operator verfügt über eine Priorität, es gilt z.B.
„Punkt-“ vor „Strich-Rechung“
Erweiterte Ausgabe mit printf
Neben der reinen Textausgabe können mit der Funktion “printf“ auch
die Inhalte von Variablen und Ergebnisse von Ausdrücken ausgegeben
werden.
Dazu werden spezielle Platzhalter (Format-Strings) in die Zeichenkette
eingebaut, an deren Stelle die Daten ausgegeben werden. Dabei
existiert für jeden Datentyp ein solcher.
Für den Typ „Integer“ benutzt man den Format-String „%i“.
Beispiel:
printf(„Der Wert von a lautet: %i“, a);
Ausgabe:
Der Wert von a lautet: 7
(falls “a“ den Wert “7“ hat)
Erweiterte Ausgabe mit printf
Nun im Detail:
Zeichenkette
Ausdruck
printf(“Der Wert von a lautet: %i“, a);
Anweisung
Format-String
Erweiterte Ausgabe mit printf
Genauso können Ausdrücke ausgegeben werden:
Zeichenkette
Ausdruck
printf(“Die Summe von a und b lautet: %i“, a+b);
Anweisung
Format-String
Erweiterte Ausgabe mit printf
Mehrere Ausdrücke auf einmal:
Zeichenkette
Ausdrücke
printf(“2*%i + %i = %i“, a, b, 2*a+b);
Anweisung
=> Ergibt:
2*7 + 4 = 18
(a = 7, b = 4)
Aufgabe 1
Schreibe ein C Programm, welches folgende Bildschirmausgabe realisiert.
Verwende dazu die gerade besprochene Theorie!!
Lösung zu Aufgabe 1
#include<stdio.h>
int main(){
int a,b;
a=12;
b=3;
printf("Addition: %i+%i=%i\n", a,b,a+b);
printf("Subtraktion: %i-%i=%i\n", a,b,a-b);
printf("Multiplikation: %i*%i=%i\n", a,b,a*b);
printf("Division: %i/%i=%i\n", a,b,a/b);
return 0;
}
Dateneingabe mit scanf
Die Funktion scanf dient der Eingabe von Daten und verfügt über
ähnliche Parameter wie printf. Zuerst kommt eine Zeichenkette mit
einem Platzhalter (z.B.: %i) für die einzugebende Variable und
dahinter die Variable selbst mit vorangestelltem „&“ („&“=Adresse
der Variablen, mehr dazu im 2. Semester).
Beispiel:
printf(„Bitte x eingeben:“);
scanf(„%i“, &x);
Aufgabe 2
Schreibe ein C-Programm, das zwei Variablen von der Tastatur einliest und
diese addiert und subtrahiert und die Ergebnisse jeweils am Bildschirm
ausgibt. Eine mögliche Ausgabe ist:
Lösung zu Aufgabe 2
/*Rechenprogramm*/
#include<stdio.h>
main () {
int x,y;
printf("Bitte x eingeben:\t");
scanf("%i", &x);
printf("Bitte y eingeben:\t");
scanf("%i",&y);
printf("\n%i + %i ist %i", x,y,x+y);
printf("\n%i - %i ist %i\n", x,y,x-y);
return 0;
}
Herunterladen