Microsoft PowerPoint - CSharp-2-기초문법

Similar documents
Microsoft PowerPoint - 07-C#-2-기초문법.ppt [호환 모드]

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

PowerPoint Presentation

Microsoft PowerPoint - CSharp-10-예외처리

PowerPoint 프레젠테이션

C# Programming Guide - Types

PowerPoint Presentation

선형대수학 Linear Algebra

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - lec2.ppt

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint Presentation

K&R2 Reference Manual 번역본

Microsoft PowerPoint - ch07 - 포인터 pm0415

슬라이드 1

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint Presentation

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

JAVA PROGRAMMING 실습 08.다형성

Microsoft PowerPoint - chap06-1Array.ppt

강의 개요

JVM 메모리구조

C프로-3장c03逞풚

11장 포인터

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - chap11-포인터의활용.pptx

TEST BANK & SOLUTION

Microsoft PowerPoint - 2강

Java ...

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - Java7.pptx

금오공대 컴퓨터공학전공 강의자료

02장.배열과 클래스

Microsoft PowerPoint - chap03-변수와데이터형.pptx

C# 입문 : 이론과 실습

Design Issues

PowerPoint Template

PowerPoint 프레젠테이션

Microsoft PowerPoint - hci2-lecture4.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

설계란 무엇인가?

C++ Programming

OCW_C언어 기초

금오공대 컴퓨터공학전공 강의자료

Chapter 4. LISTS

PowerPoint 프레젠테이션

chap 5: Trees

슬라이드 1

KNK_C_05_Pointers_Arrays_structures_summary_v02

초보자를 위한 C# 21일 완성

Microsoft PowerPoint - hci2-lecture4 [호환 모드]

Tcl의 문법

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

설계란 무엇인가?

Microsoft PowerPoint - e pptx

슬라이드 1

02 C h a p t e r Java

4장.문장

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

adfasdfasfdasfasfadf

슬라이드 1

Microsoft PowerPoint - chap10-함수의활용.pptx

쉽게 풀어쓴 C 프로그래밍

gnu-lee-oop-kor-lec11-1-chap15

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Microsoft PowerPoint - chap05-제어문.pptx

OCW_C언어 기초

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - additional01.ppt [호환 모드]

03장.스택.key

윤성우의 열혈 TCP/IP 소켓 프로그래밍

Microsoft PowerPoint - [2009] 02.pptx

JAVA PROGRAMMING 실습 05. 객체의 활용

chap x: G입력

03_queue

PowerPoint Template

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

슬라이드 1

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

Microsoft PowerPoint - chap04-연산자.pptx

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

쉽게

Transcription:

2 장. C# 기초문법 자료형 제어문 배열 연산자 순천향대학교컴퓨터학부이상정 1 자료형 순천향대학교컴퓨터학부이상정 2

CTS CTS(Common Type System) 닷넷기반의여러언어에서공통으로사용되는자료형 언어별로서로다른자료형을사용할때발생할수있는호환성문제를해결 값 (Value) 형과참조 (Reference) 형을지원 CTS가제공하는모든자료형은 System.Object를상속받아구현 System.Object 클래스에서제공하는생성자와메서드를 CTS 가제공하는모든자료형에서호출가능 순천향대학교컴퓨터학부이상정 3 C# 자료형 값형 (Value Type) 과참조형 (Reference Type) 값형 실제데이터의값을저장 참조형 데이터에대한주소 ( 참조 ) 만을저장 스택 (stack) 영역에데이터저장 힙 (heap) 영역에데이터저장 순천향대학교컴퓨터학부이상정 4

값형 (1) 값형으로선언된변수는메모리의스택에할당 변수의선언과동시에메모리에생성되고, 변수의형에따라서메모리의할당크기결정 내장형과사용자정의형으로구분 내장형 (Built-in type) bool, char, int, long, float, double 등 사용자정의형 (User-Defined type) enum( 열거형 ), struct( 구조체형 ) 등 bool 형 System.Boolean 구조의별칭 참일경우 true, 거짓일경우 false char 형 char 형은 System.Char 구조의별칭 유니코드 (Unicode) 문자하나를저장할수있는자료형 순천향대학교컴퓨터학부이상정 5 값형 (2) 정수형 decimal 형 System.Decimal의별칭 최대 28 자리까지수를나타낼수있는자료형 (128 비트 ) 금융이나회계용프로그램을작성할경우유용하게사용 순천향대학교컴퓨터학부이상정 6

값형 (3) 부동소수점형 소수점이들어간실수를표현할수있는자료형 float (32 비트, System.Float 의별칭 ) double (64 비트, System.Double 의별칭 ) 열거형 숫자상수대신에상징적인이름의상수들의집합으로구성된자료형 구조체형 하나의자료형에여러형의변수를가질수있는자료형 3 장에서소개 순천향대학교컴퓨터학부이상정 7 참조형 참조형은객체를가르키는형 참조형은변수의선언과메모리의생성이분리 변수를선언하더라도객체의메모리가생성이되지않는다. 객체를생성할때메모리를힙으로부터생성해주는순간에참조형의변수에객체의참조를저장 클래스형, 인터페이스형, 델리게이트형, 배열형 3,4,5 장에서소개 클래스형중에서 C# 의기본내장형으로 object, string 형이있음 object는모든자료형의조상으로어떤값이든저장 GetType() 메서드 :.NET 프레임워크자료형 ToString() 메서드 : 문자열자료형값 string 형 문자열을저장하는자료형 순천향대학교컴퓨터학부이상정 8

using System; using System.Collections.Generic; using System.Text; 예제 2-1: 참조형예 namespace Ex2_1_Reference class Program static void Main(string[] args) object a = 22; object b = 3.14; object c = "abc"; Console.WriteLine("Value of a : 0", a); Console.WriteLine("Type of a : 0", a.gettype()); Console.WriteLine(); Console.WriteLine("Value of b : 0", b); Console.WriteLine("Type of b : 0", b.gettype()); Console.WriteLine(); Console.WriteLine("Value of c : 0", c); Console.WriteLine("Type of c : 0", c.gettype()); string u = " 순천향대학교 "; string d = " 컴퓨터학부 "; int g = 2005; string h = " 저는 " + u + d + g.tostring() + " 학번입니다."; Console.WriteLine(h); 순천향대학교컴퓨터학부 이상정 9 제어문 순천향대학교컴퓨터학부이상정 10

제어문 제어문은프로그램실행흐름을변경 C, C++ 에서제공하는제어문과유사 선택문 : if ~ else, switch 반복문 : for, while, do ~ while, foreach 기타제어문 : continue, break, goto foreach문 배열 (Array) 이나컬렉션 (collection) 에있는원소들을차례대로순회하는반복문 순천향대학교컴퓨터학부이상정 11 using System; namespace Ex2_2_Calculator class Program static void Main(string[] args) int x,,y, result = 0; char op; Console.Write(" 두숫자와연산자를입력하시오?(x+y) : "); x = Console.Read() -'0'; // Read 메서드는문자를읽음, 반환형은 int op = (char)console.read(); y = Console.Read() - '0'; switch (op) case '+': result = x + y; Console.WriteLine(x + " + " + y + " = " + result); break; case '-': result = x - y; Console.WriteLine(x + " - " + y + " = " + result); break; case '*': result = x * y; Console.WriteLine(x + " * " + y + " = " + result); break; case '/': result = x/y; Console.WriteLine(x + " / " + y + " = " + result); break; default: Console.WriteLine(" 연산자를잘못입력하였습니다?,"); break; 순천향대학교컴퓨터학부이상정 12 예제 2-2: Calculator l 예

예제 2-3: TotalSum 예 using System; namespace Ex2_3_TotalSum class Program static void Main(string[] args) int sum = 0; int[] arr = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; // foreach 문사용예 foreach (int i in arr) sum += i; Console.WriteLine("1 부터 10 까지합은 0 입니다. ", sum); 순천향대학교컴퓨터학부이상정 13 배열 순천향대학교컴퓨터학부이상정 14

배열 배열 (array) 배열은동일한자료의연속된집합 C# 에서는배열을객체로취급하고배열의각요소는인덱스를통해접근 C# 의모든배열은System.Array 클래스를상속받아구현 순천향대학교컴퓨터학부이상정 15 다차원배열 선언과동시에초기값지정가능 순천향대학교컴퓨터학부이상정 16

System.Array 클래스 순천향대학교컴퓨터학부이상정 17 예제 2-4: Array 예 (1) using System; using System.Collections.Generic; using System.Text; namespace Ex2_4_Array class Program static void Main(string[] args) int [] array = 9,4,7,2,10,3; int [] clone_array = new int[6]; // clone 함수테스트하기위해사용할배열 Console.WriteLine(" narray Rank 는 0", array.rank); Console.WriteLine("GetLength() : 배열이갖는요소의개수반환 => 0", array.getlength(0)); Console.Write("Sort() : 배열을오름차순으로정렬 => "); System.Array.Sort(array); for(int i=0; i < array.length ; i++ ) Console.Write(" 0 ", array[i]); Console.Write(" nreverse() : 배열을내림차순으로정렬 => "); System.Array.Reverse(array); for( int i=0; i < array.length ; i++ ) Console.Write(" 0 ", array[i]); // 출력 Console.Write( Write(" nclone() : 동일한내용을갖는배열을복사 => "); clone_array = (int[])array.clone(); // 리턴값이 object 형이므로형변환 for(int i=0; i < clone_array.length ; i++ ) Console.Write(" 0 ", clone_array[i]); // 출력 순천향대학교컴퓨터학부이상정 18

예제 2-4: Array 예 (2) Console.Write(" ngetlowerbound() : 배열의시작요소첨자반환 => "); Console.WriteLine(" 0 ", array.getlowerbound(0)); Console.Write( Write("GetUpperBound() : 배열의마지막요소첨자반환 => "); Console.WriteLine(" 0 ", array.getupperbound(0)); Console.Write("GetValue() : 선택된인덱스위치의요소값반환 => "); Console.WriteLine(" 0 ", array.getvalue(3)); Console.Write("SetValue() : 선택된인덱스위치에요소값저장 => "); array.setvalue(20,3); Console.WriteLine(" 0 ", array.getvalue(3)); Console.Write("Clear() : 배열의모든요소를초기화 => "); System.Array.Clear(array,0,array.Length); // 인덱스 0부터 arrry.length까지초기화 for( int i=0; i < array.length ; i++ ) Console.Write(" 0 ", array[i]); // 출력 순천향대학교컴퓨터학부이상정 19 가변배열 (jagged array) 배열요소마다차원과크기를다르게지정할수있는배열 예 배열의요소에배열이저장 int[][] myjaggedarray = new int[3][]; myjaggedarray[0] = new int[4]; myjaggedarray[1] = new int[2]; myjaggedarray[2] = new int[3]; 순천향대학교컴퓨터학부이상정 20

예제 2-5: JaggedArr 예 using System; using System.Collections.Generic; using System.Text; namespace Ex2_5_JaggedArr class Program static void Main(string[] args) int[][] arr_data = new int[5][]; arr_data[0] = new int[] 1, 2 ; arr_data[1] = new int[] 3, 4, 5 ; arr_data[2] = new int[] 6 ; arr_data[3] = new int[] 7, 8, 9, 10 ; arr_data[4] = new int[] 11, 12 ; for (int i = 0; i < 5; i++) Console.Write( Write(" n arr_data[0] = ", i); for (int j = 0; j < arr_data[i].length; j++) Console.Write(" 0 ", arr_data[i][j]); 순천향대학교컴퓨터학부이상정 21 ArrayList 클래스 Array 클래스보다많은기능을갖고있고편리하게사용할수있는클래스 배열의크기를임의로변화시킬수있으며다른타입의원소를배열에저장가능 System.Collections 네임스페이스에포함 C# 은다양한자료구조의컬렉션클래스 (collection class) 를제공 ArrayList, HashTable, Stack, Queue 등 object 형기반구성 순천향대학교컴퓨터학부이상정 22

ArrayList 클래스의주요속성과메서드 순천향대학교컴퓨터학부이상정 23 예제 2-6: ArrayList 예 using System; using System.Collections; using System.Text; namespace Ex2_6_ArrayList class Program static void Main(string[] args) int[] data = new int[3] 100, 200, 300; ArrayList al = new ArrayList(); // ArrayList 객체생성 al.add("c#"); ladd("c#") al.add(" 프로그래밍 "); al.addrange(data); al.reverse(2, 3); foreach (object ob in al) Console.WriteLine(ob); // ArrayList 끝에배열 data의요소를복사 // 인덱스 2부터 3개요소의순서를반대로 순천향대학교컴퓨터학부이상정 24

연산자 (1) 순천향대학교컴퓨터학부이상정 25 연산자 (2) checked, unchecked 연산자 정수형산술연산과변환에대한오버플로를검사하거나무시하도록제어하기위해사용 checked는변수의오버플로를검사하는연산자 unckeked 는변수가오버플로되어도이를무시하고잘린값을저장 예 ) unchecked(x*y); is 연산자 런타임시지정된형이서로호환되는동일한형인지를동적으로비교 예 ) if ((a is int) == true)) as 연산자 주어진값을지정한타입으로변환시키는연산자 캐스트연산과비슷하지만변환이가능하지않은경우에사용하면예외가발생하지않고대신 null이반환 예 ) if (b as string) == null) typeof 객체의형 (System::Type) 을반환하는연산자 예 ) typeof(int) // Int32 순천향대학교컴퓨터학부이상정 26

과제 1. 1~100 까지 3 의배수를구하여출력하는프로그램 한줄에10개씩출력 foreach 문사용 2. N 명의학생의이름, 주소, 전화번호를입력하고배열에저장한후화면에출력하는프로그램 데이터입력 : Console.ReadLine 메서드사용 데이터출력 : Console.WriteLine 메서드사용 이름과전화번호는배열에저장 주소는 ArrayList 에저장 순천향대학교컴퓨터학부이상정 27