Typy danych i formatowanie

Podobne dokumenty
Wstęp do Programowania 2

Reprezentacja symboli w komputerze.

Podstawy programowania w języku C

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++

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

Zmienne, stałe i operatory

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

2 Przygotował: mgr inż. Maciej Lasota

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

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

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

Programowanie strukturalne język C - wprowadzenie

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

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

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

Programowanie i struktury danych

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

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

Funkcja (podprogram) void

1. Typy zmiennych. 2. Typy podstawowe: char short int int long int float

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

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

Tablice, funkcje - wprowadzenie

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

Proces tworzenia programu:

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

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

Podstawy programowania C. dr. Krystyna Łapin

Podstawy programowania 1

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

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

Programowanie strukturalne i obiektowe

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

Funkcje printf() i scanf() i operatory

Wst p do C i typy danych

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

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

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

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

Wstęp do programowania 1

1. Wprowadzanie danych z klawiatury funkcja scanf

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

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

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

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

Programowanie Proceduralne

Przykªadowe tematy z JiMP

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE

DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Wstęp do Programowania, laboratorium 02

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy

( wykł. dr Marek Piasecki )

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

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Lekcja 9 Liczby losowe, zmienne, staªe

Programowanie komputerów. Jacek Lach Zakład Oprogramowania Instytut Informatyki Politechnika Śląska

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

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

1 Podstawy c++ w pigułce.

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

Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim

Programowanie w języku C++

1 Podstawy c++ w pigułce.

Bash i algorytmy. Elwira Wachowicz. 20 lutego

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

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

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

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

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

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy Instrukcja selekcji if-else

C++ wprowadzanie zmiennych

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

Tablice wielowymiarowe. Przykład tablica 2-wymiarowa. Przykład. Przykład 3-wymiarowy. Tak naprawdę nie istnieją w C! Rozważmy tablicę o rozmiarze 3x2

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

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

Elementy pliku źródłowego w języku C

WPROWADZENIE DO JĘZYKA C++

Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście.

Stałe, tablice dynamiczne i wielowymiarowe

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

dr inż. Paweł Myszkowski Wykład nr 8 ( )

Liczby zmiennoprzecinkowe

Pytania sprawdzające wiedzę z programowania C++

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

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Języki programowania - podstawy

dr inż. Jarosław Forenc

Podstawy programowania w języku C++

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

Reprezentacja symboli w komputerze. Liczby całkowite i zmiennoprzecinkowe. Programowanie Proceduralne 1

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

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Transkrypt:

Typy danych i formatowanie Elwira Wachowicz elwira@ifd.uni.wroc.pl 28 marca 2013 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 1 / 16

Sªowa kluczowe typów danych Pierwotne sªowa C int long short unsigned char float double ANSI C signed void const Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 2 / 16

Korzystanie ze znaków: typ char Do przechowywania znaków sªu»y typ char. To typ caªkowity: przechowuje kody ASCII. (Np. liter A reprezentuje kod 65.) Deklarowanie zmiennych typu char: char t; char akter, yzma; Inicjalizacja: char kot; /* deklarujemy zmienn typu char */ kot = 'T' /* OK! */ kot = T /* NIE! Uznaje T za zmienn */ kot = "T" /* NIE! Uznaje T za ªa«cuch */ Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 3 / 16

Sekwencje steruj ce Sekwencja Znaczenie \a Alarm np. d¹wi k. \b Znak cofania: kursor o jeden znak w lewo. \f Wysuni cie strony: kursor na pocz tek nast pnej strony. \n Nowa linia. \r Powrót karetki: kursor na pocz tek tej samej linii. \t Tabulator poziomy. \v Tabulator pionowy \\ Lewy uko±nik \. \' Apostrof '. \ Cudzysªów. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 4 / 16

Wy±wietlanie znaków /* znakkod.c -- wy±wietla znak i odpowiadaj cy mu kod */ #include <stdio.h> int main(void) { char ch; } printf("wpisz jaki± znak.\n"); scanf("%c", &ch); /* u»ytkownik podaje znak */ printf("kod znaku %c to to %d.\n", ch, ch); return 0 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 5 / 16

Liczby zmiennoprzecinkowe Liczba Notacja naukowa Notacja wykªadnicza 1000000000 = 1.0 10 9 = 10e9 123000 = 1.23 10 5 = 1.23e5 322.56 = 3.2256 10 2 = 3.2256e2 0.000056 = 5.6 10 5 = 5.6e 5 Wedªug ANSI C: Zmienna typu float: co najmniej 6 cyfr znacz cych i zakres co najmniej od 10 37 do 10 +37. Zmienna typu double: co najmniej 10 cyfr znacz cych i ten sam zakres co float. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 6 / 16

Deklarowanie zmiennych zmiennoprzecinkowych i ten sam zakres co float float pawel, gawel; double trouble; float planck = 6.63e-34; Staªe zmiennoprzecinkowe: -1.56E+12 2.87e-3 3.14159.2 4e16.8E-5 100. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 7 / 16

Wy±wietlanie warto±ci zmiennoprzecinkowych /* pokaz_fl.c -- wyswietla warto± typu float na dwa sposoby */ #include <stdio.h> int main(void) { float wartosc = 32000.0; } printf("%f mo»na tak»e zapisa %e\n", wartosc, wartosc); return 0; Wynik dziaªania programu: 32000.0 mo»na tak»e zapisa 3.200000e+004 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 8 / 16

Ša«cuchy znakowe i formatowanie wej±cie/wyj±cie /* rozmowa.c -- wscibski, ale i pouczaj cy program */ #include <stdio.h> #include <string.h> /* potrzebne do prototypu strlen() */ #define GESTOSC 998.5 /* g sto± czªowieka w kg/m3 */ int main(void) { float waga, objetosc; int rozmiar, litery; char imie[40]; /* imi jest tablic 40 znaków */ } printf("cze±, jak masz na imi? \n"); scanf("%s", imie) printf("%s, ile wynosi Twoja waga w kilogramach? \n", imie); scanf("%f", &waga); rozmiar = sizeof imie; litery = strlen(imie); objetosc = waga / GESTOSC; printf("a wi c, %s, Twoja obj to± to %4.4f m^3.\n", imie, objetosc); printf("poza tym, Twoje imi skªada si z %d liter.\n", litery); printf("i mam %d bajtów, aby je przechowa.\n", rozmiar); return 0; Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 9 / 16

Ša«cuchy znakowe i tablice Ša«cuch znakowy: ci g skªadaj cy si z jednego lub wi cej znaków. Przykªad: "Czuªem si jak pies na ªa«cuchu." Znak zerowy: znak o kodzie ASCII równym 0, oznacza koniec ªa«cucha. Tablica: uporz dkowany ci g danych jednego typu. char imie[40]; Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 10 / 16

Korzystanie z ªa«cuchów /* chwal_1.c -- wykorzystuje ªa«cuchy */ #include <stdio.h> #define POCHWALA "Ach, jakie wspaniaªe imi!" int main(void) { char imie[40]; } printf("jak masz na imi?\n"); scanf("%s", imie); printf("witaj, %s, %s\n", imie, POCHWALA); return 0; Przebieg dziaªania: Jak masz na imi? Janek Scalak Witaj, Janek. Ach, jakie wspaniaªe imi! Uwaga: scanf() dziaªa, dopóki nie napotka znaku niedrukowanego typu spacja, tabulator lub znak nowej linii. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 11 / 16

Funkcja strlen() /* chwal_2.c -- wykorzystuje ªa«cuchy */ #include <stdio.h> #include <string.h> /* potrzebne do prototypu strlen() */ #define POCHWALA "Ach, jakie wspaniaªe imi!" int main(void) { char imie[40]; } printf("jak masz na imi?\n"); scanf("%s", imie); printf("witaj, %s, %s\n", imie, POCHWALA); printf("twoje imi skªadaj ce si z %d liter, zajmuje %d komórek pami ci.\n", strlen(imie), sizeof imie); printf("pochwaªa skªada si z %d liter ", strlen(pochwala)); printf("i zajmuje %d komórek pami ci.\n", sizeof POCHWALA); return 0; Przebieg dziaªania: Jak masz na imi? Elwira Witaj, Elwira, Ach, jakie wspaniaªe imi! Twoje imi skªadaj ce si z 6 liter, zajmuje 40 komórek pami ci. Pochwaªa skªada si z 28 liter i zajmuje 29 komórek pami ci. Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 12 / 16

Staªe Staªe symboliczne: W wyra»eniach wygodniej korzysta z nazwy ni» liczb (np.: pi zamiast 3.14159). Šatwiej zmieni warto± staªej w jednym miejscu w programie. Gdy zdeniowana w nagªówku, w czasie kompilacji jest podstawiana warto±. #define NAZWA wartosc Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 13 / 16

Staªe standardowe Pliki nagªówkowe limits.h i float.h zawieraj denicje zakresów liczb typów caªkowitych i zmiennoprzecinkowych. printf("maksymalna warto± typu int w tym systemie = %d", INT_MAX); Staªa Znaczenie CHAR_BIT Rozmiar typu char w bitach SHRT_MAX Maksymalna warto± typu short SHRT_MIN Minimalna warto± typu short USHRT_MAX Maksymalna warto± typu unsigned short INT_MAX Maksymalna warto± typu int INT_MIN Minimalna warto± typu int UINT_MAX Maksymalna warto± typu unsigned int LONG_MAX Maksymalna warto± typu long ULONG_MAX Maksymalna warto± typu unsigned long FLT_MANT_DIG Rozmiar mantysy typu float FLT_DIG Minimalna liczba dziei tnych cyfr znacz cych dla typu float FLT_MIN_10_EXP Minimalny ujemny wykªadnik typu float (podstaw jest 10) FLT_MAX Maksymalna dodatnia warto± typu float FLT_EPSILON Ró»nica mi dzy 1.00 a najmniejsz warto±ci typu float wi ksz od 1.00 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 14 / 16

Funkcja printf() Ogólna posta instrukcji printf(): printf(ªa«cuch-steruj cy, element1, element2,...) Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 15 / 16

Ša«cuch steruj cy Specykator Dane wyj±ciowe %c Pojedynczy znak %d Dziesi tna liczba caªkowita ze znakiem %e Liczba zmiennoprzecinkowa w notacji z liter e %E Liczba zmiennoprzecinkowa w notacji z liter E %f Liczba zmiennoprzecinkowa w zapisie dziesi tnym %g Równowa»ny %e, gdy wykªadnik mniejszy ni» 4 lub wi kszy/równy dokªadno±ci, inaczej %f %E Jak wy»ej, tyle»e z E %o Ósemkowa liczba caªkowita bez znaku %p wska¹nik %s Ša«cuch znakowy %u Dziesi tna liczba caªkowita bez znaku %x Szesnastkowa liczba caªkowita, cyfry szesnastkowe maª liter (0f) %X Szesnastkowa liczba caªkowita, cyfry szesnastkowe du» liter (0F) %% Wy±wietla znak procentu Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Typy danych i formatowanie 28 marca 2013 16 / 16