처음에 이 문제를 만나서 당황했다. 비트 연산인가..? 3*100 + 8 * 10 + 5 * 1 이렇게 나눠서 하는건가? 등등 고민하다가 결국 간단하게 연산자로 풀 수 있다는 것을 깨달았다. 정답은 가까이에.. #include int main(void) { int a, b; int one, ten, hundred; scanf("%d%d", &a, &b); hundred = b / 100; ten = (b % 100) / 10; one = (b % 100) % 10; printf("%d\n", a * one); printf("%d\n", a * ten); printf("%d\n", a * hundred); printf("%d\n", a * b); return 0; } int형 변수 one, ten, hun..
지금까지 변수를 선언하고, 정수나 실수 등 숫자로 초기화하는 것들만 다뤄봤는데 이번엔 문자로 초기화하는 것을 다뤄보겠다. 컴퓨터는 2진법만 이해할 수 있으므로 문자도 2진법으로 표현해준다면 충분히 표현할 수 있다. 그래서 공통적으로 모두 하나의 규격으로 사용하자라고 만든 것이 아스키 코드이다. 이는 따로 외우지 않아도, 표를 보면서 사용할 수도 있고, 숫자로 초기화하는 것 뿐 아니라 직접 문자를 넣을 수 있다. 직접 확인해보자. 이 때 문자형은 새로운 자료형 변수 선언 형태를 띄는데 char(character variable)을 사용한다. 이 값은 아래와 같이 나온다. 문자 자료형에 숫자로 입력하면 그에 해당하는 문자가 출력이 되고, 작은 따옴표(') 안에 사용하고자 하는 문자를 직접 넣어도 변수 초기화..
1) 변수를 선언할 때 한 가지의 숫자가 아니라 연산을 중간에 포함시킬 수 있다. 2) %d는 1장에서 언급했듯이 서식 지정자이다. 이때 d는 decimal 즉, 10진수의 약자로 %d는 곧 '10진수로 값을 출력하겠다'는 의미입니다. 10진수는 정수이므로 %d에 해당하는 변수는 반드시 정수형 변수여야만 합니다. 3) 서식 지정자 %d가 나오면 꼭 뒤에 콤마가 오고, 변수나 상수가 오게 된다. %d는 정수 자료형 변수이므로 정수 이외에는 올 수 없다. C언어에서 곱셈 연산자는 x가 아니라 *이다.
1. 개념 정리 1) stdio는 standard input/output의 의미이므로 IDE로 Visual Studio를 사용한다고 해서 st'u'dio라고 적는 일이 없도록 한다. #include 는 stdio라는 헤더 파일을 포함(include)한다는 의미이다. 이 헤더 파일 안에 앞으로 다룰 printf나 scanf 같은 명령어들의 내용이 저장되어 있습니다. 그렇기 때문에 항상 C를 사용한다면 이와 같은 구조의 글을 써야 헤더 파일을 불러와서 소스 코드를 실행할 수 있습니다. 2) int int로 정수형 변수를 선언한다는 의미이고, 바로 뒤에 선언할 변수를 입력한다. 등호는 뒤의 값을 앞의 변수에 대입한다는 의미이다. 이는 정수만 들어가는 상자를 생성한다고 생각해도 된다. 이를 정수 자료형(data..