Ladda ner presentationen
Presentation laddar. Vänta.
1
Iteration i C ”upprepa”
Upprepa med WHILE - och FOR - satserna
2
Iteration i C ”upprepa”
Syntaxen för while. while ( uttryck ) sats
3
Iteration i C ”upprepa”
Medans ut-trycket är sant upprepas satsen. while ( uttryck ) sats
4
Iteration i C ”upprepa”
Syntaxen för for. for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats
5
Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats
6
Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” initiera räknare i=1; t ex uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats
7
Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” initiera räknare i=1; uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } upprepningsvillkor i<5; for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats
8
Iteration i C ”upprepa”
Detta åstadkommer detsamma som denna while-konstruktion. Iteration i C ”upprepa” initiera räknare i=1; uttryck_1 ; while ( uttryck_2 ){ sats uttryck_3 ; } upprepningsvillkor i<5; uppräkning i++; for ( uttryck_1 ; uttryck _2 ; uttryck_3) sats
9
For-loopens strukturdiagram
10
Iteration i C exempel exekveringsstatus efter denna sats
#include <stdio.h> #define DELAY L int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; exekveringsstatus efter denna sats
11
Iteration i C exempel #include <stdio.h> #define DELAY 1000000L
int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; Iteration i C exempel uttrycket 1==1 ger en oändlig loop (alltid sant) och programmet måste brytas med CTRL-ALT-DELETE
12
Iteration i C exempel #include <stdio.h> #define DELAY 1000000L
int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; Iteration i C exempel loop i loopen ger nästlad loop. Räknaren i initieras till 1 vid varje ”while” - varv.
13
Iteration i C exempel #include <stdio.h> #define DELAY 1000000L
int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); printf("\td"); printf("\te"); printf("\tr"); printf("\ts"); printf("\r \t \t \t \t \t \r"); } return 0; Iteration i C exempel en tom sats, for - satsens uppgift är endast att fördröja visningstiden.
14
Kursexempel Här kommer några exempel ur kursen.
15
Iteration i C exempel /* Beräknar kapitaltillväxt på 10 år */
#include <stdio.h> #define RANTESATS 8.5 #define ANTAL_AR 10 int main ( void ) { float startKapital, saldo, kapital ; int ar ; printf("Insatt kapital? "); scanf("%f", &kapital); printf("\n År Saldo\n == =====\n"); for ( ar = 1; ar <= ANTAL_AR ; ar++ ) { kapital = kapital * ( 1 + RANTESATS/100 ); printf("%3d%11.2f\n", ar, kapital); } return 0; lite förändringar och några nya rader ger - iteration !
16
for-loopen i programmet interest.c
17
Selektion i C heltalstyp
void Kalkylator( void ) /* Enkel kalkylator */ { float x, y; char c; printf( "\nKalkylator som klarar de fyra räknesätten t ex 3+2\n"); printf( "a, avslutar\n"); while (printf("-->"), scanf("%f%c%f", &x, &c, &y ) == 3) { switch(c) { case '+': printf("%f\n", x + y); break; case '-': printf("%f\n", x - y); case '*': printf("%f\n", x * y); case '/': if (y != 0) printf("%f\n", x / y); else printf("Division med noll\n"); default: printf("Felaktig operator\n"); } return; Selektion i C heltalstyp om inte break finns med testas varje ”case”, man trillar igenom.
18
switch-satsen i programmet easycalc.c
19
Iteration i C exempel while (printf("-->"), scanf("%f%c%f", &x, &c, &y ) == 3) { sats .. } scanf() returnerar antalet lyckade konverteringar om detta antal är 3 blir uttrycket sant och loopen går vidare (upprepningsvillkoret) innan scanf() anropas vill man ha en ”pil”-prompt på skärmen kommaoperatorn ( , ) ger möjlighet till detta
20
Iteration i C ”upprepa”
Det finns ytterligare en iterations-möjlighet med följande syntax do { sats } while ( uttryck );
21
Iteration i C ”upprepa”
Observera att det finns skolor som anser att man inte skall ha eftertestade loopar utan bara använda while och for. do { sats } while ( uttryck );
22
Favorit på övningen … Ge triangelns höjd: > * > *** > ***** > ******* > ********* > *********** > ************* > .....*************** > ....***************** > ...*******************... 11> ..*********************.. 12> .***********************.
23
Webfråga …
24
Slut
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.