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

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

Programowanie strukturalne język C - wprowadzenie

Język ludzki kod maszynowy

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

Wykład 1

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

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

Programowanie strukturalne i obiektowe

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

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

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

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

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

Podstawy programowania w języku C

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

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

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

Wstęp do programowania 1

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

PROGRAMOWANIE w C prolog

Typy danych. Przemysław Gawroński D-10, p lutego Wykład 1. (Wykład 1) Typy danych 25 lutego / 11

Języki programowania - podstawy

( 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ść

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

Wstęp do programowania

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28:

Programowanie Proceduralne

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

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

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

Program w C. wer. 12 z drobnymi modyfikacjami! Wojciech Myszka :59:

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

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

Microsoft IT Academy kurs programowania

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

1 Podstawy c++ w pigułce.

Wstęp do Programowania, laboratorium 02

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

2 Przygotował: mgr inż. Maciej Lasota

Zmienne, stałe i operatory

Podstawy Programowania. Wykład 1

Podstawy języka C++ Marek Pudełko

Wstęp do programowania

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

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

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

1 Podstawy c++ w pigułce.

Programowanie obiektowe

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

Wstęp do programowania. Wykład 1

Programowanie w języku C++

Podstawy programowania C. dr. Krystyna Łapin

Język C - podstawowe informacje

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

ECLIPSE wnioski z dwóch pierwszych laboratoriów

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

Techniki Programowania

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

Bardzo szybkie podsumowanie: wykład 1 wer. 6 z drobnymi modyfikacjami!

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

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

Kompilator języka C na procesor 8051 RC51 implementacja

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

Funkcja (podprogram) void

Podstawy programowania - 1

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

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

1. Wprowadzanie danych z klawiatury funkcja scanf

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

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Powtórka algorytmów. Wprowadzenie do języka Java.

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

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

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

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawy programowania (1)

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

Języki i metody programowania I

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

PODSTAWY PROGRAMOWANIA W C. Bibliografia W-1. Dr. Inż. Hab. Siergiej Fialko, PK,

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Elementarne wiadomości o języku C

Tablice, funkcje - wprowadzenie

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Powtórka algorytmów. Wprowadzenie do języka Java.

. Podstawy Programowania 1. Wstęp. Arkadiusz Chrobot. 15 października 2015

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Transkrypt:

Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań 1998. 3. Stephen Prata, Język C szkoła programowania, Wydawnictwo Robomatic, Wrocław 1999. 4. A. Drozdek, D. Simon, Struktury danych w języku C, WNT Warszawa 1996. 5. Alfred V. Aho, Jeffrey D. Ullman, Wykłady z informatyki z przykładami w języku C, Helion Gliwice 2003

Język C został stworzony w 1972 roku przez Denisa Ritchie go. Zalety języka C: 1. elastyczne struktury sterowania 2. strukturalny format 3. zwięzły kod źródłowy niewielki rozmiar programów 4. przenośność na inne komputery. Wady języka C: 1. elastyczność języka C wymaga większej odpowiedzialności od programisty, 2. konieczność korzystania ze wskaźników pociąga za sobą możliwość trudnych do wytropienia pomyłek, 3. zwięzłość języka C, połączona z bogactwem operatorów, pozwala tworzyć kod źródłowy charakteryzujący się niezwykłym wprost zawikłaniem.

Cechy użytkowe języka C: 1. wydajność: C jest językiem potrafiącym wykorzystać możliwości tkwiące we współczesnych komputerach, programy w języku C odznaczają się niewielką objętością i dużą szybkością działania, język C charakteryzuje wysoki stopień precyzji, utożsamianej zwykle z asemblerem, programy w języku C można tak konstruować, aby osiągnąć albo największą prędkość, albo największą oszczędność pamięci. 2. przenośność: programy w języku C napisane na jednej platformie systemowej mogą być uruchamiane na innych natychmiast lub po minimalnych modyfikacjach (oprócz fragmentów realizujących bezpośredni dostęp do urządzeń sprzętowych). 3. moc i elastyczność: większa część systemu operacyjnego UNIX jak również wiele kompilatorów i interpretatorów zostało napisane w języku C. 4.ukierunkowanie na programistę: język C oferuje dostęp do sprzętu i pozwala na operowanie na poszczególnych bitach pamięci, udostępnia bogaty wybór operatorów pozwalających wyrażać się w zwięzły sposób, jest mniej rygorystyczny niż PASCAL, przetwarzanie różnych form zadań wykonuje się w języku C o wiele prościej, większość implementacji języka C zawiera duży zbiór przydatnych funkcji.

Siedem etapów programowania: 1. określenie celów programu: myślenie w kategoriach ogólnych (nie określonego języka programowania), jakie dane są potrzebne, jakie zadanie obliczeniowe, inne operacje, jakie program musi wykonać, informacje, jakie musi przedstawić użytkownikowi 2. projektowanie programu: określenie sposobu reprezentacji danych w programie, wybranie metod, które zostaną użyte do ich przetwarzania. 3. pisanie kodu: implementacja projektu programu na kod źródłowy.

4. kompilacja kodu źródłowego na maszynowy: kompilacja kompilator przetwarza kod źródłowy na przejściowy (obiektowy), linkowanie linker łączy kod przejściowy z kodem startowym, który służy jako interfejs między programem a systemem operacyjnym oraz kodem funkcji bibliotecznych.

5. uruchomienie programu plik wykonywalny jest programem, który można uruchomić pod DOS-em, UNIX-em. 6. testowanie i usuwanie błędów Okazje do popełniania błędów: niewłaściwie opracowany projekt, błędnie zaimplementowane dobre pomysły, przeoczenie nieoczekiwanych danych wejściowych, nieprawidłowe użycie języka C, popełnienie błędu w pisowni, umieszczenie nawiasu w niewłaściwym miejscu. Błędy kompilacji (pisowni) sygnalizuje kompilator. Błędy wykonania poszukiwanie przy pomocy debuggera. 7. modyfikacja programu wykrycie niewielkiego błędu przy intensywnym wykorzystywaniu programu, lepsza metoda jakiejś czynności, rozszerzenie o jakąś przydatną funkcję lub przystosowanie do użytku na innym komputerze.

/*Program p1.c */ /*Obliczanie objetosci walca */ /*Kompilator: Turbo C 2.0 */ #include <stdio.h> void main() { } float promien, wysokosc, objetosc; promien = 3.3; wysokosc =44.4; objetosc = 3.1415926* promien * promien * wysokosc; printf( Objetosc walca = %f,objetosc); Objetosc walca = 1519.010254

/*p2.c*/#include<stdio.h> void main(){float r,h,v;r=3.3;h=44.4;v=3.1415926*r*r*h;printf( V=%f,v);} V=1519.010254

Zestaw znaków języka C: duże litery alfabetu łacińskiego (od A do Z) małe litery alfabetu łacińskiego (od a do z) cyfry (od 0 do 9) znaki specjalne! * + \ < # ( = { > % ) ~; } / ^ - [ :,? & _ ]. znaki dodatkowe jak @,$ uwzględniane w łańcuchach znaków lub w komentarzach kombinacje znaków, jak np. \b, \n, \t tzw. Escape-sekwencje reprezentuje jeden znak

Słowa zastrzeżone (słowa kluczowe, zarezerwowane) wybrane słowa o szczególnym dla danego języka znaczeniu, nie wolno ich używać jako np. nazw zmiennych. auto extern sizeof break float static case for struct char goto switch const if typedef continue int union default long unsigned do register void double return volatile else short while enum signed Niektóre kompilatory rozpoznają część, albo i wszystkie, z następujących niestandardowych słów zastrzeżonych: ada far near asm fortran pascal entry huge

Podstawowe typy danych: Typy podstawowe: int reprezentuje liczbę całkowitą char reprezentuje pojedynczy znak (np. literę alfabetu) float reprezentuje liczbę rzeczywistą (pojedynczej precyzji) double reprezentuje liczbę rzeczywistą (podwójnej precyzji) Modyfikatory: short oznacza liczbę krótką long oznacza liczbę długą signed oznacza liczbę ze znakiem unsigned oznacza liczbę bez znaku Możliwy do zadeklarowania zestaw typów danych: char, unsigned char int, unsigned, signed, short, unsigned short, long, unsigned long float, double, long double

Typy danych elementarnych, zakresy wartości oraz reprezentacja maszynowa (kompilator Turbo 2.0) Typ Zakres wartości Reprezentacja 1. znak(bajt) char -128.. 127 1 bajt unsigned char 0.. 255 1 bajt 2. liczba całkowita short -32768.. 32767 2 bajty unsigned short 0.. 65535 2 bajty int -32768.. 32767 2 bajty unsigned int 0.. 65535 2 bajty long -2147483648.. 2147483648 4 bajty unsigned long 0.. 4294967295 4 bajty 3. liczba rzeczywista float -3.4E38.. 3.4E-38,0,3.4E-38..3.4E38 4 bajty double -1.7E308.. 1.7E-308,0,1.7E-308..1.7E308 8 bajtów long double -1.1E4932.. 3.4E-932,0,3.4E-4932..1.1E4932 10 bajtów

Stałe w języku C 1. stałe całkowitoliczbowe: dziesiętne zestaw znaków: 0 1 2 3 4 5 6 7 8 9 + - ósemkowe zestaw znaków: 0 1 2 3 4 5 6 7 + - (pierwszym znakiem jest zero) szesnastkowe 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 + - (pierwszymi znakami są zero i małe lub duże x- 0x, 0X) 2. stałe rzeczywiste zestaw znaków: 0 1 2 3 4 5 6 7 8 9. + - e E

3. stałe znakowe Pojedyncze znaki ujęte w apostrofy. Zestaw znaków: cały repertuar widocznych znaków ASCII escape-sekwencje NAJWAŻNIEJSZE ESCAPE-SEKWENCJE Sekwencja Wartość ASCII Znaczenie znaków \a 7 Sygnał dźwiękowy (BEL) \b 8 Cofnięcie o 1 znak (BS) \t 9 Tabulacja pozioma(ht) \v 11 Tabulacja pionowa (VT) \n 10 Nowa Linia (LF) \f 12 Nowa strona (FF) \r 13 Powrót karetki(cr) \ 34 Cudzysłów \ 39 Apostrof \? 63 Znak zapytania \\ 92 Kreska ukośna (backslash) \0 0 Znak pusty (null) 4. stałe łańcuchowe Ciąg dowolnych znaków ujętych w cudzysłowy. 5. stałe symboliczne Jest to nazwa zastępująca łańcuch znaków #define NAZWA tekst

/*Program p3.c */ /*Obliczanie objetosci walca */ /*Kompilator: Turbo C 2.0 */ /*Stałe symboliczne */ #include <stdio.h> #define PI 3.1415926 #define PROMIEN 3.3 #define WYSOKOSC 44.4 #define WYNIK printf( Objetosc walca = %f,objetosc) void main() { } float promien, wysokosc, objetosc; promien =PROMIEN; wysokosc =WYSOKOSC; objetosc =PI * promien * promien * wysokosc; WYNIK; Objetosc walca = 1519.010254