En kort text om programmering i C.

Relevanta dokument
Programmering i C, 7,5 hp

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Repetition C-programmering

Introduktion C-programmering

Klassdeklaration. Metoddeklaration. Parameteröverföring

Planering Programmering grundkurs HI1024 HT 2014

Imperativ programmering. Föreläsning 2

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

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

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

Programmeringsteknik med C och Matlab

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Föreläsning 13. In- och utmatning

Enkla datatyper minne

Visual Basic, en snabbgenomgång

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

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

Föreläsning 10. Pekare (Pointers)

Funktioner och programstruktur. Föreläsning 5

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Loopar och datatyper. Föreläsning 3

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

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

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen i Programmering C, Fri, Kväll,

Switch, Array (fält) switch break, continue, goto (scary) Sammansatta tilldelningar Kommentarer Array Sortering

Planering Programmering grundkurs HI1024 HT TIDAA

Deklarera en struct som kan användas för att representera en rät linje

Funktioner och programstruktur. Föreläsning 5

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

Programmering, grundkurs, 8.0 hp HI1024, extra tentamen, TEN1, för TIDAA1. Fredagen den 11 mars 2011,

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,

Arrays (indicerade variabler) Föreläsning 6

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

*Pekarvärden *Pekarvariabler & *

Planering Programmering grundkurs HI1024 HT data

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Att komma igång. Föreläsning 1

Uppgifter till praktiska tentan, del A. (7 / 27)

Loopar och datatyper. Föreläsning 3

Användarhandledning Version 1.2

Att komma igång. Föreläsning 1

Lathund. Pacific C för MS-DOS

F4. programmeringsteknik och Matlab

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

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

TDIU01 - Programmering i C++, grundkurs

i LabVIEW. Några programmeringstekniska grundbegrepp

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

GPT föreläsning 8. Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner

Data, typ, selektion, iteration

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga,

SMD 134 Objektorienterad programmering

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

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Några småsaker. switch break, continue, goto Kommentarer

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Omtentamen i Programmering C, Fri, Kväll,

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

Iteration while-satsen

#include <stdio.h> #include <string.h>

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

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Uppgifter teknik HT17 (uppdaterad v. 40)

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Pekare och arrayer. Indexering och avreferering

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012

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

C++ Lektion Tecken och teckenfält

Programmering Grundkurs (HI1900) Teoridel

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

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

Det finns många flaggor till g++,

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

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

BINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X

Inledande programmering med C# (1DV402) Summera med while"-satsen

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

C++ Slumptalsfunktioner + switch-satsen

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

2 Pekare och dynamiska variabler.

TDIU01 - Programmering i C++, grundkurs

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

JAVAUTVECKLING LEKTION 3

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

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

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Föreläsning 3. Programmering, C och programmeringsmiljö

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Tecken & Strängar. Kapitel 7

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

Föreläsning 11. Strängar

Vad har vi lärt oss så här långt Vad är en sträng? Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar.

Tentamen *:58/ID100V Programmering i C Exempel 3

Transkript:

En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH, BASIC, C++, Algol, Fortran, Lisp är några av dem C skapades för att skriva en ny version av OperativSystemet UNIX Vad ett OS är kommer vi att gå igenom senare I denna text ska vi focusera på själva koden (Bild:https://uploadwikimediaorg/wikipedia/commons/3/39/C_Hello_World_Programpng) Om vi kopierar en bild från Wikipedia och ser vilken kod de har som exempel, så är det just Hello World! från boken C Från första utgåvan blev detta exempelprogram det förmodligen mest skriva i världen /* betyder att vi lägger in en kommentar i koden Allt mellan /* till tittar inte compilern på // är också ett sätt att kommentera men bara radvis Låt oss se vad HelloWorldc gör: #include <stdioh> // # är ingen hashtag i detta fall /* Denna säger åt compilern (programmet som sätter ihop det ni skrivit till något användbart för datorn) att hämta filen stdioh stdioh betyder StandardInputOutputHeader ioctlh betyder InputOutputConTroLHeader (Här ser ni även hur kamelnotation fungerar) stdioh innehåller en massa information som compilern behöver känna till för att göra en vettig binär fil void tuva(int); /* här inför vi en deklaration som är nödvändig för att kunna göra en egen

funktion Void betyder att funktionen tuva() inte har 'return 0;' på slutet int står för integer heltal, och visar vad vi skickar till tuva int main() // huvudfunktionen själva programmet //öppen fiskmås Alla funktioner måste börja med en och sluta med en tuva(100); /* Här ropar vi på tuva() och ger henne 100 Programmet hoppar då vidare till funktionen tuva() med värdet 100 och så får vi se vad den gör där // main() avslutas med 'return 0; i det här fallet När jag var liten gick det att 'voida' main() och strunta i return // stänger main() tuva(int k) // berättar att tuva() använder 100 som ett heltal i variabeln k int i; // berättar att i är ett heltal INTeger for(i=0;i<k;i++) /* for(start; villkor; vad vi gör efter starten) så vi sätter en startpunkt, ofta noll, men kan vara ett annat värde som behövs vid tillfället Villkor kontrollerar ifall vi ska sluta med det vi håller på med i++ i detta fallet ökar vi i med 1 för varje varv i loopen En sådan funktion som for() kallas för loop, för den går runt samma avsnitt många gånger for(;;) är en evighetsmaskin;) printf( %d\n,i); /* printf() en funktion med massor med möjligheter Se boken C, eller tutorialspointcom \n betyder ny rad %d betyder skriv ut ett heltal i efter säger var vi hittar heltalet // stänger tuva() Istället för tuva kan ni välja vilket namn ni vill, bara ni ändrar namnet på alla ställen main() är huvudfunktionen tuva() är en subroutine, underfunktion Den kan inte fungera utan att bli kallad från main()

Kapitel 2 Datorer är bra på att räkna och minnas, men om vi inte kan få in data i dem, så har de inget att räkna eller minnas #include <stdioh> int main() char str1[30]; /* char betyder character, bokstav, hur många bokstäver str1 kan ta är 30 Behöver man större så anger man ett högre tal printf("ditt namn: "); scanf("%s", str1); /* scanf fungerar som printf, men väntar på din inmatning Testa med att mata in för och efternamn och se vad som händer return 0; // main Uppgift 1: Skriv ett program som frågar hur många gånger funktionen tuva() ska köra for-loopen if( a ==0 ) /* om villkoret är uppfyllt så genomförs det som är mellan de första fiskmåsarna return 0; else // annars görs det som är här tuva(a); Uppgift 2: Förbättra programmet och kontrollera om användaren skriver '0', då avslutas programmet scanf() printf() Dessa två har mycket gemensamt scanf( %d,i); läser in ett heltal i deklareras int i; om vi byter %d mot %c, läser vi in en enda bokstav Deklareras char i;

%s, läser in en sträng, det vill säga en serie bokstäver Deklareras char[antal bokstäver]; Tex char[20], för tjugo bokstäver; printf( %s\n,i); skriver ut en sträng Vill ni skriva ut decimaltal så använder ni %f %2f skriver ut ett decimaltal med två decimaler %8f, skriver ut med åtta decimaler Deklareras float i; Uppgift3: Skriv ett program som frågar efter cirkelns radie och skriver ut arean med tre decimaler Ni behöver: floath float O,r; om er IDE inte har PI så deklarera #define PI 314159 Ni ser ju själva var ni kan skriva in det i programmet O=2*PI*r A=PI*r*r Egna ideer uppmuntras! Läsligt! Ett annat sätt att kontrollera olika villkor är en: char c; scanf( %c,c); switch(c) case 'a': area(); break; //nr1 case 'v' volym(); break; default: printf( Mata in a, för att räkna ut arean; v för volymen\n ); // switch Uppgift 4: Bygg på programmet med ovanstående switch Testa att ta bort break nr 1 och se vad som händer For(;;) är ett sätt att få datorn att upprepa samma sak while(villkor) är ett annat, eller;

do while(villkor); Där villkor är tex i<10 eller i==0 eller strcmp(c,'q') så en loop, #include <stringh> char c; do printf( Vill du fortsätta programmet? ); //frågar vad vi vill göra c=getchar(); // läser en tangenttryckning while(!strcmp(c,'q')); // frågar sig själv vad vi vill göra med svaret /*! betyder INTE Vi vänder på frågan Skriver vi detta på vanlig engelska: While walue in c is not equal to q Så länge värdet i c inte är lika med q strcmp kräver en #include <stringh> Vill ni testa ovanstående så måste ni baka in den i main() Uppgift 5: Bygg ut programmet så det frågar efter varje gång det räknat ut area eller volym om du vill avsluta programmet eller fortsätta Uppgift 6: Gör om programmet så att det räknar ut temperaturen i C om du matar in Farenheit och i Celcius om du matar in F F=32+9/5*C C=5/9*(F-32) givetvis måste alla variabler deklareras float