Elementele de bază ale limbajului c #

1. Rulați fragmentul programului și explicați rezultatul: dublu a = 100, b = 33;

Console.WriteLine (a / b); dublu d = 100/33; Console.WriteLine (d);

2. Aflați care este rezultatul operațiunii și explicați cum a rezultat acest rezultat:







6. Adăugarea (+) și scăderea (-). Operațiile de adăugare și scădere sunt aplicabile pentru tipurile de date întregi și reale. Pentru alte tipuri, aceste operațiuni sunt aplicabile dacă pot fi convertite implicit în tipuri întregi sau reale.

7. Operațiuni relaționale ( <, <=,>,> =, ==. =). Operațiile relaționare compară valorile operanților stânga și dreapta. Rezultatul operației este de tip logic: adevărat - dacă valorile sunt aceleași, altfel false. Să luăm în considerare operațiile pe un exemplu:

static void Principalul ()

int = 15, j = 15; Console.WriteLine (i

Console.WriteLine (i<=j); //меньше или равно Console.WriteLine(i>j); // mai mult Console.WriteLine (i> = j); // mai mare sau egal cu Console.WriteLine (i == j); // este egal cu Console.WriteLine (i! = j); // nu este egal cu

Rezultatul programului:

Sarcină. Aflați care este rezultatul acestei expresii: 1) 10<25<30 2) true

Și explicați cum a rezultat acest rezultat.

8. Operații logice: AND (), OR (||).

Operațiile logice sunt aplicate operanzilor de tip logic.

Rezultatul operației AND este adevărat dacă și numai dacă ambii operanzi sunt adevărați.

Rezultatul operației logice OR este adevărat dacă și numai dacă cel puțin unul dintre operanzi este adevărat.

Să luăm în considerare operațiile pe un exemplu:

static void Principalul ()

Console.WriteLine ("x y x și y x sau y");

Console.WriteLine ("", false, false, false false, false | false); Console.WriteLine ("", fals, adevărat, falsetrue, false || true);

Elementele de bază ale limbajului c #

Console.WriteLine ("", true, false, truefalse, true || false); Console.WriteLine ("", adevărat, adevărat, truetrue, adevărat || adevărat);

Rezultatul programului:

Notă. De fapt, a fost construit un tabel de adevăr pentru operațiile logice AND și OR.

Sarcină. Explicați ce valoare va avea variabila t în acest fragment al programului:

bool t = (a> = b a! = 2 * b || o<0);

9. Operare condiționată.

Format :(<операнд1>)? <операнд2>. <операнд3>;

Operand1 este o expresie logica care este evaluata prin echivalenta sa cu constantele adevarate si false. Dacă rezultatul calculului operand1 este adevărat, atunci rezultatul operației condiționale este valoarea operand2, altfel operand3. De fapt, operația condiționată este o formă abreviată a operatorului condițional dacă, care va fi luată în considerare ulterior.

Exemplu de operare condiționată:

static void Principalul ()

int max = (x> y). x. y; Console.WriteLine (max);

Sarcină. Modificați programul astfel:

1) a fost calculată cea mai mică valoare a două numere reale x și y;

2) dacă numărul este de două cifre, atunci ecranul afișează "Da" și "Nu" altfel.

10. Operații de asignare: =, + =, - = etc.

Formatul operației de atribuire simplă (=):

Ca rezultat al acestei operații, valoarea operandului -1 este calculată și rezultatul este scris la operand_2. Puteți lega mai mulți operatori de atribuire împreună prin scrierea următoarelor șiruri de caractere: a = b = c = 100. O expresie de acest tip este executată de la dreapta la stânga: rezultatul executării c = 100 este numărul 100, care este apoi alocat variabilei b, care rezultă din nou în 100, care este atribuită variabilei a.

În plus față de operațiunile de atribuire simple sunt complexe operator de atribuire. de exemplu, înmulțirea cu asignarea (=), atribuire divizare (/ =), restul de atribuire divizare (% =), asignarea plus (+ =), scăderea și atribuire (- =), etc.

Elementele de bază ale limbajului c #

În operațiile complexe de atribuire, de exemplu, atunci când adăugați la o sarcină,

Operand-1 este adăugat la operand-2, iar rezultatul este scris în operand-2. Aceasta este expresia c + = a este o înregistrare mai compactă a expresiei c = c + a.

Sarcină. Explicați valorile pe care le vor lua variabilele t și b după executarea acestui fragment al programului:

int a = 10, b = 3; int t = (a ++) - b; int b + = t * a;

Expresii și conversii de tip

O expresie este unitatea sintactică a unei limbi care definește modul în care este evaluată o anumită valoare. Expresiile constau în operanzi, operații și paranteze. Fiecare operand este, la rândul său, o expresie sau unul dintre cazurile sale specifice - o constantă, o variabilă sau funcții.







Notă. O listă de funcții matematice implementate în C # este prezentată în Anexa 2.

Rezultatul evaluării unei expresii este caracterizat de valoarea și tipul acesteia. De exemplu, dacă a și b sunt variabile de tip întreg și sunt descrise după cum urmează:

atunci expresia a + b are o valoare de 7 și un tip int.

Expresia poate conține operanzi de diferite tipuri. Dacă operanzii sunt de același tip, rezultatul operației va fi de același tip. Dacă operanzii sunt de diferite tipuri, atunci înainte de calcul, tipurile mai scurte sunt convertite în cele mai lungi, pentru a păstra semnificația și precizia. Ierarhia tipului de date este prezentată în următoarea diagramă:

Elementele de bază ale limbajului c #

Conversia de tip în expresii are loc implicit (fără participarea programatorilor) după cum urmează. Dacă unul dintre operanzi este de tipul descris la un nivel inferior celuilalt, acesta este redus la tipul celui de-al doilea operand dacă există o cale între ele. Dacă nu există nici o cale, atunci apare o eroare de compilare (pentru ao evita, trebuie să utilizați operația unei conversii explicite). Dacă există mai multe moduri de conversie, atunci este selectată cea mai scurtă, fără linii punctate.

Să revenim la operația unei conversii explicite din secțiunea anterioară:

static void Principalul ()

int i = -4; byte j = 4;

int a = (int) j; // 1 octet b = (octet) i; // 2

Console.WriteLine ("", a, b);

În linia 1, puteți renunța la o conversie de tip explicită, adică putem scrie a = j, deoarece tip int în ierarhia de tip este mai mare decât tipul de octet și există o cale pentru o conversie implicită a tipului de octet la int. Dar nu există nici o modalitate de conversie implicită de la int la tote după tip, deci nu puteți scrie b = i în rândul 2 - compilatorul va afișa un mesaj de eroare.

Notă. Să luăm în considerare un exemplu important. În C ++, să spunem fragmentul următor

În acest exemplu, în linia 3 se produce tip implicit variabilă de conversie, adică tip int, la tipul logic. În acest caz, dacă x are valoarea 0 (sau nul pentru tipurile de referință), atunci i se atribuie o valoare logică este falsă, toate celelalte valori din valoarea logică respectivă a pus adevărată. În acest caz, variabila x are o valoare nenulă, deci va fi convertit la valoarea reală, și scrisă în variabila y este 1.

În C #, nu este posibilă o conversie implicită. Este necesar să se efectueze operația de comparare a valorii lui x cu 0. De exemplu, după cum urmează:

int y = (x! = 0)? 1: 2; // 3

Elementele de bază ale limbajului c #

Exemple de rezolvare a problemelor practice

1. Scrieți un program care calculează suprafața unui pătrat al cărui perimetru este p.

Instrucțiuni pentru rezolvarea problemei. Înainte de a face un program, vom face un raționament matematic. Să se dea un pătrat cu partea a, apoi:

Rezultatul programului:

Sarcină. Modificați programul astfel încât să numere perimetrul unui pătrat a cărui zonă este s

2. Determinați dacă suma cifrelor unui număr natural din două cifre este egală.

O indicație privind soluționarea problemei. Să ne amintim că numărul este un număr par, în cazul în care restul de împărțirea acestui număr de 2 este egal cu zero. Și pentru a extinde numărul de două cifre la numerele, trebuie să-l împartă în mod egal divizibil cu 10 - astfel încât să găsim cea mai semnificativă cifră a numărului, și apoi să ia restul împărțirii de către 10 din numărul inițial - deci vom cifre semnificative găsi.

utilizând Sistemul; namespace Exemplu

static void Principalul ()

octet a = byte.Parse (Console.ReadLine ());

rezultatul șirului = ((a / 10 + a% 10)% 2 == 0)? "chiar": "ciudat"; Console.WriteLine (rezultat);

Elementele de bază ale limbajului c #

Sarcină. Modificați programul astfel încât să determine dacă suma cifrelor din numărul de trei cifre este ciudată.

Sarcini pentru munca independentă

I. Scrieți un program care pune în aplicare un dialog cu utilizatorul:

1) solicită două numere întregi de la tastatură și afișează suma acestor numere:

2) solicită de la tastatură două numere întregi și afișează suma acestor numere în ordine inversă și inversă:

3) solicită trei numere întregi de la tastatură și afișează suma acestor numere:

4) solicită de la tastatură două numere reale și afișează produsul acestor numere (numerele reale sunt afișate cu o precizie de 1 zecimală):

5) solicită de la tastatură două numere reale și afișează rezultatul împărțirii primului număr cu cel de-al doilea (numerele reale sunt afișate cu o precizie de 3 zecimale):

Elementele de bază ale limbajului c #

6) solicită trei numere reale de la tastatură și afișează următorul mesaj (numerele reale sunt afișate cu o precizie de 2 zecimale):

7) solicită denominarea denumirii și numărul de note de la tastatură și afișează următorul mesaj:

8) solicită suma depozitului și dobânda la depozitul de la tastatură și afișează următorul mesaj (contribuție fără capitalizare - toate acumulările la sfârșitul anului):

9) solicită de la tastatură suma depozitului și dobânda la depozit și afișează următorul mesaj (contribuție fără capitalizare - toate acumulările la sfârșitul anului):

II. Scrieți un program care contează:

1) aria unui triunghi echilateral al cărui perimetru este egal cu p;

2) distanța dintre punctele cu coordonatele x1, y1 și x2, y2;

3) hypotenuse a unui triunghi în unghi drept în conformitate cu cele două picioare date a, b.

4) zona unui triunghi în unghi drept de-a lungul a două picioare a, b.

5) perimetrul unui triunghi drept de-a lungul a două picioare a, b.

6) marginea cubului a cărui suprafață totală este egală cu s;

7) marginea unui cub a cărui volum este v;

8) perimetrul triunghiului dat de coordonatele nodurilor x1, y1, x2, y2, x3, y3;

9) aria triunghiului dat de coordonatele nodurilor x1, y1, x2, y2, x3, y3;

10) suma termenilor progresiei aritmetice, dacă primul său termen este cunoscut, diferența și numărul de termeni ai progresiei

III. Scrieți un program care definește:

1) cea mai mare cifră din numărul natural din două cifre;

2) cea mai mică cifră din numărul natural din două cifre;

3) dacă cifrele unui număr dat din două cifre sunt identice;

4) dacă suma cifrelor unui număr din două cifre se termină cu 0;

5) dacă suma cifrelor unui număr din două cifre este un număr multiplu;

6) suma cifrelor unui număr de două cifre este un număr multiplu al numărului A;

7) care dintre cifrele numărului de trei cifre este mai mare: prima sau ultima;

8) care dintre cifrele numărului de trei cifre este mai mare: prima sau a doua;

9) care dintre cifrele numărului de trei cifre este mai mare: al doilea sau ultimul;

10) dacă toate cifrele numărului de trei cifre sunt identice.







Articole similare

Trimiteți-le prietenilor: