De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Mail: (of Sheets en verdere info: Onderwerp: vervolg C

Verwante presentaties


Presentatie over: "Mail: (of Sheets en verdere info: Onderwerp: vervolg C"— Transcript van de presentatie:

1 (of wouter.vanooijen@hu.nl)
Mail: (of Sheets en verdere info: Onderwerp: vervolg C Literatuur: C handboek Kernighan & Ritchie Academic Service ISBN 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 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: 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 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 ...) 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 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

7 Command line opstarten
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 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 <CTRL-Z> <RETURN> work> kopieer <a.txt lezen uit de file a.txt en schrijven naar beeldscherm work> kopieer > b.txt lezen van toetsenbord en schrijven naar de file b.txt Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

10 redirection work> kopieer <a.txt >b.txt
lezen uit de file a.txt en schrijven naar de file b.txt work> kopieer < a.txt | sorteer >b.txt txtkopieer < a.txt > temp sorteer < temp > b.txt lezen, via tussenstap wegschrijven 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’ Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

12 gebruik van Bloodshed DevC++
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! 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’ Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

15 ASCII tabel 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? x = ’0’; 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) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

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

20 Character input / output : stdio.h
#include <stdio.h> 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 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

21 Voorbeeld : copy input to outut
#include <stdio.h> int main( int argc, char *argv[] ){ int x; x = getchar(); while( x != EOF ){ putchar( x ); } return 0; 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 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) 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 ) { 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’;  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’; 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? 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)? Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology

29 String output %d in de format vereist een integer parameter: int x;
printf( ”%d kleine negertjes”, x ); %s in de format vereist een string parameter: printf( ”%s world”, ”Hello” ); printf( ”de regel is: [%s]”, regel ); 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? 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 : ’hello’ Parameter : ’world’ Print zoveel ‘parameter N’ regels als er parameters zijn. 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 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology


Download ppt "Mail: (of Sheets en verdere info: Onderwerp: vervolg C"

Verwante presentaties


Ads door Google