Initial commit

This commit is contained in:
2021-10-01 20:24:05 +02:00
commit 860c025165
194 changed files with 4846 additions and 0 deletions

15
kapitel6/break-ex1.c Normal file
View File

@@ -0,0 +1,15 @@
#include <stdio.h>
int main(void)
{
int i;
for(i=10; i>0; i--)
{
printf("i = %d\n", i);
if (i==4)
break;
}
return 0;
}

21
kapitel6/break-ex2.c Normal file
View File

@@ -0,0 +1,21 @@
#include <stdio.h>
int main(void)
{
int i;
int j;
for(i=10; i>0; i--)
{
printf("i = %d\n", i);
for (j=30; j<=40; j++)
{
printf("j = %d\n", j);
if (j==33)
{
break;
}
}
}
return 0;
}

14
kapitel6/break-ex3.c Normal file
View File

@@ -0,0 +1,14 @@
#include <stdio.h>
int main(void)
{
int i = 10;
while (i>0)
{
printf ("i = %d\n", i);
if (i == 6)
break;
i--;
}
return 0;
}

20
kapitel6/c99-for-loop.c Normal file
View File

@@ -0,0 +1,20 @@
#include <stdio.h>
int main(void)
{
for (int i=0; i<=10; i++)
printf("i = %d\n", i);
/* Nedanstående printf()-rad fungerar inte eftersom i är lokal
för for-loopen ovan. Testa genom att av-kommentera raden */
/* printf("Utanför loopen är i = %d\n", i); */
int j;
for (j=10; j>=0; j--)
printf("j = %d\n", j);
/* Detta kommer dock att fungera eftersom j deklarerades
utanför for-loopen */
printf("Utanför loopen är j = %d\n", j);
return 0;
}

21
kapitel6/cmp-strings.c Normal file
View File

@@ -0,0 +1,21 @@
#include <stdio.h>
#include <string.h>
int main(void)
{
char a[] = "Kalle";
char b[] = "Lisa";
/* Skriver ut adressen till "Hej" */
printf("%lu\n", (long unsigned int)"Hej");
/* Jämför strängar */
if(strcmp(a, b) == 0)
printf("%s och %s är detsamma\n", a, b);
else if(strcmp(a, "Kalle") == 0)
printf("%s = Kalle\n", a);
else
printf("Ingen match\n");
return 0;
}

13
kapitel6/continue-ex1.c Normal file
View File

@@ -0,0 +1,13 @@
#include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=10; i++)
{
if(i%2 == 0)
continue;
printf ("i = %d\n", i);
}
return 0;
}

14
kapitel6/do-while-ex1.c Normal file
View File

@@ -0,0 +1,14 @@
#include <stdio.h>
int main(void)
{
int x = 5;
do
{
x++;
printf("X är nu: %d\n", x);
} while (x < 5);
return 0;
}

21
kapitel6/elseif-ex1.c Normal file
View File

@@ -0,0 +1,21 @@
#include <stdio.h>
int main(void)
{
int a = 5;
int b = 10;
int c = 15;
if (a > b)
printf("%d är större än %d\n", a, b);
else if (a > c)
printf("%d är större än %d\n", a, c);
else if (a == b)
printf("%d är lika stor som %d\n", a, b);
else
printf("Inget av de ovanstående villkoren var sanna\n");
printf("Här fortsätter koden som vanligt\n");
return 0;
}

15
kapitel6/elseif-ex2.c Normal file
View File

@@ -0,0 +1,15 @@
#include <stdio.h>
int main(void)
{
int a = 10;
int b = 15;
if (a < 20)
printf("Detta är den enda raden som kommer skrivas ut\n");
else if (b < 20)
printf("Jag är också sann, men kommer inte skrivas ut\n");
else
printf("Jag kommer inte heller skrivas ut...\n");
return 0;
}

View File

@@ -0,0 +1,16 @@
#include <stdio.h>
#include <string.h>
int main(void)
{
char guess[10];
char pass[] = "kalle";
while (strcmp(guess, pass))
{
printf("Skriv in lösenordet: ");
fgets(guess, sizeof(guess), stdin);
guess[strcspn(guess, "\n")] = '\0';
}
printf("Du lyckades!\n");
return 0;
}

View File

@@ -0,0 +1,13 @@
#include <stdio.h>
int main(void)
{
int i = 6;
i = i * 2;
for ( ; i>0; i--)
{
printf("i = %d\n", i);
}
return 0;
}

13
kapitel6/if-ex1.c Normal file
View File

@@ -0,0 +1,13 @@
#include <stdio.h>
int main(void)
{
int a = 5;
int b = 10;
if (a < b)
{
printf ("%d är mindre än %d\n", a, b);
}
return 0;
}

11
kapitel6/if-ex2.c Normal file
View File

@@ -0,0 +1,11 @@
#include <stdio.h>
int main(void)
{
int a = 5;
int b = 10;
if (a < b)
printf ("%d är mindre än %d\n", a, b);
return 0;
}

8
kapitel6/if-ex3.c Normal file
View File

@@ -0,0 +1,8 @@
#include <stdio.h>
int main(void)
{
if (5 == (3+2))
printf("5 är detsamma som 3+2\n");
return 0;
}

17
kapitel6/logiskt.c Normal file
View File

@@ -0,0 +1,17 @@
#include <stdio.h>
int main(void)
{
/* Ger sant om antingen 4 > 5, eller om 5 < 10,
eller om både 4 > 5 och 5 < 10. Minst ett utav
villkoren måste således vara uppfyllda. */
if (4 > 5 || 5 < 10)
printf("4 > 5 eller 5 < 10\n");
/* Ger sant om både 4 > 5 och 5 < 10, annars inte.
Båda villkoren måste således vara uppfyllda. */
if (4 > 5 && 5 < 10)
printf("4 > 5 och 5 < 10\n");
return 0;
}

10
kapitel6/oandlig-loop.c Normal file
View File

@@ -0,0 +1,10 @@
#include <stdio.h>
int main(void)
{
for (;;)
{
printf("En oändlig loop\n");
}
return 0;
}

13
kapitel6/rakna-upp.c Normal file
View File

@@ -0,0 +1,13 @@
#include <stdio.h>
int main(void)
{
int i;
for (i=0; i<=10; i++)
{
printf("i = %d\n", i);
}
return 0;
}

12
kapitel6/tecken.c Normal file
View File

@@ -0,0 +1,12 @@
#include <stdio.h>
int main(void)
{
char tecken;
if ((tecken = getchar()) == 10)
printf ("Inget tecken angavs\n");
else
printf("Tecknet är: %c\n", tecken);
return 0;
}

26
kapitel6/tecken_v2.c Normal file
View File

@@ -0,0 +1,26 @@
#include <stdio.h>
int main(void)
{
char tecken;
if ((tecken = getchar()) == 10)
printf ("Inget tecken angavs\n");
else
{
printf("Tecknet är: %c\n", tecken);
if (tecken == 'A')
{
printf ("Du skrev ett versalt A\n");
}
else if (tecken == 'a')
{
printf("Du skrev ett gement a\n");
}
else
{
printf("Du skrev något tecken, förutom A eller a\n");
}
}
return 0;
}

22
kapitel6/tecken_v3.c Normal file
View File

@@ -0,0 +1,22 @@
#include <stdio.h>
int main(void)
{
char tecken;
if ((tecken = getchar()) == 10)
printf ("Inget tecken angavs\n");
else
{
printf("Tecknet är: %c\n", tecken);
if ((tecken >= 65) && (tecken <= 90))
printf("Det är dessutom en versal bokstav\n");
else if ((tecken >= 97) && (tecken <= 122))
printf("Det är dessutom en gemen bokstav\n");
else if ((tecken >= 48) && (tecken <= 57))
printf("Det är en siffra\n");
else
printf("Tecknet är ingen bokstav och ingen siffra\n");
}
return 0;
}

41
kapitel6/veckodag.c Normal file
View File

@@ -0,0 +1,41 @@
#include <stdio.h>
int main(void)
{
int d;
printf("Ange veckodag (1-7): ");
scanf("%d", &d);
/* Kontrollera först om veckodagen är giltig */
if((d<0) || (d>7))
{
printf("Ogiltig veckodag, ange ett tal mellan 1-7\n");
return 1; /* Avsluta programmet med returkod 1
ifall veckodagen utanför 1-7 */
}
/* Nu använder vi switch för att behandla veckodagen */
switch (d)
{
case(1):
printf("Början på veckan\n");
break;
case(2):
printf("Tisdag\n");
break;
case(5):
printf("Fredag!\n");
break;
case(6):
printf("Lördag, det är helg!!\n");
break;
case(7):
printf("Söndag, det är fortfarande helg!!\n");
break;
default:
printf("Mitten av veckan...\n");
break;
}
return 0;
}

13
kapitel6/while-ex1.c Normal file
View File

@@ -0,0 +1,13 @@
#include <stdio.h>
int main(void)
{
int i = 10;
while (i>0)
{
printf ("i = %d\n", i);
i--;
}
return 0;
}

14
kapitel6/while-ex2.c Normal file
View File

@@ -0,0 +1,14 @@
#include <stdio.h>
int main(void)
{
int x = 5;
while (x < 5)
{
x++;
printf("X är nu: %d\n", x);
}
return 0;
}