Übungspaket 12 Der Datentyp char

Ähnliche Dokumente
Übungspaket 13 Der Datentyp double

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 19 Programmieren eigener Funktionen

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Übungspaket 24 Zeichenketten

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Zahlen- und Buchstabencodierung. Zahlendarstellung

Welche Informatik-Kenntnisse bringen Sie mit?

Kapitel 5. Datentypen und Operatoren

Kurze Einführung in die Programmiersprache C++ und in Root

Die Programmiersprache C

Elementare Konzepte von

Die Programmiersprache C Eine Einführung

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

C Überlebenstraining

Einstieg in die Informatik mit Java

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Programmieren in C Einführung

Einstieg in die Informatik mit Java

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Elementare Datentypen in C++

Entscheidungen und Wertkonstanten

Algorithmen & Programmierung. Zahlensysteme Bits und Bytes

Einstieg in die Informatik mit Java

2. Datentypen und Deklarationen

Übungspaket 30 Kopieren von Dateien

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

+ C - Array (Vektoren, Felder)

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Programmiersprachen Einführung in C

Eine Einführung in C-Funktionen

RO-Tutorien 3 / 6 / 12

Einführung in die C-Programmierung

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Hochschule Niederrhein Einführung in die Programmierung Prof. Dr. Nitsche. Bachelor Informatik WS 2015/16 Blatt 3 Beispiellösung.

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Schleifenanweisungen

Kapitel 3: Variablen

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen zu Datenobjekten und Operatoren

Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen

Grundlagen der Programmierung

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Lösung Übungszettel 6 Aufgabe 1-4

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Grundlagen der Programmierung

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

3. Datentypen, Ausdrücke und Operatoren

C++ - Einführung in die Programmiersprache Variablen und Konstanten. Leibniz Universität IT Services Anja Aue

2 Einfache Rechnungen

Kapitel 7. Zusammengesetzte Datentypen, Vektoren, Zeichenketten

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

CEN1112 Labor Software-Entwicklung

Klausur in Programmieren

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Lösungsvorschlag zur 9. Übung

Grundlagen der Programmierung

Primitive Datentypen

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

3. Einführung in C Programmierung Einführung in C Programmierung

Einstieg in die Informatik mit Java

C-Programmierung unter TOS ATARI ST

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

Programmieren in C/C++ und MATLAB

Grundlagen der Informatik I (Studiengang Medieninformatik)

8 Typwandlungen. 8.1 Automatische Typkonvertierungen

2. Programmierung in C

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Die Programmiersprache C99: Zusammenfassung

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 3.Übung bis

C für Java-Programmierer

Einführung in die C++ Programmierung für Ingenieure

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Datentypen: Enum, Array, Struct, Union

Grundlagen von C. Ausarbeitung von Jonas Gresens

Programmieren in C / C++ Grundlagen C 2

Computergrundlagen Programmieren in C

Einführung in Python Übung 1

Variablen und Datentypen

FB Informatik. Fehler. Testplan

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Dr. Monika Meiler. Inhalt

C- Kurs 04 Anweisungen

2. Programmierung in C

Zeichenketten (Strings) in C

Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen Fallbeispiel Baukredit

BKTM - Programmieren leicht gemacht.

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

Transkript:

Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24, 25 und 27 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis: In diesem Übungspaket gibt es einiges zum Thema Zeichen. Die Struktur der Aufgaben ähnelt sehr den vorherigen. Neben der eigentlichen Zeichenverarbeitung ist die Umwandlung von Werten des Datentyps char in Werte des Datentyps int und umgekehrt Teil dieses Übungspaketes.

Teil I: Stoffwiederholung Aufgabe 1: Notation von Zeichenkonstanten In Vorlesung und Skript haben wir gesehen, dass in der Programmiersprache C Zeichen in drei verschiedenen Formen angeben können. Vervollständige folgende Tabelle: C-Notation Zeichen...................................... Großbuchstabe A...................................... Semikolon...................................... Ziffer 3...................................... Nullbyte...................................... Aufgabe 2: Ein- und Ausgabe Erläuter anhand von zwei Beispielen, wie Zeichen ein und ausgelesen werden können? Format: Eingabe: Ausgabe: Aufgabe 3: Zeichen und deren ASCII-Werte Schreibe ein kleines Testprogramm, das die Zeichen A bis Z nebst ihrer zugehörigen ASCII Werte in tabellarischer Form ausgibt. Frage: Muss man bei der Aufgabe die konkrete ASCII-Kodierung der einzelnen Zeichen selber in der ASCII-Tabelle nachschlagen oder kann das der Compiler dies erledigen? 12-1 Wintersemester 2016/17, Einführung in die Praktische Informatik

Teil II: Quiz Aufgabe 1: Datentyp char vs. Datentyp int Der Datentyp char gehört zu den Ganzzahldatentypen, da die einzelnen Zeichen einzeln aufgeführt werden können. Aber dennoch gibt es einige Unterschiede zum Datentyp int. Diese Unterschiede betreffen in erster Linie die Zahl der verwendeten Bytes im Arbeitsspeicher und damit die Zahl der verfügbaren Bits und dem daraus resultierenden Wertebereich. Ergänze folgende Tabelle: Datentyp # der Bytes # der Bits Wertenbereich int char Aufgabe 2: Ausdrücke Welche Werte erhalten die Variablen char c und int i durch die angegebenen Ausdrücke? Ausdruck Resultat Ausdruck Resultat c = a + 1 c =... c = m - 1 c =... c = a + 4 c =... c = m - a + A c =... c = n - z + Z c =... c = P - A + a + 1 c =... i = z - a i =... i = 9-0 i =... Aufgabe 3: Datentypen Im Zusammenhang mit Variablen und Werten vom Typ char gibt es immer wieder Fragen bezüglich des resultierenden Datentyps. In den folgenden Ausdrücken gilt folgende Variablendefinition: char c und int i Ausdruck Datentyp c.............. a.............. \101.............. Ausdruck Datentyp c + 1.............. c - 0.............. c + i.............. Hinweis: Die Anweisung printf("%d\", Ausdruck) gibt einen Hinweis auf den resultierenden Typ. Ausdruck kann eine Variable, ein Ausdruck oder ein Typ sein. Einführung in die Praktische Informatik, Wintersemester 2016/17 12-2

Teil III: Fehlersuche Aufgabe 1: Summenberechnung mit kleinen Fehlern Das folgende Programm soll die Summe der Zeichen a bis z, A bis Z und 0 bis 9 bestimmen. Leider sind dem Programmierer wieder einmal ein paar kleine Fehler unterlaufen. Finde die 14 Fehler und korrigiere sie: 1 # include stdio.h 2 3 int main ( int argc, char ** argv ) 4 { 5 char c, 6 int s. 7 for ( s = a, c = b ; c < z ; c = c + 1 ) 8 s = c; 9 for ( c = A ; c >= Z"; c = + 1 ) 10 s = s + c; 11 for ( c "9 ; c > 0, c = c + 1 ) 12 s = s + c; 13 printf ( " summe = %d\n, s ); 14 ] 12-3 Wintersemester 2016/17, Einführung in die Praktische Informatik

Teil IV: Anwendungen Aufgabe 1: Umwandlung von Ziffern in Zahlen Ein echter Klassiker: Schreibe ein kleines Programm, das eine einzelne Ziffer, also die Zeichen von 0 bis 9, in ihren entsprechenden Zahlenwerte, also ints von 0 bis 9, umwandelt. Das folgende Programmschnipsel zeigt, wie ihr es nicht machen sollt... 1 # include <stdio.h> 2 3 int main ( int argc, char ** argv ) 4 { 5 char zeichen ; 6 int zahl ; 7 zeichen = 5 ; 8 switch ( zeichen ) 9 { 10 case 0 : zahl = 0; break ; 11 case 1 : zahl = 1; break ; 12 case 2 : zahl = 2; break ; 13 case 3 : zahl = 3; break ; 14 case 4 : zahl = 4; break ; 15 case 5 : zahl = 5; break ; 16 case 6 : zahl = 6; break ; 17 case 7 : zahl = 7; break ; 18 case 8 : zahl = 8; break ; 19 case 9 : zahl = 9; break ; 20 } 21 printf ( " Zeichen = %c Zahl = %d\n", zeichen, zahl ); 22 } Eine derartige Umwandlung geht mit einer einfachen Anweisung. Überlege zunächst, in welchem Zusammenhang die ASCII-Zeichen und deren Kodierung zueinander stehen. Formuliere und erkläre die entsprechende C-Anweisung, und schreibe ein entsprechendes Testprogramm: Einführung in die Praktische Informatik, Wintersemester 2016/17 12-4

Testprogramm zur einfachen Wandlung von Ziffern in Zahlenwerte: Aufgabe 2: Klassifizierung von Zeichen: <ctype.h> Die Include-Datei <ctype.h> stellt eine Reihe von nützlichen Makros zur Klassifizierung von Zeichen zur Verfügung. Nenne mindestens sechs von ihnen: Bedeutung Makroname Bedeutung Makroname Aufgabe 3: Wandeln von hexadezimalen Ziffern 1. Aufgabenstellung Erweiter das Programm aus Aufgabe 1 dieses Teils so, dass es auch hexadezimale Ziffern, A bis F bzw. a bis f korrekt wandelt. 2. Pflichtenheft: Aufgabe, Eingabe, Ausgabe, Sonderfälle 12-5 Wintersemester 2016/17, Einführung in die Praktische Informatik

3. Testdaten Alle Ziffern von 0 bis 9, A bis F und a bis f 4. Implementierung 5. Kodierung Einführung in die Praktische Informatik, Wintersemester 2016/17 12-6

Aufgabe 4: Umwandlung von Klein in Großbuchstaben 1. Aufgabenstellung Enwickle ein Programmstückchen, das Kleinbuchstaben in Großbuchstaben umwandeln kann und umgekehrt. Auch diese Umwandlung geht wieder in einer Zeile. 2. Pflichtenheft: Aufgabe, Eingabe, Ausgabe, Sonderfälle 3. Testdaten Alle Buchstaben von a bis z und A bis Z. 4. Implementierung Da diese Aufgabe eigentlich keine größeren Schwierigkeiten bereiten sollte, konzentrieren wir uns hier auf die eigentliche Umwandlung der Zeichen. Wie lautet die jeweiligen Anweisungen zum Umwandeln der Buchstaben? Klein- in Großbuchstaben: Groß- in Kleinbuchstaben: 5. Kodierung Schreibe ein entsprechendes Testprogramm für die beiden obigen Anweisungen: 12-7 Wintersemester 2016/17, Einführung in die Praktische Informatik

Aufgabe 5: Zeichen-Matrix 1. Aufgabenstellung Zur Wiederholung: Eine Variable vom Typ char besitzt in der Regel acht Bits, womit sich 256 verschiedene Werte darstellen lassen. Entwickle ein Programm, das diese 256 Möglichkeiten in Form einer 16 16 Matrix darstellt, und zwar nicht als Zahlenwerte sondern als Zeichen. Da einige Zeichen merkwürdig aussehen, ist es günstig " %2c" als Formatierung zu nehmen. Mit etwas Glück wird folgende Matrix ausgegeben. Gewünschte Ausgabe: 2. Pflichtenheft: Aufgabe, Eingabe, Ausgabe, Sonderfälle 3. Implementierung Einführung in die Praktische Informatik, Wintersemester 2016/17 12-8

4. Kodierung 12-9 Wintersemester 2016/17, Einführung in die Praktische Informatik