Archived page.
This is an archived copy of my old (academic) homepage formerly hosted at Chalmers. It is no longer being updated.
Konstruera ett C-program som ber användaren att skriva in längder för två sidor, a och b. Beräkna sedan c enligt Pythagoras sats:
Anm: Använd flyttal för a, b, och c!
I standardbiblioteket <math.h>
finns
funktionen sqrt() som beräknar kvadratroten av ett tal.
Skriv ditt program i valfri texteditor och kompilera och kör programmet.
Ditt program behöver bara klara av en enda beräkning.
-- {File: program1.c - Language: C99} -- 1 /* Program, version 1 - Uppgift Inledande C-programmering 2 * 3 * Frågar användare efter två tal, beräknar L^2-normen av dessa, och skriver 4 * ut resultatet. 5 */ 6 7 #include <math.h> // sqrt() & co. 8 #include <stdio.h> // printf(), scanf(), ... 9 10 11 /* main(): "huvudfunktion" - programmet startar här! 12 */ 13 int main() 14 { 15 double a, b, c; // deklarera variabler a, b och c 16 17 printf( "Ange kateterna: " ); // skriv ut text 18 scanf( "%lf %lf", &a, &b ); // läs in två double-flyttal (%lf) 19 20 c = sqrt( a*a + b*b ); 21 printf( "Hypotenusa: %g\n", c ); // skriv ut resultat med nyrad (\n) 22 23 return 0; 24 }
Kompilera med gcc i terminal:
-- {Language: shell} -- gcc -o program program1.c
⟹ Kompilerar källkoden i 'program1.c' till 'program'. I Windows vill man nog kompilera ett 'program.exe'.
I Linux krävs att man länkar mot '-lm'. Kommandot blir då
-- {Language: shell} -- gcc -o program program1.c -lm
Vill man använda GDB för att debugga programmet, får man kompilera det med extra debug-information, genom att t.ex. lägga till flaggan -g3:
-- {Language: shell} -- gcc -g3 -o program program1.c -lm
Man startar då programmet med gdb:
-- {Language: shell} -- gdb ./program gdb -tui ./program
Med flaggan -tui kan man få något slags minimalistiskt GUI i terminalen.
I GDB kan man då t.ex. göra följande: