De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: (of

Verwante presentaties


Presentatie over: "Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: (of"— Transcript van de presentatie:

1 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: (of Sheets en verdere info: Onderwerp: vervolg C Literatuur:C handboek Kernighan & Ritchie Academic Service ISBN

2 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 Wat er van u verwacht wordt U bent (natuurlijk) aanwezig Neem de aangeven stof (boek, sheets) goed door U krijgt iedere week opgave(n); de opgave(n) van week N worden in principe op zijn laatst in week N+1 beoordeeld U maak de opgave(n) zelf U maakt de opgaven nauwkeurig, volgens de opgave Afsluitend tentamen, cijfer geldt alleen als alle opgaven voldoende zijn

3 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 Materiaal (?) Boek: C handboek, Kernighan & Ritchie USB memory stick (floppy?) Handouts DevC++ thuis installeren:

4 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 Onderwerpen voor vandaag GUI  command line redirection DevCpp Characters Opgave: ”+13” Command line parameters

5 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 GUI programa’s interactief, vaak WIMP GUI doe veel met 1 tool handig voor de ‘eindgebruiker’ minder handig voor de ‘programmeur’: vaak geen command line IE / Netscape (print...)

6 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 command-line tools (unix style) doe 1 ding, doe dat goed werk als filter (1 stap in een lopende band) niet interactief handig voor de ‘programmeur’ als onderdeel van een geheel minder handig voor de ‘eindgebruiker’ words : splits een text in regels van 1 woord lines : give line count sort : sorteer unique : remove duplicates from a sorted list grep x : filter (verwijder) alles behalve x

7 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 Command line opstarten

8 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 ‘command box’ / ‘dos prompt’ ”C:\ ………… T03202>” is de prompt ”C:\ ………… T03202” is de huidige directory Commando’s zijn bv: X: cd directory exit

9 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 redirection work> kopieer lezen van toetsenbord schrijven naar beeldscherm Einde invoer geeft je aan met work> kopieer kopieer > b.txt lezen van toetsenbord en schrijven naar de file b.txt

10 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 redirection work> kopieer b.txt lezen uit de file a.txt en schrijven naar de file b.txt work> kopieer b.txt –txtkopieer temp –sorteer b.txt lezen, via tussenstap wegschrijven

11 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 gebruik van Bloodshed DevC++ file > new > project: select ’console application’ give name select ’C project’ select ’make default language’

12 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 gebruik van Bloodshed DevC++

13 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 gebruik van DevC++ Als Dev-C++ een programma runt wacht het niet aan het einde van het programma Als je je programma wilt testen vanuit DevC++ voeg dan voor de ’return 0’ toe: system( ”pause” ); Als je het programma vanaf de command line runt (en dat is hier uiteindelijk de bedoeling) is dit juiste weer niet de goed!

14 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14 characters Characters (tekens) worden opgeslagen volgens de ASCII code ASCII is 7 bits, hoogste bit is standaard 0 Constanten: tussen enkele quotes: ’a’

15 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 15 ASCII tabel

16 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 16 characters Let op: ’0’ is iets heel anders dan 0 char x; x = 0;  Welke integer waarde staat er nu in x? char x; x = ’0’;  Welke integer waarde staat er nu in x?

17 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 17 Speciale characters ’\n’ Dit is het teken dat zorgt dat het schrijven verder gaat aan het begin van de volgende regel (er zijn er nog veel meer)

18 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 18 characters Datatypes in C: signed char, unsigned char, char signed char : unsigned char : char : is een van beiden, de compiler mag kiezen  Welke range kan je veilig gebruiken als je een char gebruikt?

19 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 19 characters Chars zijn (kleine) integers, je kan er mee rekenen char x; x = ’a’; x = x + 2;  Welk bitpatroon staat er nu in x?  Welk ASCII character stelt dat bitpatroon voor?

20 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 20 Character input / output : stdio.h #include int c; putchar( c ); c = getchar(); let op: –getchar() geeft bij einde invoer EOF terug –EOF is een waarde die buiten de char ranges valt –geeft dus een int terug, geen char

21 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 21 Voorbeeld : copy input to outut #include int main( int argc, char *argv[] ){ int x; x = getchar(); while( x != EOF ){ putchar( x ); x = getchar(); } return 0; }

22 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 22 Opdracht 1 ”+13” Maak een programma dat zijn invoer weer wegschrijft naar de uitvoer, maar met iedere kleine letter vervangen door de letter 13 plaatsen verderop in het alfabet. –gebruikt wrap-around, dus ’z’ + 1 wordt ’a’ –een letter die niet een kleine letter is niet veranderen, gewoon onveranderd wegschrijven

23 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 23 test Hoe test je ”+13”? Je hebt een invoertekst nodig, er is een file die je net hebt zitten maken. Als je die als invoer aanbiedt moet er leuke rotzooi uitkomen. +13 en dan nog een keer 13 geeft …hoe doe je dat met behulp van redirection? En dan (als je een automaat kan vinden)

24 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 24 Layout neem een conventie naar keuze, maar wees consequent! if( b > a ){ a = b; } if( b > a ) { a = b; } if( b > a ) { a = b; }

25 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 25 array Een array is een reeks (lijst?) dingen heeft een vaste omvang (het aantal dingen is vast) Alle dingen zijn van het zelfde type (bv alleemaal chars) Een array heeft maar 1 index (dimensie): char woord[ 32 ]; Index loopt vanaf 0: woord[ 0 ] = ’a’; woord[ 31 ] = ’a’; Buiten je grenzen schrijven: woord[ -1 ] = ’a’;  woord[ 32 ] = ’a’; 

26 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 26 array Je kan een array van arrays maken: char regel[ 100 ][ 32 ]; regel[ 0 ][ 0 ] = ’a’; regel[ 99 ][ 31 ] = ’a’;

27 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 27 string Een array van characters wordt een string genoemd. Een string constante heeft dubbele quotes: ”hello world” De lengte van een string variable kan van de initiele waarde worden afgeleid: char regel[] = ”hello world”; Standaard wordt een string constante door de compiler afgesloten met een ’\0’ character  Hoeveel bytes neemt de string ”Hello world” in beslag?

28 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 28 String output printf( format,.... ) De format string bepaald of en wat voor parameters er nog na moeten komen ‘gewone’ tekens in format worden gewoon geprint printf( ”Hello\nworld!” );  Wat print deze regel (precies)?

29 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 29 String output %d in de format vereist een integer parameter: int x; x = 10; printf( ”%d kleine negertjes”, x ); %s in de format vereist een string parameter: printf( ”%s world”, ”Hello” ); printf( ”de regel is: [%s]”, regel );

30 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 30 Command line parameters int main( int argc, char **argv ){ … } argc = aantal parameters argv = array van parameters, iedere parameter is een string = een array van characters argv[ 1 ] = eerste parameter argv[ 1 ][ 0 ] = eerste letter van eerste parameter  Wat is hier onlogisch?

31 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 31 Opdracht 2 ”parameters” Maak een programma dat zijn parameters afdrukt, precies in dit formaat: Program name : Project1.exe Number of parameters : 2 Parameter 1 : ’hello’ Parameter 2 : ’world’ Print zoveel ‘parameter N’ regels als er parameters zijn.

32 vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 32 Werk voor volgende week Neem de sheets nog eens door Formuleer vragen over wat je niet begrijpt Maak (voor zover nog niet klaar) de opdrachten af


Download ppt "Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail: (of"

Verwante presentaties


Ads door Google