C의 조건과 반복문

박상록(Sangrok Park)·2020년 10월 26일
0

Computer Science Basic

목록 보기
3/13

조건문과 반복문

#include <stdio.h>

// 변수에 숫자 할당하기

int counter = 0; // 변수에 숫자를 담아줄 거라, integer의 앞글자 int를 명시해줘야 함.

counter = counter + 1;
counter += 1;
counter ++; // 위 세개는 다 같은 말. 

// Condition (조건)

if (x < y) 
{
    printf("x is less than y\n");
}

// else 붙는 조건문
// 조건같은 부분에는 세미콜론을 뒤에 붙인다. 함수같은 경우에는 세미콜론을 붙이지 않는다.

if(x < y)
{
    printf("x is less than y\n");
}
else 
{
    printf("x is not less than y\n");
}

// else if, else if 

if(x < y )
{
    printf("x is less than y\n");
}
else if(x > y) 
{
    printf("x is greater than y\n");
}
else if (x == y) // 왜 equal 두개인가? => single equal은 할당이기 때문에. double equal을 써서 표현하자라고 결정했음.
{
    printf("x is equal to y\n");
}

// 이 코드에는 Boolean이 3개나 있다. Boolean: y/n, true/false, 1/0. 위 코드는 구지 3개의 불리언을 쓸 필요가 없다. 
// x가 크던가, y가 크던가, 아니면 나머지 조건은, 두 수가 같을 수 밖에 없기 떄문에, 마지막 조건은 빼자. 

if(x < y )
{
    printf("x is less than y\n");
}
else if(x > y) 
{
    printf("x is greater than y\n");
}
else 
{
    printf("x is equal to y\n");
}

// 코드가 얼마나 수행을 잘해야 하냐도 중요하지만, 얼마나 효율적으로 코드를 작성했는지, 얼마나 적은 메모리나 CPU를 사용해서 코드가 일을 수행하는지와 같은 디자인 품질도 다룰 예정. 

// Loop 

// while(true) // 조건 안에는 Boolean을 써줘야 한다. true이면 반복문 실행, false면 실행하지 않음. 
// {
//     printf("hello. ")
// }

//반복을 50번 반복하고 싶다면

int i = 0; // i는 integer의 i 대부분의 프로그래머들은 count를 할 때, 하나의 규약처럼 이렇게 쓴다고 한다.
while (i < 50) 
{
    printf("hello, world\n");
    i = i + 1;
}

// for loop 

for(int i = 0; i < 50; i++) //(counter initializing, Boolean, update your variable);
{
    printf("hello, world\n"); // 순서 1. initializing, 2. Boolean check, 3. printf, 4. update variable
}

변수에 숫자를 할당할 때, integer를 나타내는 int를 명시해야 하는 것 이외에 조건문, 반복문은 자바스크립트와 거의 비슷한 부분이 많아 쉬웠다(사실은 자바스크립트 포함 모든 언어가 다 여기서 나온 것이겠지만.)

C의 Switch, ternary operator

Switch

Switch (x) 
{
    case 1: 
        printf("A\n");
        break;
    case 2: 
        printf("B\n");
        break;
    default: 
        printf("C\n");
}

x가 1이면 "A\n"를 출력 후 break로 인해 Switch문 빠져나옴,
x가 2이면 "B\n"를 출력 후 break로 인해 Switch문 빠져나옴,
그외의 경우(default일 경우)에는 "C\n"를 출력 후 switch문 빠져나옴

ternary operator

int y = (x > 3) ? 2 : 1

해석 : x3보다 크면, y = 2 그렇지 않을경우 (:) y = 1

앞으로 기대되는 것은

코드가 얼마나 수행을 잘해야 하냐도 중요하지만, 얼마나 효율적으로 코드를 작성했는지, 얼마나 적은 메모리나 CPU를 사용해서 코드가 일을 수행하는지와 같은 디자인 품질도 다룰 예정.

라는 CS50교수님의 말씀. 기대가 된다.

출처 : [부스트코스] 모두를 위한 컴퓨터 과학 (CS50 2019) (https://www.edwith.org/boostcourse-cs-050)

profile
한 줌의 소금과 같이 되고 싶은 개발자

0개의 댓글