TDIU01 - Programmering i C++, grundkurs

Relevanta dokument
TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs

C++ - En introduktion

TDDC76 - Programmering och Datastrukturer

C++ - En introduktion

TDIU01 (725G67) - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs

TDDC76 - Programmering och Datastrukturer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TDIU01 - Programmering i C++, grundkurs

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Programmeringsteknik med C och Matlab

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

TDDC76 - Programmering och Datastrukturer

Klassdeklaration. Metoddeklaration. Parameteröverföring

1 Funktioner och procedurell abstraktion

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

TDP004. Minne och pekare. Eric Elfving Institutionen för datavetenskap

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

Objektorienterad programmering Föreläsning 4

Programmering A. Johan Eliasson

SMD 134 Objektorienterad programmering

Parameteröverföring. Exempel. Exempel. Metodkropp

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Enkla datatyper minne

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret L0 - Grunder i C++

Introduktionslaboration

TDIU01 - Programmering i C++, grundkurs

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

En 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

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

float Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number )

Språket Python - Del 1 Grundkurs i programmering med Python

TDIU01 Programmering i C++

F4. programmeringsteknik och Matlab

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Introduktionslaboration

Övning2. Variabler. Data typer

Data, typ, selektion, iteration

Innehåll. EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Viktiga skillnader mot Java

Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Planering Programmering grundkurs HI1024 HT 2014

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

Föreläsning 3-4 Innehåll

Variabler och konstanter

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Objektorienterad Programmering (TDDC77)

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.

Repetition C-programmering

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT / 26

Introduktion C-programmering

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Övning från förra gången: readword

Funktionens deklaration

Java, klasser, objekt (Skansholm: Kapitel 2)

Föreläsning 1: Momstabellen i C++

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Lathund. C för inbyggda system

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Instuderingsfrågor till Steg 1

Logik och kontrollstrukturer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Programmering för språkteknologer I, VT2012. Rum

Pascal... Pascal. Pascal... Pascal...

Föreläsning 6 pekare och pekare tillsammans med arrayer

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Översikt över Visual Basic

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Övningsuppgifter kapitel 8

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Övningsuppgifter till föreläsning 2 Variabler och uttryck

C++-programmets beståndsdelar

Innehåll. Användardefinierade typer. Användardefinierade typer Kategorier. Konstruktorer. Konstruktorer Två sätt att skriva initiering av medlemmar

Byggstenar. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Grundläggande datatyper

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

F5: Högnivåprogrammering

2D1387, Programsystemkonstruktion med C++ Johnny Bigert, Kursens hemsida:

F5: Högnivåprogrammering

Introduktion till programmering

Transkript:

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

Ett C++-program Källkod # include <iostream > using namespace std ; int main () { cout << " Hej världen!\ n" << " Nu är det slut " << endl ; return 0; }

Ett C++-program För att kunna köra programmet måste det vara skrivet på ett språk som datorn känner till - Maskinkod För att översätta från C++ till maskinkod används en kompilator Kompilatorn delar upp arbetet i tre steg: Preprocessor Utför alla rader som inleds med # (t.ex. inkluderingar) samt rensar bort kommentarer och annat som inte behövs av kompilatorn Kompilering Själva översättningen av vår källkod Länkning Alla källkodsfiler (inklusive systemets standardbibliotek) kopplas ihop till ett körbart program

Ett C++-program Programmet körs av operativsystemet Med hjälp av anrop till operativsystemet kan vi kommunicera med användaren

Variabler Variabeln är imperativa språks grudsten Med hjälp av variabler kan vi lagra värden i våra program En variabel är en representation av en del av datorns minne En variabel har alltid tre egenskaper: Ett namn En datatyp Ett värde Har vi inte gett variabeln ett värde så är det normalt sätt okänt

Variabler int x; int y {4}; x = y; y: int 4 En variabel måste deklareras innan den används Man kan ge variabeln ett värde vid deklaration - initiering Man kan även ge variabler värden med tilldelning Vid tilldelning beräknas uttrycket till höger varefter värdet stoppas in i variabeln

Datatyper Grundläggande datatyper Heltal Finns i flera typer - signed, unsigned, short, int, long, long long och kombinationer. Använd normalt sätt int. Flyttal En representation av de reella talen. Finns i varianterna float, double, long double. Alla tal kan inte lagras exakt - användning leder ofta till flyttalsavrundningar Tecken Tecken lagras som heltal - representerar position i teckentabellen, Datatypen char vanligast. Sanningsvärden Typen bool har två möjliga värden - true och false

Datatyper Sammansatta datatyper En sammansatt datatyp består av andra datatyper Två enkla : string: En samling av flera tecken vector<d>: En samling av flera värden av datatyp d # include <vector > # include <string > # include <iostream > using namespace std ; int main () { string x {" Hej "}; vector <int > v {1, 4, 6, 10}; cout << x << endl ; for ( int i : v ) cout << i << endl ; return 0; } Hej 1 4 6 10

Datatyper Fältstrukturer Både string och vector kan indexeras med hjälp av ett index kan man komma åt ett specifikt element Kan indexeras på två sätt, klammerparenteser och med funktionen at v[1] Plockar ut index 1 (andra elementet) v.at(1) Plockar ut index 1, ger fel om det inte finns

Datatyper Sammansatta datatyper - Poster Vi kan också skapa egna datatyper poster Poster samlar flera värden som kan vara av olika datatyp struct Person { string name ; int age ; }; int main () { Person p {" Klara ", 14}; cout << p. name << " (" << p. age << " år)" << endl ; } Klara (14 år)

Ett C++-programs uppbyggnad Satser Ett C++-program består av en sekvens av satser Några satser vi pratat om: Uttryckssatsen Deklaration Tilldelningssatsen Satsblocket Villkorssatser Upprepningssatser

Satser Uttryckssatsen: Ett valfritt uttryck följt av ett semikolon Deklaration: Variabeldeklaration: datatyp namn [{värde}] Funktionsdeklaration: returtyp namn ([parametrar]) Tilldelning: variabel = uttryck

Satser Satsblock Ett block kan införas med klammerparenteser (måsvingar) Varje block har ett eget scope med egna variabler

Satser Villkorssatser Finns två varianter av villkorssatser; if och switch

Satser Upprepningssatser Tre upprepningssatser som i grunden har liknande funktion; while, do och for int i {}; while ( i < 5 ) { cout << i << endl ; ++i; } int i {}; do { cout << i << endl ; ++i; } while ( i < 4 ); for ( int i {}; i < 5; ++i ) { cout << i << endl ; }

Ett C++-programs uppbyggnad Uttryck En sats kan bestå av uttryck Några uttryck: Litteraler och identifierare Aritmetiska uttryck Logiska uttryck

Uttryck Litteraler En litteral är ett värde skrivet direkt i källkoden Litteral Typ Värde 1 int 1 0x1b int 27 1.2 double 1.2 Några exempel: 1.2e2 double 120.0 true bool true c char c "c" string "c" "kalle" string "kalle"

Uttryck Identifierare En identifierare är ett namn, antingen som finns inbyggt eller som vi själva hittat på En identifierare får (enligt standarden) endast inledas med en engelsk bokstav eller ett understreck (_) och därefter följas av andra bokstäver, understreck eller siffror. Det finns inga direkta namngivningsregler men följande rekommenderar jag: Använd engelska namn Skilj på ord med understreck Inled namn på egna typer med versal Använd endast gemener i övriga fall

Uttryck Aritmetiska uttryck Aritmetiska uttryck fungerar som i matematiken Har de fyra vanliga operatorerna: + - * / Beräkningsordning samma som i matematiken, kan ändras med parenteser Division mellan heltal ger ett heltalsvärde som svar Operatorn % (modulus) ger resten vid heltalsdivision Stegning: prefix (++i) och postfix (i++)

Uttryck Logiska uttryck Med hjälp av relationsoparatorer jämförs värden. Finns ==!= < > <= >= för kontroll av likhet, olikhet, mindre än, större än, mindre eller lika respektive större eller lika. Logiska uttryck kan kombineras med operatorerna &&! Logiskt OCH och ELLER är kortslutande (första uttrycket beräknas för att se om nästa behövs)

Underprogram funktioner En funktion är i grunden ett namngivet kodblock Funktionen definieras och kan sedan anropas Vid anrop sker parameteröverföring

Underprogram funktioner Parameteröverföring Tre typer: Värdeöverföring Argumentets värde kopieras till parametern int max ( int x, int y) { if ( x > y ) return x; return y; }

Underprogram funktioner Parameteröverföring Tre typer: Värdeöverföring Argumentets värde kopieras till parametern Referensöverföring parametern kommer att referera till (vara ett annat namn för) argumentet void swap ( int & a, int & b) { int c {a}; a = b; b = c; }

Underprogram funktioner Parameteröverföring Tre typer: Värdeöverföring Argumentets värde kopieras till parametern Referensöverföring parametern kommer att referera till (vara ett annat namn för) argumentet Konstant referens för att undvika onödig kopiering av objekt av komplicerad typ void print ( const vector <int > & v);

www.liu.se