tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica
Wat heb ik nodig C++ Compiler onder windows Toegang tot internet. www.padta.nl/lessen/tinpro015b
Overzicht Practicum Les 1 Inleiding C++ , expressies,statements Les 2 Operatoren, functies Les 3 Arrays, pointers, strings Les 4 Klassen Les 5 Invoer en uitvoer Les 6 Templates, STL Les 7 Standaardfuncties
Inleiding C++ is object georienteerd Gebruikt wordt Standaard C++
Compileren en linken Een C++ programma is meestal opgebouwd uit meerdere source (.cpp) bestanden. Source files met een compiler tot object (machine code) bestanden gecompileerd worden. Alle object files plus de gebruikte code uit externe bibliotheken tot een executable gelinkt
Compileer en Link proces #include <stdio.h> int main() { printf (” hello world\n”); return 0; } Compiler machinecode hello.o source code hello.c Linker code printf libc programma hello.exe
Inleiding C++ Voorbeeldprogramma #include <iostream> Using namespace std; int main() { int a, b; cout << “Geef twee gehele getallen: “ << endl; cin >> a >> b ; cout << “Som: ” << a+b) << endl; }
Inleiding C++ Iostream Using namespace std Standaard functies cin cout // commentaar Redirection symbolen
Identifiers (namen) Letters of cijfers : ab1234 Gereserveerde woorden: auto, break, enz Constanten: Integer: 123 , O777 (octaal) , 0XFF3A (hexadecimaal) , 123L (decimaal) Karakter: ‘x’ , ‘\n’ (newline) ,’\r’ ( carriage return) Floating: 123.45 , 36e-3 , 3.e+4 Strings: “Hoeveel getallen”
Commentaar // Dit is commentaar Dit wordt door de compiler genegeerd maar wel in de tekst weergegeven
Expressies ( Optellen,..) X =a-(b-c*d) +e Prioriteit van */( is hoger dan van +- Integer delingen 17/3 = 5 de rest is 2 17%3 = 2 hiermee wordt de rest bepaald
Declareren Int main() { int I,j,k; float x,temp; char ch; i=38; j=35 ; k=i%j+1; x=37.7; Ch=‘?’; temp=I; /*conversie van int naar float*/ J=x; /* j wordt 37 */ }
Relationele en logische operatoren < kleiner dan , > groter dan == gelijk aan , != ongelijk aan && logisch en , || logisch of ! Logisch niet True = 1 ; false = 0 ; 2*2 == 3 *1 geeft 1 37 < 5 geeft 0
Conditionele statements if (expressie) statement1 else statement2 If ( x<0) y=-x ; else y=x; /* absolute waarde */ Compound statement If ( x==y) { p=q+1; r = q-1;}
Stroomschema if then else true false cond statement1 statement2
Herhalingsstatement While (expressie) statement While ( b != 0) { p=p+a; b= b-1;} Zodra b =0 wordt de loop onderbroken For (expr1; expr2 ; expr3) statement For ( i=1; i<=n; i=i+1 ) s=s+1 ; Als n =10 wordt de for loop 10 keer doorlopen
Stroomschema while loop ( for loop) initialisatie true conditie statement increment false
Herhalingsstatement Do statement while (expression) s=0; Do { scanf(“%d”, &x ) ; s=s+x; } while ( x !=0) ; Na afloop is s gelijk aan de som van de ingelezen getallen ,als x <0 wordt gestopt
Switch , break statement switch ( letter) { case ‘A’: printf (“ Amsterdam\n”); break; case ‘R’: printf (“ Rotterdam\n”); break; case ‘H’: printf (“ Hilversum\n”); break; default : printf(“ elders\n”); break ; }
Continue statement Som= 0; Do { cin << x ; if ( x< 0) continue; Som=som+x } while ( x !=0) ; Er wordt direct na de test uit de loop gegaan
Getchar , Putchar Char ch; Ch=getchar(); Leest 1 karakter ipv een string als bij scanf putchar(ch) schrijft 1 karakter naar scherm Nodig is de headerfile #include <iostream> Dit wordt vooraan in het programma opgenomen
Installeren C-compiler Maak in de les het voorbeeldprogramma om 2 getallen op te tellen en uit te printen Installeer de C-compiler onder windows: www.padta.nl/lessen/tinpro015b/C++compiler De compiler heet: devcpp4990setup.exe Na installatie het programma intypen , compileren en uitvoeren Bij juiste uitvoering wordt de opdracht afgetekend voor les 1
Huiswerk les 1 Maak de opgaven 1.4, 1.8 uit boek Bestudeer Hfdst 3,4 uit C++-boek