Strings (Zeichenketten)
|
|
- Annika Lichtenberg
- vor 5 Jahren
- Abrufe
Transkript
1 Strings (Zeichenketten) INE1, Montag M. Thaler, Office TG
2 Um was geht es? Interaktion mit Computer oft textbasiert Fragen wie wird Text dargestellt? wie wird Text verarbeitet? Hello World Januar Februar 2
3 Lernziele Sie können den Aufbau von Strings in C erklären und Strings in eigenen Programmen verwenden die Begriffe String-Buffer und Buffer-Overflow erklären und diskutieren Funktionen aus der Bibliothek string nach Bedarf einsetzen Strings einlesen und ausgeben 3
4 Inhalt String als Array Stringfunktionen Ein-/Ausgabe von Strings 4
5 Leseempfehlung Kapitel 11, Strings Wikibooks, C Programmierung WEB-Page / OLAT oder 5
6 Inhalt String als Array Stringfunktionen Ein-/Ausgabe von Strings 6
7 String-Literale Strings bzw. Zeichenketten in Anführungszeichen eingeschlossen "Hallo ich bin ein Text" können Spezialzeichen (Backslash-Sequenzen) enthalten "Hallo ich\nbin ein Text\n" Ausgabe mit printf() printf("hallo from printf\n"); printf("%s", "Hi there\n"); printf("%s\n", "Hi there"); 7
8 String als Array String Array von Charactern char str[] = "Hello World"; char *str = "Hello World"; 'H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd' '\0' String-Abschluss letztes Zeichen: 0-Byte Ende des Strings - hat Binärwert 0 d.h. oktal: '\0' oder hex: '\x0' nicht mit '0' verwechseln ASCII-Code 48 - muss bei Speicherbedarf berücksichtigt werden "Hello World" Arraylänge =
9 String-Variablen Character-Array char astring[100]; // Array fuer 100 Zeichen kann String bis 99 Zeichen aufnehmen String mit '\0' abgeschlossen String-Buffer 'I' 'f' 'o' 'r' 'm' 'a' 't' 'i' 'o' 'n' '\0' Textlänge: dynamisch Bufferlänge: statisch maximale Textlänge (inkl. '\0') 9
10 String Initialiserung Char-Array mit String-Literal initialisieren char meldung[100] = "Achtung"; // String-Buffer, bis 99 Zeichen char fehler[] = "Fehler"; // char Array, Laenge 7 char test[] = {'T', 'e', 's', 't', 0}; // zu kompliziert char *str = "Hallo"; // ebenfalls erlaubt const char *text = "Hi there"; // besser als ohne const String-Zuweisung: geht nicht wie bei Arrays Funktion strcpy() aus String Bibliothek verwenden char meldung[100]; // String-Buffer -> max. Länge 99 meldung = "Achtung"; // geht nicht strcpy(meldung, "Achtung"); // geht: Achtung Stringlaenge <= 99 10
11 Strings sind Arrays Beispiel: Stringlänge bestimmen (Variante 1) #include <stdio.h> int main(void) { char text[] = "Hello InE1"; int len = 0; } while (text[len]!= '\0') { len += 1; } printf("length of string %s: %d\n", text, len); return 0; Hinweis für Stringlänge gibt es eine Bibliotheksfunktion: strlen() 11
12 Inhalt String als Array Stringfunktionen Ein-/Ausgabe von Strings 12
13 String-Funktionen String-Funktionen Parameter char-array oder char-pointer int mystringlen(char str[]); int mystringlen(char *str) ; Stringlänge: Implementation (Variante 2) int mystringlen(char str[]) { char *cptr = str; int len = 0; while (*cptr!= '\0') { len += 1; cptr += 1; } return len; } Hinweis: Länge des Arrays wird nicht übergeben 13
14 ... String-Funktionen Parameter str[] oder *str ursprünglicher String kann aus Funktion geändert werden Abhilfe: Paramter als const deklarieren Beispiele int mystringlen(const char str[]); // Array Parameter int mystringlen(const char *str) ; // Pointer Parameter 14
15 String Bibliothek Bibliokthek string (string.h) Funktionen zum Umgang mit Strings Beispiele - strlen(const char *s) gibt Länge des Strings (ohne '\0') an - strcpy(char *dest, const char *src) kopiert String von src nach dest Achtung: dest muss auf genügend grossen Speicher zeigen - strcmp(const char *s1, const char *s2) vergleicht Strings s1 und s2 gibt 0 zurück, wenn gleich 15
16 ... String Bibliothek Aufgabe analysieren Sie die detaillierte Funktionalität folgender Bibliotheksfunktionen: - strcmp() - strcat() - strncpy() - strncat() Informationen - empholene Literatur
17 Fehlerquellen Falsche Länge zu langen String in String-Buffer schreiben Daten, ev. Programmcode können überschrieben werden Buffer-Overflow: häufiges Sicherheitsproblem Kein reservierter Speicher führt zu Laufzeitfehler Beispiel #include <string.h> int main(void) { char text[] = "Hello InE1"; char *dptr; strcpy(dptr, text); // -> Laufzeitfehler return 0; } 17
18 Inhalt String als Array Stringfunktionen Ein-/Ausgabe von Strings 18
19 String-Ausgabe printf() Steuerzeichen: %s Flags und Anzahl Zeichen möglich #include <stdio.h> int main(void) { char string[] = "Hello World"; printf("der String ist %s\n", string); return 0; } 19
20 ... String-Ausgabe fputs() String-Ausgabe auf Stream ohne Formatierung Stream hier stdout (standard output) #include <stdio.h> int main(void) { char string[] = "Hello World"; fputs(string, stdout); return 0; } 20
21 bsp String-Eingabe scanf() Achtung buf ist Zeiger kein & int main(void) { char buf[100]; printf("vollstaendigen Namen eingeben: "); scanf("%s", buf); printf("ihre Eingabe: %s\n", buf); return 0; } Vollstaendigen Namen eingeben: Markus Thaler Ihre Eingabe: Markus Probleme - Abbruch beim ersten Leerzeichen - möglicher Buffer-Overflow Nicht verwenden, dafür fgets() 21
22 ... String-Eingabe fgets() liest ganze Zeile von Stream Stream hier stdin (standard input) schützt vor Buffer-Overflow: maximale Anzahl Zeichen int main(void) { char buf[100]; printf("vollstaendigen Namen eingeben: "); fgets(buf, 100, stdin); printf("ihre Eingabe: %s\n", buf); return 0; } Vollstaendigen Namen eingeben: Markus Thaler Ihre Eingabe: Markus Thaler 22
23 sprintf() sprintf() Formatierte Ausgabe String statt Terminal (wie printf()) Anwendung: Zahlen in Strings umwandeln #include <stdio.h> int main(void) { char string[100]; double zahl = ; sprintf(string, "%9.3f", zahl); printf(">>> %s <<< \n", string); return 0; } 23
24 sscanf() sscanf() Formatierte Eingabe von String statt Terminal Anwendung: Zahl aus Strings lesen #include <stdio.h> int main(void) { char text[] = "77.7"; double gewicht; sscanf(text, "%lf", &gewicht); printf("<<< %f >>>\n", gewicht); return 0; } Hinweis: wenn möglich vermeiden alternative Funktionen, z.b. atof(), strtod(), etc. 24
25 Zusammenfassung Strings in C sind char-arrays werden mit '\0' abgeschlossen String-Bibliothek (string.h) - verschiedenste Funktionen zur String-Verarbeitung Vorsicht fehleranfällig - Buffer-Overflow - nicht reservierter Speicher 25
2D-Arrays. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert
2D-Arrays InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Matrix 2-dimensionales Array Beispiel #include int main(void) { int i, j; int matrix[3][5]; // 3
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 3.2 Auswahl an Stringfunktionen W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Die ANSI-Norm definiert auch nützliche Funktionen zur ASCIIZ-Stringbearbeitung.
MehrPointer und Arrays. INE1, Montag M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G.
Pointer und Arrays INE1, Montag M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Variable Speicherplatz Datenwert über Name ansprechbar hat Typ hat Adresse (Speicheradresse)
MehrC-Kurs 2011: Arrays, Strings, Pointer
C-Kurs 2011: Arrays, Strings, Pointer Sebastian@Pipping.org 15. September 2011 v3.0.33 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. Ohne Pointer geht nichts. 2 Pointer
MehrEinfache Ein-und Ausgabe
Einfache Ein-und Ausgabe InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Computersystem ein Gerät, das Information (Daten) einliest, verarbeitet, ausgibt EVA Schema:
MehrGrundlagen der Programmierung in C++ Arrays und Strings, Teil 1
Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum
MehrPraxis der Programmierung
Zeichenketten (Strings), Ein- und Ausgabe Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Zeichenketten (Strings)
MehrZeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt
Zeichenketten (1) Literale Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt "Hallo Welt" Mehrere solcher Literale gelten als eine Zeichenkette, wenn sie nur durch Whitespaces (Leerzeichen,
MehrZeichenketten. Peter Sobe
Zeichenketten existieren in C nicht als eigener Typ. Es können nur Zeichenkettenkonstante z.b. zur Ausgabe benutzt werden. Beispiel: printf( Guten Tag!\n ); Eine Zeichenkette als Variable kann aber in
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Bisjetzt Beispiel Ranglistenprogramm für Sportveranstaltungen Besser - genaue Anzahl Teilnehmer
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrZeichenketten sind uns bisher nur als konstante Texte begegnet, welche in "" angegeben waren; z.b. als Formatstring in der printf()-funktion:
Zeichenketten (Strings) Seite 1 von 11 Zeichenketten(Strings) sind wichtige Bestandteile fast eines jeden Programms. Beispiele sind Eingabe von Namen oder Adressen, Ausgabe von Meldetexten oder Bearbeitung
MehrAusgewählte Bibliotheksfunktionen
Ausgewählte Bibliotheksfunktionen fopen überträgt den Inhalt des Dateipuffers: Schreibmodus: Dateipuffer wird geschrieben Lesemodus: Puffer wird geleert if (fflush(fp) == EOF) printf("puffer nicht geschrieben\n");
Mehr6. Bearbeitung von Strings in C Bearbeitung von Strings in C
Bearbeitung von Strings in C 6-1 Definition des String: 6. Bearbeitung von Strings in C Zeichenstrings werden als Felder von Zeichen abgespeichert: char [ ] ; Wie die Daten (Zeichenfolge)
Mehr4.12 Datenstrukturen/String-Bibliothek
4.12 Datenstrukturen/String-Bibliothek 4.12.1 Vergleich von Strings: strcmp() Ein Programm soll zu einem eingegebenen Bauelement die Betriebsmittelkennzeichnung ausgeben. Ein erster Entwurf sieht so aus
MehrBit Operationen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert
Bit Operationen InE M. Thaler, tham@zhaw.ch Office TG28 http://www.zhaw.ch/~tham November 8 Um was geht es? Microcontroller z.b. Ansteuerung/Konfiguartion von I/O Registern oft notwendig: einzelne Bits
MehrEin-/Ausgabe, Dateisystem. Kapitel 9: Ein-/Ausgabe. Programmieren in C für Elektrotechniker. Programmieren in C. Dateisystem. Programmieren in C
für Elektrotechniker Kapitel 9: Dateisystem, Dateisystem E/A-Konzept in UNIX und C UNIX (und damit auch C) verwendet Datenströme (streams) als Konzept zur Verbindung von Programmen mit E/A-Geräten und
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 8: Felder und Zeichenketten Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen
MehrWiederholungen / Schleifen
Wiederholungen / Schleifen Repetitive Ausführung von Instruktionen InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Beispiel Quadratzahlen von 1000 bis 1009 berechnen
Mehr1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten
1. Definition Eine Zeichenkette (String) ist eine Aufeinanderfolge von darstellbaren Zeichen, die sequentiell im Speicher angeordnet sind und gemeinsam angesprochen werden. Jedes einzelne Zeichen wird
MehrDatenstrukturen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert
Datenstrukturen InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Rangliste Winti-Marathon benötigte Information pro Teilnehmer Variable Typ Daten Name String Vorname
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrModellierung und Programmierung
Modellierung und Programmierung Dr. Martin Riplinger 21.11.2012 IAM Institut für Angewandte Mathematik Funktionen elementare Merkregeln Deklaration und Definition Die Funktionsdeklaration steht im Code
MehrOrganisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!
Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Nächste Woche keine Vorlesung! Es
MehrEinführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian
Einführung in die Programmierung Arvid Terzibaschian 1 Arrays 2 Arrays: Motivation Gegeben: monatliche Durchschnittstemperaturen der letzten 5 Jahre Gesucht: Mittelwerte für Jahre, Monate, Jahreszeiten,
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrLösung Übungszettel 6 Aufgabe 1-4
Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 Aufgabe 1-4 1 Aufgabe 1 und 2 1.1 Die Bibliothek
MehrINE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen
INE1 Mehr zu Funktionen Ausserdem: Strings (Saiten) Call by value, struct's Call by reference Array Parameter Strings und Stringfunktionen 1 Call by Value, Structs 2 von 45 Call by value (Wiederholung)
MehrZeichenketten (Strings)
Zeichenketten (Strings) Programme verarbeiten neben numerischen Daten oft auch Daten in Textform. Texte sind Zeichenketten, die auch als Strings bezeichnet werden In C gibt es keinen eigenständigen Datentyp
MehrZeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch
darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten
MehrEine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
Mehr2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im
MehrInformatik. Wiederholung Felder (Arrays), string. Vorlesung
Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include
MehrBKTM - Programmieren leicht gemacht.
+ C - Zeichenketten Aufbau von Zeichenketten Ein weiteres Array was sehr häufig benutzt wird ist die Zeichenkette oder String. Dabei wird in jedem Eement des Arrays ein Zeichen gespeichert. Zeichen können
MehrArrays 120. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier
Arrays 120 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list
MehrC/C++-Programmierung
1 C/C++-Programmierung Aufzählungen, Zeichenketten Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Aufzählungen enumerations,
MehrInhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
MehrFliesskommazahlen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert
Fliesskommazahlen InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Bisjetzt nur Ganzzahltypen und Funktionen z.b. Beispiel int power(int base, int exp) { int tmp = 1;
MehrÜbungen zu Softwaresysteme I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2004 K-Uebung9.fm
K 9. Übung K 9. Übung K-1 Überblick Besprechung 7. Aufgabe (jbuffer) Unix, C und Sicherheit K.1 Mögliche Programmsequenz für eine Passwortabfrage in einem Server- Programm: int main (int argc, char *argv[])
MehrProgrammieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff
Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen
MehrE-/A-Funktionalität nicht Teil der Programmiersprache
C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle
MehrRechenzentrum. Programmieren in C. Simone Knief Rechenzentrum der CAU
Programmieren in C Simone Knief der CAU Gliederung Einleitung Komponenten eines C-Programms Daten speichern: Variablen und Konstanten Anweisungen und Ausdrücke Operatoren Kontrollstrukturen Felder und
MehrVariablen & Pointer. Pointer in C. Erster Gehversuch mit Pointern. Besonderheiten bei der Deklaration. Bisher (stark vereinfachend!
Variablen & Pointer Bisher (stark vereinfachend!): Variable = symbolischer Name für Speicherstelle Compiler übersetzt diesen Namen in Referenz auf diese Speicherstelle Variablentyp legt fest, wie Wert
MehrArrays,Strings&Pointer in C/C++
Arrays,Strings&Pointer in C/C++ Vortrag Mathias Reich Am 21.5.2002 Pointer Da zur Zeit der Compelierung des Programms nicht immer der Umfang der zu bearbeitenden Daten feststeht muss man sich - in manchen
MehrÜbungspaket 24 Zeichenketten
Übungspaket 24 Zeichenketten Übungsziele: Skript: 1. Verständnis über die interne Repräsentation von Zeichenketten 2. Arbeiten mit Zeichenketten 3. Definition konstanter Zeichenketten 4. Verwendung diverser
MehrLesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen.
INE1 Musteraufgaben für die Semesterendprüfung Hilfsmittel Vier Seiten selbst verfasste Zusammenfassung keine weiteren Hilfsmittel keine elektronischen Hilfsmittel Abgabe Füllen Sie das erste Aufgabenblatt
MehrInhalt. Zeichen und Zeichenketten (engl. Strings)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern
MehrEin- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010
Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 4: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen
MehrArrays 115. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier
Arrays 115 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list
MehrDatentypen printf und scanf. Programmieren in C Dr. Michael Zwick
Datentypen printf und scanf Programmieren in C Dr. Michael Zwick April June 2015 Monday Tuesday Wednesday Thursday Friday 17 20 Apr 21 22 23 24 Arbeitsblatt 1-1 Ausgabe Arbeitsblatt 1 Beginn Tutorium Arbeitsblatt
Mehr103 Strukturiert programmieren nach Vorgabe
103 Strukturiert programmieren nach Vorgabe #include #include #define Benzinverbrauch (6.9/100) #define Benzinpreis 1.38 void main() float x,k; printf("geben Sie bitte Ihre gefahrenen
MehrGanze Zahlen, Ausdrücke Variablen/Konstanten
Ganze Zahlen, Ausdrücke Variablen/Konstanten InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Programmieren in C ganze Zahlen, Konstanten und Variablen 2 Lernziele Siekönnen
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Organisatorisches Nächste Woche keine Vorlesung! Es
Mehr6.2 Extras/Lesen aus Dateien
6.2 Extras/Lesen aus Dateien 6.2.1 Problem Aus einer Datei sollen Spannungswerte eingelesen werden. Anschließend sollen Anzahl, Minimum, Maximum, AMW und Standardabweichung ermittelt und ausgegeben werden.
MehrKlausur Programmiersprachen SS 2005
Klausur Programmiersprachen SS 2005 Prüfer: Prof. Dr. Schwenk Prüfungstermin: 30.8.2005 Dauer: - 120 Minuten (Diplom ITS neue DPO, Diplom ETIT neue DPO): Sie müssen nur Aufgaben im Umfang von 100 Punkten
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 4: Felder und Zeichenketten Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung vom 9.
MehrEin- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010
Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung
MehrGrundlagen der Informatik
Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-
MehrInhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?
Liebe Leserin, lieber Leser 10 Kapitel i: Schnelleinstieg 13 Kapitel 2: Was sind Programme? 17 Was ist ein Programm? 18 Sprechen Sie Computer? 18 Von der Idee zum Programm 19 Von Windows, Fenstern und
MehrUmgebung, Ein- und Ausgabe
Umgebung, Ein- und Ausgabe Ein C -Programm startet immer bei der Hauptfunktion main(). Funktionen müssen aufgerufen werden. Und wer ruft main() auf? Ein C -Programm braucht eine Aufrufumgebung. Diese Umgebung
MehrDatei: svn/ckurs/trunk/c_texte/c_arrptr.txt, Datum: 30. Juni Felder und Zeiger
Datei: svn/ckurs/trunk/c_texte/c_arrptr.txt, Datum: 30. Juni 2015 Felder und Zeiger 1. Felder 1. Felder werden deklariert und definiert durch die Angabe der Elementanzahl nach dem Feldnamen mit dem Feldoperator
MehrAnmeldung HISPOS MAI. Prüfungsanmeldung ab sofort möglich Verpflichtend Anmeldung bis zum 27. Mai I n t e r a k t i v e HA u t o m a t e n _
I n t e r a k t i v e HA u t o m a t e n _ Programmieren für Ingenieure Sommer 215 Andreas Zeller, Universität des Saarlandes Anmeldung HISPOS Prüfungsanmeldung ab sofort möglich Verpflichtend Anmeldung
MehrElementare Datentypen
Elementare Datentypen Arrays & Pointer sizeof 124 Elementare Datentypen C kennt folgende elementare Datentypen: Datentyp für Zeichen (z.b. Buchstaben) char Datentypen für Ganzzahlen: short int long Datentypen
MehrRechenzentrum. Programmieren in C. Simone Knief Rechenzentrum der CAU
Programmieren in C Simone Knief der CAU Gliederung Einleitung Komponenten eines C-Programms Daten speichern: Variablen und Konstanten Anweisungen und Ausdrücke Operatoren Kontrollstrukturen Felder und
MehrInput, Output, Dateien
Input, Output, Dateien C-Kurs 2013, 1. Tutorium Armelle Vérité http://wiki.freitagsrunde.org 8. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. 1 / 21
MehrArrays, Zeiger und Funktionen (call by reference)
Arrays, Zeiger und Funktionen (call by reference) Aufgabe 1: Zeichenketten Gegeben sei das folgende Programm: char text[] = "Informatik\aist toll\n"; printf("%i\n", sizeof(text)/sizeof(char)); printf("%s\n",
MehrInhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling
Input / Output in C, C++ Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Page 1 Ausgaben in C,C++ - generell Fuer C basierte Ausgaben:
MehrKompaktkurs Einführung in die Programmierung. 11. Ein- und Ausgabe
Kompaktkurs Einführung in die Programmierung 11. Ein- und Ausgabe Stefan Zimmer 12.3.2008-1- Ein-Ausgabefunktionen in stdio.h Diese Woche geht es um die Funktionen zum Ausgeben und Einlesen von Werten
MehrC allgemein. Achtung: Da C fast alles übersetzt, was man ihm anbietet, trägt die ProgrammiererIn eine große Verantwortung.
C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von
MehrOrganisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben
Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe
MehrC allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.
C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von
MehrUlrich Stein
Von C nach MATLAB Einführung in MATLAB für Personen mit C-Kenntnissen Datentypen ähnlich in C und MATLAB, dort aber automatische Typzuweisung möglich double a = 2; Arrays a = double( 2 ); aber auch a =
MehrIm Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.
Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei
MehrProgrammieren in C. Die C-Standardbibliothek: Datei Ein- und Ausgabe. Prof. Dr. Nikolaus Wulff
Programmieren in C Die C-Standardbibliothek: Datei Ein- und Ausgabe Prof. Dr. Nikolaus Wulff Das Dateisystem In C erfolgt die gesamte Ein- und Ausgabe durch Lesen oder Schreiben von Strömen (stream). Periphere
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrAnmeldung HISPOS. Klausur MAI JULI. Prüfungsanmeldung ab sofort möglich Verpflichtend Anmeldung bis zum 19. Mai 2014
I n t e r a k t i v e HA u t o m a t e n _ Programmieren für Ingenieure Sommer 214 Andreas Zeller, Universität des Saarlandes Anmeldung HISPOS Prüfungsanmeldung ab sofort möglich Verpflichtend Anmeldung
MehrVektoren 105. array-qualifier static restrict const volatile array-size-expression assignment-expression * simple-declarator identifier
Vektoren 105 direct-declarator simple-declarator ( simple-declarator ) function-declarator array-declarator array-declarator direct-declarator [ [ array-qualifier-list ] [ array-size-expression ] ] array-qualifier-list
MehrTeil 5: Felder, Zeiger, Zeigerarithmetik Gliederung
Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder
MehrC programmieren. Jürgen Wolf
C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln
MehrOperatoren in C. Gastvorlesung Andreas Textor
Operatoren in C Gastvorlesung - 11.01.10 Andreas Textor andreas.textor@hs-rm.de Terminologie Operand 4 + 2 Operand Operator Unterscheidung nach Anzahl Operanden Unäre, Binäre und Ternäre Operatoren Z.B.:!x;
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 3. Vorlesung 18.04.2018 1 Elemente von Programmiersprachen Operatoren Kontrollstrukturen Bibliotheksfunktionen 2 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben,
MehrProgrammieren in C++
Programmieren in C++ SS 2012 Vorlesung 7, Dienstag 19. Juni 2012 (Eingabe/Ausgabe, Optionen, ASSERT_DEATH) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität
MehrViel Erfolg bei der Bearbeitung der Aufgaben!
Musterlösung Name:... 1 2 3 4 5 Gesamt Note 12 8 10 15 11 56 Bitte tragen Sie auf dem Deckblatt Ihr Namen und Ihre Matrikelnummer ein und auf allen weiteren Seiten nur noch Ihre Matrikelnummer. Lösungen
MehrDateien. INE2, Mittwoch / TE402 M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G.
Dateien INE2, Mittwoch 8.00-9.35 / TE402 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Informationsaustausch Programme tauschen Information mit Umgebung über - Kommandozeilen-Argumente
MehrDateizugriff unter C
Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur
MehrLösungshinweise zum Übungsblatt 6: Programmieren in C (WS 2018/19)
Dr. habil. Bernd Schürmann Dr. Annette Bieniusa pinc-support@cs.uni-kl.de TU Kaiserslautern Fachbereich Informatik Lösungshinweise zum Übungsblatt 6: Programmieren in C (WS 2018/19) 1. Zur Beantwortung
MehrINE1 Arrays, Zeiger, Datenstrukturen
INE1 Arrays, Zeiger, Datenstrukturen Arrays Felder von Elementen gleichen Typs Verwenden von Adressen: Zeiger Datenstrukturen mit struct Zeiger auf Datenstrukturen Spezielle Zeiger und komplexe Deklarationen
MehrZeichenketten (Strings) in C
Zeichenketten (Strings) in C Jörn Loviscach Versionsstand: 7. Oktober 2011, 11:27 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.j3l7h.de/videos.html
MehrDateien. INE2 M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G. Burkert
Dateien INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Informationsaustausch Programme tauschen Information mit Umgebung über - Kommandozeilen-Argumente - Kanäle bzw.
MehrEinführung in die Programmierung für Physiker. Die Programmiersprache C Ein- und Ausgabe
Einführung in die Programmierung für Physiker Die Programmiersprache C Ein- und Ausgabe Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main WS 2017/18 putchar,
MehrKlausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll
Mehr