Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Mikael Djurfeldt 2016-01-18 22:24

Visa < föregående
Jämför < föregående

C Labb 1

I denna laboration skall du skriva några små C-program. Efter laborationen kommer du att kunna de mest grundläggande konstruktionerna i C (villkorliga satser, slingor, enkel in- och utmatning samt funktioner). Du kommer att veta hur du kompilerar ett C-program samt hur du länkar med extra funktionsbibliotek.

Uppgift 1

Öppna emacs och skriv följande program och kalla filen star.c:
#include <stdio.h>
int main ()
{
    int i;
    for (i = 1; i <= 17; i = i + 1)
    	putchar ('*');
    putchar ('\n');
    return 0;
}
Kompilera programmet genom att skriva kommandot "gcc -o star star.c". Detta genererar en körbar fil som heter star (om du bara skriver gcc star.c kommer filen istället få namnet a.out). Provkör detta genom att ge kommandot "./star" och verifiera att det skriver ut 17 stjärnor på en rad.

Uppgift 2

Ändra programmet så att det läser in ett tal (m.h.a scanf) som anger hur många stjärnor som skall skrivas ut, och provkör.

Uppgift 3

Ändra programmet så att det upprepat läser in tal till dess filslut påträffas (filslut påträffas när användaren trycker på knapparna Ctrl och d samtidigt). För varje inläst tal skrivs så många stjärnor ut. (Utskriften kan komma direkt efter det att talet lästs in.)

Uppgift 4

Skriv ett nytt program (använd gärna koden i star.c) som plottar sin (x) mha stjärnor: För varje värde på den oberoende variabeln x skriver programmet ut en rad med (heltalsdelen av) 30 + 15 * sin (x) stjärnor. Skriv rader för x = 0, 0.3, 0.6, ..., 6.3. För att beräkna sinus finns det en funktion double sin (double x) i matematikbiblioteket. Du kommer åt denna funktion genom att inkludera system-headerfilen math.h (skriv #include <math.h> i början av koden) och vid kompilering länka med matematikbiblioteket genom att lägga till -lm sist på kommandoraden. (Om ditt nya program heter sinstar.c kompilerar du alltså genom att skriva kommandot gcc -o sinstar sinstar.c -lm).

Uppgift 5

Du skall i denna uppgift skriva ett program som räknar burr. Programmet skall skriva ut en lämplig informationstext och läsa in en burr-siffra (en siffra mellan 1 och 9). Därefter skall programmet skriva ut alla tal mellan 1 och 99, men om ett tal antingen innehåller en burr-siffra eller är delbart med burr-siffran skall istället burr skrivas ut. (Tips: använd modulo (%) för att ta få reda på resten av heltalsdivision, t.ex ger 10 % 4 resultatet 2.)
Exempel:
Ge burrsiffran: 3
1 2 burr 4 5 burr 7 8 burr 10 11 burr burr 14 burr 16 17 ...