프롤로그
ELITE HACKER Bootcamp 3rd 2주차 수업 공부 내용
aws 우분투 서버 하나 파서 연습
조건문 if, else if, else, switch/case문
조건문
조건문은 프로그램의 흐름을 제어하는 데 사용된다.. 조건문은 특정 조건이 참(true)인지 거짓(false)인지에 따라 코드 블록을 실행하거나 건너뛴다.
(1) if문
가장 기본적인 조건문
if (조건식) {
// 조건식이 참일 때 실행되는 코드
}
이렇게 사용한다.
예시를 들면
#include <stdio.h>
int main(){
int score = 95;
if (score >=90) {
printf("A\n");
}
}
A가 95 이상이기 때문에 A라는 것이 출력이 된다. 그러나, A값을 90 미만으로 바꾸게 되면 아무것도 출력되지 않는다.
(2) if-else문
참일때는 if문을 실행하고, 거짓이면 else문을 실행한다.
if (조건식) {
// 조건식이 참일 때 실행되는 코드
} else {
// 조건식이 거짓일 때 실행되는 코드
}
이렇게 사용한다.
#include <stdio.h>
int main(){
int score = 30;
if (score >=90) {
printf("A\n");
}
else{
printf("F\n");
}
}
거짓이기에, F가 출력된다.
(3) if-else if - else 문
여러 조건을 검사할 때 사용된다. 조건이 순차적으로 평가되며, 첫 번째로 참인 조건의 코드 블록이 실행된다.
if (조건식1) {
// 조건식1이 참일 때 실행되는 코드
} else if (조건식2) {
// 조건식2가 참일 때 실행되는 코드
} else {
// 모든 조건이 거짓일 때 실행되는 코드
}
이렇게 사용되며,
#include <stdio.h>
int main(){
int score = 86;
if (score >=90) {
printf("A\n");
}
else if(score >=80){
printf("B\n");
}
else if(score >=70){
printf("C\n");
}
else {
printf("D\n");
}
}
이 코드를 실행시키면
첫번째로 만족하는 score >=80 부분에서 끝나버린다.
이 if문들은 중첩해서도 사용이 가능하다!
(4) switch-case 문
하나의 변수 값에 따라 여러 분기 중 하나를 선택하여 실행한다. 즉 하나의 변수값이 나온case를 실행한다 라는 의미이다.
문제는 해당 case로 가서 밑에 쭉 실행하기 때문에 break문이 없으면 밑에 있는 모든 case들을 다 실행하기에 break가 꼭 있어야한다.
switch (표현식) {
case 값1:
// 값1에 해당하는 코드
break;
case 값2:
// 값2에 해당하는 코드
break;
// 필요한 경우 다른 case 문 추가
default:
// 모든 case에 해당하지 않을 때 실행되는 코드
}
실행 예시를 보면
#include <stdio.h>
int main() {
int choice = 2;
switch (choice) {
case 1:
printf("선택은 1입니다.\n");
break;
case 2:
printf("선택은 2입니다.\n");
break;
case 3:
printf("선택은 3입니다.\n");
break;
default:
printf("유효하지 않은 선택입니다.\n");
}
return 0;
}
이렇게 2로 넘어간다. 근데 만약에 break를 빼버린다면?
#include <stdio.h>
int main() {
int choice = 2;
switch (choice) {
case 1:
printf("선택은 1입니다.\n");
case 2:
printf("선택은 2입니다.\n");
case 3:
printf("선택은 3입니다.\n");
default:
printf("유효하지 않은 선택입니다.\n");
}
return 0;
}
이게 break문이 꼭 있어야한다라는 의미이다.
조건문 실습
숫자를 하나 입력받고, 홀수인지 짝수인지 출력하시오.
#include <stdio.h>
int main(){
int a ;
scanf("%d", &a);
if (a%2 == 0){
printf("짝수입니다\n");
}
else{
printf("홀수입니다\n");
}
return 0;
}
반복문
반복문은 특정 조건이 참일 때까지 코드 블록을 반복해서 실행하는 구조. 프로그램의 효율성을 높이고, 동일한 코드의 반복 작성을 줄이는 데 사용된다.
(1) for문
반복 횟수가 정해진 경우에 주로 사용된다. 초기화, 조건식, 증감식을 한 줄에 작성하여 실행시킨다.
for (초기화; 조건식; 증감식) {
// 조건식이 참일 동안 반복 실행될 코드
}
#include <stdio.h>
int main() {
for (int i = 0; i < 5; i++) {
printf("i의 값: %d\n", i);
}
return 0;
}
0부터 4까지 0, 1, 2, 3, 4 총 5번 반복되어서 실행되었다.
(2) while문
참인 동안 코드 블록을 반복 실행한다.. 반복 횟수가 불확실하거나 입력에 따라 달라질 경우 주로 사용된다.
#include <stdio.h>
int main(){
int count = 0;
while(count <5){
printf("%d\n", count);
count++;
}
return 0;
}
초기화, 조건식, 증감식이 위에서는 int count = 0가 초기화, 조건식은 count<5, 증감식은 count ++에서 나온 것을 확인할 수 있다.
아 참고로 while(1) 을 하면 무한 루프이다.
(3) do-while문
아까 while문은 조건에 맞지 않다면 while문을 건너 뛰는데 do-while문은 무조건 한번은 실행한 후에, 조건 여부 결정한다.
#include <stdio.h>
int main(){
int count = 0;
do{
printf("%d\n", count);
count++;
} while(count <5);
return 0;
}
그리고 break,continue도 있는데, break는 반복문 아예 빠져나가기, continue는 이번차시는 건너뛰고 다음차시로 가기.
'KnockOn' 카테고리의 다른 글
[KnockOn] Linux/Ubuntu C언어 함수 -1 (2) | 2024.11.19 |
---|---|
[KnockOn] Linux/Ubuntu C언어 배열 (0) | 2024.11.17 |
[KnockOn] Linux/Ubuntu C언어 입출력함수 (1) | 2024.11.14 |
[KnockOn] Linux/Ubuntu C언어 연산자 (0) | 2024.11.13 |
[KnockOn] Linux/Ubuntu C언어 자료형 (0) | 2024.11.12 |