Let's kick it

[혼공C]3주차_ch.05,06 본문

c언어

[혼공C]3주차_ch.05,06

bloggerddori 2025. 1. 20. 23:51
이 플리 들으면서 하면 느낌 있는 척 코드 실행 가능
3주차
(1/20 ~ 1/26)
Chapter 05 ~ 06 혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기 p. 151 크리스마스 소개팅 예문 if 문 손코딩 인증 또는 실행 화면 캡처하기
더보기

 

오늘 꿈에서 '나는 리뷰어다 2025' 당첨 메일이 온 꿈을 꿔버림. 설레서 일어나자마자 허겁슨 허급슨 메일함부터 열어 본 사람됨.

그리고 클로드가 실력이 늘고 있다고 해서 햄부기됨

그런데 프로젝트 템플릿 만들어서 계속 사용 중이였는데 맨날 scanf_s를 사용해야 하는 거랑 오류가 계속 생기는 게 이상함

- 숙제

혼공 용어 노트 16p, else if문에 추가할 내용으로, if문의 조건이 만족하지 않을 경우에 넘어가는 문으로, if문의 조건도 포함되어 있으므로 선행조건은 굳이 다시 작성할 필요 없다.


ch.05 선택문

제어문 - 선택문 : if, if - else, if - else if - else, switch - case
            - 반복문 : for, while, do-while
            - 분기문 : break, continue, goto, return

조건문 = 선택문, 조건식을 만족해야 수행되는 실행문으로 구성됨.

if문 : 조건이 참이면 실행, 아니면 건너뜀. 1가지의 선택을 고민할 때 사용.

if - else문 : 2개의 조건 중 하나를 반드시 선택하는 경우.
if 조건이 참이면 else문 생략(=건너뛰고), 거짓이면 else문 실행. 그래서 else문은 조건 필요 x.

if - else if -else문 : 3개의 조건 중 반드시 하나를 선택하는 경우.
if문 조건이 참이면 그 이후의 실행문은 건너뜀. 하지만 거짓이라면 else if문 실행.
else if문도 거짓이라면 else문 실행.
조건을 추가하고 싶다면 else lf문 추가하면 됨.
차례로 실행되기 때문에 순서가 중요함. 이전 조건의 결과가 반영되니 조건 설정 잘하기!

 

if문의 기본 형식
if-else문의 사용
if-else if-else문 사용

- 확인문제 2번

if-else if-else문 사용해 옷 사이즈 출력

if문의 조건이 거짓인 경우 else if를 검사하므로 chest>90의 조건은 넣을 필요가 없다.

 

if문 중첩 : 선행조건이 꼭 필요할 때 if문 중첩해서 사용함. if문의 실행문으로 다른 if문이 사용되면 if문 중첩.
어떤 조건을 검사하기 전에 선행 조건이 있다면 if문 안에 if문을 넣어 사용함.
if문의 문법 구조 중 if-else문은 전체를 한 문장으로 취급함. 그래서 컴파일러는 if문이 중첩된 경우 else를 가장 가까운 if와 연결하기 때문에 실행문의 범위를 쉽게 구분할 수 있도록 꼭 중괄호 사용하기. 

if문을 중첩해서 사용하는 이유는
1. 선행 조건이 있으면 불필요한 조건 검사를 하지 않아 불필요한 연산을 줄여 실행 효율을 높일 수 있다.
2. 선행조건이 없어도 실행 효율을 위해 의도적으로 중첩해 사용가능하다.


switch - case문 : 입력받은 것에 따라 선택할 수 있는 선택문으로, 정수식은 정수형 상수나 변수를 쓸 수 있고, 수식을 사용할 때는 결괏값이 정수여야 함. case에 사용하는 상수식 역시 정수만 사용가능.
즉, 여러 개의 상수 중 조건에 해당하는 하나를 골라 실행하는 것.
default는 다른 조건이 다 거짓일 때 사용하며, 상수식을 쓰지 않으면 생략 가능함.
default를 생략한 경우 조건식과 일치하는 case의 상수가 없으면 바로 블록에서 벗어나 블록 내의 어떤 문장도 실행되지 않음. case와 default는 건너뛸 위치를 표시하는 게 레이블(label)의 역할을 함.

 

중첩된 if문
중첩 if문에서 중괄호가 반드시 필요한 이유
switch-case문의 사용

 

- 확인 문제 3번

if문을 사용해 옷의 사이즈를 출력하는 프로그램

5-1 확인문제 3번의 응용버전이라고 생각하면 되는데, if문 중첩해서 사용하는데

위와 같게 선행조건이 만족되지 않은 경우 else if로 넘어가니까 선행조건은 넣어주지 않아도 됨.

 

- 도전 실전 예제

정수 사칙연산만 입력하면 계산 결과를 출력하는 프로그램 만들기

< 계산기 프로그램 >

c프로그램에서 연산자를 입력받아 계산하는 경우, if문이나 switch문을 사용해 각 연산자 케이스를 처리하는 게 일반적.

문자 변수는 초기화 할 때 '\0'을 사용하는 것이 더 좋은 방법. \0은 널 문자로, 문자열의 끝을 나타내는 특수 문자이다.

scanf_s로 문자를 받으면 입력 버퍼를 넣어줘야 함. char 변수의 크기를 지정해줘야 한다. 그래서 1이 들어감. 그리고 입력을 공백으로 나눠준 이유는 연산자 인식이 더 잘되기 위함임.

switch문에서 case 나눗셈의 경우 0으로 나누는 것을 방지하기 위한 예외처리를 추가해 주었다.

 


ch.06 반복문

반복문은 조건을 만족하는 동안 같은 문장을 반복한다.
반복문은 반복의 조건을 정의하는 조건식과 조건을 만족했을 때 실행하는 문장이 있다.

 

- 실행하는 문장은 같지만, 반복문을 다르게 사용해 돌리는 코드이다.

while문
for문
do-while문

 

중첩 반복문을 사용한 별 출력
break를 사용한 반복문 종료

 

- 확인 문제

1번
2번
3번

 

'c언어' 카테고리의 다른 글

[혼공C]ch.08  (0) 2025.02.02
[혼공C]4주차_ch.07  (0) 2025.02.01
[혼공C]ch.04_도전 실전 예제  (0) 2025.01.18
[혼공C]4-2_코드 실행 화면과 확인 문제  (0) 2025.01.16
[혼공C]ch4-1_코드 실행 화면  (0) 2025.01.14