사용법
|
1.아래의 실습창중 <
C 문장 입력 > 란을 통하여 C문장 한문장씩 입력하고 Enter
키나 입력 버튼을 클릭하 면 해당 문장에
대한 시각화가 오른쪽에 나타나게 됩니다. ( 배열 선언문 포함) 자세한 사용법은 여기를
클릭하여 주십시요
|
2. 배열 사용 배열 사용은 배열에 포함된 특정 원소를 참조하는 것을 포함한다. 배열의 특정 원소를 참조하기 위해서, 배열 이름과 그 원소에 부여된 인덱스를 함께 명세하는 것이 필요하다. 배열 원소 참조를 위한 C 언어의 일반 형식은 다음과 같다. 즉, 배열이름 다음에 인덱스가 대괄호에 둘러싸여 표현된다. 이와 같은 표현을 선택 식(selection expression)이라 한다. 프로그램에서, 선택 식은 여러분이 지금까지 사용해온 단순 변수처럼 사용될 수 있다. 즉, 선택 식은 식에 포함될 수 있고, 배정문의 왼쪽에 나타날 수 있다. 위에서 살펴본 다음 배열을 다시 한번 생각해보자
score 배열의 첫 번째 원소에 값을 배정하기 위해서 다음과 같은 배정문을 작성할 수 있다.
위 배정문의 효과는 다음과 같다. 다음은 score 배열의 나머지 4개 원소에 대한 값 배정문이다.
다음은 위 배정문의 실행 효과를 보여준다. 다음은 선택 식이 식에 포함되는 경우를 보여준다.
위의 배정문은 score 배열의 다섯 번째 원소의 값을 가져와서 첫 번째 원소에 배정한다.
위에서 살펴보았듯이, 배열 선택 식은 단순 변수와 똑같이 사용되는 것을 알 수 있다. 배열을 다룰 때, 배열 원소의 인덱스와 그 원소의 값간의 차이를 이해하는 것이 중요하다. 가령, 위의 score 배열에서 첫 번째 원소의 인덱스는 0이고 그 값은 78.5이다. 원소의 값을 변경하는 것은 가능하나, 그 인덱스를 변경하는 것은 가능하지 않음을 유의하라. 배열 선택 식에서 인덱스는 반드시 상수일 필요는 없다. 인덱스는 정수나 스칼라 타입의 값으로 평가되는 임의 식일 수 있다.
|
사용법
|
1.아래의 실습창중 <
C 문장 입력 > 란을 통하여 C문장 한문장씩 입력하고 Enter
키나 입력 버튼을 클릭 (
배열선언문또는 선택식을 입력) 자세한 사용법은 여기를
클릭하여 주십시요
|
다음은 score 배열의 선택 식에서, 인덱스로 변수가 사용된 경우이다.
이때 인덱스 i의 값은 배열 score의 인덱스의 범위 0 ~ 4에 속하는 것이 중요하다.
|
사용법
|
1.
< C 문장 입력 > 란을 통하여 C문장 한문장씩 입력하고 Enter
키나 입력 버튼을 클릭 (
배열선언문또는 선택식을 입력 ) 자세한 사용법은 여기를
클릭하여 주십시요
|
이제 여러분은 앞에서 다룬 readScore2()를 배열과 for 문을 사용하여 다음과 같이 효과적으로 작성할 수 있음을 알 수 있다.
|
사용법
|
1.
< C 문장 입력 > 란을 통하여 C문장 한문장씩 입력하고 Enter
키나 입력 버튼을 클릭 (
배열선언문또는 선택식을 입력 ) 자세한 사용법은 여기를
클릭하여 주십시요
|
여러분은 readScore3()이 score 배열의 임의 크기에 대해서도 동작할 수 있음을 알 수 있다. 실제로, 배열의 크기를 명시적인 값보다는 기호 상수로 표현하는 것이 더 좋다. 기호 상수는 3주차 강의 3장에서 이미 언급하였듯이, 프로그램의 이해를 높이고, 프로그램의 수정을 용이하게 한다. readScore3()를 배열 크기를 기호 상수로 표현하여 작성하면 다음과 같다. readScore4()에서 NStudents의 기호 상수는 학생 수를 나타낸다. 여러분은 이 기호 상수 값을 학생 수에 따라 임의 값으로 변경할 수 있다. 그러면 학생 수만큼의 크기를 갖는 score 배열이 생성되고, for 문에서 이 배열이 적절히 초기화된다. |
|
사용법
|
1.
< C 문장 입력 > 란을 통하여 C문장 한문장씩 입력하고 Enter
키나 입력 버튼을 클릭 (
배열선언문또는 선택식을 입력 ) 자세한 사용법은 여기를
클릭하여 주십시요
|
3. 프로그램 예제 배열을 다루는 다음의 간단한 프로그램 예제를 생각해보자: 먼저, 사용자로부터 학생 점수를 입력받고, 다음에 이들 점수에 대한 평균 값을 계산하여 출력한다. 학생 점수는 0 ~ 100의 범위를 갖는 정수라고 생각한다. 이를 위한 알고리즘을 다음과 같이 간단히 작성할 수 있다.
학생 점수에 대한 평균 값을 계산하기 전에, 학생 점수를 먼저 입력받아 저장해야 하기 때문에, 배열 구조를 생각한다. 그리고 알고리즘 10-1의 단계 1, 2에서 여러 개의 학생 점수가 고려되기 때문에 for 문의 반복 구조를 생각한다. while 문보다는 for 문을 생각하는 것은 반복 회수가 배열의 크기로 이미 결정되어 있기 때문이다. 다음은 알고리즘 10-1을 세분화시키는 과정을 보여준다. 다음은 알고리즘 10-1-1로부터 프로그램을 작성하는 과정을 보여준다. 다음은 프로그램 10-1을 다시 보여준다. for 문을 사용하여 적절히 score 배열을 초기화하고, 또 다른 for 문을 사용하여 score 배열에 속한 원소들의 값을 더하는 것을 알 수 있다.
|
|
[프로그램 단위 입력 실행] 다음 실습창을 통해서 프로그램 10-1의 실행과정을 알아본다 (여러분은 실습창의 왼편에 위치한 '새프로그램 입력' 버튼을 클릭하여 새로운 프로그램을 입력하여 실행시켜 볼 수 있다. ) |
|
[문장 단위 입력 실행] 여러분은 다음 실습창에서 C 프로그램을 한 문장씩 입력하여 실행시켜 볼 수 있다. 새로운 배열을 선언하고, 새로운 프로그램을 한 문장씩 입력하고 오른쪽 창에서 그 실행 결과를 살펴 보시오. |
사용법
|
1.
< C 문장 입력 > 란을 통하여 C문장 한문장씩 입력하고 Enter
키나 입력 버튼을 클릭 (
배열선언문또는 선택식을 입력 ) 자세한 사용법은 여기를
클릭하여 주십시요
|
< | |
|
|
|