wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje



Podobne dokumenty
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Język ludzki kod maszynowy

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

PROGRAMOWANIE w C prolog

Język C - podstawowe informacje

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Programowanie strukturalne i obiektowe

Wykład 1

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

Podstawy programowania skrót z wykładów:

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce.

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Programowanie strukturalne język C - wprowadzenie

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Podstawy programowania w języku C

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Języki i metody programowania. Omówienie języków C, C++ i Java

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Wstęp do programowania

Co nie powinno być umieszczane w plikach nagłówkowych:

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawy programowania C. dr. Krystyna Łapin

Podstawy Programowania Podstawowa składnia języka C++

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

( wykł. dr Marek Piasecki )

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Microsoft IT Academy kurs programowania

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki i metodyka programowania. Wprowadzenie do języka C

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Podstawy Programowania C++

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wstęp do Programowania, laboratorium 02

Instrukcje sterujące. Programowanie Proceduralne 1

Język C zajęcia nr 5

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Funkcja (podprogram) void

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

KURS C/C++ WYKŁAD 1. Pierwszy program

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

Wstęp do programowania 1

Podstawy programowania - 1

Programowanie Proceduralne

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie Obiektowe i C++

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Programowanie obiektowe

Języki programowania - podstawy

ROZDZIAŁ 2. Operatory

Część 4 życie programu

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

2 Przygotował: mgr inż. Maciej Lasota

Język C, instrukcje sterujące (laboratorium)

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Programowania. Wykład 1

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Podstawy Programowania

Podstawy programowania (1)

Podstawy programowania wykład

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Wstęp do programowania

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1

dr inż. Jarosław Forenc

JĘZYKI PROGRAMOWANIA

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Zmienne, stałe i operatory

Programowanie, algorytmy i struktury danych

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

I - Microsoft Visual Studio C++

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wskaźniki. Programowanie Proceduralne 1

Elementarne wiadomości o języku C

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Transkrypt:

Programowanie uzupełnienie notatek: dr Jerzy Białkowski

1 2 3 4 5 6 7

Charakter wykładu ˆ zakłada znajomość idei programowania strukturalnego (np. w Pascalu) oraz podstaw używania środowiska UNIX (wykonywanie poleceń) poznanych na Wstępie do Informatyki; ˆ adresowany do matematyków, a nie informatyków; ˆ jego celem jest zapoznanie z językami C i C++ w stopniu wystarczającym do pisania programów (na wasny użytek) oraz nauczania ich podstaw (np. w szkole), a nie nauka profesjonalnego programowania w tych językach (zwłaszcza w zespole); ˆ wprowadza programowania obiektowego przy założeniu, że dla znacznej części słuchaczy język C++ będzie jedynym poznanym na studiach obiektowym językiem programowania (brak Javy, C#, D).

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ązek upomnieć się o brakujący wpis w USOS-ie (zwłaszcza w przypadku późniejszego zaliczenia laboratorium). Terminy

podstawowa ˆ B. Kernighan, D. Ritchie, Język ANSI C, WNT, Warszawa 2004. ˆ E. Scheinerman, C++ for Mathematicians: An Introduction for Students and Professionals, Chapman & Hall/CRC 2006. ˆ J. Grębosz, Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo, Tom 1 i 2, Kraków 2008. ˆ http://pl.wikibooks.org/wiki/c++ uzupełniająca ˆ B. Stroustrup, Język C++, WNT, Warszawa 2004. ˆ B. Eckel Thinking in C++. Edycja polska, Tom 1 i 2, Helion.

- Programowanie ˆ proste (typy całkowite i rzeczywiste, deklarowanie zmiennych).. 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 o szablonach. Operacje we-wy, informacja o STL. ˆ Przykładowe problemy matematyczne i rozwiązania w.

Edytory i kompilatory 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

Code::Blocks

Visual Studio 2010 Ultimate

Dev-C++

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

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

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

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 */ 4 5 int main ( ) 6 { 7 int a, b, d ; 8 9 printf ( "Podaj liczby a i b : " ) ; 10 scanf ( "%d %d", &a, &b ) ; 11 printf ( "NWD(%d,%d) = ", a, b ) ; 12 13 d = a % b ; 14 while ( d!= 0) { 15 a = b ; 16 b = d ; 17 d = a % b ; 18 } 19 20 printf ( "%d\n", b ) ; 21 return 0 ; 22 }

ˆ algorytm (przepis na ciasto) ˆ programowanie w C (lub C++), w wyniku otrzymujemy kod źródłowy, np. euklides.c ˆ kompilacja, np. gcc euklides.c ˆ program w asemblerze ˆ kod maszynowy, np. a.out ˆ ładowanie i wykonanie

Programowanie 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)

dyrektywy preprocesora int main() { deklaracje instrukcje } Preprocesor przetwarza tekst wejściowy w sposób określony za pomocą poleceń preprocesora przez programistę na tekst wyjściowy. Przetworzony tekst poddawany jest analizie składniowej i kompilacji. W wyniku otrzymujemy tekst wyjściowy podlegający następnie kompilacji.

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,...

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

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

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

całkowite ˆ char ˆ short int ˆ int ˆ long int proste

proste całkowite ˆ char ˆ short int ˆ int ˆ long int ˆ long long int (nie jest w standardzie ANSI)

proste całkowite ˆ char ˆ short int ˆ int ˆ long int ˆ long long int (nie jest w standardzie ANSI) rzeczywiste ˆ float ˆ double

proste całkowite ˆ char ˆ short int ˆ int ˆ long int ˆ long long int (nie jest w standardzie ANSI) rzeczywiste ˆ float ˆ double ˆ long double (nie jest w standardzie ANSI)

proste całkowite ˆ char ˆ short int ˆ int ˆ long int ˆ long long int (nie jest w standardzie ANSI) rzeczywiste ˆ float ˆ double ˆ long double (nie jest w standardzie ANSI) signed, unsigned, <limits.h>, <float.h>

całkowite ˆ char ˆ short int ˆ int ˆ long int proste ˆ long long int (nie jest w standardzie ANSI) 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.

Typ znakowy char - typ znakowy, który pomieści jeden znak dostępny na danej maszynie, a w szczególności duże i małe litery angielskiego alfabetu oraz cyfry.

Typ znakowy char - typ znakowy, który pomieści jeden znak dostępny na danej maszynie, a w szczególności duże i małe litery angielskiego 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 char */ 3 int main ( ) 4 { 5 char znak='a' ; 6 printf ( "A = %c\n", znak ) ; 7 8 /* k o n w e r s j a char > 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 }

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

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.14 4 5 int main ( ) 6 { 7 float promien_r, pole=0; /* d e k l a r a c j a zmiennych */ 8 9 printf ( "%f\n", promien_r ) ; 10 printf ( "%f\n", pole ) ; 11 12 scanf ( "%f",&promien_r ) ; 13 pole = pi * pow ( promien_r, 2 ) ; 14 printf ( " Pole wynosi %f\n", pole ) ; 15 return 0 ; 16 }

Słowa kluczowe auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

Priorytet wybranych operatorów 15 ( ) [ ] >. l 14! ++ + & (typ) sizeof p 13 / % (dwuargumetowe operatory) l 12 + l 11 << >> l 10 < <= > >= l 9 ==! = l 8 & l 7 ˆ l 6 l 5 && l 4 l 3? : p 2 = += = = /= %= &= ˆ= = <<= >>= p 1, l l - łączność lewostronna, p - łączność prawostronna

Przykład 1 #include<s t d i o. h> 2 3 int main ( ) 4 { 5 int m=9, n=4, d ; 6 7 m++; 8 printf ( "m=%d\n", m ) ; /* m=10 */ 9 10 d = m / n ; 11 printf ( "d=%d\n", d ) ; /* 10/4=2 */ 12 13 d = m / n ; 14 printf ( "d=%d\n", d ) ; /*? */ 15 printf ( "%d\n", d++) ; /*? */ 16 printf ( "%d\n",++d ) ; /*? */ 17 return 0 ; 18 }

Operator warunkowy wynik = warunek? wartość1 : wartość2; 1 #include<s t d i o. h> 2 3 int main ( ) 4 { 5 int m, n, max ; 6 7 printf ( "Podaj m " ) ; 8 scanf ( "%d", &m ) ; 9 10 printf ( "Podaj n " ) ; 11 scanf ( "%d", &n ) ; 12 13 max = m < n? n : m ; 14 /* max = ( (m < n )? n : m ) ; */ 15 printf ( "%d\n", max ) ; 16 return 0 ; 17 }

Operator warunkowy 1 #include<s t d i o. h> 2 #define max( x, y ) ( x > y? x : y ) 3 4 int main ( ) 5 { 6 int m, n, max ; 7 8 printf ( "Podaj m " ) ; 9 scanf ( "%d", &m ) ; 10 11 printf ( "Podaj n " ) ; 12 scanf ( "%d", &n ) ; 13 14 max = max ( m, n ) ; 15 printf ( "%d\n", max ) ; 16 17 return 0 ; 18 }

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

Warunek if if (wyrażenie1) instrukcja else if (wyrażenie2) instrukcja else instrukcja...

1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 int a, b, max ; 6 7 scanf ( "%d %d", &a, &b ) ; 8 9 if ( ( a%2)==0 ) { 10 printf ( "a jest liczba parzysta\n" ) ; 11 } 12 13 if ( a>b ) { 14 max = a ; 15 } else { 16 max = b ; 17 } 18 19 printf ( " max wynosi %d\n", max ) ; 20 21 return 0 ; 22 }

Warunek if, else if 1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 int a ; 6 7 scanf ( "%d", &a ) ; 8 9 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" ) ; 15 16 return 0 ; 17 }

Instrukcja switch switch (wyrażenie) case wyrażenie-stałe: instrukcje case wyrażenie-stałe: instrukcje... default: instrukcje break powoduje natychmiastowy wyskok z instrukcji switch

1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 int a ; 6 7 scanf ( "%d", &a ) ; 8 9 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 }

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

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

do while do instrukcja while (wyrażenie); Najpierw wykonuje instrukcję a potem oblicza wyrażenie. Jeśli jego wartość jest różna od zera (tzn. jest prawdziwe), to ponownie wykonuje się instrukcję. Instrukcja wykona się co najmniej raz.

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

for for (wyr1; wyr2; wyr3) instrukcja Poza pewnymi wyjątkami, na ogół jest ona równoważna następującej pętli wyr1; while (wyr2) { instrukcja; wyr3; }

1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 int a, i, jest_pierwsza =1; 6 scanf ( "%d", &a ) ; 7 8 for ( i=2; i<a ; i++) { 9 if ( ( a%i ) == 0 ) { 10 jest_pierwsza =0; 11 } 12 } 13 14 if ( jest_pierwsza ) 15 printf ( "%d jest liczba pierwsza\n", a ) ; 16 else 17 printf ( "%d jest liczba zlozona\n", a ) ; 18 19 return 0 ; 20 }

1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 int i, suma =0; 6 7 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 }

1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 6 for ( ; ; ) { 7 printf ( "Ala ma kota. " ) ; 8 } 9 10 return 0 ; 11 }

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

1 #include <s t d i o. h> 2 3 int main ( ) 4 { 5 int a, i ; 6 scanf ( "%d", &a ) ; 7 8 for ( i=2; i<a ; i++) { 9 if ( ( a%i ) == 0 ) { 10 goto zloz ; 11 } 12 } 13 goto pierw ; 14 15 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 */ 18 pierw : 19 printf ( "%d jest liczba pierwsza\n", a ) ; 20 return 0 ; 21 }

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

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

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

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

return return kończy działanie funkcji i zwraca wartość; 1 #include <s t d i o. h> 2 3 int main ( ) 4 printf ( "Ala ma\n" ) ; 5 return 1 ; 6 printf ( "kota\n" ) ; 7 return 0 ; 8 }

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 */ 4 5 int main ( ) 6 { 7 int a, b, d ; 8 9 printf ( "Podaj liczby a i b : " ) ; 10 scanf ( "%d %d", &a, &b ) ; 11 printf ( "NWD(%d,%d) = ", a, b ) ; 12 13 d = a % b ; 14 while ( d!= 0) { 15 a = b ; 16 b = d ; 17 d = a % b ; 18 } 19 20 printf ( "%d\n", b ) ; 21 return 0 ; 22 }

Problemy Zadanie Wczytać liczbę naturalną n i wyznaczyć wszystkie liczby pierwsze mniejsze od n.

Problemy Zadanie Wczytać liczbę naturalną n i wyznaczyć wszystkie liczby pierwsze mniejsze od n. Zadanie Wczytać liczbę naturalną n i wyznaczyć wszystkie liczby doskonałe mniejsze od n.

Problemy Zadanie Wczytać liczbę naturalną n i wyznaczyć wszystkie liczby pierwsze mniejsze od n. Zadanie Wczytać liczbę naturalną n i wyznaczyć wszystkie liczby doskonałe mniejsze od n. Zadanie Dla danych liczb naturalnych m i n, napisać program, który znajduje największy wspólny dzielnik d oraz najmniejszą wspólną wielokrotność w liczb m i n. Znajdź liczby całkowite a i b takie, że d = a m + b n.

Dziękuję za uwagę.