Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- bitwise
- 비트단위논리연산
- 문자열
- input()
- 파이썬
- 코드업
- 산술연산
- 불 자료형
- 선택실행구조
- 기초 100제
- OpenCV
- 2차원배열
- 2진수
- 16진수
- 8진수
- 딥러닝
- codeup
- 10진수
- 논리연산
- 비교연산
- face recognition
- 출력
- 불 연산
- 입출력
- 종합
- 반복실행구조
- Docker
- 기초100제
- 아스키코드
- 진수
Archives
- Today
- Total
DeepFlowest
[C] 02_상수와 데이터 출력 본문
728x90
반응형
SMALL
* 본 포스팅은 혼자 공부하는 C언어 (서현우 지음)를 읽고 정리한 내용입니다.
* 본 포스팅에 포함된 코드는 본인이 작성한 것이므로 책과 다를 수 있습니다.
1. 주석 처리
// 해당 줄의 끝까지 주석 처리
/* ~ */ : 사이의 모든 내용을 주석 처리
10 /*정수 상수*/ + 20 /*정수 상수*/
2. 출력, 제어 문자
- C 프로그램은 함수로 만든다.
- printf() : print formatted라는 뜻
- printf()를 사용하기 위해서는 반드시 아래 코드를 먼저 작성해주어야 한다.
#include <stdio.h> : 파일의 내용을 프로그램 안에 복사한다는 의미
stdio.h : standard input output을 의미하며 C 언어에서 기본으로 사용하는 입출력 함수가 들어있음.
# include <stdio.h> // stdio : standard input output(표준입출력)의 줄임말
int main(void)
{
printf("Happy"); // 문자열 "Happy" 출력, ;을 사용하여 문장의 끝을 표시
printf("Friend"); // 문자열 "Friend" 출력
printf("Be happy\n"); // 문자열 출력하고 줄 바꿈(\n)
printf("123\n");
printf("My\tfriend\n"); //\t : 탭
printf("Goot\bd\tchance\n"); // "Goot"를 출력하고 한 칸 왼쪽으로 이동(\b)해 t를 d로 바꾸고 탭 위치로 이동(\t) 후에 "chance"를 출력하고 줄 바꿈(\n)
printf("Cow\rW\a\n"); // 맨 앞으로 이동(\r)해 C를 W로 바꾸고 벨소리(\a)를 내고 줄 바꿈(\n)
return 0; // 프로그램 종료
}
=============================================================================================
실행 결과 :
HappyFriendBe happy
123
My friend
Good chance
Wow
3. 정수, 실수 출력
- printf()는 기본적으로 문자열을 출력하는 함수이므로, 숫자를 출력할 때는 변환 문자를 사용해서 문자열로 변환하는 과정이 필요하다.
- %d : 정수
- %lf : 실수
// 정수 : %d
// 실수 : %lf
#include <stdio.h>
int main(void)
{
printf("%d\n", 10);
printf("%lf\n", 3.4); // %lf : 소수점 이하 6자리까지 출력
printf("%.1lf\n", 3.456); // 소수점 이하 첫째 자리까지 출력(둘째 자리에서 반올림)
printf("%d과 %d의 합은 %d입니다.\n", 10, 20, 10 + 20);
return 0;
}
============================================================================
실행 결과:
10
3.400000
3.5
10과 20의 합은 30입니다.
4. 상수와 데이터 표현법
- C언어는 메모리에 직접 접근하거나 비트 단위의 연산을 수행하여 데이터를 효율적으로 처리할 수 있다.
- 이를 활용하기 위해서 데이터가 메모리에 저장되는 방식을 알아야 한다.
- 정수, 실수, 문자가 컴파일된 후에 어떤 형태로 바뀌는지 알아본다.
4-1. 정수 상수 표현법
- 상수(constant) : 원주율 값(3.14)처럼 값이 정해져 있고 변하면 안 되는 경우에 주로 사용. (예. 태어난 시간, 장소 등)
(변수 : 나이, 키, 몸무게와 같이 값이 바뀌는 데이터)
- 정수 상수는 아라비아 숫자 0~9,+,- 기호를 사용
- 이를 세 가지 진법 (10진수, 8진수, 16진수)로 표현
* 진법별 수 표현 방법
10진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
8진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
16진수 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
C언어에서 진법 표현하기 위해서 8진수는 숫자 앞에 0 , 16진수는 0x를 붙여 구분한다.
12 (10진수)
= 014 (8진수)
= 0xc (16진수)
#include <stdio.h>
int main(void)
{
printf("%d\n", 12); // 10진수 정수 상수 출력
printf("%d\n", 014); // 8진수 정수 상수 출력
printf("%d\n", 0xc); // 16진수 정수 상수 출력
printf("%o\n", 12); // 8진수로 출력하려면 %o
printf("%x\n", 12); // 16진수 소문자로 출력하려면 %x
printf("%X\n", 12); // 16진수 대문자로 출력하려면 %X
return 0;
}
// 진법에 따른 수의 표현법은 다르지만, 같은 값 나옴
=============================================================
실행 결과:
12
12
12
14
c
C
4-2. 실수 상수 표현법
소수점 형태 | 지수 형태 | C언어 표기법 (e는 밑수 10을 의미, E도 가능) |
0.0000314 |
3.14 x 10^-5 = 0.314 x 10^-4 = 31.4 x 10^-6 |
3.14e-5 = 0.314E-4 = 31.4e-6 |
소수점 형태인 0.0000314을 소수점 앞에 0이 아닌 유효 숫자 한 자리를 사용하여 지수 형태로 바꾼 것(3.14e-5)을 정규화 표기법이라고 한다.
* printf 함수가 실수를 지수 형태로 출력할 때는 기본적으로 정규화 표기법을 사용한다.
- %le : 실수를 지수형태로 출력하는 방법
#include <stdio.h>
// 지수 형태로 출력하려면 %le 사용
int main(void)
{
printf("%.1lf\n", 1e6); // 지수 형태의 실수를 소수점 형태로 출력
printf("%.7lf\n", 3.44e-5); // 소수점 이하 7자리까지 출력
printf("%le\n", 0.0000314); // 소수점 형태의 실수를 지수 형태로 출력
printf("%.2le\n", 0.0000314); // 지수 형태로 소수점 이하 둘째 자리까지 출력
return 0;
}
=================================================================
실행 결과 :
1000000.0
0.0000344
3.140000e-05
3.14e-05
4-3. 문자, 문자열 상수 표현법
- '1': 문자 상수
- "first" : 문자열 상수
- %c : 문자
- %s : 문자열 ( 변환 문자 없이도 바로 출력할 수 있으나 보통 %s 사용함)
#include <stdio.h>
int main(void)
{
printf("%c은 %s입니다.\n", '1', "first"); // 문자(%c)와 문자열(%s)을 함께 출력
return 0;
}
4-4. 비트 형태
출처 : 혼자 공부하는 C언어 (서현우 지음), 엘리스 아카데미 - 혼자 공부하는 C언어
728x90
반응형
LIST
'프로그래밍 언어 > C' 카테고리의 다른 글
[C] 04_연산자 (0) | 2021.01.30 |
---|---|
[C] 03_변수와 데이터 입력 (0) | 2021.01.26 |
[C] 01_컴파일과 컴파일러 (0) | 2020.10.13 |
Comments