Instrukcje: continue, break, return.
Tablice, podstawowe algorytmy operujące na tablicach
1) Instrukcja continue
Składnia: continue ;
Działanie: kończy działanie instrukcji pętli while, do..while, for w miejscu wystąpienia i przechodzi do kolejnego jej wykonania
2) Instrukcja break
Składnia: break;
Instrukcja break przerywa pętle while, do ..while, for oraz instrukcję wyboru switch w miejscu wystąpienia.
3) Instrukcja return
Składnia: return [ <wyrażenie> ];
Przerywa działanie funkcji, opcjonalnie zwracając wartość, jeśli definicja funkcji tego wymaga. W przypadku funkcji main kończy program.
Przykłady:
Program liczy liczby podzielne przez 3 i pozostałe
void main() // wersja programu z pętlą while
{
int i=0, p=0, n=0;
while (i++) //kolejna liczba i –pętla while nieskończona
if(i%3 == 0)
p++; //p liczy liczby podzielne przez 3
continue;
}
n++; //p liczy liczby niepodzielne przez 3
if (n==10) //jeśli n==10 to nastąpi przerwanie pętli
break; //jeśli n!=10, tp przejście do następnej pętli
} // p=4, n=10, i=14
void main() //wersja programu z pętlą for
for (int i=1, p=0, n=0; ; i++) //kolejna liczba i – pętla for nieskończona
if (i %3 == 0)
continue; //dla parzystych i przechodzi do kolejnej pętli
} //zwiększając i o 1 – i++
n++; //n liczy liczby niepodzielne przez 3
if (n==10) break; //jeśli n!=10, to nowa pętla po wykonaniu i++
} //jeśli n==10, to przerwanie instrukcji for
#include <conio.h>
#include <stdio.h>
void main() //Kalkulator dwudziałaniowy
{ char z;
float a, b, wynik;
clrscr();
do
getch();
puts("* Mnozenie\n / Dzielenie\n operator k - wyjscie z programu\n ");
puts("Podaj argument, operator argument: ");
scanf("%f %c %f", &a, &z, &b);
switch(z)
{ case '*' : wynik=a*b; break; //koniec switch
case '/' : if (b!=0)
{ wynik=a/b; break; //koniec switch
else
{ puts("Dzielenie przez zero\n");
continue; //przejście do nowej pętli po teście wyrażenia while
case 'k' : puts("Koniec programu\n"); getch();
return; //koniec funkcji main
default : puts("Nieznany operator\n");
printf("%f %c %f=%f\n", a, z, b, wynik);
} while (1); //pętla nieskończona
4) Tablice
T D [wyrażenie stałe]
jest tablicą D elementów typu T, których liczba jest równa wyrażeniu stałemu.
1. Liczba elementów, jeśli jest podana, musi być typu całkowitego i mieć wartość większą od zera.
2. Elementami tablicy są następujące typy danych T:
· typy podstawowe (za wyjątkiem void),
· inne tablice (powstają tzw. tablice wielowymiarowe)
· wskaźniki
· wskaźniki do składowych
· klasy
· wyliczenia
3. Jeśli wyrażenie stałe ma wartość równą np. 10, to elementy tej tablicy są ponumerowane od 0 do 9
4. Dostęp do elementów jest możliwy za pomocą operatora indeksowania []. Liczba umieszczona w nawiasach jest numerem elementu liczonym od zera
np. int tab1 [3]; definicja tablicy trzech elementów typu int
tab1[2] trzeci element tablicy typu int
tab1[0] pierwszy element tablicy typu int
Przykłady tablic:
char tab2[3]; tablica zawiera trzy elementy typu char - łańcuch
char tab3[3][4]; tablica zawiera trzy elementy typu tablica znaków. Każdy element tablicy jest tablicą czterech elementów typu char
char tab4[3][4][5] tablica zawiera trzy elementy typu tablica czterech elementów typu tablica pięciu elementów typu char
int* tab5 [3]; tablica zawiera trzy elementy typu wskaźnik na *int
const int N=1; stała typu int
int tab6 [N]; tablica zawierająca N ( 10) elementów typu int (tylko w C++)
#define M 10 stała zdefiniowana za pomocą makrodefinicji prostej
int tab7 [M]; tablica zawierająca N ( 10) elementów typu int
Przykład 1 - tablica składa się z pięciu elementów typu int zawierających kolejno wartości wylosowane. Można ją zdefiniować jako: int tablica [5].
Program liczy sumę elementów parzystych elementów i podaje wartość średnią parzystych elementów
0
37
1
89
2
20
3
54
4
66
#include <stdlib.h>
void main() ...
chesschempion