C, C++

C, C++

오늘 공부한 C언어(비교 연산자와 삼항 연산자 사용하기)

if 조건문에서 사용할 수 있는 비교 연산자와 삼항 연산자를 알아보자. 비교연산자는 값을 비교할 때 사용한다. == 같음 큼 != 같지 않음(다름) >= 크거나 같음

C, C++

오늘 공부한 C언어(else if를 사용하여 여러 방향으로 분기하기)

자판기 안에는 각각 다른 음료수가 들어있고, 버튼을 누르면 해당 버튼에 해당하는 음료수가 나온다. 이걸 else if로 만들면 다음과 같은 모양이 된다. if 콜라 버튼을 눌렀다면 { 콜라를 내보냄 } else if 사이다 버튼을 눌렀다면 { 사이다를 내보냄 } else if 환타 버튼을 눌렀다면 { 환타를 내보냄 } else { 제공하지 않는 메뉴 } if에서 num1이 10인지 검사한 뒤 참이면 '10입니다'가 출력되고, 거짓이면 그 다음값인 else if에서 20인지 검사한다. 만약 참이면 '20입니다' 가 출력되고 거짓이면 아무것도 출력하지 않는다. else if도 if와 else와 마찬가지로 세미콜론은 붙이지 않는다. num1이 30으로 할당되었기 때문에 10도 아니고 20도 아니다. 거짓 값인..

C, C++

오늘 공부한 C언어(else를 사용하여 두 방향으로 분기하기

if 광고전화인가? { 전화를 끊고, 차단 목록에 등록한다. } else { 계속 통화한다. } else는 if 조건문 뒤에 오며 단독으로 사용할 수 없다. else에 ;을 붙이면 조건식의 결과와는 관계없이 항상 실행된다. ;이 else와 if의 관계를 끊어버리기 때문이다. else도 if와 마찬가지로 실행할 코드가 한 줄이면 중괄호를 생략 가능하다. 그러나 실행할 코드가 두 줄 이상일 때 중괄호를 생략하면 아래와 같이 컴파일 에러가 발생한다. if의 코드들은 중괄호로 묶고, else의 코드들은 중괄호로 묶지 않는 경우에는 else의 두번째 코드들부터는 조건식에 상관없이 출력이 된다. else의 중괄호 없는 코드는 첫번째만 조건식에 인식되는 듯 하다. C언어에서는 if는 0일때 거짓, 0이 아닐 때 참으..

C, C++

오늘 공부한 C언어(if 조건문으로 특정 조건일 때 코드 실행하기)

배가 고프면 밥을 먹는다. 변의가 마려우면 화장실에 간다. 열심히 노력하면 언젠가는 원하는 바에 도달한다. if문 시작한다. if 조건문은 괄호 안에 조건식을 사용하여 지정한다. if (조건식) { 코드 } C언어에서 조건문은 if() 형식으로 사용하며, (괄호)안에는 조건식이 들어간다. {중괄호}안에는 조건식이 만족할 때 실행할 코드를 넣는다. 위에서 if (num1 == 10)은 조건식이 되고, { } 내부는 조건식이 만족할 때 실행되는 코드가 된다. ==는 두 값이 같을 때 라는 뜻이며 수학의 =(등호)와 같다. 일단 C언어에서는 =을 할당으로 사용하고 있으므로, 값을 비교할때는 ==을 사용한다. if 조건문을 사용할 때는 ;(세미콜론)을 조심해야 한다. 세미콜론을 조건문에 써버리면 if와 조건이 ..

C, C++

오늘 공부한 C언어(자료형의 확산과 축소)

정수와 실수를 선언하고 함께 연산하면 결과값은 실수로 나온다. 왜냐햐면 실수가 정수보다 표현범위가 더 넓기 때문이다. C언어에서는 자료형을 섞어서 쓰면 컴파일러에서 암시적 형 변환(implicit type conversion)을 하게되는데 자료형의 크기가 큰 쪽, 표현 범위가 넓은 쪽으로 자동 변환된다. 이를 형 확장(type promotion)이라고 하며 값이 버려지지않고 그대로 보전된다. 크기가 다른 정수끼리의 연산을 살펴보자. long long int가 int보다 크기(바이트)가 더 크다. 따라서 int와 long long int을 함께 연산하면 long long int로 변환된다. 11.0에서 5.0을 나누면 2.2이지만, 정수 자료형에서는 실수를 표현할 수 없다. 따라서 소수점 이하 자리가 버려..

C, C++

오늘 공부한 C언어 (나머지 연산하기)

나머지 연산은 정수에서만 사용할 수 있고, 실수에서는 사용할 수 없다. 실수에서 사용 시 컴파일 에러가 나게 된다. 또 7 % 0 처럼 나눈 결과의 나머지는 구할 수 없다. 실수끼리 나누었을 때 나머지는 math.h 헤더 파일의 fmod, fmodf, fmodl 함수로 구할 수 있다. 여기서 fmod 함수는 double형 실수, fmodf는 float형 실수, fmodl은 long double형 실수일 때 사용한다. · fmod(나누어지는 수, 나누는 수) 의 형식으로 사용한다. 내 힘으로 풀었다!!!! 알면 별거 아니지만 중간까지 사고하는게 좀 걸렸다. 다만 정답과는 조금 다르게 풀었다... ㅎㅎ 암튼 풀린건 풀린거니까 잘 풀었다고 생각한다. 다만 본래의 정답도 한번 더 복습하고 갈 뿐이다.

C, C++

오늘 공부한 C언어 (덧셈, 뺄셈하기 / 증가, 감소 연산자 사용하기)

더하기 빼기 자체는 쉽다. 하지만 프로그램언어에 익숙해지는 것이 목적이다보니 일단 기록하고 남긴다. 위의 답안도 정답이나, 많은 기능을 써보아야하는 현재로써 생각하자면 위의 답은 문제의 의도를 약간 벗어난것 같다. num3 = num1 + num2; num3 -= 4.5; 를 하여도 답이 된다. ++, --연산자는 각각 정수부분을 1씩 더하거나 뺀다. num1과 num2에 각각 ++연산을 하였다면, 출력화면에서 3 3으로 나와야할텐데 막상 그렇게 나오지 않는다. 이유는 증감연산자를 변수의 뒤에 사용해서 그렇다. 이러한 사용을 우리는 postfix(후위) 연산자라고 한다. 값이 반영되지 않는 이유는 동작 순서에 차이가 있기 때문이다. num3 = num1++; 을 풀어서 적어보자면 num3 = num1; ..

C, C++

오늘 공부한 C언어 (문자 자료형 사용하기, 상수 사용하기, 입력값 변수에 저장하기)

#define _CRT_SECURE_NO_WARNINGS #include int main() { int num1; float num2; char num3; scanf("%d %f %c", &num1, &num2, &num3); printf("%d\n%f\n%c\n", num1, num2, num3); return 0; } 오늘 코딩테스트에서 작성한 마지막 답안이다. 아직까지는 할만하다. 수박 겉핥기를 넘어 수박 속까지 야금야금 다 먹어갈때까지 한걸음 한걸음 해보는거다.

2DC
'C, C++' 카테고리의 글 목록 (5 Page)