C++ w2 podstawowe instrukcje


JĘZYK C ® PODSTAWOWE INSTRUKCJE
* Nawiasy klamrowe { } są używane do grupowania wielu deklaracji i instrukcji w jedną instrukcję złożoną (jeden blok).
* Instrukcja warunkowa:
if ( wyrażenie )
instrukcja_1 ;
else
instrukcja_2 ;
( część od słowa else można pominąć,
( instrukcja sprawdza czy wyrażenie jest różne od zera
tzn. if ( wyrażenie ) jest równoważne if ( wyrażenie != 0 )
* Konstrukcja else-if:
if ( wyrażenie_1 )
instrukcja_1;
else
if ( wyrażenie_2 )
instrukcja_2;
else
if ( wyrażenie_3 )
instrukcja_3;
else
instrukcja_4;
* Instrukcja wyboru:
switch ( wyrażenie_całkowite )
{
case wartość_1 : instrukcja_1;
break;
case wartość_2 :
case wartość_3 :
case wartość_4 : instrukcja_234;
break;
default : instrukcja_domyslna;
break;
}
Przykłady dla instrukcji warunkowej:
#include // Wartość maksymalna z trzech wczytanych liczb
void main(void)
{
int A, B, C, max;
printf( "Podaj pierwsza liczbe: " );
scanf( "%d" , &A );
printf( "Podaj druga liczbe: " );
scanf( "%d" , &B );
printf( "Podaj trzecia liczbe: " );
scanf( "%d" , &C );
max = A;
if( max < B ) max = B;
if( max < C ) max = C;
printf( "\n Maksymalna wartosc = %d" , max );
getchar();
}


#include // Pierwiastki trójmianu kwadratowego Ax2+Bx+C=0
#include
#include
void main( void )
{
double a, b, c, delta, x1, x2;
clrscr();
printf( "Podaj pierwsza liczbe A= " );
scanf( "%lf" , &a ); // Uwaga !!! %lf a nie %f
printf( "Podaj druga liczbe B= " );
scanf( "%lf" , &b );
printf( "Podaj trzecia liczbe C= " );
scanf( "%lf" , &c );
delta = b(b ( 4(a(c;
if( delta < 0 )
printf( "\n Brak rozwiazan" );
else
if( delta == 0 )
{
x1 = x2 = (b/(2(a);
printf( "Jest jedno rozwiazanie x1=x2= %f", x1 );
}
else
{
x1 = ((b ( sqrt(delta)) / (2(a); x2 = ((b ( sqrt(delta)) / (2(a);
printf( "Sa dwa rozwiazania x1= %.2f, x2= %.2f", x1, x2 );
}
}
Przykład dla instrukcji wyboru:
#include // Program zawierajÄ…cy proste "menu"
void main( void )
{
char znak;
double a, b, wynik;

printf( "Podaj pierwsza liczbe A =" ); // wczytanie dwóchliczb z klawiatury
scanf( "%lf" , &a );
printf( "Podaj druga liczbe B =" );
scanf( "%lf" , &b );

printf( "\n\nMozliwe operacje:" ); // wyswietlenie "menu"
printf( "\n (() wynik = A ( B" );
printf( "\n (() wynik = A ( B" );
printf( "\n (() wynik = A ( B" );
printf( "\n ( / ) wynik = A / B" );
printf( "\n\nPodaj znak operacji: " );

flushall( ); // wyczyszczenie wszystkich buforów (tutaj->klawiatury)

znak = getchar( ); // wczytanie znaku wybranej operacji

switch( znak ) // instrukcja wyboru jednej z operacji arytmetycznych
{
case '(' : wynik = a ( b; break;
case '(' : wynik = a ( b; break;
case '(' : wynik = a ( b;
break;
case '/' : wynik = a / b; break;
default: wynik = 0;
printf( "\nBład operatora: podano zły znak operacji" );
break;
}

// wydruk liczb i wyniku z zadana dokladnoscia miejsc po przecinku
printf( "\nWynik obliczen: %.1f %c %.1f = %.2f " , a , znak , b , wynik );

printf( "\n\nKoniec programu. Nacisnij dowolny klawisz" );

fflush( stdin ); // wyczyszczenie bufora strumienia tzn. klawiatury
getchar( );
}
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
int i = 10;
while( i != 0 )
{
printf ( "%2d\n" , i );
i = i ( 1;
}
int i = 10;
while( i )
printf ( "%2d\n" , i (( );

* Pętla do while( ):
do
instrukcja;
while ( wyrażenie );

do
{
instrukcja_1;
instrukcja_2;
. . .
instrukcja_N;
}
while ( wyrażenie );
Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna od zera
* Pętla for( ):
for( wyrazenie_inicjujace ; wyrazenie_testujace ; wyrazenie_modyfikujace )
wykonywana_instrukcja ;
jest równoważna konstrukcji:
wyrazenie_inicjujace ;
while( wyrazenie_testujace )
{
wykonywana_instrukcja ;
wyrazenie_modyfikujace ;
}
int i ;
i = 10;
while( i != 0 )
{
printf ( "%2d\n" , i );
i = i ( 1;
}
int i ;
for( i = 10; i != 0 ; i = i ( 1 )
printf( "%2d\n" , i );
lub
int i ;
for( i = 10; i ; printf("%2d\n" , i (() ) ;

//przykładowy program wypisujacy tabele kodów ASCII
#include
void main(void)
{
int n;
printf( "\n" );
for( n=32; n<256; n++ )
printf( "%3d = %c\n" , n , n );
}

//prymitywny kalkulator biurowy
#include
void main(void)
{
double suma=0, liczba;
while( scanf( "%lf" , &liczba ) > 0 )
printf( "\t%.2f\n" , suma+=liczba );
}
#include // program zliczajÄ…cy naciskane klawisze
#include
void main(void)
{
int licznik = 0, klawisz;
printf( "Program zliczajacy naciskane klawisze. Koniec = ESC" );
do
{
klawisz = getch();
licznik++;
}
while( klawisz != 27 ) // 27 = kod klawisza Escape
printf( "\n Ilosc nacisnietych klawiszy = %d" , licznik );
}


( ( ( // ten sam program z użyciem pętli for
int licznik;
for( licznik = 0 ; getch() != 27 ; licznik++ )
( ( (


#include //program klasyfikujÄ…cy naciskane klawisze
#include
#define ESC 27 //definicja kodu klawisza "Escape"
void main(void)
{
int klawisz=0;
clrscr();
while( klawisz != ESC )
{
printf( "\n\nNacisnij jakis klawisz (ESC->Koniec): " );
klawisz = getch();
if( 'a'<=klawisz && klawisz<='z' )
printf( "-> To jest mala litera." );
else if( 'A'<=klawisz && klawisz<='Z' )
printf( "-> To jest duza 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.");
}
}
#include //program rozpoznajacy klawisze funkcyjne
#include
#include "def_klaw.h" //dołaczenie pliku zawierajacego definicje klawiszy
void main( void )
{
int klawisz;
clrscr();
do
{
printf( "\n\n Nacisnij jakis klawisz: " );
klawisz = getch( );
switch( klawisz )
{
case ENTER : printf( "To jest ENTER" ); break;
case ESC : printf( "To jest ESCAPE" ); break;
case ZERO : // pierwszy odczytany znak mial kod równy 0
klawisz = getch( );
switch( klawisz )
{
case DELETE : printf( "Delete" ); break;
case UP_ARROW : printf( "Up arrow" ); break;
case DOWN_ARROW : printf( "Down arrow" ); break;
}
break;
case BACKSPACE : printf( "To jest BACKSPACE" ); break;
default : printf( "Nieznany pojedynczy klawisz" ); break;
}
}
while( klawisz != ESC );
}

// Zbior "def_klaw.h" zawierajacy definicje kodow klawiszy
#ifndef DEF_KLAW
#define DEF_KLAW
#define ZERO 0
// klawisze "zwykle" - kodowane za pomoca jednego znaku
#define ESC 27
#define ENTER 13
#define BACKSPACE 8
//klawisze "funkcyjne" - kodowane za pomoca dwoch znakow
#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 END 79 // 0, 79
#endif
M.Piasecki: JĘZYK C (wykł. II) 1 Podstawowe instrukcje



Wyszukiwarka

Podobne podstrony:
rozmowy we dwoje podstawowe instrukcje
Programowanie sieciowe dzienne W2 Podstawy Javy
Programowanie sieciowe dzienne W2 Podstawy Javy
Instrukcje AI II 12 podstawowa
1 instrukcja Podstawy spektroskopii
W2 3 Åšr Podstawy metrologii elekt
FR S520 Instrukcja podstawowa
Podstawy Metrologii Pomiar rezystancji metoda techniczna Instrukcja
instrukcja podstawy AutoCad 1
Trojnozna podstawa do Laptopa przód instrukcja do auta
Podstawy Metrologii Badanie wskaznikow zera jako przetwornikow II rzedu Instrukcja
1 Podstawowe czynności laboratoryjne instrukcja
Instrukcja?D 01 w00,?, W2 04
ITIL Podstawy W2 Budowa i optymalizacja procesów i serwisów ITIL

więcej podobnych podstron