다차원 배열의 개념
다차원 배열이 실제 메모리에 저장되는 방식
과제1
몇 명의 정보를 입력할 지 정하세요 :
1번째 사람의 키를 입력하세요(cm) :
1번째 사람의 몸무게를 입력하세요(kg) :
2번째 사람의 키를 입력하세요(cm) :
2번째 사람의 몸무게를 입력하세요(kg) :
...
...
n번째 사람의 키를 입력하세요(cm) :
n번째 사람의 몸무게를 입력하세요(kg) :
1번째 사람의 BMI 지수는 ##.##으로 (비만/정상/저체중)입니다
2번째 사람의 BMI 지수는 ##.##으로 (비만/정상/저체중)입니다
...
n번째 사람의 BMI 지수는 ##.##으로 (비만/정상/저체중)입니다
(단 정보를 2차원 배열로 저장할 것)
비만 인원 : #명
과체중 인원 #명
저체중 인원 : #명
정상 인원 : #명
가변 길이 배열
코드 참조
NCS 단위 시험 7월 31일
함수
#region [함수 개요]
// 함수는 코드의 재활용을 위해 사용한다.
// 함수는 어떠한 기능 수행하기 위한 여러 명령어들의 모음이다.
// 함수는 실행할 때 메모리 할당을 받고, 실행이 끝나면 메모리를 해지한다.
// 함수는 스택 메모리에 저장된다.
// 큰 의미에서 함수는 2가지 종류로 나눌 수 있다. 하나는 [표준 함수]이고 다른 하나는 [사용자 정의 함수]이다.
// 일반적으로 함수라고 하면 [사용자 정의 함수]를 의미한다.
// 사용자 정의 함수를 만들 때 주의 사항
// 1. C#에서, 함수는 함수 안에 만들 수 없으며, 클래스 밖에서 만들 수 없다.
// 2. 함수는 한정자 중 접근 지정 한정자를 꼭 지정해야 한다. 지정하지 않으면 private로 설정된다.
// 함수의 문법
// {한정자} {반환형} {함수명}({매개변수 자료형} {매개변수명}, ....)
// {
// 명령;
// 또 다른 명령;
// ..
// }
// 접근 한정자 : public, protected, private 이 있다. 지정하지 않으면 기본적으로 private로 설정된다.
// 반환형 : 함수가 모든 실행을 마치고 외부에 반환 시킬 값의 형태(자료형)를 지정하는 부분
// 함수명 : 함수의 이름을 부여하는 부분이며, 함수를 사용할 때 이 이름으로 호출하게 됨.
// 함수명은 자유롭게 지을 수 있으나, 함수의 기능에 맞게 정하는 것이 권장된다.
// 매개변수자료형 매개변수명 : 함수 밖에서 값을 받아와 함수 안에서 사용 할 수 있게 해준다.
// 필요한 만큼 만들 수 있으며, 생략할 수도 있다.
#endregion
접근 지정 한정자
public : class 밖의 다른 곳에서도 쓸 수 있음
private : class 안에서만 쓸 수 있음
protected : class 안과 해당 class를 상속한 클래스에서 쓸 수 있음
static 한정자
일반적으로 class 안의 함수들은 모두 동적이며 new 키워드를 통해 클래스를 생성해야만 사용할 수 있다
하지만 static 한정자를 사용한 함수는 정적 함수가 되어 new로 생성하지 않고도 사용할 수 있다. 대신 static 함수는 여러 제약이 따르며 대표적인 제약이 멤버 변수(class 안의 변수)를 사용할 수 없다는 것이다.
// 반환값과 매개변수가 없는 함수
static void test1()
{
Console.WriteLine("Hello World!");
}
static void main()
{
test1(); // test1 이 정적(static) 함수가 아니면 실행할 수 없음
}
매개변수
함수 밖에서 값을 받아와 함수 안에서 사용 할 수 있게 해준다.
필요한 만큼 만들 수 있으며, 생략할 수도 있다.
// 반환값과 매개변수가 없는 함수
static void test1()
{
Console.WriteLine("Hello World!");
}
// 반환값은 있고 매개 변수가 없는 함수
static float test2()
{
return (float)rd.NextDouble() * 10000;
}
// 반환 값은 없고 매개 변수가 있는 함수
static void test3(string myText)
{
Console.WriteLine(myText);
}
// 반환값과 매개 변수가 있는 함수
static int test4(int myInt)
{
return myInt * myInt;
}
함수에 대한 주석 달기 (비주얼 스튜디오와 연동되어 함수에 마우스 올리면 메시지 보이게됨)
함수 위에 커서를 두고 "/"키를 3번 연속 누르면
/// "/" 키를 3번 연속 눌러 아래 양식 자동 생성 가능 /// <summary> /// 시작숫자부터 끝 숫자까지 플래그에 따라 전체, 홀수, 짝수를 출력함 /// </summary> /// <param name="start">시작 숫자</param> /// <param name="end">마지막 숫자</param> /// <param name="flag">플래그. 0:전체, 1: 홀수, 2: 짝수</param> /// <returns></returns>
위와 같이 생성되며 여기에 함수에 대한 설명을 넣을 수 있다
[과제2]
(화면에 숫자를 출력하는 함수를 만듭니다.
외부에서 출력할 숫자의 시작 숫자와 마지막 숫자를 받아서 사용합니다.
여기에 하나의 플래그를 둬서 플래그에 따라 전체숫자 출력(0), 홀수만 출력(1), 짝수만 출력(2)을 할 수 있도록 만들어주세요.
그리고 총 몇 개의 숫자를 출력했는지 반환해야합니다.)
출력 시작 숫자를 입력하세요:
출력 마지막 숫자를 입력하세요 :
출력 플래그를 선택하세요 (1. 전체, 2.홀수, 3.짝수) :