TDDB28 OH Föreläsning: C++ 1
|
|
- Anna-Karin Arvidsson
- för 5 år sedan
- Visningar:
Transkript
1 TDDB28 OH Föreläsning: C++ 1 C++ Ursprungligen baserat på C med inspiration från Simula 67 och Algol 68. Stora tillägg till C (ett litet, uttrycksorienterat, imperativt språk för systemprogrammering) klasser och dessas OO-relaterade aspekter (class) undantag hantering av exceptionella händelser (exception) mallar generella kodmallar för funktioner och klasser (template) namnrymder ett modulbegrepp (namespace) något striktare datatypning överlagring av funktionsnamn (overloading) strömbiblioteket för in- och utmatning övriga standardbiblioteket: string, vector, stack,... Kompilator med preprocessor. Standard TDDB28 OH Föreläsning: C++ 2 Ett första programexempel // Det klassiska C-programmet i C++-tappning #include <iostream> using namespace std; // inkluderingsdirektiv // öppna standardnamnrymden cout << "Hello, world" << endl; return 0; Översättningsmodell: källkod -> preprocessor -> kompilator -> länkare -> körbart program TDDB28 OH Föreläsning: C++ 3 Enkel in- och utmatning strömbiblioteket #include <iostream> #include <iomanip> using namespace std; int i; cout << "Skriv ett heltal < 1000: "; cin >> i; cout << "Det var " << setw(3) << i << endl; Strömbiblioteket kan hantera in- och utmatning av alla grundläggande datatyper. Standardfiler cin, cout, cerr och clog Funktioner för in- och utmatning, speciellt operatorerna >> och << (formaterande) Erbjuder olika möjligheter att formatera utskrifter manipulatorer
2 TDDB28 OH Föreläsning: C++ 4 Programstruktur Ett enkelt C++-program består av en eller flera funktioner. int max(int x, int y) return (x > y? x : y); int i, j; cout << "Skriv två heltal: "; cin >> i >> j; int m = max(i, j); cout << m << " var störst."; return 0; Flat struktur funktioner kan ej nästlas. Program kan delas upp på flera filer, typiskt inkluderingsfiler ( header files ) med datatypdefinitioner och funktionsdeklarationer (*.h) tillhörande implementeringfiler (*.cc, *.cpp, m.fl.) Om man använder klasser kan man göra en objektorienterad programstruktur, genom att skapa klassobjekt som samarbetar genom att anropa varandras medlemsfunktioner. TDDB28 OH Föreläsning: C++ 5 Uppdelning på filer file as module // Fil: max.h #ifndef MAX_H #define MAX_H int max(int, int); #endif // Fil: max.cc #include "max.h" int max(int x, int y) return (x > y? x : y); // Fil: test.cc #include <iostream> #include "max.h" using namespace std; int m = max(i, j); Ha alltid en inkluderingsgard i inkluderingsfiler. TDDB28 OH Föreläsning: C++ 6 Datatyper i C++ Dataobjekt variabler och konstanter används för att hantera värden. De deklareras med namn och en specifik datatyp: char c; // teckenvariabel c int i = 1; // heltalsvariabel i som initieras till 1 const double PI = ; // flyttalskonstant PI Två huvudkategorier av datatyper: Grundläggande datatyper ( fundamental types ) Sammansatta datatyper ( compound types )
3 TDDB28 OH Föreläsning: C++ 7 Variabel- och konstantdeklarationer const double PI = ; // konstant på filnivå void print_area(double r) // funktionsparameter const char text[] = "Arean = "; // lokal konstant cout << text << PI * r * r << endl; double radius; // lokal variabel cout << "Ge en cirkelradie: "; cin >> radius; print_area(radius); // parameteröverföring TDDB28 OH Föreläsning: C++ 8 Översikt grundläggande typer fundamental types arithmetic types void char integral types wchar_t enum integer types bool floating point types float double long double signed integer types signed char short int int long int unsigned integer types unsigned char unsigned short int unsigned int unsigned long int TDDB28 OH Föreläsning: C++ 9 Datatypning Typlikhet och typomvandling är viktiga aspekter i ett språk. De grundläggande datatyperna i C++ är distinkta typer. De flesta namngivna, sammansatta datatyper inkl. klasser är distinkta typer. Uttryck av en given typ kommer att automatiskt kunna omvandlas i många sammanhang: conversions kan leda till problem promotions säkra Uttrycklig typomvandling kan göras fritt (och på egen risk) static_cast<till-typ>(x) reinterpret_cast<till-typ>(x) dynamic_cast<till-typ>(x) mellan relaterade typer (t.ex. olika pekartyper) mellan ej relaterade typer (t.ex. heltal till pekare) inom en klasshierarki (t.ex. från basklass till subklass) const_cast<till-typ>(x) tar bort const (!)
4 TDDB28 OH Föreläsning: C++ 10 Uttryck och operatorer Möjligheterna att komponera uttryck är omfattande. Några enkla exempel x = 3.25 tilldelningsuttryck 2 * pi * r multiplikation, sammansatt uttryck -pi negation line[21] indexeringsuttryck name.length medlemsval sin(pi) funktionsanrop x < y relationsuttryck ::x räckviddsbestämning static_cast<int>(x) typomvandling TDDB28 OH Föreläsning: C++ 11 Sammansatta uttryck prioritet beräkningsordning Då sammansatta uttryck beräknas inverkar flera regler i språket. Alla operatorer är inordnade i en hierarki med prioritetsnivåer En operator med högre prioritet har företräde jämfört med en operator med lägre prioritet a + b * c beräknas: a + (b * c) Då operatorerna i ett sammansatt uttryck har samma prioritet gäller den aktuella nivåns beräkningsriktning, associativitet (vänster->höger eller höger->vänster) a + b - c beräknas: (a + b) - c Parenteser kan införas för att ange en annan beräkningsordning. (a + b) * c Beräkningsordningen för operander är i de flesta fall ospecificerad, liksom beräkningsordningen för funktionsargument! TDDB28 OH Föreläsning: C++ 12 Satser Det finns ett flertal olika slags satser: deklarationssatser uttryckssatser sammansatt sats, blocksats selektionssatser repetitionssatser hoppsatser // sammansatt sats const double PI = ; // deklarationssatser int i, j = 0; i = j + 1; j++;... // uttryckssats
5 TDDB28 OH Föreläsning: C++ 13 Selektion, repetition och hopp Selektion (val) representeras av två satser if switch För repetition (iteration) finns tre satser for while do-while Hopp finns i fyra former goto return break continue Det finns ytterligare några former av satser. TDDB28 OH Föreläsning: C++ 14 If-satsen Villkorsstyrt val av alternativa programavsnitt. int x, y; cout << "Ge två heltal: "; cin >> x >> y; cout << "Största värdet var "; if (x > y) cout << x << endl; else cout << y << endl; Styrvillkoret mellan parenteserna beräknas först, true eller false. Om värdet är sant utförs satsen mellan if och else if-grenen. Om värde är falskt utförs satsen efter else, else-grenen. else-delen är valfri (används vid behov). TDDB28 OH Föreläsning: C++ 15 Blocksats om fler än en sats ska finnas där en sats kan förekomma if (top > 0) top = top - 1; return stack[top]; else cerr << "Stacken är tom" << endl; exit(1); Detta behov av blocksatsen gäller samtliga styrsatser!
6 TDDB28 OH Föreläsning: C++ 16 Switch-satsen Ett mångförgrenat val styrt av ett heltalsuttryck. char c; cout << "Välj j = JA, n = NEJ: "; cin >> c; switch (c) case j : case J : cout << "Du har valt JA"; break; case n : case N : cout << "Du har valt NEJ"; break; default: cout << "Fel val!"; break; Styruttrycket beräknas. Om det finns en case med samma värde fortsätter exekveringen efter denna case. Om ingen case passar utförs default. break avbryter exekveringen av switch, liksom om exekveringen når avslutande. Varning för fall-through! TDDB28 OH Föreläsning: C++ 17 While-satsen While-satsen är en förtestad, villkorsstyrd slinga int i = 0; int sum = 0; while (sum < MAX / 2) i = i + 1; sum = sum + i; cout << "summa = " << sum << ", i = " << i << endl; Styrvillkoret beräknas först. Om styruttrycket är sant utförs satsen/satsblocket, varefter styruttrycket åter beräknas. while-satsen avbryts då styruttrycket blir falskt. TDDB28 OH Föreläsning: C++ 18 Do-satsen Do-satsen (eller do-while) är en eftertestad, villkorsstyrd slinga. int x; do cout << "Skriv ett heltal: "; cin >> x; cout << "Du skrev " << x << endl; while (x > 0); Satsen/satsblocket mellan do och while utförs. Styruttrycket mellan parenteserna efter while beräknas. Om styruttrycket är falskt avbryts do-satsen och satsen efter utförs. Om styruttrycket är sant, upprepas från första punkten ovan.
7 TDDB28 OH Föreläsning: C++ 19 For-satsen For-satsen är en förtestad, villkorsstyrd slinga. int sum = 0; for (int i = 1; i <= 10; i++) sum = sum + i; cout << "Summan av 1, 2, 10 är " << sum << endl; Initieringssatsen beräknas variabeln i deklareras och nollställs. Avbrottsvillkoret beräknas om falskt avslutas for-satsen. Satsen/satserna som hör till for-satsen utförs. Sista uttrycket i for-satsens styrdel utförs i räknas upp med 1 varefter avbrottsvillkoret åter beräknas (andra punkten ovan). TDDB28 OH Föreläsning: C++ 20 Hoppsatser Det finns fyra former av hoppsatser i C++: goto innebär hopp till ett namngivet läge i programmet. return returnerar från funktion. enbart return för funktioner som returnerar void. return uttryck för funktioner som ska returnera ett objekt. break avbryter for, while och do-while, samt switch. continue medför att exekveringen av satsdelen i en for, while eller do-while avbryts men inte själva slingan nästa steg i repetitionen påbörjas. För att avbryta programkörning finns standardfunktionen void exit(int) från cstdlib. TDDB28 OH Föreläsning: C++ 21 Exempel på break och continue for (int i = 0; i < n; i++) if ( hoppa över resten av satserna men fortsätt med nästa steg hoppa till styruttrycket) continue; if ( avsluta for-satsen helt ) break; // Hit kommer man vid continue // Hit kommer man vid break
8 TDDB28 OH Föreläsning: C++ 22 Funktionsdefinition och funktionsdeklaration En funktionsdefinition: double mean(double x, double y) return ((x + y) / 2); Funktionsdeklarationer, prototyper: double mean(double x, double y); double mean(double, double); extern double mean(double, double); TDDB28 OH Föreläsning: C++ 23 Parameteröverföring Värdekopiering call by value int max(int x, int y) return (x > y? x : y); Referensöverföring call by reference void swap(int& x, int& y) const int old_x = x; x = y; y = old_x; (Även vanliga variabler kan vara av referenstyp) TDDB28 OH Föreläsning: C++ 24 Förvalda argument för funktionsparametrar Används om inget motsvarande argument ges i ett anrop. int increment(int value, int amount = 1) return value + amount; Anrop: cout << increment(5, 2) << endl; // 7 cout << increment(7) << endl; // 8
9 TDDB28 OH Föreläsning: C++ 25 Överlagring av funktionsnamn Flera funktioner kan ges samma namn. void print(int value); void print(double value); void print(const char* string); Kompilatorn väljer den som passar ett anrop bäst. TDDB28 OH Föreläsning: C++ 26 Sammansatta datatyper Sammansatta datatyper kan konstrueras på följande sätt (inte helt fullständigt). Fält ( array ) är indexerade datatyper bestående av objekt av samma typ. Funktioner har parametrar av olika typer och returnerar void (inget) eller ett objekt av en viss typ. Pekare till void (generell pekare) eller till objekt eller funktion av en viss typ. Referens till objekt eller funktion av en viss typ. Klass (class och struct) som består av objekt av olika typ, även funktioner. Union (union, speciell slags klasser). Uppräkningar (enum) Pekare till icke-statiska medlemmar. Dessa kan kombineras rekursivt för att konstruera komplexa datatyper och datastrukturer. TDDB28 OH Föreläsning: C++ 27 Uppräkningstyper enum En uppräkning har en värdemängd bestående av namngivna heltalskonstanter. enum Direction left, right, up, down ; För en uppräkning gäller att den är en distinkt typ, skild från alla andra typer. att dess namn kan användas som ett datatypsnamn. att den har en underliggande typ som är en heltalstyp. värdena i en uppräkning representeras standardmässigt med 0, 1, 2, kan också uttryckligen deklareras att representeras med andra värden.
10 TDDB28 OH Föreläsning: C++ 28 Uppräkning med explicit angivna underliggande värden: enum Colour Red = 1, Yellow, Blue = 4, Green = Yellow + Blue ; Värdet för en litteral eller ett objekt av uppräkningstyp kan omvandlas till heltal: Colour col = Red; // Deklaration och initiering int i = Yellow; // Tillåtet; Yellow omvandlas till 2 Men det finns ingen automatiskt omvandling från heltal till uppräkningsvärde: col = 5; // Typfel! Uttrycklig typomvandling kan dock göras: col = static_cast<color>(21); col = Colour(21); col = (Colour) 21; // senaste skriket // funktionsform // "cast" TDDB28 OH Föreläsning: C++ 29 Fältstrukturer [] Fält är sammansatta av element av samma datatyp. int vector[4] = 1, 2, 3, 4; // Initiering med aggregat double matrix[3][4]; // Tvådimensionellt fält matrix[2][3] = vector[1]; // Indexering av element I deklarationen anges storleken på fältet, ej intervall. Fältelement indexeras alltid från 0 och uppåt (int). Alla slags fält kan initieras med ett fältaggregat. har alltid statiska komponenter. behöver ej vara uttömmande avseende alla element. Använd gärna i stället vector: minnet ökas/minskas alltefter behovet högre abstraktionsnivå (djup tilldelning med = fungerar t.ex.) TDDB28 OH Föreläsning: C++ 30 Pekare * Pekarobjekt kan innehålla minnesadresser till andra objekt. int i = 4711; // Heltalsvariabel int* p = &i; // Pekare till heltal adressoperatorn Användning: cout << i << endl; // 4711 cout << p << " -> " << *p; // 0xeffff828 -> 4711 Med adressoperatorn & kan man bl.a. få adressen till en variabel, ett element i ett fält, en komponent i en post,... Avrefereringsoperatorn * är dess invers, avrefererar en pekare ger det objekt, den minnescell, som en pekare anger.
11 TDDB28 OH Föreläsning: C++ 31 Referens & int i = 4711; int& ir = i1; // Referens till heltal implicit adressberäkning En referens måste alltid bindas då den definieras kan sedan inte ändras. Möjlig användning (kanske inte så realistiskt): ir = 11147; cout << ir << "==" << i << endl; // I princip tilldelning av i // Implicit avreferering En form av alias. Främsta användning är som typ för funktionsparameter och funktionsreturvärde. TDDB28 OH Föreläsning: C++ 32 Poststrukturer struct Den grundläggande användningen av struct är att definiera posttyper. struct Person char name[20]; int age; ; Person p = "Per Post", 21 ; // Initiering med postaggregat Punktoperatorn används för att referera till komponenter: p.age = p.age + 1; cout << p.name << " är " << p.age << " år."; // Grattis på födelsedagen! Två användbara sammansatta datatyper med struct är fält och struct samt struct och pekare. TDDB28 OH Föreläsning: C++ 33 Länkade datastrukturer länkad lista: struct + pekare struct Person string name; int age; Person* next; ; Dynamisk minnestilldelning görs med operatorn new: Person* pp = new Person; Operatorn -> används för åtkomst av medlemmar: pp->name = "Per Post"; pp->age = 21; pp->next = 0; // (*pp).age // Tompekare (använd inte NULL) Minne återlämnas med operatorn delete: delete pp; // Pekaren pp oförändrad dock!
12 TDDB28 OH Föreläsning: C++ 34 typedef Ett sätt att definiera typnamn. struct Person string unsigned int Person* ; name; age; next; typedef Person* List; // För att slippa asterisken List head = 0; // Deklaration av personlista Det enkla namnet List har klara fördelar framför det sammansatta Person*. TDDB28 OH Föreläsning: C++ 35 Sätta in sist i lista void append(const string& name, int age, List& l) Person* pp = new Person; pp->name = name; pp->age = age; pp->next = 0; if (l == 0) // tom lista l = pp; return; // Det finns minst en nod, finn den sista noden i listan Person* p = l; while (p->next!= 0) p = p->next; p->next = pp; TDDB28 OH Föreläsning: C++ 36 Strömbiblioteket Ett klassbaserat bibliotek för att läsa och skriva strömmar. Strömtyper (klasser) inströmmar istream, ifstream utströmmar ostream, ofstream in- och utströmmar iostream, fstream strängströmmar istringstream, ostringstream datatyper för att deklarera strömvariabler som kan kopplas till filer för att läsa/skriva sådana Operationer för att öppna och stänga strömmar att läsa och skriva strömmar (text, binärt) att testa strömmars tillstånd (filslut, feltillstånd) manipulera textströmmar (in- och utmatningsformat, sätta in radslut, strängslut, etc.)
13 TDDB28 OH Föreläsning: C++ 37 Användning av strömbiblioteket Det finns flera inkluderingar som hör till strömbiblioteket, t.ex. #include <iostream> strömklasserna istream, ostream och iostream de fördefinierade standardströmmarna cin, cout, cerr och clog oparametriserade manipulatorer, t.ex. endl, noskipws, oct #include <fstream> strömklasserna ifstream, ofstream och fstream för att hantera filer som strömmar fstream inkluderer i sin tur iostream #include <sstream> strängströmsklasserna istringstream och ostringstream #include <iomanip> parametriserade manipulatorer, t.ex. setw(10), setprecision(2) TDDB28 OH Föreläsning: C++ 38 Skriv- och läsoperatorerna << och >> Kan användas på standardströmmarna, filströmmar och strängströmmar för formaterad in- och utmatning. cout << x; Kan användas för att skriva grundläggande datatyper och strängar på utströmmar. Omvandling från intern representation till textrepresentation. cin >> x; Kan användas för att läsa grundläggande datatyper och strängar från inströmmar. Läsning sker på fritt format inledande vita tecken ignoreras. Omvandling från text till interna representation. TDDB28 OH Föreläsning: C++ 39 Funktioner för att läsa och skriva tecken char c; is.get(c); läs nästa tecken (ingen förbiläsning av blanka) från inströmmen is till variabeln c is.putback(c); lägg tillbaka tecknet i variabeln c i inströmmen is c = is.peek(); hämta nästa tecken i inströmmen is utan att ta ut det is.ignore(255, \n ) läs förbi maximalt 255 tecken i inströmmen is eller till radslut om det inträffar dessförinnan os.put( A ); skriv tecknet A i utströmmen os
14 TDDB28 OH Föreläsning: C++ 40 Funktioner för att läsa och skriva strängar string s; getline(cin, s); C-strängar char buf[80]; is.read(buf, 80); läs 80 tecken från is och lagra i buf os.write(buf, 20); skriv de 20 första tecknen i buf på os is.getline(buf, 80); läs is till radslut, eller max 80 tecken (eventuella inledande vita tecken läses normalt förbi) is.getline(buf, 80, ); läs is till mellanrumstecken, dock max 80 tecken TDDB28 OH Föreläsning: C++ 41 Formatering Används för att ange önskat dataformat vid utskrifter. Några exempel: os.width(n); sätter fältvidden för nästa, men endast nästa, utskrift på utströmmen os till n teckens bredd os.fill(c); sätter utfyllnadstecknet till c för os (mellanrumstecken är standard) os.precision(p); sätter önskad precision (antalet decimaler för flyttal) till p för strömmen os För var och en av dessa finns en motsvarande parametriserad manipulator. TDDB28 OH Föreläsning: C++ 42 Manipulatorer Det finns två kategorier av manipulatorer. Utan parametriserade direkt tillgängliga genom inkludering av iostream Exempel: ws endl ends flush oct dec hex Parametriserade kräver att även iomanip inkluderas Exempel: setbase(b) setw(n) setfill(c) setprecision(p) Används med läs- och skrivsoperatorerna, t.ex.: cout << setw(4) << x << endl; Vissa manipulatorers effekt gäller endast för nästa strömoperation.
15 TDDB28 OH Föreläsning: C++ 43 Statusinformation för strömmar Operationer för att detektera feltillstånd och andra tillstånd hos strömmar.! s returnerar sant om strömmen s är i feltillstånd if (! cin) cerr << "Fel i cin" << endl; exit(1); s.eof() s.fail() s.bad() s.good() s.clear() sant om filslut inträffat för strömmen s sant om ett mindre allvarligt fel inträffat för strömmen s sant om ett allvarligt fel inträffat för strömmen s sant om inga fel inträffat för strömmen s återställer strömmen s till normaltillstånd (gör ej detta vid allvarliga fel) TDDB28 OH Föreläsning: C++ 44 Filströmmar Används för att läsa och skriva filer på sekundärminne. Filobjekt av typen ifstream kan enbart läsas Filobjekt av typen ofstream kan enbart skrivas Filobjekt av typen fstream kan både läsas och skrivas Operationer öppna filström stänga filström positionering i filström (tar vi inte upp nu) allmäna strömoperationer enligt tidigare, t.ex. insättnings- och uttagsoperatorerna. Det finns en del deklarationer som rör bl.a. filströmmar i inkluderingen <stream> TDDB28 OH Föreläsning: C++ 45 Öppna och stänga filströmmar Två möjligheter att öppna en fil. Öppna filen direkt i samband med att ett filströmobjekt deklareras. ifstream input("data.txt"); if (! input.good()) input.close(); cerr << "filen DATA.TXT kunde inte öppnas" << endl; exit(1); Deklarera först filströmmen och öppna sedan filen med operationen open() ifstream input; input.open("data.txt"); En filström stängs med operationen close() input.close();
TDDC76 PoD OH Föreläsning C++ 1 C++
TDDC76 PoD OH Föreläsning C++ 1 C++ bred användning inom programvaruindustrin tillgängligt överallt generellt effektiv kod god kontroll över minnesanvändning ny standard 2011 C++11 mindre revision planerad
Läs merImperativ programmering (Fö 1 2) C++ Ett första programexempel. Enkel in- och utmatning strömbiblioteket
TDDC76 PoD OH Föreläsning C++ 1 C++ bred användning inom programvaruindustrin tillgängligt överallt generellt effektiv kod god kontroll över minnesanvändning ny standard 2011 C++11 mindre revision planerad
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
Läs merProgrammering i C++ EDA623 Strömmar och filer. EDA623 (Föreläsning 9) HT / 19
Programmering i C++ EDA623 Strömmar och filer EDA623 (Föreläsning 9) HT 2013 1 / 19 Strömmar och filer Innehåll Klassen ios Läsning av strömmar Utskrift av strömmar Koppling av filer till strömmar Direktaccess
Läs merC++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merIntroduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
Läs merTDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer C++ - en introduktion Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna Ett första
Läs merTDIU01 (725G67) - Programmering i C++, grundkurs
. TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler
Läs merIntroduktionslaboration
LINKÖPINGS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Avdelningen för programvara och system (SaS) Tommy Olsson 2006-08-31 TDIU06 Programmering g.k Introduktionslaboration Ht1, 2006 Detta häfte
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Strömmar, externa filer och kommandoradsargument Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/32 Strömmar Kommandoradsargument Jämförelseoperatorer
Läs merC++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 77 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
Läs merTDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 20 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 20 Internminne
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock
Läs merTDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 21 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 21 Internminne
Läs merTDP004. Minne och pekare. Eric Elfving Institutionen för datavetenskap
TDP004 Minne och pekare Eric Elfving Institutionen för datavetenskap 1 / 23 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 23 Internminne - RAM Datorns internminne (RAM,
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs mer1 Funktioner och procedurell abstraktion
1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår
Läs merInnehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser
Föreläsning 1 Innehåll Introduktion till objektorientering OOP (objektorienterad programmering) Objekt, instanser, klasser C++ OO i C++ Standardbibliotek Utökningar från C (syntaktiskt socker) Introduktion
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merTDIU01 Programmering i C++
TDIU01 Programmering i C++ Föreläsning 6 - Klasser Eric Elfving, eric.elfving@liu.se Institutionen för datavetenskap (IDA) Avdelningen för Programvara och system (SaS) Klasser När vi skapade vår lista
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merProgrammering i C++ EDA623 Typer. EDA623 (Föreläsning 4) HT / 33
Programmering i C++ EDA623 Typer EDA623 (Föreläsning 4) HT 2013 1 / 33 Typer Innehåll Heltalstyper Flyttalstyper Pekare Minnesallokering Funktionspekare Typdeklarationer med typedef Typomvandlingar (casting)
Läs merOperatoröverlagring. endast operatorsymboler definierade i C++ kan överlagras = += -= *= /= %= ^= &= = <<= >>= < > <= >= ==!= && > ->*, [ ] ( )
TDDC76 PoD OH Föreläsning C++ 83 Operatoröverlagring endast operatorsymboler definierade i C++ kan överlagras + - * / % ^ & ~! > = += -= *= /= %= ^= &= = = < > = ==!= && ++ -- -> ->*, [ ]
Läs merMinnestilldelning (allokering) och frigörande (avallokering) av minne
Pekare i C++ Pekare används mycket i C++. De är bra både för att de tillåter dynamisk minnesallokering och för att de är referenser. En pekarvariabel innehåller en adress till ett element, den pekar på
Läs mer2D1387, Programsystemkonstruktion med C++ Johnny Bigert, Kursens hemsida:
2D1387, Programsystemkonstruktion med C++ 00/01 1 Slide 1 2D1387, Programsystemkonstruktion med C++ Johnny Bigert, johnny@nada.kth.se Kursens hemsida: http://www.nada.kth.se/kurser/kth/2d1387 Varför vill
Läs merObjektorienterad programmering Föreläsning 4
Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion
Läs merC++-programmets beståndsdelar
C++-programmets beståndsdelar Ett C++-program är uppdelat i headerfiler (fil.h) och implementationsfiler (fil.cpp) Programmet måste innehålla åtminstone funktionen int main() main() startar programmet
Läs merByggstenar. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Grundläggande datatyper
C++-programmets beståndsdelar Ett C++-program är uppdelat i headerfiler (fil.h) och implementationsfiler (fil.cpp) Programmet måste innehålla åtminstone funktionen int main() main() startar programmet
Läs merLÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor
Läs merEDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Administration. EDAf30: Programmering i C++, 7.5 hp Obligatoriska moment
EDAf30: Programmering i C++, 7.5 hp EDAF30 Programmering i C++ 1. Introduktion Sven Gestegård Robertz Datavetenskap, LTH 2015 Mål: Kursens syfte är att ge kunskaper i objektorienterad programmering i C++.
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merData, typ, selektion, iteration
Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens
Läs merÖversikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström
DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merInnehåll. EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Viktiga skillnader mot Java
Innehåll EDAF30 Programmering i C++ 1. Introduktion 1 Om kursen Sven Gestegård Robertz Datavetenskap, LTH 2016 2 Presentation av C++ Historik Inledning Datatyper och variabler 1. Introduktion 2/1 Viktiga
Läs merRepetition C-programmering
Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition
Läs merFöreläsning 1: Momstabellen i C++
Nu sätter vi igång med C++! Föreläsning 1: Momstabellen i C++ På den här föreläsningen skall jag ta ett stort exempel och ett par små och med dessa hoppas jag att täcka in mycket av det som är grundläggande.
Läs merFöreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs mer1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet
1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken
Läs merInnehåll. 1 Deklarationer, scope och livstid. 2 Användardefinierade typer. 4 In- och utmatning. 5 Operatoröverlagring. 6 namnrymder (namespace)
Innehåll EDAF30 Programmering i C++ 2. Användardefinierade typer Sven Gestegård Robertz Datavetenskap, LTH 2016 1 Deklarationer, scope och livstid 2 Användardefinierade typer 3 Standardbibliotekets alternativ
Läs merEn villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är
1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Läs merIntroduktion C-programmering
Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merDet finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
Läs merGrunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merInnehåll. 1 Deklarationer, scope och livstid. 2 Användardefinierade typer. 4 Operatoröverlagring. 5 In- och utmatning. 6 namnrymder (namespace)
Innehåll EDAF30 Programmering i C++ 2. Användardefinierade typer Sven Gestegård Robertz Datavetenskap, LTH 2017 1 Deklarationer, scope och livstid 2 Användardefinierade typer 3 Standardbibliotekets alternativ
Läs merVariabler och konstanter
Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!
Läs merDel3 Klassanvändning, operatorer och pekare Ämnesområden denna föreläsning:
2D1387, Programsystemkonstruktion med C++ 00/01 1 Del3 Klassanvändning, operatorer och pekare Ämnesområden denna föreläsning: Synlighet Överlagring av operatorer Slide 1 Vänner till klasser och funktioner
Läs merF5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
Läs merProgrammering i C. Vad är C? Målsättning. Litteratur. Jämförelse med Java. Exempel : Ett program som skriver ut texten Hello, world
Programmering i C Målsättning Introducera programmering i C för de som inte har någon erfarenhet av C eller C++. Litteratur Kernighan, Ritchie: The C Programming Language, Second edition, Steve Oualline:
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merTDIU20 - Objektorienterad programmering i c++ - föreläsning 4
TDIU20 - Objektorienterad programmering i c++ - föreläsning 4 Pontus Haglund Department of Computer and information science 1 Vad gjorde vi förra gången? Felhantering Operatorer Typkonvertering 2 Grundläggande
Läs merFÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I 2002-03-18 Betygsgränser: 3 14 poäng 4 20 poäng 5 27 poäng Maxpoäng: Hjälpmedel: 32 poäng Bilagd ASCII-tabell Lycka till Per Ekeroot
Läs merFöreläsning 4: Filer och strömmar
Föreläsning 4: Filer och strömmar PROGRAM OPERATIV- SYSTEM EXTERNA (IO-)ENHETER cout > x; STANDARD INSTRÖM ifstream infil A.TXT infil >> str; INGÅENDE FILSTRÖM
Läs merDel6 Strömmar Ämnesområden denna föreläsning:
2D1387, Programsystemkonstruktion med C++ 01/02 1 Del6 Strömmar Ämnesområden denna föreläsning: Utmatning till ostream och ostringstream Slide 1 Inmatning från istream och istringstream Överlagring av
Läs merÖvning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Läs mer6.1 Kompilering och lite grundläggande information
6 Förhoppningsvis ska de C-konstruktioner som gås igenom här tillsammans med de exempelprogram som ges här och i andra delar av lab-pm vara tillräckliga för att ni ska kunna klara av laborationerna. Syftet
Läs merProgrammering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42
Programmering i C++ EDA623 Arv EDA623 (Föreläsning 6) HT 2013 1 / 42 Arv Innehåll Härledda klasser Konstruktorer och destruktorer vid arv Tillgänglighet Polymorfism och dynamisk bindning Abstrakta klasser
Läs mer1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings
Läs merHantering av textsträngar och talsträngar. William Sandqvist
Hantering av textsträngar och talsträngar Strängen Hello world! PIC-processorerna lagrar strängkonstanter med bokstäverna inbakade i en följd av instruktioner (en tabell). Man hämtar en bokstav genom att
Läs merLathund. C för inbyggda system
Lathund C för inbyggda system Revision 1 2000-09-21 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 MPLAB...4
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merProgrammering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33
Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation
Läs merTDIU01 - Programmering i C++, grundkurs
. TDIU01 - Programmering i C++, grundkurs Datalagring - poster och vektorer Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Poster 2/17 struct Book string title; string author; int pages; ;
Läs merC++ Lektion Tecken och teckenfält
C++ Lektion Tecken och teckenfält Teori Hittills har alla variabler du jobbat med varit olika typer av tal, men du kan också deklarera variabler som håller bokstavstecken. Denna variabeltyp kallas för
Läs merC konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories.
C C konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories. För att användas vid implementering av UNIX. Bygger på de tidigare språken BCPL och B. Målsättning: Att få ett högnivåspråks
Läs merC++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen
C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt
Läs merE02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Läs merInnehåll. Användardefinierade typer. Användardefinierade typer Kategorier. Konstruktorer. Konstruktorer Två sätt att skriva initiering av medlemmar
Innehåll EDAF30 Programmering i C++ 3. Mer om klasser. Funktionsanrop Sven Gestegård Robertz Datavetenskap, LTH 2017 1 Klasser pekaren this const för objekt och medlemmar Kopiering friend inline 2 Funktionsanrop
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merfloat Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number )
1 Datatyper och Uttryck I räkneprogrammet tidigare såg vi att C++ kräver deklarationer av alla variabler som används. I räkneprogrammet användes bara variabler av heltalstyp, int, men det finns naturligtvis
Läs merSkizz till en enkel databas
Skizz till en enkel databas Data: Register En vektor Funktioner: Databas Initiera huvudloop Avsluta Poster (struct( struct) val Mata in Skriv ut Spara Hämta Ändra Radera Enligt diskussion 1999-11-23 Bertil
Läs merGrundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merProgrammering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26
Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623
Läs merKapitel 5. Strömmar. Utmatning
Kapitel 5 Strömmar Kapitel 5 - Strömmar Utmatning med std::ostream och std::ostringstream Inmatning med std::istream och std::istringstream Överlagring av in- och utmatning Iteratorer för in- och utmatning
Läs merGrundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
Läs merPROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4
Modul 2 Byggstenar PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4 Byggstenar 4 Nyckelord 4 Tecken 4 Syntax 5 Standardbibliotek 5 Vårt första program 5 Variabler 6 Konstanter 9 Operatorer 9 Övningar 9 Mer operatorer
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merTDIU01 - Datortenta (DAT2)
TDIU01 - Datortenta (DAT2) 2013-03-25 Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan
Läs merFunktionens deklaration
Funktioner - 1 Teknik för stora program #include #include......... cout
Läs merInnehåll. Pekare Syntax
Innehåll EDAF30 Programmering i C++ Typer, pekare Sven Gestegård Robertz Datavetenskap, LTH 2015 1 Typer och arrayer Operatorn -> Typer, pekare 2/1 Påminner om referenser i Java, men en pekare är minnesadressen
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean
Läs mergrundläggande C++, funktioner m.m.
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel Ett enkelt program i C++, hello.cpp #include
Läs mer