A nyelv alapelemei c #

1. Indítsa el a program töredékét, és magyarázza meg az eredményt: dupla a = 100, b = 33;

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

2. Megtudhatja, hogy mi lesz a művelet eredménye, és magyarázza el, hogyan jött létre ez az eredmény:

6. Addíció (+) és kivonás (-). Az összeadási és kivonási műveletek az egész és a valós adattípusokra vonatkoznak. Más típusok esetén ezek a műveletek akkor alkalmazhatók, ha implicit módon teljes vagy valós típusúvá alakíthatók.

7. Relációs tevékenységek ( <, <=,>,> =, ==. =). A relációs műveletek összehasonlítják a bal és jobb operandusok értékeit. A művelet eredménye logikai típus: true - ha az értékek megegyeznek, egyébként hamis. Tekintsük a műveleteket egy példa alapján:

statikus üres Main ()

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

Console.WriteLine (i<=j); //меньше или равно Console.WriteLine(i>j); // több Console.WriteLine (i> = j); // nagyobb vagy egyenlő a Console.WriteLine (i == j); // egyenlő a Console.WriteLine (i! = j); // nem egyenlő

A program eredménye:

Feladat. Tudja meg, mi a következménye ennek a kifejezésnek: 1) 10<25<30 2) true

És magyarázd el, hogy ez az eredmény kiderült.

8. Logikai műveletek: AND (), OR (||).

Logikai műveleteket alkalmaznak a logikai típusú operandusokra.

Az AND művelet eredménye csak akkor igaz, ha mindkét operandus igaz.

A logikai OR művelet eredménye csak akkor igaz, ha legalább az operandusok egyike igaz.

Tekintsük a műveleteket egy példa alapján:

statikus üres Main ()

Console.WriteLine ("x y x és y x vagy y");

Console.WriteLine ("", hamis, hamis, hamis hamis, hamis || hamis); Console.WriteLine ("", hamis, igaz, falsetrue, false || true);

A nyelv alapelemei c #

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

A program eredménye:

Megjegyzés. Tény, hogy a logikai AND és OR műveletekre igazságtáblát állítottak össze.

Feladat. Magyarázza el, hogy a t változó milyen értékkel jár a program e töredékében:

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

9. Feltételes működés.

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

Az Operand1 egy logikai kifejezés, amelyet egyenértékűségként értékelnek a valós és hamis állandókkal. Ha a számítási operand1 eredménye igaz, akkor a feltételes művelet eredménye az operand2 értéke, különben az operand3. Valójában a feltételes művelet a feltételes üzemeltető rövidített formája, ha ezt később figyelembe veszik.

Példa a feltételes működésre:

statikus üres Main ()

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

Feladat. Módosítsa a programot úgy, hogy:

1) kiszámítottuk az x és y valós számok legkisebb értékét;

2) ha a szám két számjegyű, akkor a képernyőn az "Igen" és a "Nem" felirat jelenik meg.

10. Hozzárendelési műveletek: =, + =, - = stb.

Az egyszerű hozzárendelési művelet formátuma (=):

E művelet eredményeként a -1 operandus értékét kiszámítjuk, és az eredményt operand_2-re írjuk. Több megbízó operátort köthet össze az alábbi karakterláncokkal: a = b = c = 100. Az ilyen típusú kifejezést jobbról balra végezzük: a végrehajtás eredménye c = 100 a 100-as szám, amelyet ezután a b változóhoz rendelünk, ami ismét 100-at eredményez, amely az a változóhoz van hozzárendelve.

Az egyszerű hozzárendelési művelet mellett összetett hozzárendelési műveletek is léteznek. például szorzás a hozzárendelés (=), Division hozzárendelés (/ =), a maradék Division hozzárendelés (% =), felül hozzárendelés (+ =), kivonás és hozzárendelés (- =), stb

A nyelv alapelemei c #

Bonyolultabb hozzárendelési műveleteknél, például amikor egy hozzárendelést ad hozzá,

Az Operand-1 hozzá van adva az operand-2-nek, és az eredmény az operand-2-re íródik. Vagyis a c + = a kifejezés a c = c + a kifejezés kompaktabb rekordja.

Feladat. Magyarázza meg, hogy milyen értékek lesznek a t és b változók a program e töredékének végrehajtása után:

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

Kifejezések és típusváltások

A kifejezés egy olyan nyelv szintaktikai egysége, amely meghatározza egy érték értékének meghatározását. Az kifejezések operandusokból, műveletekből és zárójelekből állnak. Mindegyik operandus viszont egy kifejezés vagy annak egyike - egy állandó, egy változó vagy függvény.

Megjegyzés. A C #-ban végrehajtott matematikai függvények listáját a 2. függelék tartalmazza.

A kifejezés kiértékelésének eredményét az értéke és típusa jellemzi. Például, ha a és b egy egész típusú változó, és az alábbiak szerint írható le:

akkor az a + b kifejezésnek értéke 7 és int típusú.

A kifejezés különböző típusú operandusokat tartalmazhat. Ha az operandusok ugyanolyan típusúak, a művelet eredménye azonos típusú lesz. Ha az operandusok különbözőek, akkor a számítás előtt a rövidebb típusokat hosszabbnak kell átalakítani, hogy megőrizzék a szignifikanciát és a pontosságot. Az adattípus-hierarchia az alábbi ábrán látható:

A nyelv alapelemei c #

A kifejezések konverziója implicit módon történik (a programozók részvétele nélkül) az alábbiak szerint. Ha az egyik operandus a másiknál ​​alacsonyabb szinten van ábrázolva, akkor a második operandus típusára csökken, ha közöttük van egy útvonal. Ha nincs elérési út, akkor fordítási hiba lép fel (ennek elkerülése érdekében explicit konverzió műveletet kell használnia). Ha több konverziós mód létezik, akkor a legrövidebb, nem pontozott vonalakat választja ki.

Térjünk vissza az előző szakaszhoz tartozó explicit konverzió műveletéhez:

statikus üres Main ()

int i = -4; byte j = 4;

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

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

Az 1. sorban megadhatod az explicit típusú konverziót, azaz akkor írhatunk a = j-t A type hierarchia típusának típusa magasabb, mint a bájt típusa, és van egy út a bájt típus implicit konverziójához. Azonban nincs mód az implicit konverzióra az int -től a totálig, tehát nem írhatunk b = i-t a 2. sorban - a fordító hibaüzenetet fog megjeleníteni.

Megjegyzés. Tekintsünk egy fontos példát. A C ++-ban, mondjuk a következő töredéket

Ebben a példában a 3. sorban az x változó típusának implicit konverziója megy végbe, azaz. írja be az int parancsot a logikai típusba. Ebben az esetben, ha x értéke 0 (vagy null a referenciatípusokhoz), akkor logikai értéke hamis, az összes többi érték logikai értéke true. A mi esetünkben az x változó nem nulla értéket vesz fel, így azt igazra kell konvertálni, és az 1 értéket az y változóra írjuk.

A C #-ban implicit konverzió nem lehetséges. Szükséges elvégezni az x értékének 0-mal történő összehasonlítását. Például az alábbiak szerint:

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

A nyelv alapelemei c #

Példák a gyakorlati problémák megoldására

1. Írjon be egy olyan programot, amely kiszámítja a négyzet alakú területet, amelynek pereme p.

A probléma megoldására vonatkozó utasítások. Mielőtt programot készítünk, matematikai érvelést fogunk megtenni. Adjon egy négyzetet az oldallal a, majd:

A program eredménye:

Feladat. Módosítsa a programot úgy, hogy számolja annak a négyzetnek a kerületét, amelynek területe s

2. Határozza meg, hogy a természetes kétjegyű számjegyek összege egyenletes-e.

A probléma megoldására utaló jel. Emlékezzünk arra, hogy a szám akkor is megegyezik, ha az adott szám 2-el történő elosztása fennmaradó része nulla. És annak érdekében, hogy bővítse a kétjegyű szám a számokat, meg kell osztani akkor osztható 10 - így találjuk a legjelentősebb számjegye, majd vegye a fennmaradó osztás 10 az eredeti szám - így megtaláljuk a legkisebb helyiértékű.

a Rendszer használatával; névtér Példa

statikus üres Main ()

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

string result = ((a / 10 + a% 10)% 2 == 0)? "még": "furcsa"; Console.WriteLine (eredmény);

A nyelv alapelemei c #

Feladat. Módosítsa a programot úgy, hogy meghatározza, hogy a háromjegyű számjegyek összege páratlan-e.

A független munka elvégzése

I. Írj egy programot, amely párbeszédet folytat a felhasználóval:

1) két egész számot kér a billentyűzetről, és megjeleníti a számok összegét:

2) a billentyűzetről két egész számot kér, és megjeleníti a számok összegét előre és fordított sorrendben:

3) három egész számot kér a billentyűzetről, és megjeleníti a számok összegét:

4) a billentyűzetből két valós számot kér, és megjeleníti a számok termékeit (az igazi számok egy tizedes pontossággal kerülnek kiosztásra):

5) kéri a billentyűzetből két valós számot, és megjeleníti az eredményt az első szám második felosztásával (a valós számok három tizedes pontossággal vannak megadva):

A nyelv alapelemei c #

6) a billentyűzetből három valós számot kér, és a következő üzenetet jeleníti meg (az igazi számok két tizedes pontossággal vannak megadva):

7) megkérdezi a felekezet címletét és a jegyzetek számát a billentyűzetről, és megjeleníti a következő üzenetet:

8) a betét összegét és kamatát kéri a billentyűzetről, és megjeleníti a következő üzenetet (tőkésítés nélküli hozzájárulás - az év végi összes elhatárolás):

9) a billentyűzetből a befizetési összeget és a betéti kamatot kérte, és megjeleníti a következő üzenetet (tőkésítés nélküli hozzájárulás - az év végi összes elhatárolás):

II. Írj egy olyan programot, amely számít:

1) egy egyenlő oldalú háromszög területe, amelynek kerületén p egyenlő;

2) az x1, y1 és x2, y2 koordináták közötti pontok közötti távolság;

3) egy derékszögű háromszög hipotenusza a két adott a, b.

4) egy derékszögű háromszög területe két a lábak mentén a, b.

5) a jobb háromszög két lábon álló peremének a, b.

6) a kocka pereme, amelynek teljes felülete egyenlő s-vel;

7) egy kocka élét, amelynek térfogata v;

8) a háromszög kerületét, amelyet az x1, y1, x2, y2, x3, y3 csúcsok koordinátái adnak;

9) az x1, y1, x2, y2, x3, y3 csúcsok koordinátáinak által adott háromszög területe;

10) az aritmetikai progresszió feltételeinek összege, ha első szakasza ismert, a progresszió különbsége és száma

III. Írj egy olyan programot, amely meghatározza:

1) a természetes kétjegyű szám legnagyobb számjegye;

2) a természetes kétjegyű szám legkisebb számjegye;

3) hogy egy adott kétjegyű számjegy azonosak-e;

4) a kétjegyű számjegyek összege 0-vel végződik-e;

5) a kétjegyű számjegyek összege többszörös;

6) a kétjegyű számjegyek összege az A szám többszöröse;

7) melyik a háromjegyű számjegyek közül melyik nagyobb: első vagy utolsó;

8) a háromjegyű számjegyek közül melyik nagyobb: első vagy második;

9) a háromjegyű számjegyek közül melyik nagyobb: a második vagy az utolsó;

10), hogy a háromjegyű szám összes számjegye megegyezik-e.

Kapcsolódó cikkek