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



Relevanta dokument
Programmeringsteknik med C och Matlab

Övningsuppgifter till föreläsning 2 Variabler och uttryck

TDIU01 - Programmering i C++, grundkurs

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

Data, typ, selektion, iteration

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

*Pekarvärden *Pekarvariabler & *

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

Användarhandledning Version 1.2

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

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

Uttryck och villkor. Föreläsning 2

Objektorienterad Programmering (TDDC77)

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

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

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

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Programmering i C, 7,5 hp

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

Uttryck och villkor. Föreläsning 2

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,

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

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

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

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Variabler och konstanter

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

DD1314 Programmeringsteknik

En kort text om programmering i C.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Föreläsning 1 & 2 INTRODUKTION

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

Föreläsning 5: Introduktion av pekare

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

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

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

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

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

Föreläsning 10. Pekare (Pointers)

Föreläsning 4. Val, boolska värden, läsbarhet, osv

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

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

SMD 134 Objektorienterad programmering

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2

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

TDIU01 - Programmering i C++, grundkurs

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Planering Programmering grundkurs HI1024 HT data

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?

Objektorienterad Programmering (TDDC77)

Enkla datatyper minne

HI1024 Programmering, grundkurs TEN

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. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

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

Introduktion C-programmering

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Repetition C-programmering

Loopar och datatyper. Föreläsning 3

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Programmering A. Johan Eliasson

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

Logik och kontrollstrukturer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

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

Tentamen i Programmering grundkurs och Programmering C

Föreläsning 1 & 2 INTRODUKTION

Planering Programmering grundkurs HI1024 HT 2014

Parameteröverföring. Exempel. Exempel. Metodkropp

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,

Planering Programmering grundkurs HI1024 HT TIDAA

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Loopar och datatyper. Föreläsning 3

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Tentamen Grundläggande programmering

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

Föreläsning 2. Operativsystem och programmering

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde.

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

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

JavaScript del 3 If, Operatorer och Confirm

Arrays (indicerade variabler) Föreläsning 6

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

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret L0 - Grunder i C++

HI1024 Programmering, grundkurs TEN

Imperativ programmering. Föreläsning 2

Språket Python - Del 1 Grundkurs i programmering med Python

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

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

Transkript:

Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1

Idag Kursupplägg Satser Variabler & typer Uttryck Första programmet! Kommunikation med omvärlden Villkorlig exekvering 2

Kursupplägg se kurspm Lektioner i labbsal Inlagda övningar vid dator Frivillig närvaro Ta med din laptop och jobba på den (om du har en)! Meningen är att du genast ska få öva på det nya som läraren presenterar på lektionen. 3

(forts) Kursupplägg Inluppar: Programmering sker enskilt eller två & två. Deadlines finns angivet i Blackboard. När ni är klara: ladda upp enskilt i Blackboard men ange vem du jobbat med om du inte jobbat själv. Uppladdningen av inluppen utgör också en anmälan till individuell redovisning. Inte alla kommer att få redovisa alla labbar (vi slumpar). Missa deadline? - Nej gör inte det! Leder automatiskt till redovisning sist i kön nästa gång. I värsta fall slutar det med att du inte blir klar denna läsperiod. Handledning: maila oss lärare och assistenter när som helst, använd forum på BB, besök oss, ring! Det finns också schemalagda handledningstillfällen i labbsal. 4

(forts) Kursupplägg Kurslitteratur (det räcker med en bok) Problem Solving with C, Jones & Harrow C genom ett nyckelhål, Håkan Strömberg Böcker på nätet, se länkar på hemsidan Annan info på nätet Information http://www.idt.mdh.se/kurser/cdt106/08092csg/ Resultat kommer att finnas på Blackboard Forum kommer att finnas på Blackboard 5

Examination Examination LAB1 - Examineras genom inlupparna PRO1 - Examineras med en projektuppgift TEN1 - Examineras genom 4 duggor Ärlighet Du ska visa vad du kan och vad du har gjort Referera alltid till din källa! 6

Mål och betyg Mål: kunna skriva ett strukturerat C-program som löser ett enkelt problem. ha förmåga att kunna avgöra vilka grundläggande språkelement som bör användas för att lösa ett visst givet problem. kunna läsa programkod, skriven i C, och med egna ord beskriva vad programmet utför. Betyg 3 Uppfylla målet genom att ha godkänt i alla grundläggande moment Ex: sekvens, selektion, iteration, funktioner, pekare, struct ar Betyg 4 & 5 Kunna lösa mer avancerade problem. Dynamisk minnesallokering File-I/O 7

Vad är en dator? 8

Datorer & program CPU ( Processor ) I/O Tangentbord (in) Skärm (ut) Sekundärminne som Disk (in & ut) Minne ( internminne ) Data Läses in och skrivs ut Lagringsplats för beräkningsresultat Instruktioner = program 9

Att programmera i C Vad innebär det att programmera i C? Du har ett problem som du vill ha löst Du har något som du vill ha utfört eller beräknat etc. Du måste själv formulera receptet (den s.k. algoritmen) som löser problemet Man kan sedan översätta algoritmen till kod i språket C Det handlar mycket om att tänka och lösa problem - papper och penna är ofta till god hjälp 10

Att programmera i C Programkoden (C-koden) skrivs in i en slags ordbehandlare (ej MS-Word), en s.k. editor C-koden översätts av en kompilator till binärkod, som kompilatorn lägger i en exe-fil. Man kör programmet genom att köra filen. En stor del av programmeringen består i att klura ut vilka fel man har gjort Du kommer att använda ett s.k. IDE (Integrated Development Environment) när du programmerar): Editor, ingår Kompilatorn, kan köras integerat Du kan köra programmet bekvämt Diverse andra hjälpmedel för att hitta fel 11

Ett C-program Ett C-program består av en eller flera funktioner Exakt en av dessa funktioner heter main. Vi kommer till att börja med att skriva program som bara har main-funktionen Ett korrekt och fullständigt C-program: int main(void) { } return 0; 12

Ett C-program Ett C-program består av en eller flera funktioner Exakt en av dessa funktioner heter main. Vi kommer till att börja med att skriva program som bara har main-funktionen Ett korrekt och fullständigt C-program: int main(void) { } return 0; Här skriver man koden 13

Satser C är ett imperativt (imperativ=uppmanande) programspråk Koden man skriver är en sekvens av uppmaningar ( kommandon ), kallas satser Princip: int main(void) { } sats sats sats return 0; 14

Satser C är ett imperativt (imperativ=uppmanande) programspråk Koden man skriver är en sekvens av uppmaningar ( kommandon ), kallas satser Princip: int main(void) { } sats sats sats return 0; Satserna utförs av datorn i textuell ordning, upifrån och ner 15

Tilldelningssatsen Det finns olika typer av satser tilldelningssatsen är en. Form: variabel = uttryck ; Betydelsen är att uttrycket beräknas och det beräknade värdet tilldelas variabeln till vänster. Exempel. x = 42 ; När satsen har utförts så har x värdet 42 16

Tilldelningssatsen Det finns olika typer av satser tilldelningssatsen är en. Form: variabel = uttryck ; Betydelsen är att uttrycket beräknas och det beräknade värdet tilldelas variabeln till vänster. Exempel. x = 42 ; Måste finnas för att markera slutet på tilldelningssatsen När satsen har utförts så har x värdet 42 17

Variabler En variabel är ett namn på en plats i minnet som kan ha ett värde Namnet måste vara unikt Variabeln har en viss typ Platsen har en viss storlek (ges av typen) Variabler tilldelas värden Variabler kan användas för att beräkna värden Genom att deklarera variabler i C skapas de då programmet kör. Ex.: int x; Deklarerar en variabel med namnet x. Den har typen int (kan ha heltalsvärden dvs, x ϵ Z). float y; Deklarerar en variabel med namnet y. Den har typen float (kan ha reella värden dvs, y ϵ R). 18

Övning Deklarera en variabel med namnet celcius och tilldela den värdet 37,5 19

Regler för namnsättning För att få använda variabler måste de först deklareras. Du väljer själv vad de ska heta. Välj bra variabelnamn!!! Om du t.ex. vill beräkna medelpoängen och lagra den i en variabel så ska du förstås döpa den till t.ex. average_result eller något liknande som associerar till dess betydelse. Bokstäverna i engelska alfabetet, _ och siffror kan användas, dock ej inledande siffror. Det finns några reserverade ord i C de kan ej användas som namn, ex: int float if while return Kan inte deklarera två variabler med samma namn Case har betydelse, Age och age är två olika variabler: int Age, age; 20

Tilldelning av variabler i C Återigen: Högerledet beräknas och resultatet lagras i vänsterledet. Det blir fel om man tänker på = som likhet det handlar inte om likhet Fler exempel: x = 42; y = 21 + 19 3 * 7; a = x + y / 3.14; a = a + 1; Ej tillåtet: a + 1 = a; Fel! a + 1 är inte en variabel Detta är helt korrekt, uttrycket beräknas först 21

Uttryck Ett uttryck består av endera En variabel, t.ex x En konstant, t.ex 42 eller 9.81 <uttryck> <binäroperator> <uttryck> T.ex.: 3 + a <unäroperator> <uttryck> T.ex.: - x 22

Operatorer Parenteser de funkar som vanligt De Fyra räknesätten utgör några av de binära operatorerna, dvs + - * / Ett exempel på unär operator: (negering) Exempel på ett uttryck: (a + b + c) / total_number Resultatets typ beror av operanderna. T.ex. resulterar en division mellan två heltalsvärden i ett nytt heltalsvärde. Effekten av det senare kan ibland överraska: 4 / 3 beräknas till 1 23 3 / 4 beräknas till 0

Övning Deklarera en ny variabel med namnet farenheit. Tilldela den farenheittemperaturen som motsvaras av 37,5 C, genom att använda din tidigare celcius-variabel. För att omvandla en temperatur från celcius till farenheit kan följande formel användas : 9 T f = T c + 32 5 24

Kodexempel int main(void) { int a; int b; int sum; a=50; b=100; sum=a+b; } return 0; 25

Kodexempel int main(void) { int a; int b; int sum; a=50; b=100; sum=a+b; main-funktionen kommer att börja så här......och sluta så här } return 0; 26

Kodexempel int main(void) { int a; int b; int sum; a=50; b=100; sum=a+b; Deklaration av variabler måste ske innan de används } return 0; 27

Kodexempel int main(void) { int a; int b; int sum; a=50; b=100; sum=a+b; Några tilldelningssatser de utförs i tur och ordning: beräkna högerled tilldela vänsterled } return 0; 28

Kodexempel int main(void) { int a; int b; int sum; } a=50; b=100; sum=a+b; return 0; När programmet har kört klart har variabeln sum värdet 150. Den som kör programmet kommer dock inte att veta om det... 29

Kodexempel int main(void) { int a; int b; int sum; a=50; b=100; sum=a+b; Man kan skriva ut saker med något som heter printf! } return 0; 30

Kodexempel #include <stdio.h> int main(void) { int a; int b; int sum; a=50; b=100; Då behövs den här raden också (den kommer att behövas i de flesta program du skriver) Ger utskrift till ett textfönster. sum=a+b; printf("summan är: %d \n",sum); } return 0; 31

Kodexempel #include <stdio.h> int main(void) { int a; int b; int sum; a=50; b=100; Programmet är fortfarande ganska meningslöst det beräknar alltid samma sak... sum=a+b; printf("summan är: %d \n",sum); } return 0; 32

Allmänt om program Det är i allmänhet bara meningsfullt att skriva program som har variabelt indata. Vi vill kunna erbjuda användaren av programmet att ge olika data till programmet vid olika körningar. Vi behöver kunna meddela användaren resultatet. I allmänhet är användaren någon annan än du själv 33

Förbättrat exempel #include <stdio.h> int main(void) { int a; int b; int sum; scanf("%d", &a); scanf("%d", &b); sum=a+b; printf("summan är: %d \n",sum); } return 0; 34

Förbättrat exempel #include <stdio.h> int main(void) { int a; int b; int sum; scanf("%d", &a); scanf("%d", &b); Användaren vet inte vad som ska skrivas in. - Vad göra? sum=a+b; printf("summan är: %d \n",sum); } return 0; 35

Förbättrat exempel #include <stdio.h> int main(void) { int a; int b; int sum; printf("program som beräknar summan av " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); sum=a+b; printf("summan är: %d \n",sum); } return 0; 36

printf() Koden printf( Hej\n ); är ett s.k. anrop till en funktion som heter printf, och den får en parameter som är en sträng (puh..). Vi återkommer till funktioner senare. Du kan tänka på koden som ett kommando för att skriva Hej Tar en eller flera parametrar. Den första är en sträng, vanligen som i exemplen ovan en s.k. konstantsträng. En konstantsträng är text inom citationstecken Övriga parametrar ska matcha conversion codes ett-till-ett. Conversion codes är t.ex. %d som betyder att motsvarande parameter ska tolkas som ett heltal och att det skrivs ut som ett heltal (utan decimalpunkt). Exempel 2 parametrar, den andra matchar %d som står i den första. printf( Du får %d pannkakor\n, nr_of_pancakes); 3 parametrar, 2:a matchar %d och 3.e matchar %f i den 1:a printf( Fat %d har %f cm med pannkakor\n, plate, height); 37

scanf() scanf() är en inläsningsfunktion = input Parametrar, som för printf, dvs. en eller flera, varav den första är en sträng, och resten ska matcha conversion codes i strängen. Obs! parametrarna måste vara adresser till variabler inte variablernas värden. Detta åstadkoms med &. Att de är adresser (eller s.k pekare), innebär att funktionen scanf kan komma åt variablerna och ändra deras värden. Exempel scanf( %d, &number); scanf( %d%f, &number, &height); scanf kan inte användas till att skriva ut ledtext!! 38

scanf() scanf() är en inläsningsfunktion = input Parametrar, som för printf, dvs. en eller flera, varav den första är en sträng, och resten ska matcha conversion codes i strängen. Obs! parametrarna måste vara adresser till variabler inte variablernas värden. Detta åstadkoms med &. Att de är adresser (eller s.k pekare), innebär att funktionen scanf kan komma åt variablerna och ändra deras värden. Exempel scanf( %d, &number); scanf( %d%f, &number, &height); scanf kan inte användas till att skriva ut ledtext!! Måste finnas! 39

Logik För att lagra logiska värden (sant/falskt) kan man antingen använda variabler av typen bool eller int. Ex: bool x; Konstanta boolska värden är sant: true alt. en godtycklig heltalskonstant skild från 0 falskt: false alt. 0 Ex: x = true; 40

Logik Uttryck kan resultera i logiska värden Dels de logiska konstanerna och variablerna (där vi kan använda heltal om vi vill) Dels uttryck med jämförelseoperatorer och logiska operatorer (konnektiv). Jämförelseoperatorer: < > >= <= ==!= Logiska operatorer:! (icke) && (och) (eller) Exempel på en tilldelningssats: ok = x < 42 && y!= 13; Uttryck 41

Att fatta beslut Villkorssatsen Två former för s.k. villkorsatser: if ( uttryck ) sats else sats eller if ( uttryck ) sats Vanligen delar man dock upp på fler rader: if ( uttryck ) sats else sats Exempel: if (a < b) x = y; else x = z; 42

#include <stdio.h> int main(void) { int a, b, sum; Mera beräkning printf("program som beräknar kvoten mellan " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); sum=a/b; printf("kvoten är: %d \n",sum); } return 0; 43

#include <stdio.h> int main(void) { int a, b, sum; Mera beräkning printf("program som beräknar kvoten mellan " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); sum=a/b; printf("kvoten är: %d \n",sum); Problem: Division med 0 får programmet att krascha! } return 0; 44

Exempel på villkor #include <stdio.h> int main(void) { int a, b, sum; printf("program som beräknar kvoten mellan " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); if (b!= 0) sum=a/b; printf("kvoten är: %d \n",sum); Utför beräkningen villkorligt } return 0; 45

#include <stdio.h> int main(void) { int a, b, sum; Mera beräkning printf("program som beräknar kvoten mellan " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); if (b!= 0) sum=a/b; printf("kvoten är: %d \n",sum); Nytt problem: Då b är 0 har sum inte tilldelats något värde! } return 0; 46

Mera beräkning #include <stdio.h> int main(void) { int a, b, sum; } Ungefär så skulle vi behöva göra, men detta är inte giltig C-kod! Varför? printf("program som beräknar kvoten mellan " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); if (b!= 0) sum=a/b; printf("kvoten är: %d \n",sum); else printf("kan inte dividera med 0\n"); return 0; 47

Blocksatsen Blocksatsen är en sats som består av noll eller flera andra satser, ex: { } x = 42; y = x * 4; Vad ska man ha den till? - Jo, till andra rekursivt definierade satser, t.ex. if... 48

Mera beräkning #include <stdio.h> int main(void) { int a, b, sum; printf("program som beräknar kvoten mellan " "två heltal\n"); printf("ange första talet"); scanf("%d", &a); printf("ange andra talet"); scanf("%d", &b); if (b!= 0) { sum=a/b; printf("kvoten är: %d \n",sum); } else printf("kan inte dividera med 0\n"); Med blocksatsen blev det nu giltig kod! } return 0; 49

Övning Skriv ett komplett program som frågar användaren efter hennes/hans temperatur och talar om ifall personen är sjuk eller ej. Du får själv göra rimliga bedömningar av vad som är frisk- respektive sjuktemperatur. 50

Whitespace Man får själv välja hur man utformar texten med hjälp av nya rader och med mellanslag. Syfte: Att göra koden så lättläst som möjligt. 51

/* Kommentarer */ Kommentarer påverkar inte programmet utan är programmerens minnesanteckningar Kommentera så att du även i framtiden (och även ALLA andra) förstår vad koden utför! Kommentera avsnitt och funktioner inte enstaka rader Förklara inte C-koden, den som läser kan programmera i C Förklara vad koden är tänkt att utföra, det gör det lättare för dig/andra att förstå C-koden. Exempel Ganska lagom för 5-6 satser kod /* NR-iterera fram ett börvärde och presentera i Fahrenheit */ 52

int main(void) { } Flera räknesätt int a, b, result, error=0; char operator; printf("miniräknarprogram\n"); printf("ange första talet"); scanf("%d ", &a); printf("ange operator"); scanf("%c ", &operator); printf("ange andra talet"); scanf("%d ", &b); if (operator == '+') result = a + b; else /* Then the operator is division */ if (b!= 0) result = a/b; else error = 1; if (error) printf("felaktig inmatning\n"); else printf("resultat: %d \n",result); return 0; 53

Hur lär man sig programmera? 54