반응형

<getchar(), putchar()>

 

// 표준 입출력 함수들 중에서 문자 하나의 입출력을 담당하는 함수 

=> getchar(), putchar()


11번째줄 : getchar() 함수는 키보드로 부터 문자 하나를 입력받고 해당 문자의 아스키 코드 값을 반환한다.

cIn = getchar(); => 아스키 코드값인 정수 값을 cin 문자형 변수에 대입하는 문장이다.


 

// puts(), gets() : 하나 이상의 문자(문자열)를 입력 또는 출력하는 함수

반응형

'Programming Language > C' 카테고리의 다른 글

C언어 #15  (0) 2020.03.23
C언어 #14  (0) 2020.03.23
c언어 #12  (0) 2020.03.21
c언어 #11  (0) 2020.03.21
c언어 #10  (0) 2020.03.21
반응형

<c언어로 calc만들기!>

 

#include

int main()
{

int iNum1 = 0, iNum2 = 0, iResult = 0;
char cOper;


printf("연산식을 입력하세요!\n예) 1 + 2 엔터\n");


scanf("%d %c %d", &iNum1, &cOper, &iNum2);


if (cOper == '+')  => 연산자가 + 일때
{
iResult = iNum1 + iNum2;
}
if (cOper == '-')  => 연산자가 - 일때
{
iResult = iNum1 - iNum2;
}
if (cOper == '*') => 연산자가 * 일때
{
iResult = iNum1 * iNum2;
}
if (cOper == '/') => 연산자가 / 일때
{
iResult = iNum1 / iNum2;
}
if (cOper == '%') => 연산자가 % 일때
{
iResult = iNum1 % iNum2;
}


printf("%d %c %d = %d\n", iNum1, cOper, iNum2, iResult);

return 0;
}


<printf문은 최대한 적게 사용하기!>

반응형

'Programming Language > C' 카테고리의 다른 글

C언어 #14  (0) 2020.03.23
c언어 #13  (0) 2020.03.21
c언어 #11  (0) 2020.03.21
c언어 #10  (0) 2020.03.21
c언어 #9  (0) 2020.03.21
반응형

<checkOdd>

 

짝수
홀수

 

6번째줄 : 필요 변수 선언

15번째줄 : 

조건문

 

조건문 : 어떠한 조건을 판단하여 처리하는 문장

if ((iNum % 2) == 0)  => iNum이 2로 나누어질때 나머지가 0이면 printf("짝수\n"); 실행
{
printf("짝수\n");
}
else
{
printf("홀수\n"); => 0이 아니면 printf("홀수\n"); 실행
}

반응형

'Programming Language > C' 카테고리의 다른 글

c언어 #13  (0) 2020.03.21
c언어 #12  (0) 2020.03.21
c언어 #10  (0) 2020.03.21
c언어 #9  (0) 2020.03.21
c언어 #8  (0) 2020.03.21
반응형

<Scanf>

open my birthday

 


 

// scanf(), printf() : 형식이 지정된 표준 입출력 함수
// 괄호 사이에 큰따옴표를 사용하고 큰따옴표 사이에 형식 지정문자열(포멧스트링)을 사용
// 자료형에 따라 %d, %f, %lf, %c, %s 등을 사용한다.
// printf()는 큰따옴표 사이에 출력 문자열을 사용할 수 있다.
// scanf()는 큰따옴표 사이에 포멧스트링만 사용할 수 있다.
// 변수명 앞에 &기호를 반드시 붙여야한다.
// 변수명 앞에 &기호는 해당 변수의 실제 메모리 주소를 말한다.

 


 

11번째줄 :

만약 &기호를 생략하면 "nullptr" 오류가 발생한다.

nullptr : 주소 또는 포인터 사용을 잘못한 경우 주로 발생하는 오류 => 자신의 코드에서 주소 또는 포인터 사용 부분 확인

 


 

 

%hu : unsigned에 short 형인 2byte

반응형

'Programming Language > C' 카테고리의 다른 글

c언어 #12  (0) 2020.03.21
c언어 #11  (0) 2020.03.21
c언어 #9  (0) 2020.03.21
c언어 #8  (0) 2020.03.21
c언어 #7  (0) 2020.03.21
반응형

<typeCast : 형변환>

 


형변환 : 자료의 형태를 변경하는 것

 

형변환의 종류

- 묵시적 형변환 : 컴파일러에 의해 자동으로 형변환 되는 것

   -> 자료의 손실이 없는 방향으로 변경된다.

- 명시적 형변환 : 프로그래머가 강제적으로 자료형을 변환하는 것

   -> 명시적 형변환은 형변환 연산자를 이용한다.

   -> () 괄호안에 자료형을 지정하여 강제로 변환한다.


7번째줄 : 묵시적 형변환이 발생한다 -> 

a를 정수가 아닌 실수로 변환하여 연산을 수행한다.

=> result : 1.100000

 

13 ~ 16번째줄 : 묵시적 형변환의 예

int c = 10;
float d = 20.05;
float e;
e = c + d;

 

18~22번째줄 : 명시적 형변환의 예

 


이렇게 생각하시면 편합니다!

묵시적 :

직접적으로 이나 행동으로 드러내지 않고 은연중에  나타내 보이는. 또는 그런 것.

 

명시적 : 

내용이나 뜻을 분명하게 드러내 보이는. 또는 그런 .

반응형

'Programming Language > C' 카테고리의 다른 글

c언어 #11  (0) 2020.03.21
c언어 #10  (0) 2020.03.21
c언어 #8  (0) 2020.03.21
c언어 #7  (0) 2020.03.21
c언어 #6  (0) 2020.01.13
반응형

<char Sample>

 

// 문자형 : 문자 1개를 보관하는 자료형

// 문자 변수에 값을 저장할 때 작은따옴표를 이용하여 문자를 나타낸다.

// 대문자 A를 문자로 표시하면 'A'로 표현한다.

// 문자형은 1바이트 메모리를 사용한다.

// 유효범위는 0~127 개의 문자를 보관할 수 있다.

// 문자형은 정수와 문자를 매핑시킨 자료형이다.

// 아스키 코드 값은 문자 하나와 숫자 하나를 매핑시킨 표를 말한다.

 

(좀 더 c언어를 공부하고 있다는것을 말하기 위해 // <- 주석 문(?)을 사용해서 설명을 붙였습니다.)

 


소문자 a는 97, 대문자 A는 65

 

<꿀팁!>소문자와 대문자는 알파벳 순서가 올라갈수록 1씩 증가합니다

반응형

'Programming Language > C' 카테고리의 다른 글

c언어 #10  (0) 2020.03.21
c언어 #9  (0) 2020.03.21
c언어 #7  (0) 2020.03.21
c언어 #6  (0) 2020.01.13
c언어 #5  (0) 2020.01.13
반응형

<float , Double>

6번 줄 :  result에 저장된 값?

 - printf("결과 : % d\n", result); => 5 / 2 이므로 result에 저장된 값은 2이다.

 

11번째 줄 :  printf("나머지 : %-8d\n", result);

=> 포멧 스트링에 - 기호는 왼쪽 정렬의 뜻

 

12번째 줄 : printf("나머지 : %+8d\n", result);

=> 8칸 떨어진 오른쪽 정렬

=> + 기호는 양수 부호를 사용한다.

 

14번째 줄 : float a = 12.34;

=> 4바이트 메모리 사용

 

15번째 줄 : double b = 56.78;

=> 8바이트 메모리 사용

반응형

'Programming Language > C' 카테고리의 다른 글

c언어 #9  (0) 2020.03.21
c언어 #8  (0) 2020.03.21
c언어 #6  (0) 2020.01.13
c언어 #5  (0) 2020.01.13
c언어 #4  (0) 2020.01.13
반응형

<각 자료형의 크기>

자료형

크기

값의 범위

char

1 byte

-128~127, 0~255

unsigned char

1 byte

0~255

signed char

1 byte

-128~127

int

2 or 4 byte

-32,768~32,767 or
-2,147,483,648 ~ 2,147,483,647

unsigned int

2 or 4 byte

0~65,535 or
 0 ~ 4,294,967,295

short

2 byte

-32,768 ~ 32,767

unsigned short

2 byte

0 ~ 65,535

long

4 byte

-2,147,483,648 ~ 2,147,483,647

unsigned long

4 byte

0 ~ 4,294,967,295

<Overflow Underflow>

 

char 크기는 -128 ~ 127까지다. 

근데 cNum1에는 범위가 벗어난 128과 cNum2에는 범위가 벗어난 -129가 선언이 되었다.

 

출력 결과는 이렇다.

 

출처 : https://dojang.io/mod/page/view.php?id=32

 

C 언어 코딩 도장: 7.2 오버플로우와 언더플로우 알아보기

만약 정수 자료형에서 저장할 수 있는 범위를 넘어서면 어떻게 될까요? 다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요. integer_overflow.c #include int main() { char num1 = 128; // char에 저장할 수 있는 최댓값 127보다 큰 수를 할당 // 오버플로우 발생 unsigned char num2 = 256; // unsigned char에 저장할 수 있는 최댓값 255보다 큰 수를 할당 // 오버플로

dojang.io

 

 

1. cNum1에 -128이 나오냐면 처음에 cNum1에 128을 넣었다. 하지만 크기는 -128 ~ 127까지다. 127까지인데 128을 넣어서 오버플로우가 발생한다(1만큼). 그래서 127의 다음숫자는 128이지만 char 자료형의 크기는 -128 ~ 127까지기 때문에 127 다음 숫자는 -128이 된다.

 

2. cNum2에 127이 나오냐면 cNum2에 -129를 넣었다. char의 크기는 -128 ~ 127 까지이다.

-128보다 적은 숫자를 넣었으므로 언더플로우 발생. 그래서 -128에서 그전숫자인 127이 나오게 되는것이다. 

반응형

'Programming Language > C' 카테고리의 다른 글

c언어 #8  (0) 2020.03.21
c언어 #7  (0) 2020.03.21
c언어 #5  (0) 2020.01.13
c언어 #4  (0) 2020.01.13
c언어 #3  (0) 2020.01.12

+ Recent posts