C++

4. C언어 문법

2024. 9. 24. 12:40
목차
  1. - 조건문
  2. 1)  if 조건문
  3. 2) if~else 조건문
  4. 3) 다중 if~else 조건문
  5. 4) switch~case 조건문
  6. - switch case 계산기
  7. - 반복문
  8. 1) for 반복문
  9. - switch case 계산기 (반복)
  10. 2) while 반복문
  11. 3) do~while 반복문
  12. - for문과 while문을 어떨 때 써야할까?
  13. 1. 반복 횟수가 명확할 때: for문
  14. 2. 반복 횟수가 불확실할 때: while문
  15. ▶ 무한루프
  16. - 분기문
  17. 1) break문
728x90

- 조건문

  • C 
    int age = 18;
    
    if (age >= 18) {
        printf("성인입니다.\n");
    } else if (age >= 13) {
        printf("청소년입니다.\n");
    } else {
        printf("어린이입니다.\n");
    }
     
    C 언어에서는 조건식을 괄호로 감싸고, 실행할 코드 블록을 중괄호로 묶습니다


  • C++
    int score = 85;
    
    if (score >= 90) {
        cout << "A 등급" << endl;
    } else if (score >= 80) {
        cout << "B 등급" << endl;
    } else {
        cout << "C 등급" << endl;
    }
     
    C++에서도 조건식을 괄호로 감싸고 코드 블록을 중괄호로 묶습니다.



  • JavaScript
    let temperature = 25;
    
    if (temperature > 30) {
        console.log("더운 날씨입니다.");
    } else if (temperature > 20) {
        console.log("쾌적한 날씨입니다.");
    } else {
        console.log("쌀쌀한 날씨입니다.");
    }

    JavaScript에서도 조건식을 괄호로 감싸고 코드 블록을 중괄호로 묶습니다.



  • Python
    time = 14
    
    if time < 12:
        print("오전입니다.")
    elif time < 18:
        print("오후입니다.")
    else:
        print("저녁입니다.")

    Python에서는 괄호 대신 콜론(:)을 사용하고, 들여쓰기로 코드 블록을 구분합니다.



  • C#
    int number = 7;
    
    if (number % 2 == 0)
    {
        Console.WriteLine("짝수입니다.");
    }
    else
    {
        Console.WriteLine("홀수입니다.");
    }
     
    C#에서도 조건식을 괄호로 감싸고 코드 블록을 중괄호로 묶습니다.



  • Java
    int grade = 3;
    
    if (grade == 1) {
        System.out.println("신입생입니다.");
    } else if (grade == 4) {
        System.out.println("졸업반입니다.");
    } else {
        System.out.println("재학생입니다.");
    }

    Java에서도 조건식을 괄호로 감싸고 코드 블록을 중괄호로 묶습니다.

 

1)  if 조건문

if(조건식)
문장 1;
다음 문장;

조건식이 참이면 문장 1 실행, 거짓이면 문장 1 실행하지 않고 건너 뜀.

 

 

 

2) if~else 조건문

if(조건식)
	문장1;
else
	문장2;
다음문장;

 참일 경우 문장1 실행 후 다음문장, 거짓일 경우 문장2 실행 후 다음문장

 

3) 다중 if~else 조건문

if(조건식1)
	문장1;
else if(조건식2)
	문장2;
    .
    .
    else
		문장 n

 

 

4) switch~case 조건문

switch(조건식){ //조건식은 결과가 정수형(int, char, enum)인 수식만 가능
	case 상수1 : //조건식의 결과가 상수1이면, if(조건식==상수1)
		문장1;
		break; //switch~case문 루프를 벗어남
	case 상수2 : //조건식의 결과가 상수2이면, else if(조건식==상수2)
		문장2;
		break;
		⋮
	case 상수n:
		문장n;
		break;
	default : //만족하는 경우가 없을 때, 다중 if~else의 마지막 else에 해당
		문장;
		break; //없어도 되지만 통일감을 위해 쓰는 것이 좋음
}//switch~case문 루프 끝

 switch~case문은 다중 if~else문처럼 경우의 수가 많은 경우 자주 사용한다.

※ 결과가 정수형(int, char, enum)인 경우만 선택할 수 있다.

 

- switch case 계산기

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
char op; // 연산자 저장 변수
int num1, num2; // 피연산자 저장 변수

printf("덧셈과 뺄셈만 가능합니다\n");
printf("계산하려는 수식(예:10+20)을 입력하세요:");
scanf("%d%c%d", &num1, &op, &num2); //10+20

switch (op) {
case '+':
	printf("덧셈 결과는 %d입니다.\n", num1 + num2);
	break;
case '-':
	printf("뺄셈 결과는 %d입니다.\n", num1 - num2);
	break;
default:
	printf("다시 입력하세요\n");
	break;
}
return 0;
}

 

 

  ▷ C++ 스타일로 변경 / 곱셈, 나눗셈 추가

#include <iostream>

int main() {
    char op; // 연산자 저장 변수
    int num1, num2; // 피연산자 저장 변수

    std::cout << "덧셈과 뺄셈만 가능합니다\n";
    std::cout << "계산하려는 수식(예: 10 + 20)을 입력하세요: ";
    std::cin >> num1 >> op >> num2; // 10 + 20

    switch (op) {
    case '+':
        std::cout << "덧셈 결과는 " << (num1 + num2) << "입니다.\n";
        break;
    case '-':
        std::cout << "뺄셈 결과는 " << (num1 - num2) << "입니다.\n";
        break;
    case '*':
        std::cout << "곱셈 결과는 " << (num1 * num2) << "입니다. \n";
        break;
    case '/':
        std::cout << "나눗셈 결과는 " << ((double)num1 / num2) << "입니다. \n"; //캐스트 연산자
        break;
    default:
        std::cout << "다시 입력하세요\n";
        break;
    }

    return 0;
}

 

 

- 반복문

1) for 반복문

for(제어 변수 초기식; 조건식; 증감식)
{
	반복 실행될문장;
}

 

#include <iostream>

int main()
{
    int i;
    for (i=0; i<=99; i++) {
        std::cout << i+1 << " : " << "Kang\n";
    }
    return 0;
}

 

 ( 일반적으로는 1부터가 아닌 0부터 시작함. 0부터 99까지 100번 출력하기 )

 

* 출력 폭 지정

#방법1

#include <iostream>
#include <iomanip>  //setw() : 다음에 출력되는 것(i)은 괄호 한 숫자만큼의 크기로 출력하기

int main()
{
    int i;
    for (i=0; i<=99; i++) {
        std::cout << std::setw(3) << i+1 << " : " << "Kang\n"; //i를 3칸에 출력하기
    }
    return 0;
}

 

#방법2

#include <iostream>
#include <iomanip>  //setw() : 다음에 출력되는 것(i)은 괄호 한 숫자만큼의 크기로 출력하기

int main()
{
    int i;
    for (i=0; i<=99; i++) {
        //std::cout << std::setw(3) << i+1 << " : " << "Kang\n"; //i를 3칸에 출력하기 단점은 #include <iomanip>를 꼭 써야한다는거
        std::cout.width(3);
        std::cout << i + 1 << " : Kang\n";  // #include <iomanip> 안써도 됨
    }
    return 0;
}

 

 

- switch case 계산기 (반복)

#define _CRT_SECURE_NO_WARNINGS //Visual Studio에서만 사용
#include <stdio.h>
int main(void)
{
	char op;
	int num1, num2;
	for (; ; ) //추가
	{ //추가
		printf("\n덧셈과 뺄셈만 가능합니다\n");
		printf("끝내려면 0+0을 입력하세요\n"); //추가
		printf("계산하려는 수식(예:10+20)을 입력하세요:");
		scanf("%d%c%d", &num1, &op, &num2); //10+20
		if (num1 == 0 && num2 == 0) break; //추가
		switch (op) {
		case '+':
			printf("덧셈 결과는 %d입니다.\n", num1 + num2);
			break;
		case '-':
			printf("뺄셈 결과는 %d입니다.\n", num1 - num2);
			break;
		default:
			printf("다시 입력하세요\n");
			break;
		}// switch~case문 끝
	} //추가, for문 끝
	return 0;
}

 

  ▷ C++ 스타일로 변경 / 곱셈, 나눗셈 추가

#include <iostream>
#include <iomanip> // std::setprecision 사용을 위해 포함

int main() {
    char op;
    int num1, num2;

    for (;;) { // 무한 루프
        std::cout << "\n덧셈, 뺄셈, 곱셈, 나눗셈이 가능합니다\n";
        std::cout << "끝내려면 0+0을 입력하세요\n"; 
        std::cout << "계산하려는 수식(예: 10 + 20)을 입력하세요: ";
        std::cin >> num1 >> op >> num2; // 10 + 20

        if (num1 == 0 && num2 == 0) break; // 종료 조건

        switch (op) {
            case '+':
                std::cout << "덧셈 결과는 " << (num1 + num2) << "입니다.\n";
                break;
            case '-':
                std::cout << "뺄셈 결과는 " << (num1 - num2) << "입니다.\n";
                break;
            case '*':
                std::cout << "곱셈 결과는 " << (num1 * num2) << "입니다.\n";
                break;
            case '/':
                if (num2 != 0) {
                    std::cout << std::fixed << std::setprecision(2); // 소수점 2자리로 설정
                    std::cout << "나눗셈 결과는 " << static_cast<double>(num1) / num2 << "입니다.\n";
                } else {
                    std::cout << "0으로 나눌 수 없습니다.\n";
                }
                break;
            default:
                std::cout << "다시 입력하세요\n";
                break;
        } // switch ~ case 문 끝
    } // for 문 끝

    return 0;
}

 

 

2) while 반복문

while(조건식){
	반복 실행될 문장;
}

 조건식이 참이면 루프 안에 반복실행될 문장을 실행하고 거짓이면 루프를 벗어남

 

 

3) do~while 반복문

do{
	반복 실행될 문장;
}while(조건식);

미리 반복 횟수를 알 수 없고, 최소한 한번은 반복문장을 실행 할 경우에 많이 사용.

 

 

- for문과 while문을 어떨 때 써야할까?

1. 반복 횟수가 명확할 때: for문

  • 정해진 횟수 반복: 반복할 횟수가 명확할 때 for문을 사용합니다. 예를 들어, 배열의 모든 요소를 처리하거나 특정 수만큼 반복할 때 적합합니다.
  • 초기화, 조건, 증감이 한 곳에 모여 있음: for문은 초기화, 조건 검사, 증감식이 한 줄에 작성되므로 코드가 깔끔하고 가독성이 좋습니다.

2. 반복 횟수가 불확실할 때: while문

  • 조건에 따라 반복: 반복할 횟수가 불확실하거나 조건에 따라 계속 반복해야 할 때 while문을 사용합니다. 예를 들어, 사용자 입력을 받을 때까지 반복할 때 유용합니다.
  • 초기화와 증감이 자유로운 경우: 초기화와 증감이 반복문 외부에서 이루어질 수 있어 더 유연하게 사용할 수 있습니다.

 

▶ 무한루프

 

 

- 분기문

1) break문

 : 반복문(for, while, do~while)이나 switch~case문에서 안쪽루프를 하나 벗어나는데 사용

 

 

 

728x90

'C++' 카테고리의 다른 글

6. 접근 속성 클래스와 객체 만들기  (2) 2024.10.15
5. 객체지향 프로그래밍  (0) 2024.10.08
2. C문법 (자료형, 전처리기, 식별자, 리터럴, 변수, 연산자)  (0) 2024.09.13
1. C++ 개요  (6) 2024.09.03
10-1 상속  (0) 2023.11.22
  1. - 조건문
  2. 1)  if 조건문
  3. 2) if~else 조건문
  4. 3) 다중 if~else 조건문
  5. 4) switch~case 조건문
  6. - switch case 계산기
  7. - 반복문
  8. 1) for 반복문
  9. - switch case 계산기 (반복)
  10. 2) while 반복문
  11. 3) do~while 반복문
  12. - for문과 while문을 어떨 때 써야할까?
  13. 1. 반복 횟수가 명확할 때: for문
  14. 2. 반복 횟수가 불확실할 때: while문
  15. ▶ 무한루프
  16. - 분기문
  17. 1) break문
'C++' 카테고리의 다른 글
  • 6. 접근 속성 클래스와 객체 만들기
  • 5. 객체지향 프로그래밍
  • 2. C문법 (자료형, 전처리기, 식별자, 리터럴, 변수, 연산자)
  • 1. C++ 개요
리버윤
리버윤
기록기록
리버윤
River_yun
리버윤
전체
오늘
어제

공지사항

  • 분류 전체보기 (82)
    • C++ (20)
    • DB (3)
    • Java (5)
    • Swift (13)
    • JavaScript (17)
    • 소프트웨어 설계 (1)
    • iOS프로그래밍 실무 (7)
    • 빅데이터 (1)
    • 기타 (5)

인기 글

블로그 메뉴

  • 홈
  • 태그
250x250
hELLO · Designed By 정상우.
리버윤
4. C언어 문법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.