C-programmering – Grundkurs

C-programmering – Grundkurs

Översikt

Mål­grupp

Programmerare och systemerare som ska underhålla befintlig C-mjukvara. För den som ska nyutveckla rekommenderas att gå direkt på C++ programmering.

Mål

Du får lära dig:

  • Läsa och förstå all slags C-kod
  • Underhålla och modifiera/bygga ut befintliga C-program
  • Utveckla nya programmoduler
  • Vad som skapar portabilitet och icke portabilitet
  • Hur ANSI-standardbiblioteket är uppbyggt
  • Vilka moderna utvecklingsverktyg som finns

För­kun­ska­per

Allmän kunskap i dataprogrammering och gärna kunnande och erfarenhet från något annat språk. Kursen genomförs normalt i Windowsmiljö, varför användarkunnande i Windows underlättar.

Kursinnehåll: C-programmering – Grundkurs

1. Introduktion

  • Egenskaper hos språket
  • Historik och standardisering
  • Användandet av C i olika miljöer och för olika ändamål

2. Översikt över C

  • Grundläggande syntaxregler
  • Main-funktionen och anrop till andra funktioner
  • Variabler och typer
  • Lagringsklasser och synlighet
  • De vanligaste operatorerna
  • Parameteröverföring i C – alltid med värdeöverföring
  • Programflödeskontroll
  • Härledda, egendefinierade typer

3. Utvecklingsmiljön

  • Operativsystemet – vanligen Windows-verktyget behandlas endast i den mån det behövs för enkel kompilering av teckenbaserade applikationer. Ev prövas också debugfunktioner.

4. Variabler och typer

  • Skillnaden mellan definition och deklaration
  • Namnregler för lokala och globala variabler
  • Heltalstyper och flyttalstyper
  • Tecken, konstanttecken och escapesekvenser

5. Programflödeskontroll

  • Flera satser i ett block
  • Villkor -if och if-else, nästlade if-else
  • Slingor med for, while och do-while
  • Switch-satsen, alternativ till nästlade if-else-satser

6. Uttryck och operatorer

  • Vad är operator kontra operander?
  • Språkets grupper av operatorer –aritmetiska, logiska, jämförande och bitvisa
  • Avsaknaden av logisk variabeltyp
  • Prioritet och associativitet
  • Sizeof-operatorn
  • Typkontroll och implicit/explicit typkonvertering i C

7. Funktioner

  • Funktionsdefinition (prototyp) kontra definition
  • Strukturering med hjälp av funktionell nedbrytning
  • Parameteröverföring och returnering
  • Synlighetsregler – lokala variabler
  • Vad händer egentligen vid ett funktionsanrop?
  • Rekursiva funktioner – funktioner som anropar sig själva

8. Preprocessorn

  • Makron – ett sätt att definiera konstanter och små funktioner
  • Inkludering av header-filer
  • Villkor för kompileringen

9. Vektorer och pekare

  • Vektorer – en indexerad rad av variabler
  • Pekare är minnesadresser
  • Sambandet mellan vektorer och pekare, en egenhet i C
  • Möjligheten att använda vektornamn som pekare och pekare som vektornamn
  • Dynamisk minnesallokering ger en pekare
  • Strängar som ett specialfall
  • Pekare till funktioner

10. Strukturer

  • Möjlighet att kombinera data i större strukturer
  • Användandet av pekare till strukturer.
  • Olika medlemsdata
  • Unioner, ett sätt att komprimera data
  • Strukturdeklarationer med typedef

11. Modularisering

  • Uppdelning i header och implementation
  • Header-filen som interface
  • Synlighetsregler vid modularisering

12. Standardbiblioteket

  • Historik kring standardiseringen
  • Standardbibliotekets omfattning och huvudgrupper – filhantering, stränghantering, minneshantering och matematikfunktioner m m
  • Möjligheten att använda andra bibliotek och API:er

13. Vanliga fel

  • Genomgång av typiska fel, logiska och syntaktiska

14. Verktyg

  • Make-filer, Debugger och Browsers

15. Framtiden 

Övningar:

  • Ett första program i C
  • Beräkna cirkelarea
  • Visa teckenrepresentation
  • Konvertera teckenrepresentation
  • Beräkna typstorlekar
  • Enkel fickräknare
  • Bitvis skift och maskning
  • Beräkna maxtal
  • Siffror till text
  • Behandla argumentsträng
  • Räkna tecken i strängar
  • Allokera dynamiskt minne
  • Litet register med länkad lista
  • Konstruera en stack
  • Program för filkopiering

Ingen övrig information för tillfället
Systemutveckling

Kursöversikt

31 450 kr

Hittar du inget (passande) datum?

Skicka in en intresseanmälan så gör vi vad vi kan för att planera ett tillfälle som passar. 

Fö­re­tags­an­pas­sad kurs

Kursen kan anpassas från flera perspektiv:
  • Innehåll och fokusområde
  • Omfattning
  • Upplägg

I samspel med kursledaren ser vi till att kursen uppfyller era önskemåll

Skicka intresseanmälan för utbildningen