tip Explicit în limba c

Pentru o distribuție explicită la o variabilă înainte de a fi indicate în paranteze nou nume de tip, de exemplu:

int X; int Y = 200; char C = 30; X = (int) C * 10 + Y; // variabila C se reduce la tipul int.

Dacă în acest exemplu ar fi tipul explicit nu a fost executată, compilatorul sugerat că expresia C * 10 + Y variabila X este setat pentru a fi 640, dar nu corect 3200. Ca rezultat al variabilei de tip acționare C este recunoscut de compilator ca 16 biți și eroarea descrisă mai sus nu apare.

1.1. operații aritmetice

Operațiile aritmetice de bază sunt plus ( '+'), scădere ( '-'), multiplicare ( '*') și diviziunea ( '/'). Ordinea operațiunilor în termeni în concordanță cu prioritatea lor. Operațiuni cu aceeași prioritate în expresia de la stânga la dreapta.

divizia Operation ( „/“) este realizată în funcție de tipul operanzilor. Dacă ambii operanzi sunt numere întregi, divizia întreg va fi. În cazul în care unul din operanzi este real, atunci rezultatul va fi real. De exemplu, să presupunem că variabila x este un tip întreg, tip real, AY. Tabelul de mai jos prezintă rezultatele pentru împărțirea diferitelor operanzilor:

Luați în considerare un al doilea exemplu. În cazul în care operațiunea de atribuire valoarea de expresie variabilă, expresia este evaluată mai întâi, și apoi este atribuit. Deoarece operanzii în al doilea exemplu sunt numere întregi, rezultatul diviziunii 7/3 la 2. Apoi, valoarea întreagă a 2 este convertit la valoarea reală a 2.000000 și atribuite unei variabile reale y.

Într-un al patrulea exemplu, înainte de a efectua tipul de operațiune diviziune este convertit dintr-un dividend în material. Prin urmare, divizia se va face fără pierderi de precizie.

Exemplul 1.1.1. Găsiți media a două numere întregi chisela și b.

Rezultatul calculului expresiei (a + b) / 2 poate fi un număr real. Prin urmare, diviziunea trebuie realizată cu păstrarea preciziei. Și pentru a fi convertit într-un tip valid pentru unul dintre operanzi. De exemplu, rezultatul poate fi calculat ca: res = (a + b) / 2.0. Programul este după cum urmează:

Funcționarea calculării unui reziduu Cu notat cu simbolul „%“. Când acest reziduu prin împărțirea numărului de negativ la pozitiv este negativ (deși restul matematic când împărțit la numărul n trebuie să fie între 0 don - 1 inclusiv).