Programowanie C/C++ Wstep do jezyka C wyk ad I

62
Programowanie C/C++ Wstęp do języka C wyklad I dr Jaroslaw Mederski Spis Ogólne informacje Literatura Plan wykladów Środowisko pracy Język C - podstawy Proces tworzenia programu Struktura kodu Typy Stale i zmienne Operatory i wyrażenia Sterowanie Instrukcje warunkowe Pętle Instrukcje skoku Wnioski Programowanie C/C++ Wstęp do języka C wyklad I dr Jaroslaw Mederski uzupelnienie notatek: dr Jerzy Bialkowski

Transcript of Programowanie C/C++ Wstep do jezyka C wyk ad I

Page 1: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Programowanie C/C++Wstęp do języka C

wykład I

dr Jarosław Mederski

uzupełnienie notatek: dr Jerzy Białkowski

Page 2: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 Ogólne informacje

2 Literatura

3 Plan wykładów

4 Środowisko pracy

5 Język C - podstawyProces tworzenia programuStruktura koduTypyStałe i zmienneOperatory i wyrażenia

6 SterowanieInstrukcje warunkowePętleInstrukcje skoku

7 Wnioski

Page 3: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Ogólne informacje

Charakter wykładu

� zakłada znajomość idei programowania strukturalnego (np.w Pascalu) oraz podstaw używania środowiska UNIX(wykonywanie poleceń) – poznanych na Wstępie doInformatyki;

� adresowany do matematyków, a nie informatyków ;

� jego celem jest zapoznanie z językami C i C++ w stopniuwystarczającym do pisania programów (na wasny użytek)oraz nauczania ich podstaw (np. w szkole), a nie naukaprofesjonalnego programowania w tych językach(zwłaszcza w zespole);

� wprowadza podstawy programowania obiektowego przyzałożeniu, że dla znacznej części słuchaczy język C++będzie jedynym poznanym na studiach obiektowymjęzykiem programowania (brak Javy, C#, D).

Page 4: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Ogólne informacje

Zaliczenie wykładu

� na „zal”, a nie na ocenę;

� na podstawie obecności na wykładzie (podpisy na listach)oraz zaliczenia ćwiczeń (wpis w USOS-ie);

� wymaga zapisania się na przedmiot pod systemem USOS;

� uprawniony student ma prawo, a nawet obowiązekupomnieć się o brakujący wpis w USOS-ie (zwłaszczaw przypadku późniejszego zaliczenia laboratorium).

Terminy wykładów

Page 5: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Literatura podstawowa

� B. Kernighan, D. Ritchie, Język ANSI C, WNT, Warszawa2004.

� E. Scheinerman, C++ for Mathematicians: AnIntroduction for Students and Professionals, Chapman &Hall/CRC 2006.

� J. Grębosz, Symfonia C++ standard : programowanie wjęzyku C++ orientowane obiektowo, Tom 1 i 2, Kraków2008.

� http://pl.wikibooks.org/wiki/C++

Literatura uzupełniająca

� B. Stroustrup, Język C++, WNT, Warszawa 2004.

� B. Eckel Thinking in C++. Edycja polska, Tom 1 i 2,Helion.

Page 6: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Plan wykładów - ProgramowanieC/C++

� Typy proste (typy całkowite i rzeczywiste, deklarowaniezmiennych). Operatory i wyrażenia. Instrukcje.

� Funkcje (składnia definicji i deklaracji, wywołanie funkcji,rekurencja). Wskaźniki i tablice, napisy.

� Struktury. Wybrane funkcje biblioteki standardowej� Język C, a C++. Pojęcie klasy, konstruktory i destruktory.� Argumenty domyślne funkcji, przeciążone identyfikatory

funkcji, referencje.� Przeciążanie operatorów, funkcje zaprzyjaźnione.� Dynamiczne tworzenie obiektów.� Podstawowe informacje o szablonach. Operacje we-wy,

informacja o STL.� Przykładowe problemy matematyczne i rozwiązania w

C/C++.

Page 7: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Edytory i kompilatory C/C++Windows

� Notatnik[/ConTEXT/Notepad++] + MinGW(z MSYS)

� Code::Blocks

� Microsoft Visual Studio 2010 Express/Prof./Prem./Ultimate

� Dev-C++

� NetBeans

� Eclipse CDT

� inne (cygwin, Borland, Watcom, ...)

Linux

� vi[m], gedit, kate, [x]emacs + gcc/g++

� Code::Blocks

� KDevelop

� NetBeans

� Eclipse CDT

Page 8: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Code::Blocks

Page 9: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Visual Studio 2010 Ultimate

Page 10: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Dev-C++

Page 11: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Historia

Język C został zaprojektowany przez Dennisa Ritchie w 1972roku. W 1972 roku system operacyjny UNIX został napisany wtym języku. W roku 1989 Amerykański Narodowy InstytutStandaryzacji (American National Standards Institute) przyjąłstandard języka C zwany odtąd ANSI C.

Język C jest imperatywnym, strukturalnym językiemprogramowania: sekwencja instrukcji zmieniających stanprogramu, tworzenie programu w postaci jednolitych blokówbez korzystania z instrukcji skoku oraz numerowania linii,dzielenie kodu na procedury.

Page 12: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Historia

Język C został zaprojektowany przez Dennisa Ritchie w 1972roku. W 1972 roku system operacyjny UNIX został napisany wtym języku. W roku 1989 Amerykański Narodowy InstytutStandaryzacji (American National Standards Institute) przyjąłstandard języka C zwany odtąd ANSI C.Język C jest imperatywnym, strukturalnym językiemprogramowania: sekwencja instrukcji zmieniających stanprogramu, tworzenie programu w postaci jednolitych blokówbez korzystania z instrukcji skoku oraz numerowania linii,dzielenie kodu na procedury.

Page 13: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Języki C i C++ na tle innych językówwg. Tiobe, http://www.tiobe.com/

Page 14: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>2 /* Program o b l i c z a NWD dwoch l i c z b */3 /* e u k l i d e s . c */45 int main ( )6 {7 int a , b , d ;89 printf ("Podaj liczby a i b : " ) ;10 scanf ("%d %d" , &a , &b ) ;11 printf ("NWD(%d,%d) = " , a , b ) ;1213 d = a % b ;14 while ( d != 0) {15 a = b ;16 b = d ;17 d = a % b ;18 }1920 printf ("%d\n" , b ) ;21 return 0 ;22 }

Page 15: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Proces tworzenia programu

� algorytm (przepis na ciasto)

� programowanie w C (lub C++), w wyniku otrzymujemykod źródłowy, np. euklides.c

� kompilacja, np. gcc euklides.c

� program w asemblerze

� kod maszynowy, np. a.out

� ładowanie i wykonanie programu

Page 16: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Fazy kompilacji (do pliku wykonywalnego)

/. -,() *+�� ���� ��plik.c (plik źródłowy w języku C)

preprocesowanie���� ���� ��plik.i (plik źródłowy bez dyrektyw preprocesora)

komplilacja właściwa���� ���� ��plik.s (plik.asm) (kod assemblerowy)

składanie (asemblacja)���� ���� ��plik.o (plik.obj) (plik obiektowy)

łączenie (linkowanie)��/. -,() *+�� ���� ��a.out (a.exe, plik.exe) (plik wykonywalny)

Page 17: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Struktura kodu

dyrektywy preprocesoraint main(){deklaracjeinstrukcje}

Preprocesor przetwarza tekst wejściowy w sposób określony zapomocą poleceń preprocesora przez programistę na tekstwyjściowy. Przetworzony tekst poddawany jest analizieskładniowej i kompilacji. W wyniku otrzymujemy tekstwyjściowy podlegający następnie kompilacji.

Page 18: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Dyrektywy preprocesora

� #include - dyrektywa włącza tekst innego plikuźródłowego,

� #define - definiuje stałą i makroinstrukcję (pseudofunkcje)

� #undef - usuwa definicję stałej lub makra

� #ifdef, ...

, #ifndef, #if, #elif, #else, #endif

Uwaga: dyrektywy przetwarzane są w sposób sekwencyjny,a nie rekurencyjny

Page 19: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Dyrektywy preprocesora

� #include - dyrektywa włącza tekst innego plikuźródłowego,

� #define - definiuje stałą i makroinstrukcję (pseudofunkcje)

� #undef - usuwa definicję stałej lub makra

� #ifdef, ..., #ifndef, #if, #elif, #else, #endif

Uwaga: dyrektywy przetwarzane są w sposób sekwencyjny,a nie rekurencyjny

Page 20: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Przykład

1 #include<s t d i o . h>2 #define p i 3 . 1 434 int main ( )5 {6 printf ("Liczba pi wynosi ~ %f" ,pi ) ;7 return 0 ;8 }

1 #include<s t d i o . h>2 #define p i 3 . 1 434 int main ( )5 {6 int i=10;7 printf ("%f + %i wynosi %f \n" ,pi , i , pi+i ) ;8 return 0 ;9 }

Page 21: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Przykład

1 #include<s t d i o . h>2 #define p i 3 . 1 434 int main ( )5 {6 printf ("Liczba pi wynosi ~ %f" ,pi ) ;7 return 0 ;8 }

1 #include<s t d i o . h>2 #define p i 3 . 1 434 int main ( )5 {6 int i=10;7 printf ("%f + %i wynosi %f \n" ,pi , i , pi+i ) ;8 return 0 ;9 }

Page 22: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typy proste

Typy całkowite

� char

� short int

� int

� long int

� long long int (nie jest w standardzie ANSI)

Typy rzeczywiste

� float

� double

� long double (nie jest w standardzie ANSI)

signed, unsigned, <limits.h>, <float.h>Brak typu logicznego. Zamiast tego mamy:0 - fałsz,liczba niezerowa - prawda.

Page 23: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typy proste

Typy całkowite

� char

� short int

� int

� long int

� long long int (nie jest w standardzie ANSI)

Typy rzeczywiste

� float

� double

� long double (nie jest w standardzie ANSI)

signed, unsigned, <limits.h>, <float.h>Brak typu logicznego. Zamiast tego mamy:0 - fałsz,liczba niezerowa - prawda.

Page 24: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typy proste

Typy całkowite

� char

� short int

� int

� long int

� long long int (nie jest w standardzie ANSI)

Typy rzeczywiste

� float

� double

� long double (nie jest w standardzie ANSI)

signed, unsigned, <limits.h>, <float.h>Brak typu logicznego. Zamiast tego mamy:0 - fałsz,liczba niezerowa - prawda.

Page 25: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typy proste

Typy całkowite

� char

� short int

� int

� long int

� long long int (nie jest w standardzie ANSI)

Typy rzeczywiste

� float

� double

� long double (nie jest w standardzie ANSI)

signed, unsigned, <limits.h>, <float.h>Brak typu logicznego. Zamiast tego mamy:0 - fałsz,liczba niezerowa - prawda.

Page 26: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typy proste

Typy całkowite

� char

� short int

� int

� long int

� long long int (nie jest w standardzie ANSI)

Typy rzeczywiste

� float

� double

� long double (nie jest w standardzie ANSI)

signed, unsigned, <limits.h>, <float.h>

Brak typu logicznego. Zamiast tego mamy:0 - fałsz,liczba niezerowa - prawda.

Page 27: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typy proste

Typy całkowite

� char

� short int

� int

� long int

� long long int (nie jest w standardzie ANSI)

Typy rzeczywiste

� float

� double

� long double (nie jest w standardzie ANSI)

signed, unsigned, <limits.h>, <float.h>Brak typu logicznego. Zamiast tego mamy:0 - fałsz,liczba niezerowa - prawda.

Page 28: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typ znakowychar - typ znakowy, który pomieści jeden znak dostępny nadanej maszynie, a w szczególności duże i małe literyangielskiego alfabetu oraz cyfry.

1 #include<s t d i o . h>2 /* p r z y k l a d u z y c i a c h a r */3 int main ( )4 {5 char znak='A' ;6 printf ("A = %c\n" , znak ) ;78 /* k o n w e r s j a c h a r −> i n t */9 printf ("A = %i\n" , znak ) ;10 printf ("a = %i\n" ,'a' ) ;11 /* k o n w e r s j a l o n g u n s i g n e d i n t −> i n t */12 printf ("A + 4 = %c\n" , znak+4) ;13 printf ("Rozmiar %d\n" , ( int ) sizeof ( znak ) ) ;14 return 0 ;15 }

Page 29: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Typ znakowychar - typ znakowy, który pomieści jeden znak dostępny nadanej maszynie, a w szczególności duże i małe literyangielskiego alfabetu oraz cyfry.

1 #include<s t d i o . h>2 /* p r z y k l a d u z y c i a c h a r */3 int main ( )4 {5 char znak='A' ;6 printf ("A = %c\n" , znak ) ;78 /* k o n w e r s j a c h a r −> i n t */9 printf ("A = %i\n" , znak ) ;10 printf ("a = %i\n" ,'a' ) ;11 /* k o n w e r s j a l o n g u n s i g n e d i n t −> i n t */12 printf ("A + 4 = %c\n" , znak+4) ;13 printf ("Rozmiar %d\n" , ( int ) sizeof ( znak ) ) ;14 return 0 ;15 }

Page 30: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Identyfikatory

Identyfikator jest ciągiem liter małych i dużych, znaku orazcyfr. Identyfikator musi zaczynać się od litery. W języku Crozróżnia się wielkość liter.

Page 31: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Stałe i zmienne

1 #include<s t d i o . h>2 #include <math . h> /* uzywamy f u n k c j i pow (←↩

l i c z b a , w y k l a d n i k ) */3 #define p i 3 . 1 445 int main ( )6 {7 float promien_r , pole=0; /* d e k l a r a c j a ←↩

zmiennych */89 printf ("%f\n" , promien_r ) ;10 printf ("%f\n" , pole ) ;1112 scanf ("%f" ,&promien_r ) ;13 pole = pi * pow ( promien_r , 2 ) ;14 printf ("Pole wynosi %f\n" , pole ) ;15 return 0 ;16 }

Page 32: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Słowa kluczowe

auto break case char const continue default do double elseenum extern float for goto if int long register return shortsigned sizeof static struct switch typedef union unsigned voidvolatile while

Page 33: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Priorytet wybranych operatorów15 ( ) [ ] −> . l14 ! ˜ ++ −− + − ∗ & (typ) sizeof p13 ∗ / % (dwuargumetowe operatory) l12 + − l11 << >> l10 < <= > >= l9 == ! = l8 & l7 ˆ l6 | l5 && l4 | | l3 ? : p2 = += −= ∗= /= %= &= ˆ= |= <<= >>= p1 , l

l - łączność lewostronna, p - łączność prawostronna

Page 34: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Przykład

1 #include<s t d i o . h>23 int main ( )4 {5 int m=9, n=4, d ;67 m++;8 printf ("m=%d\n" ,m ) ; /* m=10 */910 d = m / n ;11 printf ("d=%d\n" ,d ) ; /* 10/4=2 */1213 d = −− m / n ;14 printf ("d=%d\n" ,d ) ; /* ? */15 printf ("%d\n" ,d++) ; /* ? */16 printf ("%d\n",++d ) ; /* ? */17 return 0 ;18 }

Page 35: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Operator warunkowy

wynik = warunek ? wartość1 : wartość2;

1 #include<s t d i o . h>23 int main ( )4 {5 int m , n , max ;67 printf ("Podaj m " ) ;8 scanf ("%d" , &m ) ;910 printf ("Podaj n " ) ;11 scanf ("%d" , &n ) ;1213 max = m < n ? n : m ;14 /* max = ( (m < n ) ? n : m ) ; */15 printf ("%d\n" , max ) ;16 return 0 ;17 }

Page 36: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Operator warunkowy

1 #include<s t d i o . h>2 #define max ( x , y ) ( x > y ? x : y )34 int main ( )5 {6 int m , n , max ;78 printf ("Podaj m " ) ;9 scanf ("%d" , &m ) ;1011 printf ("Podaj n " ) ;12 scanf ("%d" , &n ) ;1314 max = max (m , n ) ;15 printf ("%d\n" , max ) ;1617 return 0 ;18 }

Page 37: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Instrukcje i bloki

� ; - kończy instrukcję (a nie rozdziela instr. jak w Pascalu)

� { } - instrukcja grupująca (blok)

� if, if else, switch - instrukcje wyboru

� while, do while, for - instrukcje iteracyjne (pętle)

� goto, continue, break, return - instrukcje skoku

Page 38: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Warunek if

if (wyrażenie1)instrukcjaelse if (wyrażenie2)instrukcjaelseinstrukcja...

Page 39: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a , b , max ;67 scanf ("%d %d" , &a , &b ) ;89 if ( (a%2)==0 ) {10 printf ("a jest liczba parzysta\n" ) ;11 }1213 if ( a>b ) {14 max = a ;15 } else {16 max = b ;17 }1819 printf ("max wynosi %d\n" , max ) ;2021 return 0 ;22 }

Page 40: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Warunek if, else if1 #include <s t d i o . h>23 int main ( )4 {5 int a ;67 scanf ("%d" , &a ) ;89 if ( (a%3)==0 )10 printf ("liczba jest podzielna przez 3\n" ) ;11 else if ( (a%3)==1 )12 printf ("liczba daje reszte 1 z dzielenia ←↩

przez 3\n" ) ;13 else if ( (a%3)==2 )14 printf ("liczba daje reszte 2 z dzielenia ←↩

przez 3\n" ) ;1516 return 0 ;17 }

Page 41: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Instrukcja switch

switch (wyrażenie)case wyrażenie-stałe:instrukcjecase wyrażenie-stałe:instrukcje...default:instrukcje

break powoduje natychmiastowy wyskok z instrukcji switch

Page 42: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a ;67 scanf ("%d" , &a ) ;89 switch (a%3) {10 case 0 :11 printf ("liczba jest podzielna przez 3\n" ) ;12 break ;13 case 1 :14 printf ("liczba daje reszte 1 z dzielenia ←↩

przez 3\n" ) ;15 break ;16 default :17 printf ("liczba daje reszte 2 z dzielenia ←↩

przez 3\n" ) ;18 }19 return 0 ;20 }

Page 43: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

while

while (wyrażenie)instrukcja

Najpierw oblicza wyrażenie. Jeśli jego wartość jest różna odzera (tzn. jest prawdziwe), to wykonuje się instrukcję.

Page 44: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a , i =2, jest_pierwsza=1;6 scanf ("%d" , &a ) ;78 while ( i < a ) {9 if ( (a%i ) == 0 ) {10 jest_pierwsza=0;11 }12 i++;13 }1415 if ( jest_pierwsza )16 printf ("%d jest liczba pierwsza\n" , a ) ;17 else18 printf ("%d jest liczba zlozona\n" , a ) ;19 return 0 ;20 }

Page 45: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

do while

doinstrukcjawhile (wyrażenie);

Najpierw wykonuje instrukcję a potem oblicza wyrażenie. Jeślijego wartość jest różna od zera (tzn. jest prawdziwe), toponownie wykonuje się instrukcję. Instrukcja wykona się conajmniej raz.

Page 46: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a , i=2, jest_pierwsza=1;6 scanf ("%d" , &a ) ;78 do {9 if ( (a%i ) == 0 ) {10 jest_pierwsza=0;11 }12 i++;13 } while ( i < a ) ;141516 if ( jest_pierwsza ) /* czy na pewno ? */17 printf ("%d jest liczba pierwsza\n" , a ) ;18 else19 printf ("%d jest liczba zlozona\n" , a ) ;20 return 0 ;21 }

Page 47: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

for

for (wyr1; wyr2; wyr3)instrukcja

Poza pewnymi wyjątkami, na ogół jest ona równoważnanastępującej pętli

wyr1;while (wyr2) {instrukcja;wyr3;}

Page 48: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a , i , jest_pierwsza=1;6 scanf ("%d" , &a ) ;78 for (i=2; i<a ; i++) {9 if ( (a%i ) == 0 ) {10 jest_pierwsza=0;11 }12 }1314 if ( jest_pierwsza )15 printf ("%d jest liczba pierwsza\n" , a ) ;16 else17 printf ("%d jest liczba zlozona\n" , a ) ;1819 return 0 ;20 }

Page 49: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int i , suma=0;67 for (i=100; i>=1; i−−) {8 suma += i*i ;9 /* suma = suma + i * i */10 }11 printf ("Suma kwadratow liczb naturalnych" ) ;12 printf (" od 1 do 100 wynosi %d\n" , suma ) ;13 return 0 ;14 }

Page 50: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {56 for ( ; ; ) {7 printf ("Ala ma kota. " ) ;8 }910 return 0 ;11 }

Page 51: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

goto

Instrukcja goto nie może przekazywać sterowania do etykietypoza daną funkcją. Nie jest zalecane stosowanie goto.

Page 52: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a , i ;6 scanf ("%d" , &a ) ;78 for (i=2; i<a ; i++) {9 if ( (a%i ) == 0 ) {10 goto zloz ;11 }12 }13 goto pierw ;1415 zloz :16 printf ("%d jest liczba zlozona\n" , a ) ;17 return 0 ; /* z a k o n c z e n i e d z i a l a n i a ←↩

programu */18 pierw :19 printf ("%d jest liczba pierwsza\n" , a ) ;20 return 0 ;21 }

Page 53: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

break

Instrukcja break opuszcza najbardziej zagnieżdżoną instrukcjędo, while, for, switch.

Page 54: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int a , i =2, jest_pierwsza=1;6 scanf ("%d" , &a ) ;78 while ( i < a ) {9 if ( (a%i ) == 0 ) {10 jest_pierwsza=0;11 break ;12 }13 i++;14 }1516 if ( jest_pierwsza )17 printf ("%d jest liczba pierwsza\n" , a ) ;18 else19 printf ("%d jest liczba zlozona\n" , a ) ;20 printf ("Licznik %d\n" , i ) ;21 return 0 ;22 }

Page 55: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

continue

Instrukcja continue przerywa wykonywanie instrukcjiwewnętrznej w najbardziej zagnieżdżonej pętli do, while, for.Powoduje przejście do następnego kroku pętli. Nie dotyczyinstrukcji switch.

Page 56: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>23 int main ( )4 {5 int i ;67 for (i=0; i<=20; i++ ) {8 if ( ( ( i%2) == 0) | | ( ( i%3) == 0) ) {9 continue ;10 }11 printf ("%d\n" ,i ) ;12 }1314 return 0 ;15 }

Page 57: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

return

return kończy działanie funkcji i zwraca wartość;

1 #include <s t d i o . h>23 int main ( )4 printf ("Ala ma\n" ) ;5 return 1 ;6 printf ("kota\n" ) ;7 return 0 ;8 }

Page 58: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

1 #include <s t d i o . h>2 /* Program o b l i c z a NWD dwoch l i c z b */3 /* e u k l i d e s . c */45 int main ( )6 {7 int a , b , d ;89 printf ("Podaj liczby a i b : " ) ;10 scanf ("%d %d" , &a , &b ) ;11 printf ("NWD(%d,%d) = " , a , b ) ;1213 d = a % b ;14 while ( d != 0) {15 a = b ;16 b = d ;17 d = a % b ;18 }1920 printf ("%d\n" , b ) ;21 return 0 ;22 }

Page 59: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Problemy

ZadanieWczytać liczbę naturalną n i wyznaczyć wszystkie liczbypierwsze mniejsze od n.

ZadanieWczytać liczbę naturalną n i wyznaczyć wszystkie liczbydoskonałe mniejsze od n.

ZadanieDla danych liczb naturalnych m i n, napisać program, któryznajduje największy wspólny dzielnik d oraz najmniejsząwspólną wielokrotność w liczb m i n. Znajdź liczby całkowite ai b takie, że

d = a ·m + b · n.

Page 60: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Problemy

ZadanieWczytać liczbę naturalną n i wyznaczyć wszystkie liczbypierwsze mniejsze od n.

ZadanieWczytać liczbę naturalną n i wyznaczyć wszystkie liczbydoskonałe mniejsze od n.

ZadanieDla danych liczb naturalnych m i n, napisać program, któryznajduje największy wspólny dzielnik d oraz najmniejsząwspólną wielokrotność w liczb m i n. Znajdź liczby całkowite ai b takie, że

d = a ·m + b · n.

Page 61: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Problemy

ZadanieWczytać liczbę naturalną n i wyznaczyć wszystkie liczbypierwsze mniejsze od n.

ZadanieWczytać liczbę naturalną n i wyznaczyć wszystkie liczbydoskonałe mniejsze od n.

ZadanieDla danych liczb naturalnych m i n, napisać program, któryznajduje największy wspólny dzielnik d oraz najmniejsząwspólną wielokrotność w liczb m i n. Znajdź liczby całkowite ai b takie, że

d = a ·m + b · n.

Page 62: Programowanie C/C++ Wstep do jezyka C wyk ad I

ProgramowanieC/C++Wstęp dojęzyka Cwykład I

dr JarosławMederski

Spis

Ogólneinformacje

Literatura

Planwykładów

Środowiskopracy

Język C -podstawyProces tworzeniaprogramu

Struktura kodu

Typy

Stałe i zmienne

Operatory iwyrażenia

SterowanieInstrukcje warunkowe

Pętle

Instrukcje skoku

Wnioski

Dziękuję za uwagę.