Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström



Relevanta dokument
Enkla datatyper minne

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

C konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories.

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

F4. programmeringsteknik och Matlab

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Lathund. C för inbyggda system

Klassdeklaration. Metoddeklaration. Parameteröverföring

TDIU01 - Programmering i C++, grundkurs

Programmering A. Johan Eliasson

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Data, typ, selektion, iteration

Programmering i C++ EDA623 Typer. EDA623 (Föreläsning 4) HT / 33

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

En kort text om programmering i C.

Lathund. Pacific C för MS-DOS

Lathund. C för inbyggda system

Preliminär elmarknadsstatistik per månad för Sverige 2014

Skizz till en enkel databas

Objektorienterad Programmering (TDDC77)

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

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

Imperativ programmering. Föreläsning 2

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Assemblerprogrammering för ARM del 2

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

Objektorienterad Programmering (TDDC77)

2 Pekare och dynamiska variabler.

Programmering i C. Vad är C? Målsättning. Litteratur. Jämförelse med Java. Exempel : Ett program som skriver ut texten Hello, world

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 2 - Intro till Java

C++-programmets beståndsdelar

Pekare och arrayer. Indexering och avreferering

Byggstenar. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Grundläggande datatyper

#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA

TDDC77 Objektorienterad Programmering

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Programmering B med Visual C

Programmering i C, 7,5 hp

2D1387, Programsystemkonstruktion med C++ Johnny Bigert, Kursens hemsida:

Innehåll. EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Viktiga skillnader mot Java

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

2016, Arbetslösa samt arbetslösa i program i GR i åldrarna år

Preliminär elmarknadsstatistik per månad för Sverige 2014

Användning av stack: evaluera uttryck i RPN

EN BÄTTRE BALANS MED SVAGT SJUNKANDE TRÄVARUPRISER 2015 OCH EN NY PRISUPPGÅNG I MITTEN AV 2016

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

KOMPLETTERANDE HEMTENTAMEN TDDB53

Föreläsning 3: Booleans, if, switch

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

C-programmering, föreläsning 1 Jesper Wilhelmsson

Assemblerprogrammering - fördjupning

C-programmering. Målsättning Introducera programmering i C för de som inte har någon erfarenhet av C eller C++. Litteratur

Kapitel 1. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Kapitel 1 grunderna i C++

Grundkurs Programmering

Variabler, värden och typer

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

Heltal(int) Programmeringsteknik 54

Poster ( structar ) Postdeklarationer

EN BÄTTRE BALANS MED SVAGT SJUNKANDE TRÄVARUPRISER 2015 OCH EN NY PRISUPPGÅNG I MITTEN AV 2016

Assemblerprogrammering för ARM del 3

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

EN BÄTTRE BALANS MED SVAGT SJUNKANDE TRÄVARUPRISER 2015 OCH EN NY PRISUPPGÅNG I MITTEN AV 2016

Maskinorienterad programmering

Övning från förra gången: readword

TDDC76 - Programmering och Datastrukturer

float Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number )

Grundkurs Programmering

EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Administration. EDAf30: Programmering i C++, 7.5 hp Obligatoriska moment

Funktionspekare, inledning: funktionsanropsmekanismen. Anrop via pekare

Hantering av textsträngar och talsträngar. William Sandqvist

Datastrukturer. Typdeklarationer. Ny datastruktur i C- struct. exempel. Ofta bra att kunna fšra ihop information av olika datatyper till en enhet.

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

Variabler, värden och typer

JAVAUTVECKLING LEKTION 3

Ulf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment:

Föreläsning 8: Aritmetik och stora heltal

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT / 26

Parameteröverföring. Exempel. Exempel. Metodkropp

2D1387, Programsystemkonstruktion med C++ Johnny Bigert, Kursassistent: Mårten Björkman,

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Programmeringsteknik för Ingenjörer VT06. Föreläsning 10

Preliminär elmarknadsstatistik per månad för Sverige 2013

Innehåll. Pekaren this Självreferens. Klasser Resurshantering, representation. Överlagring av operatorer. Överlagring av operatorer

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

4. Maskinnära programmering i C. Förberedelser till hemlaboration 1.

SMD 134 Objektorienterad programmering

Funktionens deklaration

Programmering av inbyggda system 2014/2015

Transkript:

DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009

1

Outline 1

Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...) Språk - Assembler, C, C++??, java?? Verktyg (utvecklingsmiljöer, debugger, minne, kodkontroll)

Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...) Språk - Assembler, C, C++??, java?? Verktyg (utvecklingsmiljöer, debugger, minne, kodkontroll)

Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...) Språk - Assembler, C, C++??, java?? Verktyg (utvecklingsmiljöer, debugger, minne, kodkontroll)

Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...) Språk - Assembler, C, C++??, java?? Verktyg (utvecklingsmiljöer, debugger, minne, kodkontroll)

Ofta inget OS, problem... man kan bara lite på sig själv och det gäller att göra rätt. Prestanda, Minnesbegränsningar Det blir lätt krångligt med hårdvara - ny dimension

Ofta inget OS, problem... man kan bara lite på sig själv och det gäller att göra rätt. Prestanda, Minnesbegränsningar Det blir lätt krångligt med hårdvara - ny dimension

Ofta inget OS, problem... man kan bara lite på sig själv och det gäller att göra rätt. Prestanda, Minnesbegränsningar Det blir lätt krångligt med hårdvara - ny dimension

Struktur, reserverade ord Variabler, typer, typomvandling Lagringsklasser auto, register, volatile, static, extern

Struktur, reserverade ord Variabler, typer, typomvandling Lagringsklasser auto, register, volatile, static, extern

Struktur, reserverade ord Variabler, typer, typomvandling Lagringsklasser auto, register, volatile, static, extern

enkel.c /* enkel.c */ #include <stdlib.h> /* Common used functions in here */ #include "enkelsum.h" /* CalculateSum defined here */ void main(void) { int ncounter, n; float fsum, f;... fsum = CalulateSum(nArg1, farg2);... return; }

enkelsum.h - enkelsum.c /* enkelsum.h */ extern float CalulateSum(int narg1, float farg2); /* enkelsum.c */ float CalculateSum(int narg1, float farg2) { return( (float)narg1+farg2 ) }

Reserverade ord auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typdef, union, unsigned, void, volatile, while

Variabler - begrepp Lokala, Globala Livstid Minnesutrymme - Maskinberoende (limits.h, float.h) Typ Deklaration/Definition/Initiering

Typer Grundtyper - heltal, flyttal Typer baserade på grundtyperna - vektorer, poster, unioner, uppräknande Pekare till andra typer Specialtyp - void Heltaltstyper - signed/unsigned (int, short, char, long) Flyttalstyper - float, double, long double Konstanter const

Typer (forts.) int nvect[100]; /* Vektor av heltal */ struct car_spec { int ncyls; float fhorsepower; } rsaab, rvolvo; /* Definition av rsaab, rvolvo med typ: struct car_spec */ rsaab.ncyls = 4; /* Punktoperatorn */ enum months {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOW, DEC}; /* Uppräknande */

Typomvandling int float float napples; fparts; fresult; fresult = napples/fparts; /* Implicit */ /* Resultatet blir av typen float */ /* Notera! 5/2 blir 2 medan 5.0/2.0 blir 2.5 */ fresult = (float) napples; /* Explicit */

Lagringsklasser int napples; /* Egentligen auto int napples, minne lagras automatiskt */ register int ncnt; /* Ex. loop räknare skall lagras i register */ volatile int ninterrupt; /* Får ej optimeras bort eller läggas i register */ static int nlocal; /* Intern global variabel */ extern int nglobal; /* En definition, flera deklarationer */