Jazyk C# a platforma.net

Podobné dokumenty
Jazyk C# a platforma.net

Programování v jazyce JavaScript

Zápis programu v jazyce C#

Úvod do programovacích jazyků (Java)

Algoritmizace a programování

Programování v jazyce JavaScript

5 Přehled operátorů, příkazy, přetypování

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

NPRG031 Programování II --- 2/2 Z, Zk

Algoritmizace a programování

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Jazyk C# - přístup k datům

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Jazyk C# - přístup k datům

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Paměť počítače. alg2 1

Programovací jazyk Pascal

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Programovací jazyk C++ Hodina 1

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Řídicí struktury. alg3 1

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Jazyk C# - přístup k datům

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

6. Příkazy a řídící struktury v Javě

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

URČITÝM ZPŮSOBEM PODOBNÉ

Úvod do programování. Lekce 1

Programování v C++ 1, 1. cvičení

Struktura programu, proměnné, konstanty, výrazy v jazycích C a C#

Větvení programů příkaz IF

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

Objektově orientované programování

NPRG031 Programování II 1 / :47:55

Operátory. Základy programování 1 Tomáš Kühr

Data, výrazy, příkazy

7. Datové typy v Javě

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Úvod do programování - Java. Cvičení č.4

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Výrazy, operace, příkazy

Formátové specifikace formátovací řetězce

Opakování programování

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

- jak udělat konstantu long int: L long velka = 78L;

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Algoritmizace a programování

NMIN201 Objektově orientované programování 2016/17 1 / :03:29

Racionální čísla, operátory, výrazy, knihovní funkce

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Výrazy, operace, příkazy

Programování v jazyce JavaScript

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr

Racionální čísla, operátory, výrazy, knihovní funkce

KTE / ZPE Informační technologie

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou

Úvod do programovacích jazyků (Java)

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Datové typy strana 29

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Jazyk C++, některá rozšíření oproti C

Algoritmizace a programování

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Prezentace a vysvětlení programového prostředí NXC

PŘETĚŽOVÁNÍ OPERÁTORŮ

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

2. Základy jazyka. Proměnné. Základy jazyka

Příkazy a řídicí struktury v Javě. Tomáš Pitner, upravil Marek Šabo

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Objekty jako zapozdření dat. začneme vytvářet vlastní objekty a třídy

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Jak v Javě příkazy, operace a výrazy. BD6B36PJV 00 Fakulta elektrotechnická České vysoké učení technické

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Transkript:

Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 1/9

// Zaklady jazyka C# (prvni cast) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace JazykCS { public partial class Form1 : Form { public Form1() { InitializeComponent(); private void btnpromenne_click(object sender, EventArgs e) { // celociselne typy int i, j, k; short s1, s2, s3; // tabulka datovych typu jazyka C# - viz help i = 1; s1 = 2; j = s1; // s1 = i; // nelze 32 bit do 16 s1 = (short)i; // provede - pretypovani (casting) NUTNE!! s1 = 1; s2 = 2; // s3 = s1 + s2; // nelze - MINIMALNI celosiselny typ je int!! /* prelozi takto: int t1, t2; t1 = s1; t2 = s2; s3 = t1 + t2; */ s3 = (short)(s1 + s2); // OK // pohybliva desetinna carka double d = 123.45e3; // decimal - uklada a zpracovava v desitkove soustave // (nikoli v modifikovane dvojkove) decimal dec = 123.45m; // suffix m = ulozit literal ve tvaru // decimal (ne v implicitnim double) float f = 3.1415f; // suffix f ulozi jako float, nikoli double P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 2/9

// boolean bool b; b = true; b = i > 0; // b = 1; // nelze - 1 neni typ boolean // object - lze pouzit pro ulozeni ruznych typu object o; o = 1; o = "Ahoj"; o = 1.2; // znaky char znak; znak = 'A'; // retezec string retezec = "ABCDEF"; // escape sekvence: \t - tabelator, \r - carriage return, // \n - line feed, \\ - backslash, \" - uvozovka, \' - apostrof... retezec = "Prvni\r\nDruhy\r\nTreti"; txtvystup.text = retezec; // Environment.NewLine // prenositelna nova radka txtvystup.text = "C:\\Data\\Texty\\Dopisy\\Dopis.txt"; // @ pred retezcem vypne \ jako zacatek escape sekvence txtvystup.text = @"C:\Data\Texty\Dopisy\Dopis.txt"; // string jako pole (presneji indexer) retezec = "ABCD"; znak = retezec[2]; // treti znak - C txtvystup.text = znak.tostring(); // retezec[2] = 'x'; // nelze - string jako pole je Read Only!! // definice konstant const int CISLO = 5; // CISLO = 1; // nelze - konstanta const int SEC_MIN = 60; const int MIN_HOD = 60; const int HOD_DEN = 24; // konstantni vyrazy (museji byt vyhodnotitelne v dobe prekladu) const int SEC_DEN = SEC_MIN * MIN_HOD * HOD_DEN; P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 3/9

private void btnoperatory_click(object sender, EventArgs e) { int i, j, k; // operatory aritmeticke + - * / % (modulo - zbytek po deleni) // celociselne deleni - jsou-li oba operandy celociselne i = int.maxvalue; txtvystup.text = i.tostring(); // celociselne preteceni (exception) je v C# standardne vypnute checked { // v tomto bloku testovat preteceni (unchecked - ne) // i = i + 1; // nepretece txtvystup.text = i.tostring(); // v pohyblive radove carce nepretece NIKDY (nevyvola vyjimku)! double d = double.maxvalue; d = d + d; if (double.isinfinity(d)) // test preteceni v pohyblive radove // carce txtvystup.text = "!!! NEKONECNO!!!"; else txtvystup.text = d.tostring(); // operator retezeni + txtvystup.text = "ABCD" + "xyz"; // automaticka konverze při retezeni txtvystup.text = "Cislo = " + 5; // + mezi retezcem a // NEretezcem - na NEretezec pouzije C#.ToString() // pozor na poradi pri retezeni!! (Mozno zmenit zavorkami) txtvystup.text = "Soucet je " + 2 + 3; // vypise Soucet je 23 txtvystup.text = 2 + 3 + " je soucet"; // vypise 5 je soucet // operator prirazeni = (vraci to, co se prirazuje); // asociativni zprava i = j = k = 5; // priradi 5 do vsech promennych i = (j = (k = 5)); // zpracuje takto // operatory relacni < <= > >=!= (nerovno) == (rovno - pozor!) /* // chyba v jazyce C i = 5; if (i = 1) { // mel napsat == // provede vzdy!! */ P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 4/9

// stejna chyba v jazyce C# i = -2; k = 3; bool b = i > 0; if (b = (k == 3)) { // chtel napsat == // provede vzdy // operatory logicke && - And, - Or,! - Not if ((i > 0) && (k < 5)) { // napr. // operatory bitove-logicke & - bitove And, - bitove Or, // ^ - bitove Xor, ~ bitove Not i = 3; 0011 k = 5; 0101 j = k & i; 0001 // operatory bitovych posuvu: vlevo << a vpravo >> i = 3; 0011 k = i << 2; //.00 1100 // pri posunu vpravo provadi LOGICKY posun (doplnuje nuly) pro // NEznamenkove typy, ARITMETICKY (opakuje znamenko) pro // znamenkove typy // bitove-logicke operatory lze pouzit jako LOGICKE: if ((i > 0) & (k == 3)){ // logicke operatory se vyhodnocuji ZKRACENE (pouze, co je treba)!! i = -2; if ((i > 0) && (1 < k++)){ // k++ se NEPROVEDE!! // bitove-logicke operatory se vyhodnocuji NEzkracene i = -2; if ((i > 0) & (1 < k++)){ // k++ se PROVEDE!! // ternalni (podmineny) operator k = (i > j)? i : j; // neprehanet!! k += (i++ > --i)? ++i + i-- : i-- - ++i; P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 5/9

int z; // definice NElokalni promenne (neni definovana ve funkci) private void btnprikazy_click(object sender, EventArgs e) { int i, j, k; // prirazovaci i = 5; // podminene if (i > 0) j = 3; if (i > 0) { i = 1; j = 2; k = 3; else { k = 3; j = 2; // cykly i = 8; while (i > 0) { i--; if (i == 4) // vyskoci z cyklu if ((i % 10) == 0) continue; // zacne dalsi cyklus // prikazy preskocene pomoci continue // break a continue i v dalších typech cyklu i = 8; do { i--; while (i > 0); for (i = 0; i < 8; i++) { for (i = 0; i < 8; i += 3) { // s krokem 3 for (i = 7; i >= 0; i--) { // sestupny P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 6/9

// for (; ; ) { // nekonecny cyklus for (int n = 0; n < 8; n++) { // definovani parametru cyklu // primo ve for // k = n; // nelze - n je LOKALNI v cyklu for (i = 0, j = 9; i < j; i++, j--) { // operator carka /* foreach (typprvku prvek in kolekceprvku) { */ // vetveni (switch) char roman = 'x'; int arab; switch (roman) { case 'i': arab = 1; case 'v': arab = 5; case 'x': arab = 10; case 'l': arab = 50; default: arab = 0; txtvystup.text = arab.tostring(); P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 7/9

// propadani s prazdnymi case je mozne char znak = 'i'; bool jesamohlaska; switch (znak) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': jesamohlaska = true; default: jesamohlaska = false; // propadani u neprazdnych case je zakazane (MUSI by break, // return, goto,...) Hloupy, ale funkcni priklad: int cislice = 8; int do10 = 0; switch (cislice) { case 0: // u NEPRAZDNYCH case je "propadani"nutne prikazat!! goto case 1; case 1: goto case 2; case 2: goto case 3; case 3: goto case 4; case 4: goto case 5; case 5: goto case 6; case 6: goto case 7; case 7: goto case 8; case 8: goto case 9; P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 8/9

case 9: // prikaz skoku if (i > 0) goto Hop; Hop: ; // navesti // LOKALNI promenne VNE a UVNITR bloku NESMEJI mit stejne jmena // int x; // nelze { int x; x = 1; int z; // NElokalni a LOKALNI promenne MOHOU mit stejne // jmeno!! z = 3; Vnitrni: ; // goto Vnitrni; // nelze skocit dovnitr bloku // x = 3; // nelze - x je lokalni v bloku { // zacatek bloku int x; // konec bloku P. Štěpán Jazyk C# a platforma.net BI-DNP, výpis 3 9/9