4.데이터 입력 / 연산자(산술,관계,논리)

2021. 9. 15. 01:00C언어

데이터 입력

scanf(스켄에프)

 

키보드에서 타이핑하는 모든 내용은 문자로 인식됩니다. 따라서 입력한 데이터를 연산 가능한 정수 실수로 사용하려면 변환 과정이 필요한데 그때 쓰이는 것이 입력(scanf) 함수 입니다. 이 함수는 입력 문자들을 스캔하여 원하는 형태의 데이터로 바꿔줍니다!!

 

scanf 함수를 쓸때는 (&)이것을 꼭 붙쳐주셔야 합니다!! 이유는 포인터가야 알수있다고 하네요...나중에 설명꼭 적도록 하겠습니다..!!

 

그리고 scanf 함수도 자료형에 맞춰서 정수형(%d) 실수형(%f) 해주셔야 합니다^^ 사진에는 안나와 있지만 문자(%c)도 가능해요!

 

위에 사진이 입 출력한 사진입니다~!! 윗줄은 제가 입력한 수 이고 밑에줄은 printf함수로  출력한 겁니다!!

 

※여기서 다들 알고계시겠지만 꿀팁!!! printf 하실때 실수는 (%.1f) 이런식으로 하시면 소수 첫째자리만 출력됩니다!!^^

 

(%.2f) 하시면 둘째자리까지 출력됩니다!!ㅎㅎ

 

연산자(산술,관계,논리)

 

산술연산자

산술연산자표

값(10,5) 산술 연산자 결과값
a = 10 , b = 5, c = 10 + 5 = (대입연산자) 10
10 + 5 + (더하기) 15
10 - 5 - (빼기) 5
10 * 5 * (곱하기) 50
 10 / 5 / (나누기) 2
10 % 5 % (나머지) 0

 

수학에서는 같다(=) 라는 표시의 연산자 이지만 프로그래밍 언어에서는 대입연산자(=)라는 표시입니다.

 

위에 표와같이 오른쪽 수식의 결과를 왼쪽 변수대입하여 저장한다는 뜻입니다.

 

 

나머지 (+),(-),(*),(/)는 수학에서의 부호 역활과 똑같습니다 하지만 (%)이 수식은 프로그래밍 언어에서는 나머지라는 뜻입니다.

 

10과 5를 나눈 나머지를 이야기 하는거죠~~!!(또한개 알아 갑니다~^^!!)

 

증감연산자/감소연산자

증감연산자/감소연산자는 말그대로 증가하고 감소하는 겁니다 (++a),(--a)이 두개를 예를들면 (++a)a = a + 1 과 같고

(--a)a = a - 1 과 같습니다.

 

이런 표현은 나중에 반복문에서 루프마다 하나씩 더하거나 뺄 때 자주 사용한다고 합니다!!!(기대가 됩니다!!)

 

전위 표기후위 표기

전위표기 : 증감(감소) 연산자가 피연산자 에 놓임

++a a = a + 1
--a a = a - 1

후위표기 : 증감(감소) 연산자가 피연산자 에 놓임

a++ a = a + 1
a-- a = a - 1

 

저는 개인적으로 전위표기,후위표기가 처음볼때는 너무 헷갈렸습니다....하지만 공부를해서...감을 약깐 잡았네요!!!

 

밑에 제가 만든 예시입니다!! 이걸보시면 이해가 될꺼에요!! 제가 이해했기때문에 다른분은 더 빨리 이해하실 꺼에요!!^^

 

간단하게 설명을 드리면 (a--)가 실행되기전에 (c = a)인 대입연산이 먼저 실행됩니다!! 그러니 c값에 a의값인 10이 들어간후 a가 감소하게 됩니다!! 그러니 7번줄의 c의값은 10이고 a의값은 1이 감소된 9가됩니다!!

 

그다음줄은 (++b)가 먼저 실행되어서 b가 1증가한후 d에 대입연산하게 됩니다. 그러므로 b의 값은 1증가된 6이된후 d에 대입연산하여서 d의값은 6이고 b의값도 6이 됩니다

 

밑에 출력은 c와 d를 출력을하니 c는 10이고 d는 6이 됩니다!!(이해가 잘 되겠죠...(?))

 

관계 연산자

관계연산자는 쉽게 설명하면 참(true) 거짓(false) 을 판단하는 것입니다 컴퓨터에서는 거짓(false)는 0으로 표현하고, 참은(true) 0이 아닌 수 중 1을 대표로 사용합니다

 

관계 연산자 a = 10 , b = 5 참 or 거짓 ( 1 , 0 )
> (크다) 10  >  5 1 (true)
< (작다) 10  <  5 0 (false)
>= (크거나같다) 10  >=  5 1 (true)
<= (작거나같다) 10  <=  5 0 (false)
== (같다) 10  ==  5 0 (false)
 != (다르다) 10  !=  5 1 (true)

 

 

밑에 결과내용은 제가 직접 만들어 본것 입니다!! 결과가 똑같은거 보니 맞네요ㅎㅎ

 

논리연산자

논리 연산자는 거짓을 판단하는데 사용하며 &&(AND) , ||(OR) , !(NOR) 세개입니다

논리 연산자 예시(a = 30) 참 (1) / 거짓 (0)
&&(AND) (a > 10) && (a < 20) 0(거짓)
||(OR) (a > 10) || ( a < 20) 1(참)
!(NOT) !(a >= 30) 0(거짓)

&&(AND) : 2개의 피연산자가 모두 참일 때만 연산 결과가 참이 됩니다.

 

||(OR) : 둘 중에 하나라도 참이면 참이 됩니다.

 

!(NOT) : 피연산자를 하나 사용하여 그 참과 거짓을 바꿀 때 사용합니다.(반대로나옴)

 

다음번 조건문할때 많이 헷갈린다고 하니 미리 공부를 해야겠습니다!!!

 

조건문 부터는 알고리즘 1~2문제 정도 다룰 생각입니다!!

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

5.조건문  (0) 2021.09.15
3.변수 / 자료형 / sizeof함수  (0) 2021.09.14
2.주석문과 출력문  (0) 2021.09.13
1.프로젝트 만들기! / Hello World!!  (0) 2021.09.11
C언어란 무엇인가?  (0) 2021.09.11