C++ - En introduktion
|
|
- Vilhelm Sandberg
- för 8 år sedan
- Visningar:
Transkript
1 C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap
2 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster
3 1 Grunderna Ett första program Variabler och datatyper I/O - Inläsning och utskrift 2 Uttryck och satser 3 Funktioner 4 Poster
4 3 / 72 Ett första C++-program 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 6 cout << "Ett litet C++-program" << endl; 7 return 0; 8
5 4 / 72 Ett första C++-program #include <iostream> using namespace std; hello.cc int main() cout << "Ett litet C++-program" << endl; return 0; lit15-1 <203> g++ hello.cc lit15-1 <204>./a.out Ett litet C++-program lit15-1 <205>
6 5 / 72 Variabler Har alltid tre egenskaper Namn Datatyp Värde Måste deklareras innan de används Kan ses som en " låda" i datorns internminne int val; int y 4; val:? int
7 6 / 72 Datatyper Bestämmer vad vi kan göra med variabeln och vad (vilka värden) som kan lagras i den Vi använder ofta följande datatyper : int Lagrar ett heltal double Lagrar flyttal, en representation av de reella talen char Lagrar ett tecken bool Sanningsvärden, true eller false string Lagrar text, en samling av tecken (char)
8 7 / 72 Ett kort C++-program #include <iostream> using namespace std; // Ett kort program för att visa C++ int main() int x,y5; const int z 6; y = 4; x = x*y; // En beräkning return 0; /* Kommentarer kan vara flera rader! */
9 8 / 72 Inläsning och utskrift - IO Formaterad inmatning Formaterad inläsning - ignorerar inledande "vita tecken"(mellanslag, tabbar, nyradstecken osv) och tolkar nästa ord beroende på datatypen på variabeln där datat ska lagras. int x; cout << "Mata in ett heltal: "; cin >> x;
10 9 / 72 Inläsning och utskrift - IO Formaterad inmatning Inläsning är buffrad!
11 10 / 72 Inläsning och utskrift - IO Formaterad utskrift Skaparna av språket väljer hur data formateras vid utskrift. Här kommer några saker man kan använda sig av för att ändra utseendet. '\n' Gå till nästa rad i utskriften '\r' Börja om på samma rad i utskriften flush Skriv ut allt i utmatningsbufferten endl flush följt av \n
12 12 / 72 Inläsning och utskrift - IO Formaterad utskrift #include <iostream> #include <iomanip> using namespace std; int main() int i 10; double d ; cout << setw(6) << setfill('.') << i << endl; cout << setw(6) << fixed << setprecision(2) << d << endl; cout << setw(10) << left << "hej\n"; cout << setfill(' '); cout << setw(10) << right << "hej" << endl; hej... hej
13 13 / 72 Inläsning och utskrift - IO Oformaterad inläsning Formaterad inläsning är bra men ibland vill man få veta exakt vad som matades in, då passar oformaterad inläsning bra. Antag att vi har dessa deklarationer: string str; char c; cin.get(c); getline(cin, str); getline(cin, str, ':'); cin.ignore(28, ':'); cin.peek(); Läs nästa tecken Läs nästa rad Läs en rad eller tills nästa kolon. Ignorera alla tecken tills tecknet ':' eller max 28 tecken. Tittar på nästa tecken.
14 1 Grunderna Ett första program Variabler och datatyper I/O - Inläsning och utskrift 2 Uttryck och satser 3 Funktioner 4 Poster
15 15 / 72 Uttryck Uttryck beräknar värden i språket.
16 16 / 72 Litteraler Litteraler är värden som skrivs direkt i källkoden. Litteraler konverteras till inbyggda typer med regler givna i språket. Exempel: Litteral Typ Värde 1 int 1 0x1b int double e2 double 'c' char 'c' "c" const char[2] "c" "kalle"s string "kalle"
17 17 / 72 Operatorer Aritmetiska operatorer C++ har de vanligaste matematiska operatorerna inbyggt: +,-,*,/ utför normalt sett det man väntar sig... Beräkningsordning precis som i matematiken, kan ändras med parenteser. Det finns ett undantag från första punkten, heltalsdivision!
18 18 / 72 Operatorer Sammansatt tilldelning Man kan modifiera en variabel med sammansatt tilldelning x += 3 ökar x med tre. Kan såklart även skrivas x = x + 3 Fungerar för alla aritmetiska operatorer (och några fler)
19 19 / 72 Operatorer Stegning En vanlig operation är att öka eller minska en variabel med värdet 1 Därför finns det operatorer för just detta: ++ och -- Finns i prefix- (++x) och postfix-versioner (x++) Båda ökar värdet med 1, varför finns det två?
20 22 / 72 Operatorer Jämförelseoperatorer Man vill ofta jämföra värden, då använder man jämförelseoperatorer Operator Betydelse == Likhet!= Olikhet < Mindre än > Större än >= Större eller lika <= Mindre eller lika Alla ger logiska värden som svar (bool, true eller false)
21 23 / 72 Operatorer Logiska operatorer Med hjälp av logiska operatorer kan man slå ihop logiska uttryck Operator Betydelse && Logiskt OCH Logiskt ELLER! Logiskt ICKE Beräkningsordning:! > && > (> tolkas här som beräknas innan )
22 25 / 72 Satser Ett C++-program består av satser som körs i en sekvens Ett programs satser körs alltid i den ordning de står i källkoden Satser består av uttryck Satser avslutas oftast med ett semikolon
23 26 / 72 Satser Uttryckssatsen Uttryckssatsen är den enklaste formen av sats. Uttryck följt av ett semikolon. x++; cout << x; 4;
24 27 / 72 Satser Deklarationer En variabel deklareras innan den kan användas. Ett namn får endast användas en gång i ett program. Vi får ett kompileringsfel om vi omdeklarerar en variabel. int x 3; int x 4; // Ger ett fel! x = 5; // korrekt double x 4.3; // Fel!
25 28 / 72 Satser Satsblock Man kan när man vill skapa ett nytt block för att gruppera satser som hör bra ihop. Görs med klammerparenteser (... ) int x 3, y 5; int x 4; // EJ fel, x skapas lokalt! int z; cout << x << ' ' << y; // skriver ut "4 5" z = 6; // Fel, z finns inte här!
26 29 / 72 Satser Villkor if ( uttryck ) sats else sats if-satsen: om sant, gör följande uttryck ska vara eller gå att konvertera till ett sanningsvärde (bool) else: annars, gör detta else kan utelämnas
27 30 / 72 Satser Villkor if ( uttryck ) sats1; sats2;... Ibland räcker inte en sats i villkoret, då kan man använda block! Detta är det vanliga skrivsättet, använd alltid block för att slippa problem.
28 31 / 72 Satser Villkor if ( uttryck1 ) sats1 else if ( uttryck2 ) sats2 else sats3 Ibland vill man kontrollera flera villkor Byt ut else-grenens sats mot en ny if-sats! Väldigt vanlig operation - många språk har egna namn såsom elsif och elif Kan byggas på med valfritt antal else if
29 32 / 72 Satser Villkor uttryck1 T sats1 if ( uttryck1 ) sats1 else if ( uttryck2 ) sats2 else sats3 F uttryck2 F T sats2 sats3
30 37 / 72 Satser Upprepning Ofta vill man upprepa kod C++ har tre upprepningssatser; while do... while for
31 39 / 72 Satser Upprepning - while while ( uttryck ) satser uttryck T satser F
32 41 / 72 Satser Upprepning - do-while do satser while ( uttryck ); satser uttryck T F
33 43 / 72 Satser Upprepning - for init for ( init; cond; end ) satser end cond F T satser
34 44 / 72 Skriv ut talen 1..5 int i 1; while ( i <= 5 ) cout << i << endl; ++i; int i 1; do cout << i << endl; ++i; while ( i <= 5 ); for ( int i 1; i <= 5; ++i ) cout << i << endl;
35 45 / 72 Upprepning Vilken ska jag välja 1. Vet jag hur många gånger det ska upprepas for for(;;) för oändligt många gånger. 2. Ska jag utföra det minst en gång do-while 3. Annars Det som känns bäst... (ofta while)
36 46 / 72 Räkna antal vita tecken #include <iostream> #include <cctype> using namespace std; int main() char c; int space ; while ( cin.get(c) ) if ( isspace(c) ) ++space; cout << "Du matade in " << space << " vita tecken."
37 47 / 72 Räkna antal vita tecken med for #include <iostream> #include <cctype> using namespace std; int main() int space ; for (char c; cin.get(c); ) if ( isspace(c) ) ++space; cout << "Du matade in " << space << " vita tecken."
38 1 Grunderna Ett första program Variabler och datatyper I/O - Inläsning och utskrift 2 Uttryck och satser 3 Funktioner 4 Poster
39 50 / 72 Funktioner Ett kort exempel #include <iostream> using namespace std; void hello(); // deklaration int main() hello(); // Anrop cout << "------" << endl; hello(); void hello() // definition cout << "Hejsan" << endl; Hejsan Hejsan
40 51 / 72 Parametrar Med hjälp av parametrar kan man skicka data till sin funktion void hello(string name) // deklaration + definition cout << "Hello " << name << '!' << endl; int main() hello("anna"); Hello Anna!
41 53 / 72 Parametrar Värdeöverföring void hello(string name); int main() string user "Nisse"; hello(user); main user: hello name: string "Nisse" string "Nisse"
42 54 / 72 Parametrar Referensparametrar void append_word(string & a, string b) a += " " + b; int main() string s1 "Hejsan"; append_word(s1, "svejsan"); cout << s1 << endl; Hejsan svejsan
43 55 / 72 Parametrar Referensparametrar void append(string & a, string b); int main() string s1"a", s2"b"; append(s1, s2); main s1: s2: append a: b: string "A" string "B" string& string "B"
44 57 / 72 Parametrar const-referenser void hello(const string & name) cout << "Hello " << name << '!' << endl;
45 58 / 72 Parametrar Vilken ska jag välja? 1. Vill jag ändra på parametern? referens 2. Är det en inbyggd datatyp (int, double, char, bool)? 1. Vill jag kunna ändra på den lokalt? värdeöverföring 2. Annars const 3. Annars const-referens (blir vanligaste valet)
46 59 / 72 Parameteröverföring - sammanfattning Figur : Sammanfattning från C++ Core Guidelines
47 60 / 72 Defaultargument Om man vill kan man ange defaultvärden (skönsvärden) för sina parametrar void print_stars(const int n = 10) for ( int i ; i < n; ++i ) cout << '*'; cout << endl; int main() print_stars(20); print_stars(); ******************** **********
48 61 / 72 Defaultargument Parametrar med defaultargument måste anges i slutet av parameterlistan void fun(int a, int b=5, int c); g++ -c args.cc args.cc:1:6: error: default argument missing for parameter 3 of 'void fun(int, int, int)'
49 62 / 72 Defaultargument void fun(int a=1, int b=5, int c=4); Anrop a b c f() f(2) f(3,4) f(3,4,6) 3 4 6
50 64 / 72 Returvärden int max(const int a, const int b) if ( a > b ) return a; return b; int main() int a,b; cout << "Mata in två tal: "; cin >> a >> b; int m max(a,b) ; cout << "Det största är " << m << endl; Mata in två tal: 2 6 Det största är 6
51 string concat(string const & s1, string const & s2) return s1+s2; 65 / 72
52 1 Grunderna Ett första program Variabler och datatyper I/O - Inläsning och utskrift 2 Uttryck och satser 3 Funktioner 4 Poster
53 67 / 72 Poster - struct struct Book string title; string author; int pages; ; int main() Book b; b.title = "C++ Primer"; b.author = "Lippman"; b.pages = 976; Man kan med hjälp av poster gruppera data som hör bra ihop till en datatyp. En post är ett exempel på en sammansatt datatyp. Posten har namngivna fält som man kommer åt med punktoperatorn.
54 68 / 72 Poster struct Book string title; string author; int pages; ; int main() Book b; b.title = "C++ Primer"; b.author = "Lippman"; b.pages = 976; b: Book string title:"c++ Primer" string author: "Lippman" int pages: 976
55 69 / 72 Poster Initiering och tilldelning // Initiering, fälten fylls från vänster... Book primer "C++ Primer", "Lippman", 976; Book b2 "Professional C++"; // författare och antal sidor får ett // "nollvärde" (tom sträng resp. 0) b2 = primer; // Tilldelning, alla delar kopieras
56 70 / 72 Poster Poster och funktioner Precis som andra datatyper kan man skicka poster till funktioner. Vi har en komplicerad datatyp (const-)referens bör användas.
57 71 / 72 Poster Poster och funktioner int main() Book my_book; cout << "Mata in information om en bok" << endl; input(my_book); // Låt användaren mata in information cout << "Inmatat data:" << endl; print(my_book); // Skriv ut bokens information
58 72 / 72 Poster Poster och funktioner void print(const Book & b) cout << "Titel: " << b.title << '\n' << "Författare: " << b.author << '\n' << "Antal sidor: " << b.pages << endl; void input(book & b) cout << "Titel: "; cin >> b.title; // getline? cout << "Författare: "; cin >> b.author; cout << "Antal sidor: "; cin >> b.pages;
59 Eric Elfving Institutionen för datavetenskap
TDDC76 - 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
C++ - 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
TDIU01 (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
TDIU01 - 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
TDIU01 - 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
TDIU01 - 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
TDIU01 - 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; ;
TDIU01 - 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
Fö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.
TDIU01 - 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
TDDC76 - 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
Programmering 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
TDDC76 - 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
TDP004. 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,
C++ 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
Kompilering 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
Introduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
Programmera 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
Datatyper 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
Programmering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18
Programmering i C++ EDAF30 7.5 hp EDAF30 (Föreläsning 2) HT 2014 1 / 18 Tecken och texter char char ch = A ; teckenfält = strängar i C char str[] = "123"; standardklass i C++ string s = "C++"; EDAF30 (Föreläsning
Klassdeklaration. 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
Programmering 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
Introduktionslaboration
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
TDIU01 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
C++ 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
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
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
Programmering 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
Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Funktionens deklaration
Funktioner - 1 Teknik för stora program #include #include......... cout
TDIU01 - Datortenta (DAT2)
TDIU01 - Datortenta (DAT2) 2012-12-18 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
FÖ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
Objektorienterad 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
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
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
F4. 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
Övning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
732G 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 (
Programmering i C, 7,5 hp
Programmering i C, 7,5 hp Föreläsning 4 VÄLKOMNA! 31 switch-satsen Antag att vi har en heltalsvariabel a som skall styra programflödet Antag vidare att a kan anta tex 5 olika värden 1,2,3,4,5 printf( Mata
Grunderna 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
1 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
SMD 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
Introduktion 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
Programmeringsteknik 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
Objektorienterad 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
Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++
Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret
System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);
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
Variabler 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!
EDAf30: 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++.
Översikt över Visual Basic
Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller
Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Avrundning och manipulatorer
Avrundning och manipulatorer Intern avrundning Avrundning vid utskrift o o Med formatflaggor Med manipuilatorer Andra manipulatorer o Exempel 1 Intern avrundning Intern avrundning används t ex då en variabel
Fö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
Dagens 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
F5 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
Repetition 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
Enkla 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
C++ Objektorientering - Klasser. Eric Elfving Institutionen för datavetenskap
C++ Objektorientering - Klasser Eric Elfving Institutionen för datavetenskap 1 / 23 Återblick struct struct är bra att ha för att skapa aggregat - slå ihop flera data till en ny datatyp. Ett problem med
Exempel på ett litet Ada-program
Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift
Skizz 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
Innehå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
Språ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
Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada
Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,
Parameterö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Ö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
Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
C++ Objektorientering - Klasser. Eric Elfving
C++ Objektorientering - Klasser Eric Elfving 1 / 20 Återblick struct struct är bra att ha för att skapa aggregat - slå ihop flera data till en ny datatyp. Ett problem med struct är åtkomst... 2 / 20 Följande
Föreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes
Tecken EDAF30 Programmering i C++ 2. Tecken och texter char char ch = A ; Sven Gestegård Robertz Datavetenskap, LTH 2015 sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char c1, c2; c1 = A ; c2
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Användarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Innehå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
1 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
Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011
1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Innehå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
TDIU01 - 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
TDP002 - Imperativ programmering
TDP002 - Imperativ programmering Underprogram Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Underprogram Parametrar Returvärden Räckvidd och skuggning
Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Programmering 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
Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)
Villkor och tester Ett program består i princip av: Deklarationer som inför variabler, dvs namngivna minnesceller som används för att lagra data. int a; double radie=1.0, yta; double d = 4.5; String s
Programmering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
DD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
Planering Programmering grundkurs HI1024 HT 2014
Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att
Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera
Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar
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.
Värmdö Gymnasium Programmering A 110123 Lektion C1 Grunder Att programmera handlar mycket om att lära sig att analysera det problem eller den funktion man vill att programmet ska ha, och översätta det
PROGRAMMERING 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
Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt:
8. Objektorientering Skälet till att C++ är ett av de mest använda programspråken är att det är objektorienterat. Detta bygger vidare på begreppet struct (ursprungligen från språket C som inte är objektorienterat),
C++ 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.
Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Inledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll
Introduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Programmering 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)
1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1
Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar
1 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
Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
Idag. 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
Typkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då