2022/08/16 C언어 첫 공부 (1회차)

2022. 8. 16. 15:34· C언어 공부
반응형

(1) 문자상수(Character Constant)

문자 1개의 의미,홑 따옴표 ' ' 안에 들어간다. 알파벳 영문자,특수문자,숫자가 문자상수가 될 수 있다.

예시

#include<stdio.h>

void main(){

     printf('%c \n','A');

}

결과 A

 

\n은 다음줄로 넘기기

 

(2)  문자열 상수(String Constant)

문자 여러 개를 의미, 쌍 따옴표"" 안에 표시, 문자열,숫자등이 들어감

 

#include<stdio.h>

void main(){

    printf("%d\n", 12);        10진법

    printf("%d\n", 014);       8진법

    printf("%d\n", 0XC);     16진법

    printf("%d\n", '\014');    8진 문자상수표혐

    printf("%d\n", '\xC');     16진 문자상수표현

    getchar();

}

 

결과 다 12

 

(1) 정수형 상수( Integer Constant)

정수형 상수는 소수점이 없는 양수나 음수를 의미. 일반적인 정수는 10진수를 의미하지만 C언어에서는 다양한 진법의 수가 존재한다.

 

진법 수한적 표현 C언어에서의 표혐1
(정수 상수임)
C언어에서의 표혐2
(문자 상수임) 
8진수 (14)8 014 '\014'
10진수 12 12 12
16진수 (C)16 0XC '\xC'

예제

# include<stdio.h>

void main(){

    printf("%s\n", "Have a nice day");

    getchar();

}

 

결과 Have a nice day

 

(2) 실수형 상수(Float Constant)

부동소수점이라 부르며 실수형 상수들은 소수점이 있는 수를 의미한다.

 

#include <stdio.h>
void main() {
printf("%e \n", 12.78);
printf("%e \n", 456.3789);
printf("%e \n", 0.45678);
}

 

결과

1.278000e+01

4.563789e+02

4.567800e-01

 (3) 열거형 상수(Enumerated Constant)

열거형 상수는 사용자가 정의하여 사용하는 상수,내부적으로 정수와 동일하게 취급,

이름을 열거하여 0부터 값이 붙여지며,이름부터 정수대신 사용된다.

 

변수명(identifiers)을 만드는 규칙

1. 변수명에 올수 있는 문자는 영문자와, 숫자,밑줄(under score:_)만 올 수 있다.

2. 변수명은 영문자나 밑줄(_)로 시작할 수 있고, 숫자로는 시작할 수 없다.

3. 변수명은 대소문자가 구분하므로, Tot와 tot는 서로 다른 변수이다.

4. 변수명은 공백을 허용하지 않는다.

5. ?,!/# 과 같은 툭수 문자는 변수명에 사용할 수 없다.

6. 예약어는 변수명으로 사용할 수 없다.

 

잘못된 변수명의 예 올바른 변수명의 예
1. \abc       특수문자는x
2. 3sum      숫자로 시작x
3. ?hap       특수문자x
4. Fall 78     뛰어쓰지 x
5. int     예약어는 x
1. abc
2. sum3
3. hap
4. Fall78
5. IN_T

문자형 변수()Character Variable)

문자형 변수란, 문자형 상수 값이 저장되는 변수로 1Byte 기억공간을 차지한다. 문자형변수로 선언 되어도 C언어에서는

1Byte의 정수로 표현이 가능 하다. 1Byte 기억공간의 표현 가능한 수의 범위는 -128~/+127이다.

 

-선언방법-

Char 변수명;

unsigned char 변수명;

 

char cn;라고 선언했다면 메모리 할당은 1Byte이다.

-Char은 -128~+127까지를 표현하지만 unsigned로 선언 되면 음수부분을 저장할 기억공간을 양수가 표현하기 때문에 0~255까지를 표현한다.

 

#include<stdio.h>

void main(){

  char ch;

  ch='A';

  printf("문자 %c의 아스키코드 값은 %d 이다.\n", ch, ch);

}

 

결과

문자 A의 아스키코드 값은 65 이다.

 

(1) 정수형 변수

정수형 변수는 앞절에서 배운 정수형 상수의 값이 기억되는 메모리 위치의 이름.

C언어의 정수형은 크게 int,short,long 3가지와 각각의 unsigned형까지 포함해 6개로 구분된다.

-1- 선언방법

int 변수명;

unsigned int 변수명;

또는

short 변수명;

unsigned short 변수명;

또는

long 변수명;

unsigned long 변수명;

 

-2-특징

2Byte 기억공간으로 표현할 수 있는 수의 범위는 -32768~+32767이지만 unsigned로 선언 되면

음수부분을 저장할 기억공간을 양수를 표현하는데 할애하므로 32768의 2배인 65535까지 선언가능

 

#include<stdio.h>

void main(){

  short a;

  unsigned int b;

  long c;

  unsigned long d;

  a = 32768;

  b = 32768;

  c = 2147483648;

  d = 2147483648;

  printf("%d %u %ld %lu \n", a, b, c, d);

}

결과

-32768 32768 -2147483648 2147483648

 

(해설)

 short형의 저장가능한 최대값은 +32767이고 long형의 저장가능한 최대값은 +2147483648이다. 변수 b와 변수 d의 경우 unsigned형으로 선언되었기 때문에 short나 long형의 최대값을 넘어가는 수가 저장 가능 하지만 변수 a나 변수 c는 올바르지 못한값(overflow 된 값)이 저장 되게 된다.

 ※ 출력서식 long형의 경우 l(영문자 L의 소문자)을 붙여주고, unsigned형의 경우 u를 붙여주어야 한다.

 

(2) 실수형 변수(Float Variable)

실수란 소수점이 있는 수라고 설명한다. 이런것을 실수형변수라고 한다. 

-1-선언방법

Float 변수명;

double 변수명;

 

예제

#include<stdio.h>

void main(){

  float f;           4Byte

  double d;       8Byte

  f = 56;

  d = 56.1234;

  printf("%f \n", f);

  printf("%f \n", d);

}

결과

56.000000

56.123400

 

설명

%f서식은 기본적으로 소수점 아래 6자리까지 나온다. 예제에서 변수 f에 소수점이 없는수 56을 저장했어도 %f서식으로 출력했기 때문에 소수점 아래 6자리까지 0으로 표시된 것이다.

 

(1)열거형 변수(Enum)

열거형 상수를 저장하는 기억공간의 이름. 정수형과 동일하게 취급되어지므로 4Byte 기억공간의 크기를 가진다.

-1- 선언방법

enum 열거형이름 {열거형 상수들};

enum 열거형이름 변수명;

 

열거형변수로는 one,two,imsi등이있다. 이들이 열거형변수들이나 열거형은 기본적으로 정수형과 동일시하게 취급.

정수형을 선언하고 열거형 상수를 저장해도 되고 열거형 변수에 정수값을 저장해도 된다.

 

예제

#include<stdio.h>

void main() {

 enum DEF_num { HANA, DUL, SET, NET };           상수{0,1,2,3}

 enum DEF_num one;

 enum DEF_num two;

 one = HANA;      0

 two = DUL;         1

 printf("%d \n", one);     0

 printf("%d \n", two);     1

 printf("%d \n", HANA + DUL + SET + NET);      0+1+2+3=6

 getchar();

}

 

결과

0

1

6

 

예제2

#include<stdio.h>

void main() {

 enum DEF_num { HANA, DUL, SET, NET };    상수{0,1,2,3}

 enum DEF_num temp1;    열거형 변수 temp1

 int jungsu;

 jungsu = DUL;    1

 temp1 = NET;     3

 printf("%d \n", jungsu);

 printf("%d \n", temp1);

 getchar();

}

 

결과

1

3

(2)변환 지시자(Conversion Specificion)

C언어에서 기본적인 입.출력을 담당하고 있는 printf()함수 및 scanf()함수는 변환지시자(Conversion Specificion)

라고 불리는 서식을 갖는다. 이 서식들은 입,출력시에 변수에 저장된 값 또는 입,출력되는 값들이 어떻게 변환되느냐를 경정한다.

 

문자형 %c 문자 1개 printf("%c" ,"B"); B
문자열형 %s 문자열 printf("%s" ,"Good"); Good
정수형 %d 십진수 printf("%d" , 110); 110
%o 8진수 printf("%o" ,110); 156
%x 16진수 printf("%x" ,110); 6e
실수형 %f float형 printf("%f", 12.789); 12.789000
%e 지수형 printf("%e", 12.789); 1.178900e+01
unsigned %u 양수값만 표현 printf("%u", 20); 20

 

반응형

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

2022/08/25 C언어 공부 (6회차)  (0) 2022.08.25
2022/08/23 C언어 공부 (5회차)  (0) 2022.08.23
2022/08/21 C언어 공부 (4회차)  (0) 2022.08.21
2022/08/18 C언어 (3회차)  (0) 2022.08.18
2022/08/17 C언어 (2회차)  (0) 2022.08.17
'C언어 공부' 카테고리의 다른 글
  • 2022/08/23 C언어 공부 (5회차)
  • 2022/08/21 C언어 공부 (4회차)
  • 2022/08/18 C언어 (3회차)
  • 2022/08/17 C언어 (2회차)
Yamahost
Yamahost
반응형
Yamahost
꿈을 쫓는 거북이
Yamahost
전체
오늘
어제
  • 분류 전체보기 (54)
    • React (1)
    • SpringBoot (3)
    • 개인 서버(도커등) (10)
    • CS지식(공부용) (1)
    • SpringFramework (4)
    • JSP (4)
    • 오라클 DB (2)
    • 화면구현(HTML,CSS) (3)
    • JAVA 공부 (14)
    • 학원 스터디그룹 과제 (2)
    • 코딩테스트 연습 (0)
    • C언어 공부 (8)
    • 토이프로젝트 (0)
    • 과거글 (2)

블로그 메뉴

  • 홈
  • 글쓰기
  • 깃허브
  • 방명록
  • 관리자설정

공지사항

인기 글

태그

  • 망고
  • 미8
  • Mi8
  • 라오스 여행
  • 여행
  • 빠뚜사이
  • 샤오미
  • 뚝뚝이
  • 라이트
  • 지문인식
  • 태국 여행
  • 친구

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Yamahost
2022/08/16 C언어 첫 공부 (1회차)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.