티스토리 뷰

CS/C

[C언어] 조건문과 루프

무화과(Fig) 2023. 7. 13. 10:58

C는 오래된 언어라 저장하고자 하는 변수의 종류를 꼭 알려주어야 한다.

 

counter라는 변수에 숫자를 저장해보자

int counter = 0;

 

 

여기서 int 는 변수가 정수(integer)라는 것을 알려주는 것이고, counter는 변수의 이름, 0은 그 값에 0을 저장(초기화)하는 것이다. 또한 코드의 마지막에 세미콜론(;)을 붙여주어야 한다.

 

여기서의 등호(=)는 같다의 의미가 아닌, 오른쪽에 있는 값을 왼쪽에 할당한다는 의미이다.

 

 


변수의 값을 1씩 증가시켜보자

counter = counter + 1;

 

 

위 코드는 counter에 1을 더한 값을 다시 counter에 저장(할당)한다는 의미가 된다. 이를 더 간단하게 아래 두 가지 방식으로 수행할 수 도 있다.

counter += 1;
counter++;

 

 


조건문을 C코드로 나타내보자

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

 

 

if ()의 괄호 안에는 검사하고자 하는 조건이 들어가고, {} 안에는 조건을 만족할 때 수행하고자 하는 작업이 들어간다. 여기서는 조건이 true면 "x is less than y"를 출력하는 것이다.

 

 

else를 이용해 처음 조건이 아닌 경우에는 어떤 것을 하라라고 적어줄 수 있다

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

 

 

 

이 경우에는 첫 번째 x < y 조건이 False, 즉 x가 y보다 작지 않을 경우에는 "x is not less than y"를 출력하라는 것이다.

 

else if 를 통해서 아래와 같이 조건을 추가할 수도 있다.

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

 

 

여기서 ==는 일치 연산자라고 한다. ( =는 할당 연산자)

또한 else if (x == y) 는 굳이 물어 볼 필요가 없기 때문에 더 간결하게 작성하면 된다. (얼마나 효율적으로 코딩을 하는지, 혹은 얼마나 적은 메모리나 CPU를 사용해서 수행하는지는 정말 중요하다.)

 

추가로 if, else, else if 뒤에는 세미콜론(;)이 붙지 않은 것을 볼 수 있다. 보통 조건과 같은 것들의 끝에는 세미콜론을 붙이지 않는다.

 

 

 

 

루프


C에서는 while이나 for을 통해 루프를 구현할 수 있다.

while (true)
{
	printf("hello, world\n");
}

 

 

특정 횟수만큼 작업을 수행하고 싶다면 다음과 같이 구현하면 된다.

int i = 0;
while (i < 50)
{
	printf("hello, world\n");
    i = i + 1;
}

 

 

이는 for 를 사용해서 더 간단하게 표현할 수 있다.

for () 안에는 각각 (변수 초기화; 변수 조건; 변수 증가) 에 해당하는 코드를 넣어서 표현할 수 있다.

for (int i = 0; i < 50; i = i + 1)
{
	printf("hello, world\n");
}

'CS > C' 카테고리의 다른 글

[C언어] 자료형, 형식 지정자, 연산자  (0) 2023.07.25
[C언어] 증감연산자  (0) 2023.07.19
[C언어] 문자열  (0) 2023.07.05
[C언어] C 기초  (1) 2023.07.02