7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.

Slides:



Advertisements
Similar presentations
제6장 조건문.
Advertisements

데이터의 표현과 연산 (1) (Chapter 3)
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
C 프로그래밍.
C 6장. 함수 #include <stdio.h> int main(void) { int num;
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
4장: 자료형과 수식.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
C언어: 배열 (Arrays).
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
6장. printf와 scanf 함수에 대한 고찰
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
7. while 문의 흐름 제어.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
10장 포인터와 문자열 포인터 기본 배열과 포인터 매개변수 전달방법 포인터와 문자열.
Chapter 06. 선택문.
12장 파일처리와 매크로 파일 입출력 함수 문자 입출력 함수 라인 입출력 함수 불록 입출력 함수 매크로.
쉽게 풀어쓴 C언어 Express 제10장 배열 C Express.
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4주차: Data Types and Functions
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
13. 포인터와 배열! 함께 이해하기.
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
제어문 & 반복문 C스터디 2주차.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Chapter 11. 배열과 포인터.
Chapter 05. 입출력 함수.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
#1 배열 활용 #include int main(void) { int i; int grade[5]; grade[0] = 10; grade[1] = 20; grade[2] = 30; grade[3] = 40; grade[4] = 50; for(i=0;i.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제6장 자료형이란 무엇인가.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
-Part2- 제2장 다차원 배열이란 무엇인가.
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
3주차: Control Flow and Others
어서와 C언어는 처음이지 제16장.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Chapter 09. 배열.
배열.
11장. 1차원 배열.
Presentation transcript:

7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조

배열의 정의 배열의 정의 동일한 자료형을 동시에 다수 선언할 때 사용할 수 있는 방법 자료형 배열이름 [ 배열크기 ] 자료형   배열이름 [ 배열크기 ] int       score[10]; 배열의 원소의 개수는 한 개에서부터 메모리가 허락되는 범위 내에서의 무한대까지 선언이 가능하다. 배열로 선언할 수 있는 자료형은 모든 자료형이 된다. 배열의 원소를 나타내는 첨자는 ‘0’번부터 시작한다.

배열의 초기화 02 배열의 초기화 선언을 먼저하고 배열의 각 원소의 값을 할당하는 방법 int a[3]; // 배열의 선언 선언과 동시에 값을 할당하는 방법 int a[3] = { 10, 15, 20 };  // 배열의 선언과 동시에 초기화

【예제 7-1】Ex1.c 02 배열의 초기화 01 #include <stdio.h> 02 int main(void) 03 { 04   int i; 05    int a[] = { 5, 10, 15 }; 06 07    for (i = 0; i < 3; i++) 08    { 09            printf("a[%d] = %d\n", i, a[i]); 10    } 11    return 0; 12 } 표준입력 스트림

【예제 7-2】Ex2.c 02 배열 예제 01 #include <stdio.h> 02 int main(void) 03 { 04     int A[5] = { 1, 2, 3, 4, 5 }; 05     int i, sum = 0; 06     double average; 07 08     for (i = 0; i < 5; i++) 09        sum += A[i]; 10    average = (double)sum / i; 11 12    printf("배열 A의 원소의 합은 %d이다.\n", sum); 13    printf("배열 A의 원소의 평균은 %4.2lf이다.\n", average); 14   return 0; 15 } 표준입력 스트림

배열의 종류 03 배열의 종류 배열은 선언 시에 괄호의 수에 따라 1차원 배열, 2차원 배열, 3차원 배열 그리고 다차원 배열 등 원하는 형태를 만들 수 있다. 2차원 배열은 2차원 디지털 이미지의 값을 표현할 수 있다. 3차원 배열은 3D 그래픽 데이터를 표현할 수 있는 형태이다.

【예제 7-3】Ex3.c 02 2차원 배열 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int i, j; 05    int a[2][3] = { { 15, 20 }, { 25, 30 } }; 06   07    for (i = 0; i < 2; i++) 08    { 09        for (j = 0; j < 3; j++) 10            { 11                    printf("a[%d][%d] = %d\n", i, j, a[i][j]); 12            } 13    } 14  return 0; 15 } 표준입력 스트림

【예제 7-4】Ex4.c 02 2차원 배열 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int i, j, sum=0; 05    int a[2][2] = { 5, 20, 12, 7 }; 06   07    for (i = 0; i < 2; i++) 08    { 09        for (j = 0; j < 2; j++) 10            { 11                   sum += a[i][j]; 12           } 13    } 14   printf("이차원 배열 a의 합은 %d 이다.\n", sum); 15   return 0; 16 } 표준입력 스트림

【예제 7-5】Ex5.c 02 2차원 배열 예제 01 #include <stdio.h> 02      int main(void) 03     { 04         int i, j, sum=0; 05         int a[ ][3] = { {90, 80, 90},     // 영희의 국어 영어 수학 점수 06                         {70, 100, 100},  // 철수의 국어 영어 수학 점수 07                         {80, 90, 90}};   // 미나의 국어 영어 수학 점수 08            double average[3]; 09        for (i = 0; i < 3; i++) { 10             for (j = 0; j < 3; j++) { 11                  sum += a[i][j]; 12            } 13                   average[i] = (double) sum / j; 14             printf("%d번 학생의 과목 평균은 %.2lf 이다. 15 \n", i+1, average[i]); 16                   sum = 0;  17          } 18          return 0; 19      }

【예제 7-6】Ex6.c 02 2차원 배열 예제 01 #include <stdio.h> 02      int main(void) 03     { 04         int i, j, sum=0; 05         int a[ ][3] = { {90, 80, 90},     // 영희의 국어 영어 수학 점수 06                          {70, 100, 100},  // 철수의 국어 영어 수학 점수 07                         {80, 90, 90}};   // 미나의 국어 영어 수학 점수 08         double aveClass[3]; 09         for (j = 0; j < 3; j++){ 10           for (i = 0; i < 3; i++){ 11                  sum += a[i][j]; 12           } 13           aveClass[j] = (double)sum / i; 14                     if(j == 0)  printf("국어의 평균은 %.2lf 이다.\n", aveClass[j]); 15           else if(j == 1)  printf("영어의 평균은 %.2lf 이다.\n", aveClass[j]); 16           else if(j == 2)  printf("수학의 평균은 %.2lf 이다.\n", aveClass[j]); 17                     sum = 0;  18        } 19         return 0; 20     }

【예제 7-7】Ex7.c 02 3차원 배열 예제 02 int main(void) 03 { 01 #include <stdio.h>   02    int main(void) 03   { 04        int x[2][2][5] = {0,1,2,3,4, 05                          5,6,7,8,9, 06                          10,11,12,13,14, 07                          15,16,17,18,19}; 08        int i, j, k; 09         10        for (i = 0; i < 2; i++) 11          for (j = 0; j < 2; j++) 12            for (k = 0; k < 5; k++) 13               printf("x[%d][%d][%d] = %d\n", i, j, k, x[i][j][k]); 14         15       return 0; 16   }

【예제 7-8】Ex8.c 02 문자 배열 예제 01 #include <stdio.h> 02 int main(void) 03 { 04   int i, j; 05    char str[4] = { 'A', 'B', 'C', '\0'}; 06    char student[ ] = "John"; 07   08    printf("문자열을 동시에 출력하는 경우\n"); 09    printf("학생의 이름은 %s 이다.\n\n", student); 10    printf("문자열을 한자씩 출력하는 경우 \n"); 11   12    for(i=0; str[i] != '\0'; i++) 13       printf("%c\n", str[i]); 14        return 0; 15 } 표준입력 스트림

변수 접근 방법 04 변수 접근 방법 메모리에 선언한 변수에 접근하는 방법에는 두 가지가 있다. 변수명으로 접근하는 방법 변수의 주소를 이용해서 접근하는 방법 배열에서는 배열의 원소의 주소에 접근하는 방법으로 배열명을 이용한다. 배열명은 배열의 시작주소를 나타내는 상수이다.

【예제 7-9】Ex9.c 02 주소를 사용하는 예제 01 #include <stdio.h> 02 int main(void) 03 { 04    int a; 05    printf(" 하나의 정수 값을 입력하시오\n"); 06    scanf("%d", &a); 07 08   printf(" 입력받은 정수의 값은 %d 이다.\n", a); 09    printf(" 입력받은 정수의 주소는 %p 이다.\n", &a); 10  11  return 0; 12} 표준입력 스트림

【예제 7-10】Ex10.c 02 배열과 주소 예제 01 #include <stdio.h> 02     int main(void) 03     { 04         int a[4] = {10, 20, 30, 40}; 05         int i, aryLength; 06         aryLength = sizeof(a) / sizeof(int); 07         printf("배열의 원소값을 출력하면 \n"); 08         for(i = 0; i < aryLength ; i++){ 09                 printf("a[%d] = %d \n", i, a[i]); 10         } 11         printf("배열 원소의 주소를 출력하면 \n"); 12         for(i = 0; i < aryLength ; i++){ 13                 printf("&a[%d] = %p \n", i, &a[i]); 14         } 15        return 0; 16     } 표준입력 스트림

배열과 주소 05 배열과 주소

【예제 7-11】Ex11.c 02 배열과 주소 예제 01 #include <stdio.h> 02     int main(void) 03     { 04         double b[] = { 2.3, 3.0, 4.1, 5.5}; 05         int a[4] = {10, 20, 30, 40}; 06         int i, aryLenDouble, aryLenInt; 07        aryLenDouble = sizeof(b) / sizeof(double); 08         aryLenInt = sizeof(a) / sizeof(int); 09            printf("double형 배열 원소의 주소를 출력하면 \n"); 10          for(i = 0; i < aryLenDouble; i++){ 11                 printf("b+%d = %p \n", i, b+i); 12         } 13         printf("int형 배열 원소의 주소를 출력하면 \n"); 14          for(i = 0; i < aryLenDouble; i++){ 15                 printf("a+%d = %p \n", i, a+i); 16         } 17         return 0; 18      }