두 정수를 입력받고, 그 정수들을 더한 합을 출력해볼 것이다.
#include <stdio.h>
int main(void) {
int integer1 = 0;
int integer2 = 0;
printf("Enter first integer: ");
scanf("%d", &integer1);
printf("Enter second integer: ");
scanf("%d", &integer2);
int sum = 0;
sum = integer1 + integer2;
printf("Sum is %d\n", sum);
위의 코드를 입력하면 해당 문장이 출력되는 것을 볼 수 있다.
이 위에 있는 코드의 구조를 분석해보자.
#include <stdio.h>
int main(void) {
이 부분은 지난 글에서 설명했으므로 설명을 생략한다.
(※ 필요하다면 참고 : https://thpop.tistory.com/8)
int integer1 = 0;
int integer2 = 0;
이 두 문장은 integer1과 integer2를 정의하는 문장이다.
integer1과 integer2는 변수이며, int는 이들이 정수형(int type)을 갖도록 한다.
이 두 문장은 두 변수가 0이라는 값을 갖게 한다.
printf("Enter first integer: ");
scanf("%d", &integer1);
printf("Enter second integer: ");
scanf("%d", &integer2);
이 반복되는 문장들은 정수를 입력받고, 그 입력받은 정수를 획득하는 문장이다.
printf("Enter first integer: ")
이 문장은 "Enter first integer: "을 출력하여 사용자로 하여금 숫자를 입력하도록 하는 문장이다.
scanf("%d", &integer1);
이 문장은 입력받은 값을 읽는 함수이다.
scanf 함수 뒤의 괄호 안에 있는 두 요소인 "%d"와 &integer1에 대해서 알아보자.
"%d"는 format control string이라 불린다. 이것은 사용자가 어떤 타입의 데이터를 입력해야 하는지 나타낸다.
%d 변환 지시어(conversion specification)는 데이터가 정수형이어야 한다는 것을 의미한다.
이때 %d의 d는 10진수(정수형, decimal integer)를 의미하며, 다른 종류도 존재한다.
&integer1에서 &(ampersand)는 주소 연산자(address operater)이다.
이 주소 연산자가 변수명과 결합되었을 때 scanf 함수에 해당 변수의 위치(location / address)를 반환하고, scanf 함수는 기억한 그 위치에 사용자가 입력한 값을 저장한다.
int sum = 0
sum = integer1 + integer2;
위의 문장은 sum이 0이라고 지정한 후, sum이라는 변수가 integer1 + integer2라는 표현의 값을 갖게 한다.
printf("Sum is %d\n", sum)
마지막으로 이 문장은 Sum is ~~~를 출력하는 문장이고, ~~~에는 sum이라는 변수에 저장된 값이 들어간다.
그리고 맨 아래 세 문장에 걸친 합 출력 코드를 한 줄로 줄일 수 있는데, 아래와 같은 코드를 사용하면 된다.
printf("Sum is %d\n", integer1 + integer2);
'C언어 > 예제' 카테고리의 다른 글
[C] 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램2 (0) | 2024.10.15 |
---|---|
[C] 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램 (0) | 2024.10.15 |
[C] 경과 시간을 시:분:초로 변환하여 나타내는 프로그램 (0) | 2024.10.15 |
[C] 반지름을 입력 받으면 원의 지름, 둘레, 면적을 계산 및 출력하는 프로그램 (0) | 2024.10.15 |
[C] 간단한 문장 출력하기 (0) | 2024.07.07 |