1일차
| 이름
|
참여 여부
|
| 신기호
|
O
|
| 강재곤
|
O
|
| 윤상현
|
O
|
주요 수업 내용
- 변수의 선언 방법: Datatype name or Datatype name,name,name,...
- Data type: 변수가 표현할 수 있는 데이터의 범위를 나타낸다. 변수의 메모리상의 공간의 크기를 나타낸다.
- sizeof(parameter): 매개변수가 가지고 있는 메모리상의 바이트 단위의 정수를 반환한다.
- sizeof(int) = 4, sizeof(char) = 1, sizeof(short) = 2 etc.
- overflow: 변수가 표현할 수 있는 범위를 넘어선 데이터를 대입할때 나타나는 현상으로, 데이터의 손실이 일어난다. 프로그래밍할 때 오버플로우를 조심해야 한다!
- Global variable의 특징
- 프로그램 어디서나 참조 가능하다.
- 프로그램이 끝날 때 메모리상에서 지워진다.
- Local variable의 특징
- 변수가 포함되어 있는 지역(블럭 { })에서만 참조 가능하다.
- 블럭이 끝나면 메모리상에서 지워진다.
- Static variable의 특징
- 선언된 이후로부터 전역변수처럼 사용 가능하다.
- 선언된 이후 프로그램이 끝날 때 메모리상에서 지워진다.
- 나중에 함수 배울때 다시 배웁니다.
- 변수를 참조할 때 지역변수를 전역변수보다 우선으로 참조한다.
- 전역변수를 왠만해선 사용하지 마라! 값을 원하지 않을 때 임의로 변경할 수 있다.
과제
- #define pi 3.141592를 이용하여 구의 겉넓이, 부피를 계산하고 출력하는 프로그램을 만드시오.(코드를 여기에 올려주세요)
- swap(int num1, int num2)함수를 구현하시오. 함수 호출을 배우지 않았기 때문에, 그리고 포인터를 아직 배우지 않았기 때문에 기본적인 코드를 제공합니다.
void swap(int num1,int num2);
int main(void){
int num1, num2;
printf("정수 2개를 입력하시오: ");
scanf("%d %d",&num1,&num2);
printf("num1: %d, num2: %d\n",num1, num2);
swap(num1,num2);
}
void swap(int num1,int num2){
// 이곳에 코드 넣기
printf("after swap\nnum1: %d, num2: %d\n",num1, num2);
}
강재곤 후기 : 변수에 대해 배웠다. 첫날이라 많은 내용을 배운게 아니라 부담은 없었다. 오버플로우가 일어나면 자료의손실이 일어나므로 조심해야 한다는 것을 알았다. 다음시간부턴 직접 실습을 해보고 싶다
2일차
| 이름
|
참여 여부
|
| 신기호
|
O
|
| 강재곤
|
자봉단 회의
|
| 윤상현
|
O
|
주요 수업 내용
if(조건식){
처리내용
}
- 조건식이 만족해야 블록 진입
- 조건식엔 논리식이 들어간다 (일반적으로 참 = 0이 아닌 숫자, 거짓 = 0)
- 논리식이란?
- true/false로 판별이 가능한 식
- 논리연산자(&&,||,== 등)를 쓴다.
- 예제1) 정수를 입력받고 숫자가 짝수인지 홀수인지 판별하는 프로그램
#include <stdio.h>
int main(void){
int num;
scanf_s("%d",&num);
if(num%2==0)
printf("짝수");
else
printf("홀수");
return 0;
}
- 다중 조건식
- 조건식을 여러개 쓸 수 있다.
- 논리연산자로 연결한다. ex) if(x==2&&y==3)
- parenthesis(괄호)를 이용하여 우선순위를 부여할 수 있다. ex) if((x==2&&y==3)||z==4)
#include <stdio.h>
int main(void){
int year;
scanf_s("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0)
printf("윤년입니다");
else
printf("아닙니다");
return 0;
}
- 조건문 if 속에 또다른 if문을 넣을 수 있다. (dangling else)
if(){
처리내용
if(){
처리내용
}
}
- 반복문
- while: 조건식을 만족하는 경우 무한 반복으로 처리
- for: 조건식을 만족할때 까지만 반복 처리
- do while: 3일차에 다시 설명.
- while
- 무한반복의 성질이 있기 때문에 영원히 빠져나오지 못하는 프로그램을 만들 수 있다.
- 임의로 무한반복의 상태를 벗어나게 할 수 있다. -> break,return
- continue
- continue 아래에 있는 명령어들을 처리하지 않고 반복문의 처음으로 다시 돌아간다.(물론 조건식을 다시 확인)
- 예제3) a부터 z까지 출력하는 프로그램 만들기
#include <stdio.h>
int main(void){
char letter = 'a';
while(letter<='z'){
printf("%c",letter);
letter++;
}
return 0;
}
- 예제4) -1값을 입력할 때 까지 정수를 입력 받고 평균을 구하는 프로그램
#include <stdio.h>
int main(void){
int number;
int sum = 0;
int count = 0;
scanf_s("%d",&number);
while(number!=-1){
sum += number;
count++;
scanf_s("%d",&number);
}
if(sum==0&&count==0)
printf("0");
else
printf("%d",sum/count);
return 0;
}
- 예제5) -1값을 입력할 때 까지 정수를 입력 받고 짝수인 정수들만 평균 구하기
#include <stdio.h>
int main(void){
int number;
int sum = 0;
int count = 0;
scanf_s("%d",&number);
while(number!=-1){
if(number%2==0){
sum += number;
count++;
}
else
scanf_s("%d",&number);
}
if(sum==0&&count==0)
printf("0");
else
printf("%d",sum/count);
return 0;
}
새싹교실/2012