달력

12

« 2024/12 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

5주차 주체는 포인터 들어가기전 배열이다! 

개인적으로 매우 매우 중요하고 잘 알고있어야 한다고 생각하는 부분이다. 

 

 

[일반 미션] 직접 정리한 키워드 정리 공유 

 

배열을 선언하고, 초기화하고, 사용 및 처리를 어떻게 하느냐가 제일 중요하다고 생각한다. 

 

 

1. 배열의 선언 

 

배열을 사용하려면 먼저 선언 부터 해야하는데 

 

(자료형) (배열명)[요소개수]; 식으로 선언한다. 

예를 들어서 아래와 같이 선언할 수 있다. 

int ary[5];

int gong[3];

 

gong 배열을 설명하자면 int형 요소가 3개인 gong이라는 이름의 배열을 선언한다는 얘기다. 

 

 

 

2. 배열의 사용 

 

배열을 선언하고 나서 배열을 사용해야 하는데 

여기서 중요한건 

 

배열을 선언할 때와 배열 요소를 사용할 때 대괄호([])안의 숫자는 의미가 다르다. 

무슨말이냐면 

 

 

(1) int gong[3];

-> int형 요소가 3개인 gong이라는 이름의 배열을 선언 

(2) gong[3] = 10;

-> gong이라는 배열에서 4번째 위치에 10이라는 값을 넣겠다. 라는 의미다. 

 

배열안에 들어간 요소를 ->배열요소(element)라고 하는데 

배열명에 첨자(index)를 붙여 표현하며 첨자는 0부터 시작한다.  (0부터 시작함!!!!! 꼭 알고 있어야함!!!)

 

 

3. 배열 초기화 

 

배열도 변수와 마찬가지로 

내가 원하는 값을 가지려면 선언과 동시에 초기화를 해야한다. 

 

배열은 중괄호({})로 묶어서 초기화한다. 

 

int gong[3]= {1,2,3};

 

- 배열 요소 개수가 생략된 형태도 있다. 

  int gong[] = {1,2,3};

 

 

**배열의 초기화는 선언 시 최초 한번만 가능하다. 

이후에 배열 요소에 일일이 값을 대입해야 하며, 

초기화 때처럼 중괄호를 사용한 대입 연산으로 한번에 값을 바꾸는 것은 불가능하다. 

 

 

 

 

 

[선택 미션] 널(null) 문자의 정의, 용도와 표기법 공유 

 

 

1. 널 문자의 정의

 

널 문자(null character): char형 배열에 저장된 0을 지칭 (char 형 배열 초기화 시 남는 배열 요소에 0이 채워짐)

 

 

2. 널 문자의 용도와 표기법 

 

널 문자는 문자열의 끝을 표시하는 용도로 쓰인다. 

=> 아스키 코드 값이 0인 문자를 말하며, 문자 상수로는 \0으로 표현된다. 

 

:
Posted by Gongdile

[기본 미션] 직접 표로 햄심포인트 정리 공유

 

내가 생각할때 제일 중요한 부분은 

적절한 함수 형태를 응용해서 사용할 수 있느냐 인 것 같다. 

 

그리고 이 함수형태가 정확히 어떤건지 보고 이해하는것.. 

 

그래서 다양한 함수 형태만 간단하게 정리한다. 

 

1. 매개변수가 없는 함수

  • 함수의 매개변수 자리에 void를 사용한다
    • 예시) int get_num(void), int get num();
    • 괄호만 사용하는 것도 가능하지만 void를 넣어 매개변수가 없음을 명시적으로 표현하는 것이 좋다
  • void는 함수 정의나 선언에서 사용하며 호출할 때는 쓰지 않는다
  • 괄호조차 없다면 함수를 호출하는 문장이 아닌 그냥 함수의 이름으로 인식하므로 반드시 괄호는 사용해야 한다

2. 반환값이 없는 함수

  • 반환형의 자리에 void를 사용한다
    • 예시) void print_char(char ch, int count)
  • return문은 값 없이 단독으로 사용한다 (return;)
  • return문 자체를 생략하는 것도 가능하다

3. 매개변수와 반환값이 모두 없는 함수

  • 매개변수와 반환형 모두에 void를 쓴다

 

 

 

[선택미션] 재귀함수 종료되는 스크린샷 및 왜 종료되는지 공유 

--> apple이 출력되다가 종료되는 이유는 아래 그림과 같은데 

무한으로 호출되다 보니까 프로그램 하나가 쓸 수 있는 메모리를 모두 사용해서 (스택 오버플로우가 발생하여)

강제 종료된다. 

 

 

:
Posted by Gongdile

[기본미션]

혼공노트 활용 인증 샷

 
- 혼공 노트에 중요 개념들이 페이지랑 잘 정리되어 있어서 

  용어 추가보다는 개인적으로 중요하다고 생각되거나 혼동되는 개념들 위주로 포스트잇에 정리해두었다. 

  (예)block의 경우 파이썬에서는 중괄호말고 들여쓰기로 사용한다거나 기타 등등.. 

- 다시 봐야하는 내용은 포스트잇으로 표시해두었다. 

 

[선택미션]

p123쪽 크리스마스 예문을 코드로 표현한다면?

 

- if문의 기본형식에 대한 내용이었는데 주 내용은 아래와 같다.

 . "크리스마스 때까지 여자친구가 없으면" 이라는 조건식과  "소개팅을 주선해준다" 실행문을 코드로 표현하는것 ..

- 조건식과 실행문은 간단하게 표현했다 

.Check_Lover(): 여자친구 여부 확인하는 함수, 단 크리스마스때까지 없는지 확인하는 부분은 생략함 

.Matching_Date(): 소개팅을 주선하는 함수, 상세한 내용까지는 몰라서 간단하게 함수로만 표현

 

- Check_Lover라는 함수를 통해 크리스마스 때까지 여자친구가 없는지 확인하고 

없는 경우 Matching_Date 함수로 소개팅을 주선하고 종료된다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#inlcude <stdio.h>
#include <stdbool.h> 
 
int Matching_Date(void);
int Check_Lover(void);
 
int main(void)
{
  bool GirlFriend == false;
 
  Check_Lover();
  if( GirlFriend == false)
 {
   Matching_Date();
 }
  
  return 0;
}
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs        
:
Posted by Gongdile

[기본미션] 확인문제 책에 푼 인증샷 

 

 

 

[선택 미션] 4장 도전 실전 문제 풀이 

실전 문제 풀이를 간단하게 하자면 아래와 같은 로직으로 구현할 수 있다.

 

1. 사용자에게 몸무게와 키 입력 요청 

2. 입력 받은 몸무게와 키값 저장 

3. 저장한 값을 가지고 BMI 산출 

**3-1 여기서 키는 미터(m)단위로 계산한다고 써있기 때문에 맞게 바꿔줘야한다.

4. BMI값에 따라 다른 문장 출력 

5. 프로그램 종료 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
 
 
 
 
int main(void)
 
{
 
     double weight, height, bmi;
 
 
 
 
     printf("몸무게(kg)와 키(cm) 입력 : "); //1
 
     scanf("%lf%lf"&weight, &height); //2
 
 
 
     height = height / 100.0; //3-1
 
     bmi = weight / (height * height); //3
 
 
 
     ((bmi >= 20.0&& (bmi < 25.0)) //4
 
         ? printf("표준입니다.\n")
 
         : printf("체중관리가 필요합니다.\n");
 
 
 
 
     return 0;
 
}
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs
:
Posted by Gongdile

이전에 포스팅한 것처럼

혼공 학습단에서 미션을 수행해야 하는데 

기본 미션과 선택 미션이 있다. 가능하다면 나는 전부 완료해서 올리려고 한다. 

 

[기본 미션] 비주얼 스튜디오 설치화면 인증샷  

 

 

[선택 미션] 학습 스케줄링 직접만들어보고 공유 

 

책 학습 로드맵에서도 나와있듯이 혼자 공부하는 C언어 책은 

기본편과 고급편으로 되어있다.

 

6주동안 진행하는 혼공단은 커리큘럼이 기본편까지를 목표로 되어있는데 

나는 고급편 16강까지 진도 나가는 것을 목표로 진행하려고 계획을 잡았다. 

(동적할당까지는 공부하고 싶었다 ㅎㅎ!!)

 

아마 기록을 진도보다 빨리 올리지 않을까 예상해본다 ㅎㅎ 

----------------------------------------------------------------------------

※ 혼공 학습단 미션과는 별개로 진도를 나가는 것이고 

주마다 학습량에 따라 변경 될 수 있다!! 

 

계획보다 딜레이되더라도 절대 포기하지 말기! 

----------------------------------------------------------------------------

1주: 1~4장 

2주: 5~7장 

3주: 8강~9강 

4주: 9강~10강

5주: 11강 ~ 13강 (13강 진행하면서 7강, 9강 다시 복습)

6주: 14강 ~ 16강 

----------------------------------------------------------------------------

7주: 8 ~10, 14~16 복습 

 

=> 아마 타이트하게 계획을 짜서 진도 나가면서 딜레이되거나 변경되는 사항이 있을거라 생각되지만 

큰틀은 이렇다. 

 

:
Posted by Gongdile