Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.

Slides:



Advertisements
Verwante presentaties

Advertisements

Leer de namen van de noten 1
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Operatoren, Arrays, Command-line tools.

Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
Hoofdstuk 8: Recursie.
Ronde (Sport & Spel) Quiz Night !
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Backtracking: –Permutaties –Koninginnen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
Leer de namen van de noten 2
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.

Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
1/1/ / faculty of Computer Science eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(2): Vertalen.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 8 Gestructureerd programmeren in C. 101 Array Meerdere variabelen van hetzelfde type kun je samennemen in één array variabele. Stel in een.
GESPRG Les 12 Gestructureerd programmeren in C. 152 Huiswerk Uitwerking void reverse(int a[], int n) { int first = 0, last = n - 1; while (first < last)
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Werken aan Intergenerationele Samenwerking en Expertise.
Breuken-Vereenvoudigen
1 Van Harvard naar MIPS. 2 3 Van Harvard naar MIPS Microprocessor without Interlocked Pipeline Stages Verschillen met de Harvard machine: - 32 Registers.
DB&SQL8- 1 VBA Visual Basics for Applications: eigen Office versie vanaf Office2000 gelijk voor alle applicaties Programmeren onder meer nodig voor Het.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen Herhaling instructieset en.
Computerarchitectuur
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  D3EEMS1  programmed I/O: de.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 3 - onderwerpen Het.
KPRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Les 2 sheet 1 Wat gaan we doen:  Een (vaste) melodie.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : LEDs en displays.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Het ARM bord met wat library functies.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  basis files: ram-rom.zip.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Beginselen van C opgaves… volgende week: ARM.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag GUI  command line redirection.
Mail: Jan Zuurbier  Mail:
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen seriele interface (UART -
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Wouter van Ooijen Mail:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 5 - onderwerpen Errata.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  herhaling ARM assembler instructies.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
De financiële functie: Integrale bedrijfsanalyse©
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 7 onze.
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
DU2PRES1 : C vervolg Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Arrays en pointers lichtkrant op het ARM bordje.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Finite State Machine (Eindige.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
JAVA: een platformonafhankelijke taal
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag User-defined characters op de.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Maak, uitgaande van een MIDI file, een (klein) programma.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  Een (vaste) melodie spelen op de PC speaker 
Inleiding computersystemen en netwerken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2.1 Programmeren (2.9) assembler,
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  de track structuur van een MIDI file interpreteren.
Hoofdstuk 9.2 Strings.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Transcript van de presentatie:

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie en declaratie scope en lifetime C basis typen stdio.h constanten operatoren strings

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 definitie en declaratie Een definitie: ( == volledig vastleggen ) int max( int a, int b ){ if( a > b ){ return a; } else { return b; } } Een declaratie: ( == vertellen hoe ‘t er uit ziet ) int max( int a, int b );

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 definitie en declaratie Een definitie: int x; Een declaratie: extern int x;

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 4 definitie en declaratie Conventie: Declaraties in een.h file Definities in een.c file Iedere.c file die de functies, variabelen etc. wil gebruiken doet een #include

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 Scope en lifetime int n = 0; void foo( void ){ int i; for( i = 0; i < 100; i++ ){ … } n++; }

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 Scope en lifetime void foo( void ){ int i; for( i = 0; i < 100; i++ ){ … } } int next( void ){ static int n =0; return ++n; }

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 7 C basis typen integerminimaal [signed | unsigned] char+/- 127 of [signed | unsigned] short [int]+/ of [signed | unsigned] int+/ of [signed | unsigned] long [int]+/ of [signed | unsigned] long long [int](64 bits) floating point float double

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 8 C basis typen meestal is signed 2’s complement, bv op 16-bits computers meestal 16 bit short, 16 bit int, 32 bit long op 32-bits computers meestal 16 bit short, 32 bit int, 32 bit long

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 C basis typen – let op! short int = signed short int int = signed int long = signed long maar: char = signed char OF unsigned char (de compiler mag kiezen...) dus ‘char’ = !

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 C basis typen – boolean geen apart boolean type Boolean expressies: 0 is niet waar, andere getallen wel Dus let op: if( klaar )if( klaar == 1 ) if( ! klaar )if( klaar == 0 )

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 Stdio.h Behalve printf() ook fprintf(), eerste argument is een file. stdin, stdout, errout open(), close() read(), write()

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 constanten float pi = 3.14; void stupid( void ){ pi = 42; }

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 constanten const float pi = 3.14; void stupid( void ){ pi = 42; /* hangt van de compiler af? */ }

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14 constanten #define pi 3.14 void stupid( void ){ pi = 42; /* hier staat: 3.14 = 42; */ }

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 15 operatoren + - / % > = <= == != & | ^ > ~ && || (pre en post) ? : = sizeof ik kan de prioriteiten nooit onthouden, dus ik gebruik haakjes!

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 16 strings array of char, fixed size: char string[ 132 ]; /0 terminated, auto bij “hello” functies in string.h: strcpy, strcmp, strncmp, … let op: ’xxx’ versus ”xxx”

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 17 Opdracht 1 ’vermenigvuldigen’ Schrijf een library (.c en.h files) met 1 functie die twee unsigned integers vermenigvuldigd tot een unsigned integer. De functie mag geen gebruik maken van *, /, % etc. De bitwise operatoren, shifts, vegelijken, en + mogen wel. Test je library functie (daarvoor mag je wel * gebruiken ).

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 18 Binair vermenigvuldigen 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1 Zeer eenvoudige tafel:

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 19 Opdracht 2 ‘Brutus’ Maak een programma dat een Cesar-versleutelde text als invoer krijgt (stdin), en daaruit bepaald wat de (meest waarschijnlijke) Cesar-key was, en deze letter naar de uitvoer (stdout) schrijf. Gebruik brute force: probeer alle 27 mogelijkheden, selecteer de meest waarschijnljke op grond van (naar keuze) letterfrequentie of woordmatches.

Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 20 Werk voor volgende week Lees hoofdstuk 2 Maak (voor zover nog niet klaar) de twee opdrachten af Bewaar je opdrachten op je UsbStick