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

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

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

2 Przygotował: mgr inż. Maciej Lasota

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

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

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

1 Podstawy c++ w pigułce.

Zmienne, stałe i operatory

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

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

Wstęp do Programowania, laboratorium 02

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

C++ wprowadzanie zmiennych

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie strukturalne język C - wprowadzenie

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

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

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

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie strukturalne i obiektowe

1 Podstawy c++ w pigułce.

Elementarne wiadomości o języku C

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

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

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

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

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

WYKŁAD 1 - KONSPEKT. Program wykładu:

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

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

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

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

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

Struktura pliku projektu Console Application

Część 4 życie programu

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

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Wstęp do programowania

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

Programowanie komputerowe. Zajęcia 1

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

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

#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 ); }

Struktury Struktura polami struct struct struct struct

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Języki programowania - podstawy

Język C zajęcia nr 11. Funkcje

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

( wykł. dr Marek Piasecki )

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

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Podstawy Programowania. Wykład 1

Podstawy Programowania

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

Podstawy programowania w języku C

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

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

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

I - Microsoft Visual Studio C++

Wstęp do programowania. Wykład 1

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

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

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

Wstęp do programowania

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

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

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Proste algorytmy w języku C

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

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Podstawy algorytmiki i programowania - wykład 4 C-struktury

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

Języki i metody programowania I

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

INFORMATYKA Studia Niestacjonarne Elektrotechnika

WPROWADZENIE DO JĘZYKA 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

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

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

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

Wskaźniki. Informatyka

Podstawy programowania C. dr. Krystyna Łapin

Struktury, unie, formatowanie, wskaźniki

1. Wprowadzanie danych z klawiatury funkcja scanf

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

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

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

Mikrokontroler ATmega32. Język symboliczny

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

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

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

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Wykład 1.sxw

Języki programowania obiektowego Nieobiektowe elementy języka C++

Transkrypt:

Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia i rozwiązania, Wydawnictwa Naukowo-Techniczne, 2004

Język ANSI C: Dennis Ritchie (http://www.cs.bell-labs.com/who/dmr/index.html) zaprojektował pierwszy kompilator języka C na komputer PDP-11 1969 Język C jest oparty na dwóch językach programowania BCPL (napisany przez Martina Richardsa) B (napisane przez Kena Thompsona w 1970 pod system UNIX na PDP-7). W 1988 American National Standards Institute (ANSI) zatwierdził nowy standard języka C.

Zasady języka C: Wielkość liter jest istotna Każda linia kończy się średnikiem ; Zmienne funkcji podawane są w nawiasach okrągłych ( ) i oddzielane przecinkiem, Blok komend zawarty jest między klamerkami { } Łańcuch znaków zawarty jest między cudzysłowami... Pojedynczy znak znajduje się pomiędzy apostrofami ' ' Po # znajdują się dyrektywy kompilatora Komentarz znajduje się pomiędzy następującymi sekwencjami znaków /*...*/ Komentarz w linii rozpoczyna się od //

Programowanie strukturalne: Komendy wykonywane są sekwencyjnie z góry na dół i od lewej do prawej Komendy są to funkcje lub polecenia sterujące przepływem Funkcje mają wejście (stan wejściowy) i wyjście (stan wyjściowy) Wejściem funkcji jest wyjście funkcji ją poprzedzającej a wyjście jest wejściem dla jej następnika Komendy sterujące przepływem pozwalają na zmianę kolejności wykonywania poleceń zawartych w kodzie źródłowym Sterownie przepływem pozwala na realizacje warunkowego wykonywania poleceń, wielokrotnego wykonywania określonej sekwencji komend oraz skoku do określonego miejsca w kodzie programu W programowaniu strukturalnym pracuje się wykorzystując zmienne reprezentujące wartości określonego typu W momencie rozpoczęcia pracy programu każda zmienna ma wartość nieokreśloną oraz parametry środowiska są nieokreślone.

Funkcje: Funkcja określa działania wykonywane w programie. Posiada zmienne będące wejściem i zwraca wartość wyjściową. <typ> nazwa (<parametry>) { <ciało funkcji> } parametry: [ <parametr> [ ',' <parametr> [ ',' * ] ] ] parametr: <typ> <nazwa> [ '=' <wartośćdomyślna> ]

Pierwszy program w C #include <stdio.h> int main() { printf("hello World\n"); return 0; } Główna funkcja programu od funkcji main program rozpoczyna pracę

Pierwszy program w C #include <stdio.h> int main() { printf("hello World\n"); return 0; } Deklaracja funkcji typ main (parametry)

Pierwszy program w C #include <stdio.h> int main() { printf("hello World\n"); return 0; } Ciało funkcji między znakami '{' i '}' znajduje się lista operacji będących treścią danej funkcji

Pierwszy program w C #include <stdio.h> int main() { printf("hello World\n"); return 0; } Funkcja wypisująca ciąg znaków printf ( format [, zm1 [, zm2 [, ]]] );

Pierwszy program w C #include <stdio.h> int main() { printf("hello World\n"); return 0; } Dyrektywa kompilatora dołącza bibliotekę do programu plik.h jest to plik nagłówkowy <...> oznacza, że będzie szukany w katalogach bibliotecznych... oznacza, że będzie szukany w katalogu bieżącym

Pierwszy program w C #include <stdio.h> int main() { printf("hello World\n"); return 0; } Instrukcja kończy działanie programu, zwraca podaną wartość zadeklarowanego typu do procesu nadrzędnego

Funkcja wypisująca ciąg znaków printf ( format [, zm1 [, zm2 [, ]]] ); format to określenie sposobu wświetlenia wartości zmiennych %d, %i liczba całkowita, dziesiętna ze znakiem %x, %X liczba całkowita, szesnastkowa bez znaku (małe i duże litery) %o liczba całkowita, oktalna baz znaku %u liczba całkowita, dziesiętna bez znaku %e, %E liczba zmiennoprzecinkowa w zapisie (1.2345e+2, 1.2345E+2) %f liczba dziesiętna zmiennoprzecinkowa double %c znak %s łańcuch znaków %m.nf m: liczba znaków, n: liczba miejsc po przecinku Znaki specjalne \n \t

Pierwszy program w C++ #include <stdio.h> int main() { printf("hello World\n"); return 0; }

Pierwszy program w C++ #include <iostream> int main() { printf("hello World\n"); return 0; }

Pierwszy program w C++ #include <iostream> int main() { std::cout<<"hello World"<<std::endl; return 0; }

Pierwszy program w C++ #include <iostream> int main() { std::cout<<"hello World"<<std::endl; return 0; }

Pierwszy program w C++ #include <iostream> using namespace std; int main() { cout<<"hello World"<<endl; return 0; }

Zmienna: [<modyfikator>] <typ> <nazwa> [ '[' <krotność>']' ] ['=' <wartosćdomyślna>]; Zmienna to fragment pamięci o określonym rozmiarze identyfikowany za pomocą nazwy, w którym może być przechowywana wartość określonego typu.

Zmienna: [<modyfikator>] <typ> <nazwa> [ '[' <krotność>']' ] ['=' <wartosćdomyślna>]; Zmienia znaczenie deklaracji typu danej wartości. unsigned typ bez znaku signed typ ze znakiem long liczba o długiej reprezentacji short liczba o krótkiej reprezentacji const stała Biblioteki <limits.h> i <float.h>

Zmienna: [<modyfikator>] <typ> <nazwa> [ '[' <krotność>']' ] ['=' <wartosćdomyślna>]; Definiuje typ danej zmiennej. char znakowy 1 bajt short całkowity krótki 2 bajty int całkowity 4 bajty long całkowity długi 8 bajtów float liczba zmiennoprzecinkowa 4 bajty double liczba zmiennoprzecinkowa 8 bajtów string łańcuch znaków

Zmienna: [<modyfikator>] <typ> <nazwa> [ '[' <krotność>']' ] ['=' <wartosćdomyślna>]; Nazwa danej zmiennej.

Zmienna: [<modyfikator>] <typ> <nazwa> [ '[' <krotność>']' ] ['=' <wartosćdomyślna>]; Krotność rozmiar zmiennej tablicowej int i[10]; Do poszczególnych elementów tablicy odwołujemy się rozpoczynając od zera.

Zmienna: [<modyfikator>] <typ> <nazwa> [ '[' <krotność>']' ] ['=' <wartosćdomyślna>]; Wartość która przypisywana jest danej zmiennej w momencie jej zadeklarowania.

Wartości: Całkowite: 12, 5, -123 012, 05, 0123 0x1F, 0xa, 0XAF Zmiennoprzecinkowe: 1.4, -23.2, 15., 123e12, 12e-20, 1E5 Znakowe: 'a', 'A', '@', '\t', '\0', '\134' Łańcuch znaków: string

Operatory przypisania: = += = *= /= Operatory zwiększania i zmniejszania ++z z++ z z

Operatory arytmetyczne: + dodawanie 2 + 3 = 5, 12.5 + 11.2 = 23.7 odejmowanie 2 3 = 1, 12.5 11.2 = 1.3 * mnożenie 2 * 3 = 6, 12.5 * 11.2 = 140. / dzielenie 2 / 3 = 0, 12.5 / 11.2 = 1.11607 % dzielenie modulo 2 % 3 = 2, int i,j; i=(1+10)*11; j=i%3;

Wypisać zestawienie temperatur Fahrenheita i Celsjusza C=(5/9)(F-32) dla zakresu od 0 do 300 stopni Fahrenheita z krokiem co 20

Tablice: <typ> <nazwa> '['<krotność>']'; int i [10]; i[0]=10; i[9]=1; //i[0..9]

Tablice znakowe: W języku C koniec łańcucha znaków oznacza się znakiem o kodzie zero \0 (ang. null character). Łańcuch znaków: Hello\n H e l l o \n \0 char linia[100];

#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char linia[100]; strcpy(linia,"linie"); linia[1]='e'; printf ("%s\n",linia); system("pause"); return 0; }