C Programming 3

Luuuuucy·2024년 10월 14일

🔖 REVIEW

❗ 선생님의 말씀

  1. 하수는 100개 중에 1개를 선택할때 IF문을 99번 쓰지만, 고수는 여러가지 방법들을 토대로 IF문의 사용을 줄인다.

  2. 주석은 가능하면 짧게.. 주석으로 코드를 설명하지 않고, 코드로 코드를 설명하기 ➡ 의도를 확실하게 넣기

  3. return을 한 번만 쓸 수 있도록 계속 연습하면 좋음

  4. 개발자 입장에서는 검증하는게 가장 힘들다. 최대한 검증된(기존의) 코드로 하기

❗ C 언어

1. Visual Studio Code에서 C언어 코딩하는데 버그가 있었다. 아마 MinGW 가 제대로 설치가 안되었던 모양이다..

참고 문서
위 문서에는 단축키 설정 + tasks.json에 들어갈 적절한 설정 내용이 포함되어 있다.

2. 함수의 호출은 함수 안에 써야 한다.

// 3_1_function.c
#include <stdio.h> 

// 코드(함수), 데이터(변수)

int main() {
    f_1();
    return 0;
}


void f_1() {
    printf("Hello");
}

3. 데이터의 흐름

교수 ➡ 데이터(매개변수) ➡ 학생
학생 ➡ 데이터(반환값) ➡ 교수

4. C언어의 가장 큰 단점: 반환값을 여러개 리턴하지 못한다.

5. 반환값x 매개변수x

void f_1();

int main() {
    f_1();
    return 0;
}

void f_1() {
    printf("Hello\n");
}

6. 반환값x 매개변수o

void f_2(int a);

int main() {
    f_2(1);
    return 0;
}

void f_2(int a){
    printf("%d\n", a);
}

7. 반환값o 매개변수x

int f_3();

int main()
{
    int a = f_3();
    printf("%d",a);
    return 0;
}

int f_3()
{
    printf("f_3: ");
    return 7;
}

반환값은 꼭 넣지 않아도 됨 (예시: printf 반환값을 쓰지 않음)

8. 어떤 코드가 좋은 코드인가 ?

int main()
{
    int a = f_3();
    printf("%d\n",a);

    printf("%d\n",f_3());

    return 0;
}

쓰임새에 따라 좋은 코드인지는 다름
변수 저장: 나중에 쓸 코드라면 ..
그냥 호출 : 1번만 쓸 거면 ...

9. 반환값o 매개변수o

int max_2(int a, int b);

int main()
{
    printf("quiz: %d", max_2(3, 4));
    return 0;
}

int max_2(int a, int b)
{
    if (a < b)
        return b;
   return a;
}

✨ return 한 번만 쓰기

int max_2(int a, int b)
{
    if (a < b)
        a = b;
   return a;
}

- 짧은 코드

int max_2(int a, int b)
{
   return a > b ? a : b; 
}

10. QUIZ

4개의 정수 중에서 큰 값의 정수를 구하시오.

🎈 방법 1.

int max_2(int a, int b)
{
    if (a < b)
        return b;
   return a;
}

int max_4_1(int a, int b, int c, int d)
{    
    return max_2(a,max_2(b,max_2(c, d)));
}

or

복면가왕 방법

int max_4_1(int a, int b, int c, int d)
{    
    return max_2(max_2(a,b), max(c,d));
}

or
한국시리즈 방법

int max_4_1(int a, int b, int c, int d)
{   
	return max_2(max_2(max_2(a,b), c),d);
}

🎈 방법 2.

int max_4_2(int a, int b, int c, int d)
{
    if (a > b)
        b = a;
    
    if (b > c)
        c = b;
    
    if (c > d)
        d = c;
    
    return d;
}

🎈 방법 3.

int max_4_3(int a, int b, int c, int d)
{
    int max = a;
    
    if (max < b)
        max = b;

    if (max < c)
        max = c;
    
    if (max < d)
        max = d;
    
    return max;
}

11. 에러는 어디에 ?

에러는 다음에 올 문법이 안나올 때, 에러를 반환함 ➡ 다음 코드를 읽기 전까지는 에러인지 모름

12. while문 입문

int main()
{
    int i;

    i = 0;                  // 시작
    while (i <= 4){         // 종료
        printf("hello ");
        i += 1;             // 증감
    }
}

13. while문 응용

Quiz: 1~5 합계 구하기

int sum_val = 0;
    i = 1;
    while(i <= 5){
        sum_val += i;
        i++;
    }
profile
Hi, I am Lucy. Welcome to Moon in the Room. 🌝

0개의 댓글