C언어 멘토링 - 1주차

2022. 4. 6. 13:15·Programming Language/C

멘토링 과제


배운 내용

  • 입출력 (printf, scanf)
  • 형식 지정자
  • 변수와 자료형
  • 연산자의 종류

 


[C언어의 입력과 출력]

1. 입력 - printf()

콘솔 창에 특정 문자, 문자열, 변수 등을 출력할 때 사용한다.

 

printf( )의 이름은 출력(print)과 형식(format)이 합쳐져 만들어진 것이다.

printf( ) 함수를 사용하기 위해서는 1행과 같이 stdio.h라는 헤더 파일이 포함되어야 한다.

stdio.h란 Standard Input/Output library (표준입출력 라이브러리)의 약어이다.

 

 

(1) 제어 문자, 이스케이프 시퀀스(Escape Sequence)

 

제어 문자(이스케이프 시퀀스)란 특정 문자를 출력하고자 할 때 사용하는 문자이다.

제어 문자의 종류와 의미

 

[예제]

#include <stdio.h>

main(){
	printf("수평탭 입력 전\n");
    printf("\t수평탭 입력 후");
}

 

출력 결과

 

 

 

 

2. 출력 - scanf() / scanf_s()

C언어에서 기본적으로 입력을 받기 위해 사용하는 함수이다.

 

scanf( )의 이름은 스캔(scan)과 형식(format)이 합쳐져 만들어진 것이다.

scanf( )에서 사용 가능한 서식 지정자는 printf( )와 동일하다.

입력 받을 값의 자료형에 해당하는 서식 지정자를 큰따옴표(“ ”) 내부에 포함시킨다.

출력은 하지 않으므로 printf( )처럼 출력 데이터를 첨가하거나, 특수 문자를 포함시키지 않는다.

BOF(버퍼 오버 플로우) 취약점이 발생할 수 있어, sacnf_s() 함수로 대체되어 사용되고 있다.

 

※ scanf 사용 시 주의점

1. 값이 입력될 변수의 이름 앞에 참조 연산자 ‘&’를 붙여야 한다.

‘&’ 연산자 : 변수의 메모리 주소를 알려주는 표현

2. scanf() 사용 후 에러가 난다면 아래의 구문을 메인 함수 위에 선언해야 한다.

#define _CRT_SECURE_NO_WARNINGS

3. 인자와 인자를 구분할 때는 ‘,’ (콤마)를 사용하여 구분해야 한다.

scanf_s("%d", num);

 

 

(1) 형식(서식) 지정자

 

형식(서식) 지정자란 어떤 정보를 어떻게 해석할지 정해주는 문자이다.

형식 지정자의 종류와 의미

 

[예제]

#include <stdio.h>

main() {
	int num = 0;
	char a1;
    
	printf("정수 입력: ");
	scanf_s("%d", &num);
	rewind(stdin);
    
	printf("단일 문자 입력: ");
	scanf_s("%c", &a1, 1);
    
	printf("\n입력된 문자: %d, %c", num, a1);
}

출력 결과

 

 


[변수와 자료형]

1. 변수

변수란 데이터를 저장하기 위한 공간이다.

 

변수에 들어갈 데이터의 종류에 따라 자료형(=변수 타입)이 달라진다.

변수 공간 int_a float_b char_c str_d
변수에
들어가는
데이터
↑
5
↑
1.2
↑
A
↑
apple

 

 

 

 

2. 자료형

자료형이란 저장되는 데이터의 종류에 따른 형태이다.

 

저장되는 값의 종류와 범위에 따라 다르게 표현한다.

자료형

 

↓논리적 오류

 

[예제]

#include <stdio.h>

main() {
	int max_num = 2147483647;
	
	printf("%d", max_num);
	
	max_num += 1;

	printf("\n%d", max_num);
}

출력 결과

  1. 4행에서 int형 변수에 저장할 수 있는 최대 숫자인 2,147,483,647을 저장
  2. 8행에서 1을 더하면 저장 가능한 값의 범위를 넘게 되어 오버플로우 발생

해결책: 더 큰 정수를 저장하기 위해 longlong을 이용해 변수를 선언한다.

 

 


[연산자]

1. 연산자 (Operator)

주어진 식을 계산하여 결과를 산출하는 과정을 연산이라고 하고, 연산을 수행하는 기호를 연산자라고 한다.

 

연산식 : 연산자(operator)와 피연산자(operand)의 조합

 

 

(1) 연산자의 종류

연산자의 종류

 

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

C언어 멘토링 | 5주차 [과제]  (0) 2022.05.16
C언어 멘토링 | 4주차 [과제]  (0) 2022.05.07
C언어 멘토링 | 3주차 [과제]  (0) 2022.05.03
C언어 멘토링 | 2주차 [과제]  (0) 2022.04.07
C언어 멘토링 | 1주차 [과제]  (0) 2022.04.06
'Programming Language/C' 카테고리의 다른 글
  • C언어 멘토링 | 4주차 [과제]
  • C언어 멘토링 | 3주차 [과제]
  • C언어 멘토링 | 2주차 [과제]
  • C언어 멘토링 | 1주차 [과제]
602zzang
602zzang
  • 602zzang
    yks_STUDY
    602zzang
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Programming Language (36)
        • C (15)
        • PYTHON (9)
        • RUST (12)
      • Reverse Engineering (3)
      • OS (17)
        • LINUX (17)
      • 보안 이슈 (6)
      • Digital Forensics (0)
      • CTF (7)
      • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    umassctf2025
    rust
    malloc
    python
    코드업
    TeamH4C
    공급망
    백준
    빡공팟
    picoCTF
    rustling
    보안동향
    Rocky Linux
    P4C
    드림핵
    보안이슈
    bandit
    c
    소켓 통신
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
602zzang
C언어 멘토링 - 1주차
상단으로

티스토리툴바