Purdelvasile.files.wordpress.com



CODUL ASCIICaracterele utilizate in calculator sunt:A – Zlitere mari ale alfabetului engleza – zlitere mici ale alfabetului englez0,1,2,…,9cifrele zecimale?, !, . , : si spatiusemne speciale+ , /,+, -,*operatori aritmetici ()pereche de paranteze utilizata la functii []pereche de paranteze utilizata la indexare, sau cu alte cuvinte, la identificarea unui element al unui vector{} pereche de paranteze utilizata la blocuri de programLF, CR, TAB, BACKSPACEAu un anumit effect la tiparire si se numesc caractere backslash.Caracterul spatiu?n orice sistem de calcul, datele – de orice tip – se memoreaz? sub form? de numere. Mai mult, acestea se reprezint? ?n baza 2. ?n consecin??, pentru a memora ?n calculator?caractere?este necesar? utilizarea unei reprezent?ri a caracterelor prin numere. O astfel de reprezentare este?Codul?ASCII(American Standard International Interchange).O data character se reprezinta pe un octet. Declararea unei variabile character a se face astfel: char a;Nr crtCaractereCe reprezinta1A, …, ZLitere mareCaractere alfabeticeCaractere alfanumerice2a,…,zLitere mici30,1,…,9CifreCaractere numerice4+,/,*,-,%Operatori aritmetici5()Folosit la functii si expresii aritmetice6[]Folosit la adresarea elementelor unui vector sau a unei matrici7{}Folosit la blocuri de instructiuni8Caractere neimprimabile (au un anumit effect la tiparire)Caractere backslash‘\b’ –spatiu inapoi ‘\r’ – pozitionare car la inceput de rand‘\n’ trecerea la inceputul liniei urmatoare‘\t’-se merge inainte cu un anumit numar de spatii‘\b’ – BACKSPACE‘\r’- CR‘\n’ – LF‘\t’ - TABDatele de tip caractere ASCII sunt reprezentate pe un byte(octet). Ca sa nu folosim numere negative declaram unsigned char c;Valoare minima din a este 00000000 binar, adica 0 zecimal.Valoare maxima din a este 11111111 binar, adica 1x20+1x21+…+1x27=255 zecimal.In total exista 256 de caractere, astfel pentru fiecare character ii este asociat un numar intre 0 si 255. Acel numar poarta denumirea de cod ASCII asociat caracterului respective.Pentru a reprezenta caracterele ale altor alfabete se foloseste codul UNICODE. Acest cod reprezinta caracterele pe doi octeti.Caracterele le mai putem clasifica astfel:CaractereTiparibileCare se afla tastaturaLitereCifreOperatoriCare nu se afla pe tastatura?, ∞, etcNetiparibileLFCRTABBACKSPACEConstantele character in C++, sunt cuprinse intre apostrofuri:‘a’, ‘A’, ‘6’, ‘?’ etc.Caracterul ‘A’, are codul ASCII 65.Caracterul ‘B’, are codul ASCII 66.Caracterul ‘a’ are codul ASCII 97.char a;a=’B’;cout<<a;a este declarata ca variabila character si deci ocupa un octet in memorie.Variabila a ia ca valoare caracterul ‘B’, adica ia ca valoare codul ASCII asociat literei ‘B’, care este 66Ultima instructiune tipareste pe ecran caracterul ‘B’, sau cu alte cuvinte, tipareste caracterul ce are codul ASCII 66.Putem sa initializam o variabila character la declarare:char c, a=’?’, b=’@’, d;c=a;d=b;cout<<c<<endl<<d;Se tipareste pe ecran:?@Operatorul de conversie explicita: ()char a=’B’; int b=65;cout<<a<<”…”(int)a<<endl;cout<<b<<”…”<<(char)ba variabila de tip character. (int)a reprezinta codul ASCII a caracterului din a.b variabila de tip intreg. (char)b reprezinta caracterul ce are codul ASCII din b.Pe ecran se va tipari:B…6666…BCe se intampla in urmatorul exemplul de mai jos?char a,b,c;int d,e,f;//codul ASCII a lui ‘A’ este 65//codul ASCII a lui ‘B’ este 66//codul ASCII a lui ‘C’ este 67//codul ASCII a lui ‘D’ este 68a=’A’ ; b=’B’;d=67; e=68;f=(int)a;c=(char)e;cout<<a<<”=”<<b<<”=”<<c<<endl;cout<<d<<”=”<<e<<”=”<<f<<endl;A=B=D67=68=65Program prin care aflam codurile ASCII associate caracterelor:#include <iostream>using namespace std;int main(){ int i; for(i=0;i<=255;i++) { cout<<(char)i<<" "<<i<<endl; } return 0;}A – Z 65 - 90a – z 97 - 1220 – 9 48 - 57Intre caractere se poate introduce o relatie de ordine. Un character ch1 este mai mic decat alt character ch2, cand codul ASCII a caracterului ch1 este mai mic decat codul ASCII a caracterului ch2.Exemple: ‘A’<’a’, ‘8’<’D’<’f’.Ca sa tiparim caracterul ‘A’ avem doua posibilitati:cout<<’ A’;cout<<(int)65; //cand cunoastem codul ASCII a lui ‘A’Caracterele , ?, ∞, ±nu se gasesc pe tastatura./ Pentru a le tipari, trebuie sa le cunoastem codurile ASCII si sa folosim operatorul de conversie explicita. are codul ASCII 1? are codul ASCII 20∞ are codul ASCII 236± are codul ASCII 241#include <iostream>using namespace std;int main(){ cout<<(char)236<<"..."<<(char)241<<endl; cout<<(char)1<<"..."<<(char)20<<endl; return 0;}Se va tipari:∞…±…?Exista caractere care nu sunt tiparibile, dar au un anumit effect la tiparire. Aceste caractere se numesc caractere backslash. Acestea sunt:‘\n’ -face salt la inceputul liniei urmatoare( cod ASCII in constanta endl) caracterul este recunoscut sub denumirea de linie noua( new line).Are codul ASCII=10‘\r’ – pozitioneaza cursorul la inceputul liniei curente. Caracterul este recunoscut sub denumirea de carul de retur(carriage return)Are codul ASCII=13‘\b’ – duce cursorul pe caracterul anterior. Caracterul este recunoscut sub denumirea de spatiu inapoi (backspace)Are codul ASCII=8‘\t’ - face un salt peste cateva spatii pe linia curenta . Caracterul este recunoscut sub denumirea de tabulator (tab)Are codul ASCII=9‘\a’ – scoate un sunet. Caracterul este recunoscut sub denumirea de alarma (bell)Are codul ASCII=7#include <iostream>using namespace std;int main(){cout<<123<<'\n'<<"12345"<<'\r';cout<<"qwe"<<'\b'<<"678"<<'\t'<<"678";for(int j=1;j<=100;j++) cout<<'\a'; return 0;}se tipareste 123se face salt la linie noua123_se scrie 1234512312345_se merge la inceput de linie si se scrie qwe123qwe45se merge un spatiu inapoi si se scrie 678123qw678_se sare peste mai multe spatii si se scrie 678123qw678 678_se scot 100 de sunete Observatie Semnul”_” indica pozitia cursoruluiProgramul de mai jos este echivalent cu cel de mai sus deoarece sau inlocuit caracterele cu codurile ASCII#include <iostream>using namespace std;int main(){cout<<123<<(char)10<<"12345"<<(char)13;cout<<"qwe"<<(char)8<<"678"<<(char)9<<"678";for(int j=1;j<=100;j++) cout<<(char)7; return 0;}Exista un character special, si anume caracterul nul. Acest character are codul ASCII 0 , cod care este memorat in variabila system NULL. Acest character, dupa cum se va vedea, este folosit ca delimitator la siruri de caractere. char a;a=’c’+1;cout<<a ;Tipul de data char este de fapt tot un tip de data intreg. Are sens sa adunam un numar la o constanta sau la o variabila char.;a=’c’+1 // variabila a ia ca valoare codul ASCII a lui ‘c’ la care se aduna 1. Variabila a va contine codul ASCII a caracterului ‘d’. char q=’a’;q=q+3;cout<<q;Se va tipari caracterul ‘d’char q=’A’;q=q+32;cout<<q;Se va tipari caracterul ‘a’char a=’0’,b=’2’,c;c=a+b;cout<<c;‘0’ are codul ASCII 48‘2’ are codul ASCII 50Variabila a are valoarea 48Variabila b are valoarea 50c ia valoarea 48+50=98c contine codul ASCII 98 a caracterului ‘b’Se afiseaza caracterul’b’CITIREA si SCRIEREA caracterelorCITIREAchar a;cin>>a; Se scrie caracterul si se actioneaza <ENTER>a=getchar(); Se scrie caracterul si se actioneaza <ENTER>Daca la citire se introduc mai multe caractere, in variabila este preluat primul character.SCRIEREAcout<<a;putchar(a); putchar() si getchar() se afla in headerele conio.h si stdio.h FUNCTII SPECIFICE CARACTERELORAceste functii sunt:isalpha(c) furnizeaza 1, daca variabila character c contine codul ASCII a unei litere mici sau codul ASCII a unei litere mari, altfel furnizeaza valoarea 0;isdigit(c) furnizeaza 1, daca variabila character c contine codul ASCII a unei cifre zecimale , altfel furnizeaza valoarea 0;isalnum()furnizeaza 1, daca variabila character c contine codul ASCII a unei litere mici sau codul ASCII a unei litere mari sau codul ASCII a unei cifre, altfel furnizeaza valoarea 0;islower() furnizeaza 1, daca variabila character c contine codul ASCII a unei litere mici , altfel furnizeaza valoarea 0;isupper()furnizeaza 1, daca variabila character c contine codul ASCII a unei litere mari altfel furnizeaza valoarea 0;toupper() c=tolower(d) Daca d contine o litera mare, atunci c ia ca valoare litera mare corespunzatoaretolower() c=tolower(d) Daca d contine o litera mica, atunci c ia ca valoare litera mica corespunzatoareToate aceste functii se gasesc in biblioteca conio.h ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download