Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

메모장

C언어 복습 2 (입력받은 수로 카운트 다운) 본문

C언어 복습

C언어 복습 2 (입력받은 수로 카운트 다운)

Captic 2019. 5. 4. 13:11

참고: 정덕 - <컴맹을 위한 C언어>

♨ 개인적 해석이 다분한 글임으로, 인지하지 못한 오류가 있을 수 있습니다 

 

▣ 정수형 변수 만들기 - int ~;

 변수는 이름 같은 것이 되겠다

 얘 이름을 부르기만하면 얘가 담고 있던 정수가 따박따박 찍힌다

  -> 변수로 지정하고 싶은 이름을 정할 때에는

 

   1. 언더바(" _ "), 숫자, 알파벳을 사용하여 정할 수 있다. (int K_3;)

   2. 숫자가 앞에 오면 안 된다 (int 10a;)

   3. 특수문자가 들어가면 안 된다 (int K#;)

 

식별자 a.k.a 변수 -> 변수 선언이 잘못되었다

위와 같이 정수를 담을 새로운 그릇을 만는 것을 '선언' 이라고 한다

 예) 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 등)을 지정하고

                                입력 값에 "해당하는 변수"를 순차적으로 입력(출력시에는 주소(&)가 아닌 변수!만)

                         +-> 변수에 사칙연산한 내용을 출력도 가능

 

num을 5로 초기화 한 후 printf에서 num * 10을 출력

 

 

응용 - 두 변수 입력 받은 후, 그에 대한 사칙연산 출력하기

문제: 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를 반환