Historia Języka C Idea C pochodzi od języka BCPL, opracowanego przez M. Richardsa 1970 – język B stworzony przez K. Thompsona Język C wprowadzono po raz.

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Język C/C++ Funkcje.
Zmienne i Typy.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Kompilator: a) gcc [cc, g++]
Wprowadzenie do C++ Zajęcia 2.
Języki programowania C++
Informatyka Stosowana
formatowanie kodu źródłowego
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 2: Wstęp do programowania w Pascalu © Jan Kaczmarek.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Kurs Pascala – spis treści
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Kompilacja przechodnia
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Wykład 2 struktura programu elementy języka typy zmienne
PASCAL Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Programowanie w języku Fortran 95
Podstawy programowania
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Podstawy programowania II
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Podstawy programowania w języku C i C++
Podstawy programowania
Podstawy programowania
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Podstawy programowania. Język C i C++– podstawy Temat: 1
Podstawy programowania w języku C i C++
Informatyka I - Wykład ANSI C
Podstawy programowania
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
STEROWANIE Ale nie tylko
Informatyka I Wykład 4 Stałe Stałe liczbowe Stałe znakowe Stałe tekstowe Jerzy Kotowski Politechnika Wroclawska var = 5L - 0xA; -5.
Jerzy Kotowski Politechnika Wrocławska
Programowanie strukturalne i obiektowe
Programowanie strukturalne – język C
Podstawy informatyki 2013/2014
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
Kurs języka C++ – wykład 9 ( )
Projektowanie stron WWW
Podstawy języka Instrukcje - wprowadzenie
Podstawy programowania
C++.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Zmienne i typy danych w C#
Programowanie strukturalne – język C - wprowadzenie
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Typy liczbowe, zmienne, operatory Zajęcia 4. Zmienne Zmienna – to w programowaniu element programu, który może mieć przypisaną pewną wartość (wartość.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C
Podstawy programowania
Założenia projektowe Javy
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Historia Języka C Idea C pochodzi od języka BCPL, opracowanego przez M. Richardsa 1970 – język B stworzony przez K. Thompsona Język C wprowadzono po raz pierwszy z systemem Unix w wersji 5; został wymyślony przez D. Ritchie 1978 – pierwsza książka – opis języka: B. Kerninghan, D. Ritchie: The C Programming Language 1989 – wprowadzenie standardu ANSI C, zaadaptowanego przez ISO 1995 – uzupełnienie 1 standardu i zdefiniowanie podzbioru C języka C++ 1999 – standard języka C99

Cechy języka C (1) Język średniego poziomu – łączy w sobie najlepsze cechy języków wysokiego poziomu (BASIC, Pascal, Ada) z możliwościami sterowania i elastycznością charakterystyczną dla assemblera. (Tzw. Assembler wysokiego poziomu) Pozwala operować na bitach, bajtach i adresach, przy zachowaniu dużej przenośności Nie wykonuje prawie żadnego sprawdzania błędów wykonania (np. przekroczenia granicy tablicy) Nie wymaga ścisłej zgodności typów między parametrem, a argumentem Możliwość bezpośredniego operowania na bitach, bajtach słowach i wskaźnikach (predysponowany do programowania systemowego). Niewielka liczba słów kluczowych (C89: 32,C99: 37). C to język strukturalny Możliwość definiowania podprogramów korzystających ze zmiennych lokalnych, będących odizolowanymi fragmentami niewrażliwymi na pozostałe części programu. Bezpośrednio obsługuje kilka konstrukcji pętli (while, do-while, for) Główny składnik strukturalny w języku C to funkcja Istnieje również możliwość definiowania bloków

Cechy języka C (2) C to język programistów Zastosowania: Programowanie systemowe (usługi UNIX, LINUX, Windows) Programowanie aplikacji Wprowadzenie C++ nie usunęło języka C do lamusa, wciąż istnieje szeroka pula zagadnień, w których język C pozostaje dominujący: Systemy wbudowane (sterowniki mikroprocesorowe, aplikacje czasu rzeczywistego) Oprogramowanie na platformę Linux Istnieje stworzona pokaźna pula programów napisanych w języku C, które wciąż pracują, i które trzeba pięlęgnować Język C++ przejął standard języka C, stąd dobre opanowanie języka C umożliwia szybkie opanowanie C++.

Tworzenie typowego programu w języku C Zwykle stosuje się standardową bibliotekę funkcji, które wspomagają proces tworzenia aplikacji (obsługa wejścia/wyjścia programu, funkcje matematyczne, przetwarzanie tekstów) Kod programu przekształcany jest na kod maszynowy (kompilacja), następnie łączony z kodem bibliotek, które zastosowano (konsolidacja) otrzymując program Można przygotować aplikację złożoną z wielu plików źródłowych, które kompilowane są osobno

Mapa pamięci języka C Stos Sterta Zmienne globalne Kod programu Skompilowany program tworzy 4 osobne obszary pamięci: Obszar kodu programu (instrukcje) Obszar zmiennych globalnych (zdefiniowane poza funkcjami, widoczne dla wszystkich funkcji zdefiniowanych „pod” nimi) Stos – przechowywanie zmiennych lokalnych, zachowywanie stanu rejestrów przy wywoływaniu podprogramów itd. Sterta – obszar wolnej pamięci, którą program może dynamicznie zaalokować. Stos Sterta Zmienne globalne Kod programu

Podstawowe elementy języka C Zestaw znaków Nazwy i słowa zastrzeżone Typy danych Stałe Zmienne i tablice Deklaracje Wyrażenia Instrukjce

Zestaw znaków języka C Duże litery alfabetu łacińskiego [A..Z] Małe litery alfabetu łacińskiego [a..z] Cyfry [0..9] Znaki specjalne: ! * + \ ” < # ( = | { > % ) ~ ; } / ^ - [ : , ? & _ ] ‘ oraz znak odstępu (spacja) UWAGA: Nowe narzędzia do tworzenia oprogramowania zezwalają nawet na tworzenie nazw zmiennych i funkcji z zastosowaniem narodowych znaków diakrytycznych. Kod nie będzie wtedy zgodny ze starszymi wersjami standardu ANSI C, co zmniejszy jego przenoszalność.

Nazwy i słowa zastrzeżone NAZWA służy do identyfikowania elementów programu (stałych, zmiennych funkcji, typów danych) Nazwa składa się z z ciągu liter i cyfr, z zastrzeżeniem, że pierwszym znakiem nazwy musi być litera. Znak podkreślenia _ traktowany jest jako litera Język C rozróżnia duże i małe litery! W języku C zdefiniowano tzw. SŁOWA ZASTRZEŻONE (KLUCZOWE), posiadające szczególne znaczenie dla języka. Tych słów nie wolno użyć programiście jako nazw (np. zmiennych, stałych, funkcji itd.)

Słowa kluczowe języka C auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while C99: _Bool _Imaginary restrict _Complex inline

Podstawowe typy danych int – reprezentuje liczbę całkowitą char – reprezentuje małą liczbę całkowitą o rozmiarze wystarczającym do przechowania pojedynczego znaku float – reprezentuje liczbę rzeczywistą (reprezentowaną w kodzie koprocesora) double – reprezentuje liczbę rzeczywistą o podwójnej precyzji Długość danych zależy od implementacji Wprowadzono również tzw. modyfikatory typów danych: short – liczba krótka long – liczba długa signed – liczba ze znakiem unsigned – liczba bez znaku Np.: unsigned int, long int (long), long double…

Stałe (1) Stałe całkowitoliczbowe: Stałe dziesiętne (dozwolony zestaw znaków: 0 1 2 3 4 5 6 7 8 9 + -), np.: 0 1 897 -234 +665 Stałe ósemkowe (dozwolony zestaw znaków: 0 1 2 3 4 5 6 7 + -), Uwaga: pierwszą cyfrą musi być 0, np.: 0 0122 -0777 +0234 Stałe szesnastkowe (dozwolony zestaw znaków: 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F + -), Uwaga: pierwszymi znakami muszą być 0x lub 0X, np.: 0x 0xad3 0X233F Stałe rzeczywiste (dozwolony zestaw znaków: 0 1 2 3 4 5 6 7 8 9 . + - E e), litera E lub e reprezentuje bazę systemu, tj. 10, Uwaga: 1.2 x 10-3 można zapisać 1.2e-3 lub 1.2E-3, np.: 0. 0.2 1.123 13.13E2 Stałe znakowe – pojedyncze znaki „zamknięte” pomiędzy apostrofami: ‘ ‘ Uwaga: Stałe znakowe są w istocie kodami liter i innych znaków zgodnymi z ASCII lub UNICODE np.: ‘A’ ‘#’ ‘ ’(spacja)

Stałe (2) Escape-sekwencje – kody znaków niedrukowanlych służących do podstawowego formatowania wyjścia znakowego programu lub plików tekstowych, Uwaga: znak sekwencji rozpoznawany jest po tym, że składa się z 2 znaków, w tym pierwszy jest zawsze backslash (\), np.: \n \t \” \’ \? \\ \0 Łańcuchy znaków – stała łańcuchowa (tekstowa) składa się z ciągu o dowolnej liczbie znaków. Ciąg ten mus być ograniczony znakami udzysłowu. Łańcuchy mogą zawierać escape-sekwencje. Np.: ”Wynik =” ”To jest element \n tekstu” Stałe symboliczne – nazwa zastępująca łańcuch znaków. Do definicji złuży pseudoinstrukcja #define np.: #define NAZWA text #define ROZMIAR_PAMIECI 1024

Zmienne Zmienna to nazwa (identyfikator) reprezentującą określony typ danych. Deklaracja zmiennej: int a; float x1, x2, x3; char c = ‘A’;

Instrukcje Instrukcje to te fragmenty programu, które powodują jakąś czynność (akcję) komputera w trakcie wykonywania programu. Instrukcje można podzielić na cztery grupy: Instrukcje obliczające wartość wyrażeń np.: a = 3 + b; Instrukcje grupujące np.: { a = 5; b = 8; pole = a * b; printf(”pole=%d”, pole); } Instrukcje sterujące, np.: while, if… Instrukcje wywołania funkcji.

Podstawowy szablon aplikacji w C #include <stdio.h> // Komentarz do końca //linijki void main(void) { /*komentarz standardowy*/ printf("Hello World!\n"); }

Podstawowy szablon aplikacji w C #include <stdio.h> // Komentarz do końca //linijki void main(void) { /*komentarz standardowy*/ printf("Hello World!\n"); }