Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaKlaudia Székely Megváltozta több, mint 6 éve
1
C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll
A kis és nagybetűk különböző jelentőséggel bírnak A program egységeit (blokkokat) kapcsos zárójelekkel jelöljük ({}) Kulcsszavak Megjegyzések: // egy sor komment, /* */ többsoros komment Névtér: virtuális doboz, amelyben a logikailag összefüggő osztályok, metódusok, stb. vannak
2
Változó típusok Egész típusok típus méret Leírás byte 1
Előjel nélküli 8 bites egész szám (0..255) sbyte Előjeles 8 bites szám ( ) short 2 Előjeles 16 bites egész szám ( ) ushort Előjel nélküli 16 bites egész szám ( ) int 4 Előjeles 32 bites egész szám ( ) uint Előjel nélküli 32 bites egész szám ( ) long 8 Előjeles 64 bites szám Ulong Előjel nélküli 64 bites szám
3
Változó típusok Valós és egyéb típusok Változó = Convert.to…(); típus
méret Leírás bool 1 Logikai típus, értéke igaz vagy hamis char 2 Egy Unicode karakter string Unikcode karakter szekvenciája float 4 Egyszeres pontosságú lebegőpontos szám double 8 Kétszeres pontosságú lebegőpontos szám object Minden típus őse Változó = Convert.to…();
4
Input, Output Input: Output: Változó = Console.Read();
Változó = Console.ReadLine(); b = int.TryParse(Console.ReadLine(), out g), ahol b bool, g egész típus Output: Console.WriteLine("{0:C}", 2.5); //2,5 Ft Console.WriteLine("{0:C}", -2.5); //-2,5 FT Console.WriteLine("{0:D5}", 25); //00025 Console.WriteLine("{0:E}", ); // E+005 Console.WriteLine("{0:F2}", 25); //25,00 Console.WriteLine("{0:F0}", 25); //25 Console.WriteLine("{0:G}", 2.5); //2.5
5
Output Output: Console.Write(”szöveg ”); Console.WriteLine(”szöveg”);
Console.WriteLine(”{0} {1}”, a,b); Console.WriteLine("{0,6} {1,6}", 123, 456); //jobbra Console.WriteLine("{0,-6} {1,-6}", 123, 456); //balra
6
Egyszerű elágazás
7
Kétirányú elágazás
8
Többirányú elágazás
9
if (feltétel1) { utasítás1; ..utasításn; } else if (feltétel2) else
Elágazás1 if (feltétel1) { utasítás1; ..utasításn; } else if (feltétel2) else
10
Elágazás2 switch(változó) { case érték1: utasítás1; ..utasításn;
break; case érték2: utasítás1; default: utasítás1; }
11
Ciklusok1
12
Ciklusok2
13
Ciklusok3
14
Ciklusok4
15
Ciklusok5
16
Ciklusok6
17
Ciklusok7
18
Ciklusok8
19
Ciklusok9
20
Ciklusok10
21
Ciklusok11
22
Ciklusok12
23
Ciklusok13 while(feltétel) { utasítás1; .. utasításn; } do
.. utasítasn; } while(feltétel); for (ini ; feltétel; léptetés) ..utasításn; foreach(típusnév változónév in kollekciónév) utasítás; break; continue;
24
Hozzáférési szintek private : csak struktúrán belülről érhető el
public : bárki elérheti ezt a mezőt internal : programon belülről (assembly) elérhető
25
String string s = ”alma”; Összefűzés: s = s + ”fa”; //almafa
Nagybetűs: s = s.ToUpper(); //ALMAFA Kisbetűs: s = s.ToLower(); //almafa Kivágás: string s1 = s.SubString(0,2); //al, ha nincs második paraméter a hosszáig Hossza: int l= s.Length; //6 Keresés: int l1= string.Indexof(’l’) //1, ha nincs, akkor az értéke -1 Összehasonlítás: int a = string.Compare(s1,s2) //1, ha a s2 előrébb van, mint s1, 0, ha egyforma, -1, ha s1 előrébb van, mint s2
26
Tömb, struktúra Tömbök: int[] szamok= new int[4];
int[,] numbers = new int[3, 2]; int[,] numbers = new int[3, 2] {{1,2}, {3,4}, {5,6}}; Struktúra: struct tanulo { public string nev; public double atlag; }; tanulo hallgato; hallgato.nev = ” Kis Pista”; hallgato.atlag = 5;
27
Alprogram Önálló feladattal rendelkező programegység
Azonosító, paraméter Eljárás, függvény Alprogram hívása
28
Alprogramok végrehajtása
29
Függvény, metódus FÜGGVÉNY: Metódus:
Láthatóság(static) visszatérési típus név(paraméterek) { Alprogram utasítástörzse return érték; } Metódus: Láthatóság(static) void név(paraméterek)
30
Paraméterek Bemenő Referencia Kimenő
31
Fájl kezelés System.IO StreamWriter StreamReader Exists
Write(string), Writeln(string) Read(), ReadLine() Close()
32
Objektum
33
Osztály Adatok, műveletek Alapelv: Egységbezárás Öröklés Sokoldalúság
34
Osztály2 Egységbezárás:
egyértelműen jelölve van, hogy milyen adatok és műveletek jellemzik metódus (eljárások, függvények) Öröklés Ős osztály Gyerek osztály
35
Feladat Írjon egy progamot hallgatói adatok rendezésére!
Hozzon létre egy tanulo nevű struktúrát, ami tartalmazza a hallgató nevét és átlagát! Írjon egy Beolvas nevű paraméter nélküli függvényt, ami beolvassa a hallgatók adatait egy „nevsor.txt” nevű text típusú fájlból. Visszatérési értéke a beolvasott hallgatók darabszáma. Írjon egy csere nevű metódust, ami a bemenő paraméterében megadott két hallgató adatát megcserélve adja vissza. Írjon egy Rendez nevű metódust, ami a paraméterében (mi szerint rendezze: névsor/átlag) megadott mód szerint rendezi az adatokat. Írjon egy Fajlbair paraméter nélküli metódust, ami az adatokat beírja egy text típusú fájlba.
36
1.Hozzon létre egy tanulo nevű struktúrát, ami tartalmazza a hallgató nevét és átlagát!
struct tanulo { public string nev; public double atlag; } static tanulo[] tankor = new tanulo[20]; static int n;
37
2.Írjon egy Beolvas nevű paraméter nélküli függvényt, ami beolvassa a hallgatók adatait egy „nevsor.txt” nevű text típusú fájlból. Visszatérési értéke a beolvasott hallgatók darabszáma. static int Beolvas() { StreamReader sr = new StreamReader("nevsor.txt"); string line; string s; byte i = 0; int h; while ((line = sr.ReadLine()) != null) h = line.IndexOf(";"); s = line.Substring(0, h); tankor[i].nev = s; s = line.Substring(h + 1); tankor[i].atlag = Convert.ToDouble(s); ++i; } sr.Close(); return i; static void Main(string[] args) n = Beolvas();
38
static void csere(ref tanulo a, ref tanulo b) { tanulo cs;
3. Írjon egy csere nevű metódust, ami a bemenő paraméterében megadott két hallgató adatát megcserélve adja vissza. static void csere(ref tanulo a, ref tanulo b) { tanulo cs; cs = a; a = b; b = cs; }
39
4. Írjon egy Rendez nevű metódust, ami a paraméterében (mi szerint rendezze: névsor/átlag) megadott mód szerint rendezi az adatokat. static void Rendez(int mi) { //Rendezés átlag és név szerint szerint for (int i = 0; i < n - 1; i++) for (int j = 0; j < n - 1; j++) if (mi == 1) if (tankor[j].atlag > tankor[j + 1].atlag) csere(ref tankor[j], ref tankor[j + 1]); } else if (string.Compare(tankor[j].nev, tankor[j + 1].nev) == 1)
40
Főprogramba a Rendez meghívása
static void Main(string[] args) { byte mi; n = Beolvas(); Console.Write("Mi szerint rendezzek (1: átlag, 2: névsor"); mi = Convert.ToByte(Console.ReadLine()); Rendez(mi); }
41
5. Írjon egy Fajlbair paraméter nélküli metódust, ami az adatokat beírja egy text típusú fájlba.
static void Fajlbair() { StreamWriter sw = new StreamWriter("nevsor.txt"); string s; for (int i = 0; i < n; i++) s = tankor[i].nev + ";" + tankor[i].atlag; sw.WriteLine(s); } sw.Close();
42
Végső főprogram static void Main(string[] args) { byte mi;
n = Beolvas(); Console.Write("Mi szerint rendezzek (1: átlag, 2: névsor"); mi = Convert.ToByte( Console.ReadLine()); Rendez(mi); Fajlbair(); Console.ReadLine(); }
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.