메모장
C언어 복습 2 (입력받은 수로 카운트 다운) 본문
참고: 정덕 - <컴맹을 위한 C언어>
♨ 개인적 해석이 다분한 글임으로, 인지하지 못한 오류가 있을 수 있습니다 ♨
▣ 정수형 변수 만들기 - int ~;
변수는 이름 같은 것이 되겠다
얘 이름을 부르기만하면 얘가 담고 있던 정수가 따박따박 찍힌다
-> 변수로 지정하고 싶은 이름을 정할 때에는
1. 언더바(" _ "), 숫자, 알파벳을 사용하여 정할 수 있다. (int K_3;)
2. 숫자가 앞에 오면 안 된다 (int 10a;)
3. 특수문자가 들어가면 안 된다 (int K#;)

위와 같이 정수를 담을 새로운 그릇을 만는 것을 '선언' 이라고 한다
예) int number; - 'number'라는 정수변수를 가정한다
만든 그릇에 정수를 담는 것을 '초기화'라고 한다
예) number = 10; - 'number' 변수 값을 10으로 정의한다
※ 최초의 정의만을 초기화라 하는지는 모르겠지만, 내 기억으로 책에서는
별다른 언급없이 정의하는 것을 초기화라고 했다
▣ 정수형 변수(이하 int) 선언의 특징
1. 변수는 선언과 동시에 초기화가 가능하다
예) int a = 7;
2. 쉼표(" , ")로 구분하면 동시에 여러개의 변수를 선언하는 것이 가능하다
예) int a, b;
3. 여러개의 변수를 선언하면서 원하는 변수만 초기화할 수 있다
예) int a = 11, b; -> a, b 선언 , a만 11로 초기화
4. 변수 선언 후, 초기화 과정에서 사칙연산 가능
예) int a;
a = 2 + 9;
-> int는 크기는 4바이트
▣ 입력한걸 기억해줘 " scnaf "
생김새: scanf(형식, 메모리주소);
- 형식: 입력 형식을 정하는 부분 예) 정수형? 실수형? 몇 바이트?, 몇 개? 등의 입력 형식
- 메모리 주소: 입력된 데이터를 저장할 변수의 주소
예) int num;
scanf("%d", &num);
- %d = 10진수(decimal) 정수 데이터를 출력/입력받을 때 사용하는 '서식문자'(형식을 지정해주는 특수 문자)
- &number: 변수 'number'의 메모리주소, 변수 앞에 " & "를 붙이면 그 변수의 주소를 반환한다
print("%d", number); -> 입력받은 내용을 출력할때도 출력받는 형식(정수면 %d, 실수면 %f 등)을 지정하고
입력 값에 "해당하는 변수"를 순차적으로 입력(출력시에는 주소(&)가 아닌 변수!만)
+-> 변수에 사칙연산한 내용을 출력도 가능

응용 - 두 변수 입력 받은 후, 그에 대한 사칙연산 출력하기
문제: korea와 hi라는 변수를 선언하고 정수값을 입력받아 그 곱을 말하는 문장을 출력하라
정답>
▣ while문
생김새: while(조건){ 원하는 코드 }
-> 조건이 참일 경우 원하는 코드를 실행, 조건이 거짓이 나올때 까지 반복
-> 조건 안에 0이면 거짓이기에 아무것도 진행되지 않고,
0 이외의 다른 숫자가 오면 무한이 계속된다 (컴퓨터는 0을 거짓으로, 그 외의 수를 참으로 인식)
예시) number라는 변수를 선언, 10으로 초기화한 후 1씩 줄여가는 것을 반복하라
※ 초기화한 정수를 1씩 줄이고 싶다? : " number = number - 1; "
정답>

number 변수가 반복될 수록 10에서 1씩 줄어들고 number가 0이 될 때 while문이 종료된다
▣ 비교연산자
- 비교연산자1 " >, <, >=, <= "
->참이면 1, 거짓이면 0을 반환한다
- 비교연산자 2 " ==, != "
-> a==b : a와 b가 동일하면 참(1), 아니면 거짓(0)
a!=b : a와 b가 다르면 참(1), 아니면 거짓(0)
▣ 삼항연산자 " A ? a : b "
-> A가 참이면 a , 거짓이면 b를 반환
'C언어 복습' 카테고리의 다른 글
C언어 복습 6 (오늘 날짜 표시) (0) | 2019.05.25 |
---|---|
C언어 복습 5 (연산자 우선순위 / 표로 대체) (0) | 2019.05.25 |
C언어 복습4 (숫자 비밀번호 검사) (0) | 2019.05.19 |
C언어 복습3 (BMI 계산기) (0) | 2019.05.12 |
C언어 복습 (시작하기) (0) | 2019.04.22 |