25
Constante. Variabile. Operatori și expresii. Conversii de tip Unitatea de învăţare nr. 4 CONSTANTE. VARIABILE. OPERATORI ŞI EXPRESII. CONVERSII DE TIP Cuprins Pagin a Obiectivele unităţii de învăţare nr. 4 2 4.1 Constante 2 4.1.1 . Constante numerice 2 4.1.2 . Constante de tip șir 3 4.1.2 . Constante de tip caracter 3 4.2 Variabile 4 4.2.1 . Declararea variabilelor 4 4.3. Operatori și expresii 6 4.3.1 . Operatori 6 4.3.2 Expresii 12 4.4 Conversii de tip 12 Test de autoevaluare 13 Lucrare de verificare – unitatea de învăţare nr. 4 14 Răspunsuri şi comentarii la întrebările din testele de autoevaluare 15 Recapitulare 15 1 Programarea calculatoarelor și limbaje de programare – Curs și aplicaţii

Curs FR - Unitatea de Invatare 4

  • Upload
    marius

  • View
    224

  • Download
    2

Embed Size (px)

DESCRIPTION

pclp

Citation preview

Caracteristici geometrice ale seciunilor Aspecte generale

Constante. Variabile. Operatori i expresii. Conversii de tip

Unitatea de nvare nr. 4 CONSTANTE. VARIABILE. OPERATORI I EXPRESII. CONVERSII DE TIPCuprinsPagina

Obiectivele unitii de nvare nr. 42

4.1Constante2

4.1.1.Constante numerice2

4.1.2.Constante de tip ir3

4.1.2.Constante de tip caracter3

4.2Variabile4

4.2.1.Declararea variabilelor4

4.3.Operatori i expresii6

4.3.1.Operatori 6

4.3.2Expresii12

4.4Conversii de tip12

Test de autoevaluare13

Lucrare de verificare unitatea de nvare nr. 414

Rspunsuri i comentarii la ntrebrile din testele de autoevaluare15

Recapitulare 15

Bibliografie unitatea de nvare nr. 416

OBIECTIVELE unitii de nvare nr. 4Principalele obiective ale Unitii de nvare nr. 4 sunt:

nelegerea noiunilor de constant i variabil i a diferenelor dintre acestea Folosirea corect a constantelor i variabilelor, funcie de valorile care trebuiesc prelucrate nvarea folosirii operatorilor n construirea expresiilor Recunoaterea situaiilor cnd se impune conversia de tip i realizarea conversiei Folosirea expresiilor

4.1. CONSTANTE

Constantele sunt valori fixe (numerice, caractere sau iruri de caractere), nealterabile prin program. Reprezentarea unei constante depinde de tipul su.

4.1.1. CONSTANTE NUMERICE

Constantele ntregi pot fi: zecimale, octale sau hexazecimale. Tipul poate fi precizat prin adugarea unui sufix sau este determinat de valoare, atunci cnd nu se utilizeaz sufix. Constantele zecimale au prima cifr diferit de 0.

Constantele de tip ntreg sunt specificate fr virgul. Pentru acestea, implicit, complilatorul stabilete tipul care ocup cea mai puin memorie. Tipul poate fi ns stabilit prin program, dac se utilizeaz sufixele U sau u, L sau l, UL, Ul sau ul pentru unsigned, long, respectiv unsigned long.

Constantele n virgul mobil se scriu cu punctul zecimal cu punct sau n forma cu exponent i pot fi de tip:

float, dac conin sufixul F sau f ,

long double, dac conin sufixul L sau l, sau

double , dac nu conin sufix.

Exemple de constante zecimale:

Tip de datExemple

int

long int

unsigned int

float

double

long double2, 234, 31000, -35

-56L, 35000

345U, 45000

45.834F, 4.78e-4F

123.67, -0.567

124.8L

Se pot utiliza i constante ntregi octale (n baza 8, cifre de la 0 la 7 ) sau hexazecimale (n baza 16, cifre de la 0 la 9, plus litere de la A la F ). Constantele ntregi octale au prima cifr 0, iar cele hexazecimale conin prefixul 0x sau 0X. Exemple:

int octal = 027; /* 23 in zecimal*/int hexa = 0x2A; /* 42 in zecimal*/4.1.2. CONSTANTE DE TIP IR

Un ir este un set de caractere ncadrate de ghilimele duble. De exemplu,

Acesta este un sir de caractere.

\tMesaj precedat de tab\n

irurile se memoreaz n tablouri de tip char, cu dimensiunea egal cu numrul de caractere, la care se adaug terminatorul de ir \0 i rmn n memorie pe toat durata execuiei programului.

irurile constante adiacente sunt concatenate i formeaz un singur ir:

Aceste siruri se

concateneaza.

n acest mod, se pot scrie iruri care ocup mai multe rnduri. Se mai poate utiliza i alternativa:

Sir scris pe\

doua randuri

De reinut!

A nu se confunda o constant ir de un caracter, de exemplu, a cu constanta de tip caracter a. n cazul irului, se folosesc ghilimele duble, iar n cazul caracterului, se folosesc apostrofuri.

4.1.3. CONSTANTE DE TIP CARACTERn general, constantele de tip caracter sunt caractere ncadrate de apostrofuri (ghilimele simple). Exist ns i caractere imposibil de introdus de la tastatur, cum ar fi caracterul de linie nou. Din acest motiv, limbajul C include i constante speciale, numite backslash caracter. Acestea sunt date n urmtorul tabel:

CodSemnificaie

\b

\f

\n

\r

\t

\

\

\0

\\

\v

\a

\N

\xNBackspace

Avans hrtie

Rnd nou

Retur de car

Spaiu de tabulare orizontal

Ghilimele duble

Ghilimele simple

Nul

Backslash ( \ )

Spaiu de tabulare vertical

Alert

Constant n octal ( N este constanta n octal )

Constant n hexazecimal ( N este constanta n hexazecimal )

De exemplu, urmtorul program emite o linie nou, un spaiu de intabulare i afieaz irul Mesaj.

#include

void main(void) {

cout=de la stnga la dreapta

De egalitate== !=de la stnga la dreapta

Atribuire i aritmetici binari= *= /= %= += -=de la dreapta la stnga

De reinut:

Deosebirea dintre operatorii == (relaional, de egalitate) i = (de atribuire) const n faptul c primul nu modific valoarea nici unuia dintre operanzii si, pe cnd cel de-al doilea modific valoarea operandului stng (vezi exemplul urmtor)

Operatori logici pe cuvnt

Operator

Semnificaie

Exemple

!

Not (negaie logic)

!(a==b)&&

And (conjuncie, i logic)

(a>b) && (b>c)

||

Or (disjuncie, sau logic)

(a>b) || (b>c)Aceti operatori pot fi aplicai datelor de tip ntreg, real sau caracter. Evaluarea unei expresii n care intervin operatorii logici se face conform tabelului de mai jos.

xy!xx&&yx||y

adevrat (1)adevrat (1)fals (0)adevrat (1)adevrat (1)

adevrat (1)fals (0)fals (0)fals (0)adevrat (1)

fals (0)adevrat (1)adevrat (1)fals (0)adevrat (1)

fals (0)fals (0)adevrat (1)fals (0)fals (0)

Expresia !expresie are valoarea 0 (fals) dac expresia-operand are o valoare diferit de zero i valoarea unu (adevrat) dac expresia-operand are valoarea zero.

Expresia expresie1||expresie2 are valoarea diferit de 0 (true) dac FIE expresie1, FIE expresie2 au valori diferite de zero.

Expresia expresie1 && expresie2 are valoarea diferit de 0 (true) dac AMBELE expresii-operand ( expresie1 i expresie2) au valori diferite de zero.

Prioritile operatorilor sunt indicate n tabelul urmtor:

Clas de operatoriOperatoriAsociativitate

Unari! - (unar) ++ --de la dreapta la stnga

Multiplicativi* / %de la stnga la dreapta

Aditivi+ -de la stnga la dreapta

Atribuire=de la dreapta la stnga

relaionali< >=de la stnga la dreapta

de egalitate== !=de la stnga la dreapta

logici&&de la stnga la dreapta

logici||de la stnga la dreapta

atribuire i aritmetici binari= *= /= %= += -=de la dreapta la stnga

Operatorul condiional ( ? )Este un operator ternar (necesit 3 operanzi), utilizat n construcii de forma:

expresie1?expresie2:expresie3

Se evalueaz expresia1. Dac aceasta are o valoare diferit de zero, atunci tipul i valoarea ntregii expresii vor fi aceleai cu tipul i valoarea expresiei2. Altfel (dac expresie1 are valoarea zero), tipul i valoarea ntregii expresii vor fi aceleai cu tipul i valoarea expresiei3. Deci operatorul condiional este folosit pentru a atribui ntregii expresii tipul i valoarea expresiei2 sau a expresiei3, n funcie de o anumit condiie. Acest lucru este echivalent cu:

Dac expresie1 diferit de zero

Atunci evalueaz expresie2

Altfel evalueaz expresie3

Exemplu:int semn=(x