Professional Documents
Culture Documents
배열의 선언과 사용
배열의 선언과 사용
배열
-1-
배열의 선언과 사용
-2-
▶ 다섯명의 나이를 입력 받아서 평균 나이를 계산하는 프로그램
#include <stdio.h>
int main()
{
int a,b,c,d,e;
int tot;
double avg;
tot=a+b+c+d+e;
avg=tot/5.0;
return 0;
} 변수가 많이 필요할 때
많은 변수에 이름 붙이는 것 어려움
☞ 연속된 기억공간을 할당 받고 번호만 붙이면 된다 .
☞ 반복문을 사용하여 배열을 효율적으로 처리할 수 있다 .
-3-
▶ 배열의 선언
-4-
▶ 배열의 사용
-5-
▶ 배열의 사용
-6-
▶ 배열과 반복문
제어변수를 배열요소의
첨자로 사용한다 .
- 7-
▶ 배열을 사용하여 평균 나이를 계산하는 프로그램
#include <stdio.h>
int main()
{
int ages[5]; // 다섯 명의 나이를 저장할 배열
int tot=0; // 총합을 저장할 변수 , 미리 0 으로 초기화한다 .
double avg; // 평균나이를 저장할 변수
int i; // 반복 제어변수
printf(" 다섯 명의 나이를 입력하세요 : ");
for(i=0; i<5; i++){ // i 가 0 부터 4 까지 변하면서 다섯 번 반복한다 .
scanf("%d", &ages[i]); // 각 배열요소에 나이 입력
}
for(i=0; i<5; i++){
tot+=ages[i]; // 모든 배열요소의 값을 누적시킨다 .
}
avg = tot / 5.0; // 평균 나이 계산
printf(" 입력된 다섯 명의 나이 : ");
for(i=0; i<5; i++){
printf("%d ", ages[i]); // 각 배열요소의 값을 출력
}
printf("\n 다섯 명의 평균 나이는 %.1lf 입니다 .\n", avg);// 평균 나이 출력
return 0;
}
-8-
▶ 배열의 초기화
int nums[5];
int i, tot=0;
for(i=0; i<5; i++){
tot+=nums[i];
}
printf(“total : %d\n”, tot); // 쓰레기값의 합이 출력된다 .
-9-
▶ 배열의 초기화의 자동기능
- 10 -
▶ 유연성 있게 배열 다루기
- 11 -
문자열을 저장하는 문자배열
- 12 -
▶ 문자배열의 선언과 사용
- 13 -
▶ 문자열은 널문자가 완성한다 !
Love 儆 儆 儆 儆 儆 儆 儆 儆 儆 儆 儆 儆 儆 儆 儆
儆 儆
- 14 -
▶ 문자열은 널문자가 완성한다 !
char word[50];
word[0]=‘L’;
word[1]=‘o’;
word[2]=‘v’;
word[3]=‘e’;
word[4]=‘\0’; // 문자열의 끝을 널문자로 표시해 준다
printf(“%s”, word); .
Love
- 15 -
▶ scanf 함수를 사용한 문자열의 입력
- 16 -
▶ scanf 함수로 문자열을 입력할 때 주의할 점
- 17 -
▶ 문자배열의 초기화
return 0;
}
19
배열 초기화 예제
#include <stdio.h>
int main(void)
{
int grade[10] = { 31, 63, 62, 87, 14, 25, 92, 70, 75, 53 };
int i;
printf("====================\n");
printf(" 인덱스 값 \n");
printf("====================\n");
====================
인덱스 값
for(i = 0; i < 10; i++) ====================
printf("%5d %5d\n", i, grade[i]); 0 31
1 63
return 0; 2 62
} 3 87
4 14
5 25
6 92
7 70
8 75
9 53
20
배열 원소 참조 예제
#include <stdio.h> ====================
#include <stdlib.h> 인덱스 값
#define SIZE 10 ====================
0 41
int main(void) 1 67
{ 2 34
3 0
int grade[SIZE];
4 69
int i; 5 24
6 78
for(i = 0; i < SIZE; i++) 7 58
grade[i] = rand() % 100; 8 62
9 64
printf("====================\n");
printf(" 인덱스 값 \n");
printf("====================\n");
int main(void)
{
int array[SIZE] = {1, 2, 3, 4, 5};
int i;
return 0;
}
array[0] 1
array[1] 2
array[2] 3
array[3] 4
array[4] 5
array[5] 1245120
23
배열의 복사
int grade[SIZE];
int score[SIZE];
#include <stdio.h>
#define SIZE 5
int main(void)
{
int i;
int a[SIZE] = {1, 2, 3, 4, 5};
int b[SIZE];
return 0;
}
24
배열의 비교
#include <stdio.h>
#define SIZE 5
int main(void)
{
int i;
int a[SIZE] = { 1, 2, 3, 4, 5 };
int b[SIZE] = { 1, 2, 3, 4, 5 };