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

Podobne dokumenty
Reprezentacja symboli w komputerze.

Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1

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

ŁAŃCUCHY W JĘZYKU C/C++

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22

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

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

Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF10Z

iii. b. Deklaracja zmiennej znakowej poprzez podanie znaku

Reprezentacja symboli w komputerze.

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

dr inż. Jarosław Forenc

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

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

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Podstawy programowania w języku C++

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

Podstawy programowania

Operacje na łańcuchach znaków

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

Tablice deklaracja, reprezentacja wewnętrzna

Wprowadzenie do programowania w języku C

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

Spis treści JĘZYK C - TABLICE JEDNOWYMIAROWE, ŁAŃCUCHY ZNAKÓW. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

JĘZYK C - TABLICE DWUWYMIAROWE,

Prawidłowa konstrukcja (3 x 4) char** tab = new char*[3]; for (size_t i = 0; i < 3; i++) tab[i] = new char[4];

Funkcje i procedury szybkie przypomnienie Tablice i wskaźniki Napisy

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

Łańcuchy znaków. Agnieszka Nowak - Brzezińska

Ćwiczenia podstawowe, zestaw 5, część 1

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Inicjacja tablicy jednowymiarowej

Wykład 6. Operacje na łańcuchach znakowych

scanf( %s,tekst); //znaki podane z klawiatury (do pierwszego białego znaku ) //s kopiowane do zmiennej tekst i dostawiany jest znak \0

Podstawy Programowania

Tablice, funkcje - wprowadzenie

Programowanie w językach wysokiego poziomu

main() { float promien=p,wysokosc=h,objetosc; float objetosc_walca(float promien, float wysokosc);

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

Podstawy programowania 1

Programowanie w C Typ wskaźnikowy do typu znakowego i operacje na łańcuchach

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY

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

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

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

Podstawy programowania sem.ii. Laboratorium nr 1

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Programowanie Proceduralne

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

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

"Pies" P i e s \0. Prawidłowy zapis wymaga wykorzystania funkcji strcpy() z pliku nagłówkowego string.h: char txt[10]; strcpy(txt, Pies );

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

1 Przetwarzanie tablic znakowych

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

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

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Podstawy Programowania

Podstawy Programowania. Przetwarzanie napisów, drzewa binarne

iii. b. Deklaracja zmiennej znakowej poprzez podanie znaku

Podstawy Programowania. Przetwarzanie napisów, drzewa binarne

Wskaźniki. Informatyka

Podstawy programowania. Python wykład 6

Języki i metody programowania

Funkcje printf() i scanf() i operatory

1 Funkcje i ich wykorzystanie

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

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

Podstawy bioinformatyki 2017/18

Języki i metody programowania I

Stałe i zmienne znakowe. Stała znakowa: znak

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

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

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

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

Podstawy programowania Typ znakowy. Typ znakowy

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

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

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Podstawy programowania w języku C++

Spis treści JĘZYK C - TABLICE JEDNOWYMIAROWE, ŁAŃCUCHY ZNAKÓW. Metodyki i techniki programowania. Instrukcja do pracowni specjalistycznej z przedmiotu

1. Wprowadzanie danych z klawiatury funkcja scanf

Podstawy programowania w języku C++

. Podstawy Programowania 1. Łańcuchy znaków. Arkadiusz Chrobot. 25 listopada 2015

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Metodyki i Techniki Programowania 2

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

Wskaźniki w C. Anna Gogolińska

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

Podstawy programowania w języku C++

Podstawy programowania w języku C++

DYNAMICZNE PRZYDZIELANIE PAMIECI

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

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

Wyklad 7 Funkcje (c.d.). Tablice jednowymiarowe znaków

Bardzo szybkie podsumowanie: wykład 5

Transkrypt:

Informatyka 1 zajęcia nr 11 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Łańcuchy znaków 2. Wprowadzanie i wyprowadzanie znaków w i łańcuchów w znaków 3. Funkcje z modułu u <string.h< 4. Zadania do zrobienia 1

1. Znaki i łańcuchy znaków Łańcuchy znaków: - tablice znaków w zakończone pewnym znakiem sterującym (\0),( - typem bazowym jest typ char, - wprowadzając łańcuchy znaków w w kodzie programu używamy u cudzysłow owów. 79 116 111 32 116 101 107 115 116 0 O t o t e k s t \0 0 1 2 3 4 5 6 7 8 9 1. Znaki i łańcuchy znaków Deklaracja łańcucha znaków: a) jako tablica znaków: char tekst[20]; //20-elementowa tablica znaków //tu od razu przydzielana jest pamięć b) jako wskaźnik: char *tekst; //tu nie ma przydziału u pamięci [o wskaźnikach więcej na osobnych zajęciach] 2

1. Znaki i łańcuchy znaków Przypisywanie wartości do łańcucha znaków: a) jeśli deklarujemy jako tablica: 1) char tekst[20]= Oto tekst ; //tak można 2) char tekst[20]={ O, t, o,, t, e, k, s, t, \0 }; //tak można, ale to niezbyt praktyczne 3) char tekst[20]; tekst= Oto tekst ; //tak nie można!!! Tu należy y użyću funkcji strcpy() lub memcpy() 1. Znaki i łańcuchy znaków b) jeśli deklarujemy jako wskaźnik: char *tekst; tekst= Oto tekst ; //tak można, ale tylko pierwszy raz, bo wtedy przydzielana jest pamięć Znak a łańcuch: a dokładnie jeden znak a łańcuch znaków, czyli dwa znaki: a i \0 3

2. Wprowadzanie i wyprowadzanie Wprowadzanie znaków w i łańcuchów w znaków: 1) scanf omawiane wcześniej 2) getch, getchar do wprowadzania znaków char znak; printf("podaj jeden znak"); znak=getchar(); 3) gets do wprowadzania łańcuchów w znaków char *napis; printf("podaj łańcuch znaków"); gets(napis); 2. Wprowadzanie i wyprowadzanie Wyprowadzanie znaków w i łańcuchów w znaków: 1) printf omawiane wcześniej 2) putc, putchar do wyprowadzania znaków char znak='a'; '; printf("oto znak: "); putchar(znak); 3) puts do wyprowadzania łańcuchów w znaków char *nazwa="politechnika* Białostocka"; printf("nazwa naszej uczelni to: "); puts(nazwa); 4

3. Funkcje z modułu u <string.h< char* strcpy(char *dest, const char *src* src) kopiuje łańcuch znaków w z src do dest char *napis1="kopia", *napis2; strcpy(napis2,napis1); char* strdup(const char *src* src) tworzy kopię łańcucha src i zwraca jąj char *napis="tekst* napis="tekst", ", *kopia; kopia=strdup(napis); Funkcjonalnie tak, jak dest = src char* strcat(char *dest, const char *src* src) dołą łącza łańcuch src na koniec łańcucha dest char *napis1="sklejony ", *napis2="napis"; strcat(napis1,napis2); //tu w napis1 mamy łańcuch "sklejony napis" 3. Funkcje z modułu u <string.h< int strlen(const char *str* str) wyznacza i zwraca długod ugość (ilość znaków) łańcucha str (bez znaku '\0')' char *napis="d* napis="długi napis do zbadania"; int dl=strlen(napis); int strcmp(const char *str1* str1, const char *str2* str2) porównuje łańcuchy znaków; gdy sąs równe zwraca zero, jeżeli eli str1<str2 zwraca liczbę ujemną, a jeśli str1>str2 zwraca liczbę dodatnią char *napis1="tekst", *napis2="inny"; if (strcmp(napis1,napis2)==0) puts("identyczne"); "); 5

3. Funkcje z modułu u <string.h< char* strlwr(char *str) zamienia w łańcuchu str wielkie litery na małe, nie zmieniając c innych znaków char *napis="d* napis="długi napis Do ZmIaNy"; strlwr(napis); char* strupr(char *str) zamienia w łańcuchu str małe e litery na wielkie, nie zmieniając c innych znaków char *napis="d* napis="długi napis Do ZmIaNy"; strupr(napis); char* strrev(char *str) odwraca kolejność znaków w w łańcuchu str char *napis="napis* do odwrócenia"; strrev(napis); 3. Funkcje z modułu u <string.h< char* strtok(char *napis,, char* separatory) dzieli łańcuch napis na częś ęści według dzielących je separatorów char* element, *sep = ",!?"; char* zdanie = "To jest nasze piękne, długie d zdanie! Podoba się?" element = strtok(zdanie,, sep); do { printf("%s\n", ", element); } while((element=strtok(null,, sep))!= NULL); 6

3. Funkcje z modułu u <string.h< Funkcje do konwersji danych (zmiany typu): float atof(char *napis) konwertuje łańcuch napis na liczbę typu float char* tekst = "3.14159"; float liczba=atof(tekst); float atoi(char *napis) konwertuje łańcuch napis na liczbę typu int char* tekst = "12345"; int liczba=atoi(tekst); 3. Funkcje z modułu u <string.h< Funkcje do konwersji danych (zmiany typu): float itoa(int liczba,, char *napis,* int syst) konwertuje liczbę typu int na łańcuch znaków int liczba=123; char* tekst[20]; itoa (liczba,tekst,10); //10 oznacza system dziesiętny 7

3. Funkcje z modułu u <string.h< Funkcje do sprawdzania rodzaju znaku: isalnum() sprawdza czy to znak alfanumeryczny isalpha() sprawdza czy to znak alfabetyczny isascii() - sprawdza czy to znak ascii isdigit() - sprawdza czy to cyfra isgraph() - sprawdza czy jest graficzny islower() sprawdza czy to mała litera ispunct() sprawdza czy to znak interpunkcyjny isspace() - sprawdza czy to spacja isupper() sprawdza czy to wielka litera toascii() konwertuje znak na kod ascii tolower() konwertuje literę na małą toupper() konwertuje literę na dużą Dziękuj kuję za uwagę 8