Till KTH:s startsida Till KTH:s startsida

Ändringar mellan två versioner

Här visas ändringar i "C Labb 1" mellan 2015-08-31 21:55 av Åsa Björndahl och 2016-01-18 22:24 av Mikael Djurfeldt.

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 ...