Microsoft PowerPoint - chap06-1Array.ppt

Similar documents
Microsoft PowerPoint - chap06-2pointer.ppt

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

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

Microsoft PowerPoint - chap06-8.ppt

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

PowerPoint 프레젠테이션

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

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

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - chap09-1.ppt

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

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

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - 7장 배열 pptx

슬라이드 1

C 언어 프로그래밊 과제 풀이

untitled

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

Slide 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

02장.배열과 클래스

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

설계란 무엇인가?

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

C++ Programming

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

untitled

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

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint Presentation

PowerPoint Presentation

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

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

OCW_C언어 기초

C 언어와 프로그래밍 개요

8장. 포인터

OCW_C언어 기초

중간고사

Microsoft PowerPoint - chap08-1 [호환 모드]

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

Microsoft PowerPoint - Java7.pptx

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

untitled

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

Microsoft PowerPoint - chap11-1.ppt [호환 모드]

C 프로그램의 기본

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

기초컴퓨터프로그래밍

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

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

Data Structure

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

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

PowerPoint Template

쉽게 풀어쓴 C 프로그래밍

C 언어와 프로그래밍 개요

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap-06.pptx

PowerPoint Presentation

Infinity(∞) Strategy

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_08.pptx

슬라이드 1

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - chap-11.pptx

11장 포인터

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

슬라이드 1

Microsoft PowerPoint - 10장 문자열 pptx

C++ Programming

PowerPoint 프레젠테이션

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

슬라이드 1

KNK_C_05_Pointers_Arrays_structures_summary_v02

Microsoft PowerPoint - chap-03.pptx

슬라이드 1

PowerPoint 프레젠테이션

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

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

Infinity(∞) Strategy

4. 1 포인터와 1 차원배열 4. 2 포인터와 2 차원배열 4. 3 포인터배열 4. 4 포인터와문자그리고포인터와문자열

Microsoft PowerPoint - 제11장 포인터(강의)

ch15

11장 포인터

Microsoft PowerPoint - Lesson2.pptx

03장.스택.key

Microsoft PowerPoint - C++ 5 .pptx

Transcription:

2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1-

배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어 -2-

배열의선언 배열은배열명과변수의개수, 변수의자료형으로선언한다. 배열을선언하면변수의개수만큼연속된기억공간을할당한다. 한빛미디어 -3-

배열의사용 배열의기억공간을사용할때는각기억공간이배열에서차지하는위치를사용한다. 배열을구성하는기억공간들을배열의요소 (element) 라고하며각요소가배열에서차지하는위치를첨자 (index) 라고한다. 배열의첨자는 0 부터시작한다. 한빛미디어 -4-

배열의사용 ages 배열의세번째배열요소에데이터를저장하고출력할때 int ages[5]; ages[2] = 20; // 배열의선언, 배열요소의개수는 5개 // 세번째배열요소에 20을저장 printf( 세번째배열요소에저장된값은 : %d n, ages[2]); // 저장된값을출력 배열요소에값을입력받을때도일반변수와같이사용한다. 첨자는 0부터시작하므로배열요소의개수가 5개이면 5를첨자로사용할수없다. 한빛미디어 -5-

배열과반복문 배열요소는첨자로구분되므로반복문을사용하면모든배열요소를간단하게참조할수있다. - ages 배열의모든요소에값을입력받는경우 i 제어변수를배열요소의첨자로사용한다. 한빛미디어 -6-

배열을사용하여평균나이를계산하는프로그램 #include <stdio.h> int main() { int ages[5]; int tot=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; // 다섯명의나이를저장할배열 // 총합을저장할변수, 미리 0 으로초기화한다. // 평균나이를저장할변수 // 반복제어변수 // 모든배열요소의값을누적시킨다. // 평균나이계산 // 각배열요소의값을출력 // 평균나이출력 한빛미디어 -7-

배열의초기화 배열을선언하면처음에쓰레기값이존재한다. int nums[5]; int i, tot=0; for(i=0; i<5; i++){ tot+=nums[i]; } printf( total : %d n, tot); // 쓰레기값의합이출력된다. 배열은기억공간의수가많으므로중괄호를사용하여초기값을나열한다. 한빛미디어 -8-

배열의초기화의자동기능 배열요소의수보다초기화값이적으면남는기억공간은 0 으로 채워진다. int nums[5] = {1, 3}; 배열을선언할때초기화하면배열요소의개수를생략할수있다. 한빛미디어 -9-

유연성있게배열다루기 배열요소의개수가자동으로계산되도록프로그램을작성하면배열의크기가바뀌어도프로그램을수정할필요가없다. 배열요소의개수를계산하여배열의합을계산하는예 int nums[]={1,2,3,4,5}; int tot=0, i; int size; size=sizeof(nums)/sizeof(nums[0]); for(i=0; i<size; i++){ tot+=nums[i]; } // 배열의초기화 // 누적변수와반복제어변수 // 배열요소의개수를저장할변수 // 배열요소의개수계산 // 계산한배열요소의개수를반복문에사용한다. 한빛미디어 -10-

문자열을저장하는문자배열 문자배열은문자열을저장하는하나의변수와같은역할을한다. 문자배열의선언과사용 문자열은널문자가완성한다! scanf함수를사용한문자열의입력 문자배열의초기화 한빛미디어 -11-

문자배열의선언과사용 문자배열은기본적으로여러개의문자를저장하기위한 char형배열이다. - 4 개의문자를저장할수있는문자배열의선언 배열요소에문자를저장하면문자열이만들어진다. 한빛미디어 -12-

문자열은널문자가완성한다! 문자배열의마지막에널문자 ( 0 ) 가없으면저장된문자열의끝을알수없다. - printf 함수로출력하는경우쓰레기값이출력된다. char word[50]; word[0]= L ; word[1]= o ; word[2]= v ; word[3]= e ; printf( %s, word); // 넉넉한배열선언 // 문자를하나씩입력하여문자열완성 // 문자열출력 Love 儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆儆 한빛미디어 -13-

문자열은널문자가완성한다! 문자배열에문자열을저장할때는항상마지막에끝을표시하는널문자 ( 0 ) 를넣어줘야한다. char word[50]; word[0]= L ; word[1]= o ; word[2]= v ; word[3]= e ; word[4]= 0 ; printf( %s, word); // 문자열의끝을널문자로표시해준다. Love 한빛미디어 -14-

scanf 함수를사용한문자열의입력 문자배열에문자열을입력받을때는 %s 변환문자열과배열명을 scanf 함수의전달인자로준다. scanf 함수로문자열을입력받으면널문자를자동으로채워준다. - word 배열에 vitamin 을입력받은경우 printf( 문자열을입력하세요 : ); scanf( %s, word); 문자열을입력하세요 : vitamin ( 엔터 ) 한빛미디어 -15-

scanf 함수로문자열을입력할때주의할점 배열의크기보다입력되는문자열의크기가더크면할당되지않은기억공간을침범하므로주의해야한다. char word[5]; // 이곳에 vitamin 을입력받는다면 한빛미디어 -16-

문자배열의초기화 문자배열은기본적으로문자상수들로초기화한다. char str[10] = { d, r, e, a, m, 0 }; 초기화하고남는배열요소는 0으로채워진다. - char형배열요소에 0이저장되면널문자가되므로결국남는배열요소는널문자로채워지는것이다. 문자배열은문자열상수로직접초기화가가능하다. 단, 선언과동시에초기화하는경우만가능하다. char str[80] = dream ; str = utopia ; // 배열선언과동시에초기화 ( ) // 배열에문자열을바로대입할수없다. ( ) 한빛미디어 -17-