C programmering :: Kontrolstrukturer

for

og i kildetekst bliver det til:

1 /* for.c - Kontrolstruktur */ 2 3 #include <stdio.h> 4 5 #define FALSE 0 6 #define TRUE 1 7 8 main() 9 { 10 int Start=3; 11 int Slut=20; 12 int i,j,erPrimtal; 13 14 for (i=Start; i < Slut; i++) 15 { 16 erPrimtal = TRUE; 17 for (j=i-1; j > 1; j--) 18 { 19 if (i % j == 0) 20 { 21 erPrimtal = FALSE; 22 break; 23 } 24 } 25 if (erPrimtal) 26 { 27 printf("%d er primtal\n",i); 28 } 29 } 30 }
  • indtast programmet eller download og gem på filen for.c
  • compiler og kør programmet med:
# gcc for.c # ./a.out 3 er primtal 5 er primtal 7 er primtal 11 er primtal 13 er primtal 17 er primtal 19 er primtal #

Programlinier:

10-12 Definerer variabler og initialiserer værdier. Den tidligere, i while-eksemplet initialiserede variabel i, er nu flyttet ind i for-konstruktionen som startsætningen.
14 Start på for-løkken der gentager sætningerne i blokken {} i linierne 15-29. Betingelsen er at i er mindre end Slut for gentagelsen. Efter hver gentagelse øges i med 1.
16 Sætter startværdien for erPrimtal før den næste indre for-løkke. Den kunne også lægges ind i startsætningen på den næste for-konstruktionen.
17 Start på næste niveau af en for-løkke der gentager sætningerne i blokken på linierne 18-24. Sætter startværdien for j, det sker kun én gang før gentagelsesblokken.
19 Test om i kan deles med j. Operatoren % kaldes modulos og giver rest ved divisionen i/j. F.eks. 2/3 giver rest 2, 3/3 giver 0, 4/3 giver 1 i rest. Hvis rest giver 0 kan i deles med j og sætninger i blokken linie 20-23 udføres.
21 Sæt erPrimtal til falsk.
22 Afbryd den inderste løkke med break, der er ingen grund at forsøge med flere værdier af j. break tvinger programmet til at springe ud af løkken og fortsætte i linie 25.
24 Slut på inderste for-løkke, herfra aktiveres først gentagelsessætninger der mindsker j med 1 til næste divisor og derefter betingelsessætninger.
25-28 Udskriv hvis det var et primtal.
29 Slut på yderste for-løkke, herfra aktiveres først gentagelsessætninger der øger i med 1 til næste test og derefter betingelsessætninger.

 

 

Ressourcer C Library opslag The Single UNIX® Specification, Version 2 Copyright © 1997 The Open Group GNU C Library Engelsk, med masser af gode og dybe artikler. Danske søgeord Find selv de bedste danske søgeord til din hjemmeside.
Produkter Bookingsystem
System for reservation af tid for behandlinger, aftaler, lokaler, udstyr, personale. Tilpasset lektionstimer. Udskriver arbejdsplaner og ugeskema for opslag. Statistik. Danmarks bedste pris nu kun kr. 1.695,-
HelpdeskEffektiviser din support-organisation med et Helpdesksystem. Fjern tidrøvere der forhindrer fokus på problemløsning. Lektionsplan Formidling af generelle information og specifikke lektioner fra undervisere til studerende/elever. Medlemssystem Medlemssystem online med administration af medlemskartotek, kontingentbetalinger, flettefiler m.m.
Styr selv Styr selv indholdet på dine hjemmesider med Content Management System.
Citat Absolut frihed er det samme som absolut meningsløshed, for mennesket er kun menneske i kraft af talrige afhængighedsforhold.

H.C. Branner



Professionelle løsninger til Internettet. Webdesign, e-handel, cms, søgeoptimering, webhotel, analyse, Intranet mm.