살콤아내 자기계발/파이썬

POSTECH 컴퓨터 공학 입문 2 (1-4주차 요약)

살콤아내 2021. 4. 7. 16:09
728x90
반응형

제어문(Control statemtn)의 종류

- 조건문: if else, switch case

- 반복문: for, while, do while

- 분기문(jump statement): goto, return, break, continue

 

키워드(keyword)는 32개로 약속된 의미로만 사용가능하고 식별자(변수명)으로 사용할 수 없다.

for: 일정한 반복횟수를 이용하는 반복문에 적합

for(초기화; 조건검사; 증감연산)

{

   for문의 몸체 (body);

}

next_statement

 

Ex)

int sum=0;

int i;

for (i=1; i<=10; i++)
{

     sum+=i;

}

 

 

while: 구문이 간단하며 검사부분이 처음에 있음

while(조건검사)

{

    while문의 뭄체 (body);

}

 

Ex)

int sum=0;

int i= 1;

while(i<=10)

{

    sum +=i;

i++;

}

 

 

 

do while: 반복몸체를 1번은 실행하며 검사부분이 뒤에 있음

do

{

    do while문 뭄체 (body);

} while(조건검사)

 

 

 

 

파일 입출력 처리순서

- txt파일 작성

- 파일연결: 파일의 주소를 저장할 수 있는 파일포인터 변수 선언 (FILE*inData, outData)

- 파일열기: fopen( ) 함수사용

- 파일의 데이터 읽어오기: fcanf( ) 함수사용

- 읽어온 데이터터로 성적처리: if, else등의 명령어 사용

- 파일닫기: fclose( ) 함수사용

 

 

 

구조도 (Structure Chart)

 

배열(Array)

동일한 자료형의 데이터가 여러개 필요한 경우 변수를 하나씩 선언하여 사용할 순 있지만, 성적처리와 같이 많은 자료를 처리해야 할 때는 하나씩 선언하는 것보다 여러개를 한번에 선언하고 각각의 데이터에 접근하여 처리할 수 있는 방법이 필요하다. 배열은 동일한 자료형의 데이터가 여러 개 연속적으로 저장되어있는 데이터 저장장소이다.

Ex) int score[5]; >>자료형+배열이름+배열크기

 

배열이 선언되면 배열명을 시작주소로 (배열크기에 따라) 연속된 메모리공간이 만들어진다. 연속된 공간에 저장이 되어 있으므로 원소명으로 원소(데이터)에 접근하거나 포인터(주소)를 사용하여 원소에 접근하여 값을 읽거나 변경가능하다.

 

 

배열명은 배열시작주소(상수)이므로 변경이 불가능하다.

a=a+1; (X)

a== &a[0] // 배열시작주소

a+1==&a[1]  //주소에 +1은 그 다음 칸 주소를 의미함

*(a+2)= 70; //a+2주소에 역참조연산자를 이용해서 원소값 변경 가능

 

 

 

배열과 함수

문제: array x와 array y를 합치는 array xysum을 함수로 처리하시오

 

배열과 구조체

- 사용자 정의 자료형 (User-defined data types)

해결하기위한 일상생활의 문제와 가장 가까운 자료구조를 사용자가 직접 자료형으로 만들어 문제를 해결할 수 있는 자료형. 구조체(struct)

 

- 구조체: 동일한 자료형의 데이터가 여러개 필요한 경우에 배열을 사용하여 처리할 수 있지만, 성적처리와 같이 서로 다른 자료형을 가진 데이터들을 저장하고 처리하기 위해서는 새로운 자료형이 필요함. 다양한 자료형의 연관된 데이터를 묶어서 선언할 수 있도록 사용자 정의 자료형을 만드는 것으로 템플릿과 같은 역할을 하며, 구조체정의는 메모리에 변수를 생성하지 않는다.

 

-구조체 정의

struct stu

{

 int ID;

 float kor, eng, math;

 float avg;

char grade;

};

 

- 구조체 변수선언: 구조체 정의 후 구조체 자료형을 사용하여 변수를 선언. 구조체 변수를 선언하면 구조체 멤버의 크기만큼 메모리에 할당.

 

struct stu s1= {10001, 99.5, 88.7, 77.9}; 

 

구조체 배열선언

struct stu s[3];

s[0].ID=10001;

s[0].kor=90.5;

s[0].eng=80.3;

s[0].math=95.4;

 

 

 

728x90
반응형