출처: 정혜경 판타스틱 자료구조 입문 (in C)
[무료] 정혜경 판타스틱 자료구조 입문 (in C) - 인프런 | 강의 (inflearn.com)
if while break
Proprocessor 지시문 (전처리기 명령어) #이 붙어있다.
#include 는 헤더파일을 포함하고
#define 는 메크로를 지정하고
#pragma 는 컴파일 환경을 바꿔주는 역할
선언문
char, int, long, float, double 등 함수선언문 or 변수선언문
공문 (NULL statement) => 아무 코드 없이 ; 만 있을때 이러한 코드를 null statement 라고 한다.
제어문
택일문
if , if else, switch ~case
반복문
for, while , do~while
분기문
break, continue, goto, return
택일문(if)
논리코드 (shudo code) -> 특정언어에 종속되지 않게 원하는 결과값을 도출해 내기 위한 논리적 흐름
if 문의 블럭에는
if문의 조건이 참일경우
수행할 문장이 들어가 있다.
if문에 수행할 문장이 하나밖에 없으면
중괄호를 생략이 가능하다.
->수정해서 쓸때 오류가 생길수 있음
가능하면 치는게 좋은습관이다.
weight 를 먼저 선언해주고
scanf 로 weight 를 입력 받는다.
scanf 가 들어가게 되면 입력대기가 먼저 들어간다.
조건에 일치하면 첫번째 block이 실행되고
조건이 일치하지 않으면 else 문의 문장이 실행된다.
else if 로 한번더 조건을 따지는 경우 3형식
여기서 else 문은 조건식 1,2 를 모두 참이 아닌 경우에 작동한다.
이프문의 3형식에서 조건이 3개 이상이 될때 if 문을 중첩해서 써야 속도가 훨씬 빨라진다.
즉 조건이 3개 이상이 될때 if else if 나열하는 것 보다 if 문과 else 문으로 구성하고 각 해당 조건 내부에
세부 조건을 묻는 방식으로 하는것이 속도가 훨씬 빠르다.
if 와 else if 를 쭉 나열한다고 했을 때
if 와 else if 에서 나열된 조건이 모두 만족하지 않는
모두 해당하지 않는 부분에서 원하는 제어문이 없을때
; 를 넣어서라도 쓰는게 더 낫다.
맨 마지막 else 생략은 가능하긴 하지만
써주는게 보기에도 명확하고 compile이 warning 을 띄울수 있음.
while 문의 이해
sum을 0으로 선언해 놓고 해당 입력값들을
입력했을때 0이 아닌 경우에 해동 값을
sum에 꾸준히 더해준다.
이후 0 을 입력했을때 sum의 총합값을 더해준다.
어 그런대 scanf 를 두번을 사용해야 하네? 두번을 한번으로 줄이는 방법은 없을까??
무한 루프를 넣고 이를 통해 입력을 한번만 받고
탈출 조건을 내부에 입력을 통해서 scanf 를
한번만 입력하는 구조를 만들어준다.
C언어는 논리상수 true/ false 자체는 없고 숫자로 존재하긴한다.
0만 거짓 나머지 음수나 양수는 true 를 의미한다.
하지만 true false 가 너무 많기 때문에 대표적인 true 를 의미하는것을 1로 지정하였다
즉 C언어에서 true 는 1 거짓은 0이다.
true 는 C언어에서 1을 의미 -> while의 무한루프를 while(1) 을 통해서 구현이 가능하다.
break 는 while 문장을 탈출할때 쓸수 있다.
무한 루프를 만들어 놓고 분기문을 통해서 일정 조건이 되면 멈추게 설계함.
scanf 의 경우 "%d" 넣는 위치에
개행문자 등등을 넣으면 오동작을 한다.
while 의 조건을 일정 조건 범위로 설정해서도 이용이 가능하다.
printf 에서 5칸을 잡고 해당 decimal(10진정수) 를 찍어라 만약 num이 10이라고 하면
이런식으로 표기해 준다.
num-- 를 쭉 진행해주면
while 문을 이용한 문제
5를 치면 *이 5개 입력되고
음수인 -4를 치면 #이 4개 입력되고
0을 치면 종료하는 프로그램
이때 0을 안치면 계속 프로그램이 끝나지 않는 코드를 써라
0을 쳤을때 프로그렘이 종료되며
아닌 경우에서는 계속 반복시키기 위해서
while(1)을 이용
0을 쳤을때 break
'C언어 > C언어 간단 개념 정리' 카테고리의 다른 글
19강. 프로그램의 전처리, 컴파일, 링크의 이해 (0) | 2023.01.12 |
---|---|
17강 18강. 함수의 사용 더 보기 (0) | 2023.01.11 |
15강, 16강 .C언어의 5대 상수 (0) | 2023.01.11 |
13강, 14강 . 상수와 변수의 이해 (0) | 2023.01.11 |
10강,11강,12강 . 호출부, Escape Sequence(확장문자열 - 기능문자) (2) | 2023.01.11 |
댓글