To tylko jedna z 7 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
INSTRUKCJE REPETYCYJNE − PĘTLE
• Pętla while( )
while ( wyraŜenie )
instrukcja;
while ( wyraŜenie )
{
instrukcja_1;
instrukcja_2;
...
instrukcja_N;
}
Pętla wykonywana jest tak długo jak wartość wyraŜenie jest róŜna od zera
Przykłady:
int i ; // pętla wyświetlająca liczby 1,2,3 ...
i = 1;
while( i
#include
void main( void )
{
char znak = ’a’;
while( znak != ’k’ ) {
printf( ”\n naciśnij jakiś klawisz: ” );
znak = getche( );
}
}
przykład 2: Odczytywanie klawiszy do momentu naciśnięcia ESC – za pomocą pętli „do while”
#include
#include
void main( void )
{
char znak;
do {
printf( ” \n naciśnij jakiś klawisz: ” );
znak = getche( );
} while(znak != 27 );
}
przykład 3:
// 27 = kod klawisza Escape
Wyświetlenie kreski składającej się z 10 znaków „minus”
#include
void main( )
{
int licznik=0; while( licznik
#include
// dołączenie biblioteki zawierającej funkcję „random”
void main( )
{
int liczba_losowa;
do
}
liczba_losowa = random(6) + 1;
// symulacja rzutu kostką
printf(”\n Wylosowano: %d ”, liczba_losowa );
}
while( liczba_losowa != 6 );
printf( ”\n\n Koniec programu. Nacisnij ENTER” ); getchar();
}
M.Piasecki: PODSTAWY PROGRAMOWANIA
−3−
(W3) Instrukcje repetycyjne - pętle
• Pętla for( ; ; )
for( wyraŜenie_inicjujace ; wyraŜenie_testujace ; wyraŜenie_modyfikujace )
wykonywana_instrukcja ;
jest równowaŜna konstrukcji:
wyrazenie_inicjujace ;
while( wyrazenie_testujace )
{
wykonywana_instrukcja ;
wyrazenie_modyfikujace ;
}
int i ;
i = 1;
while( i
(…)
… litera.” );
else if( ‘0’<=klawisz && klawisz<=’9’ )
printf( ”=> To jest cyfra.” );
else if( klawisz == 13 )
printf( ”=> To jest klawisz ENTER.” );
else if( klawisz == ’ ’ )
printf( ”=> To jest klawisz spacji”);
else
printf( ”=> To jest inny klawisz.”);
}
}
M.Piasecki: PODSTAWY PROGRAMOWANIA
−6−
(W3) Instrukcje repetycyjne - pętle
#include <stdio.h>
// Przykład 13 : program rozpoznający klawisze…
…
#ifndef DEF_KLAWISZY
#define DEF_KLAWISZY
#define ZERO
0
// klawisze "zwykle" - kodowane za pomocą jednego znaku
#define ESC
27
#define ENTER
13
#define BACKSPACE
8
//klawisze "funkcyjne" - kodowane za pomocą dwóch znaków
#define DELETE
83
// 0, 83
#define UP_ARROW
72
// 0, 72
#define DOWN_ARROW 80 // 0, 80
#define LEFT_ARROW
75
// 0, 75
#define RIGHT_ARROW 77
// 0, 77
#define HOME
71
// 0, 71
#define…
…( )
{
for( int znak=32; znak<256; znak++ )
printf( ”%4d = %c” , znak , znak );
}
przykład 7:
Prymitywny kalkulator sumujący liczby wpisywane na klawiaturze
#include <stdio.h>
void main( )
{
double suma=0, liczba;
while( scanf( ”%lf” , &liczba ) )
printf( ”\t%.2f\n” , suma+=liczba );
}
M.Piasecki: PODSTAWY PROGRAMOWANIA
−4−
(W3) Instrukcje repetycyjne - pętle
przykład 8:
Policzenie sumy N liczb wpisywanych…
... zobacz całą notatkę
Komentarze użytkowników (0)