Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그래밍

  1. C 언어 토큰(Token)이란? 개념과 종류, 예제까지 한눈에 보기

    C 토큰(Token)의 개념 C 프로그램은 여러 개의 명령어(문장)로 구성되며, 각 명령어는 다시 개별적인 최소 단위들로 이루어져 있습니다. 이처럼 C 프로그램을 구성하는 가장 작은 개별 단위를 토큰(token)이라고 부릅니다. 즉, C 프로그램의 모든 문장은 토큰들의 집합이라고 할 수 있습니다. 토큰은 C 프로그램을 만드는 데 사용되는 기본 빌딩 블록(building block)으로, 컴파일러가 소스 코드를 분석할 때의 기준 단위이기도 합니다. C 토큰의 종류 C 프로그램에서 토큰은 다음과 같은 요소들을 포함합니다. 키워드(K

  2. C 언어 연산자 우선순위와 결합성이란? 개념부터 우선순위 표까지 총정리

    C 프로그래밍에서 하나의 수식에 여러 연산자가 함께 사용될 때, 어떤 연산자가 먼저 계산되는지 아는 것은 매우 중요합니다. 이를 결정하는 기준이 바로 연산자 우선순위(Operator Precedence)와 연산자 결합성(Associativity)입니다. 이 글에서는 두 개념을 예제와 함께 살펴보고, 전체 연산자 우선순위 표까지 한눈에 정리해 드립니다.연산자 우선순위(Operator Precedence)란?연산자 우선순위는 하나의 수식(expression) 안에서 어떤 연산자가 먼저 평가될지 그 순서를 결정하는 규칙입니다. C 언어의

  3. C 언어 strtok() 함수란? 문자열을 토큰으로 나누는 방법

    C 언어 strtok() 함수 개요strtok() 함수는 C 언어의 <string.h> 헤더 파일에 포함된 표준 라이브러리 함수입니다. 이 함수를 사용하려면 소스 코드 상단에 #include <string.h>를 추가해야 합니다.strtok() 함수의 문법char* strtok(char* string, const char* limiter);이 함수는 두 개의 매개변수를 받습니다. 첫 번째는 분할하고자 하는 입력 문자열(string)이며, 두 번째는 구분자로 사용할 문자(limiter)입니다. strtok()은

  4. C 언어 strtok_r() 함수란? 재진입형 문자열 분리 함수 완벽 정리

    strtok_r() 함수는 strtok() 함수와 매우 유사하지만, 결정적인 차이점이 하나 있습니다. 바로 함수 이름 끝에 붙은 _r이 의미하는 재진입(re-entrant) 기능입니다. 재진입 가능한(re-entrant) 함수란 실행 도중에 중단되었다가, 나중에 중단된 지점부터 실행을 안전하게 재개할 수 있는 함수를 말합니다. 이러한 특성 덕분에 재진입 함수는 스레드로부터 안전(thread-safe)합니다. 즉, 여러 스레드가 동시에 호출하거나 실행 중에 인터럽트가 발생해도 데이터가 손상되지 않고 안전하게 동작합니다. strtok

  5. C 언어로 구현하는 DFS(깊이 우선 탐색) 알고리즘

    DFS(Depth First Search, 깊이 우선 탐색)는 그래프를 순회하며 모든 노드를 방문하는 대표적인 그래프 탐색 알고리즘입니다. 두 노드 사이에 경로가 존재하는지 여부를 판별하는 데에도 활용할 수 있습니다.이름 그대로 그래프나 트리를 한쪽 경로를 끝까지 따라 내려간 뒤, 더 이상 갈 곳이 없으면 되돌아오는 깊이 우선 방식으로 탐색을 수행합니다.알고리즘 동작 순서DFS를 구현하기 위한 알고리즘은 다음과 같습니다.1단계 — 초기 상태에서 스택은 비어 있습니다.2단계 — 방문할 노드가 스택에 없다면, 해당 노드를 스택에 pus

  6. C 언어로 분자와 분모를 문자열 형식의 소수로 변환하는 프로그램

    문제 개요사용자로부터 실행 시점에 두 개의 정수(분자와 분모)를 입력받아, 동적 메모리 할당(dynamic memory allocation)을 활용해 나눗셈 결과인 소수를 계산하고, 이를 문자열 형식으로 반환하는 프로그램을 작성하는 것이 목표입니다.특히 나눗셈 결과가 무한소수일 경우, 반복되는 소수 부분을 괄호 ()로 묶어 표시하는 것이 핵심 포인트입니다.해결 방법이 문제는 다음과 같은 단계로 해결할 수 있습니다.입력된 분자와 분모의 부호를 확인하여 결과가 음수인지 판별합니다.정수 부분과 소수 부분을 분리합니다.소수점 이하 자릿수를

  7. 주어진 열 번호에 해당하는 Excel 열 제목을 출력하는 C 프로그램

    문제 정의주어진 열 번호(정수 값)에 해당하는 Excel 열 제목을 출력하는 프로그램을 작성해야 합니다. 사용자가 정수를 입력하면, 프로그램은 그 번호에 대응하는 Excel 열 제목을 화면에 출력합니다.해결 방법C 언어에서 주어진 열 번호에 해당하는 Excel 열 제목을 출력하는 방법은 다음과 같습니다.예제 1열 번호와 열 제목의 대응 관계는 아래와 같습니다.1 -> A 2 -> B ... 26 -> Z 27 -> AA 28 -> AB ...예제 2입력은 다음과 같습니다 −number = 3 number

  8. C 프로그램으로 팩토리얼의 후행 0 개수 구하는 방법

    팩토리얼의 후행 0이란?주어진 팩토리얼(factorial) 값에서 후행 0(trailing zero), 즉 결과값 끝에 연속해서 붙어 있는 0의 개수를 구하는 방법을 세 가지 예제를 통해 살펴보겠습니다.예제로 이해하기예제 1입력: 4출력: 0설명: 4! = 24이므로 후행 0이 없습니다.4! = 4 × 3 × 2 × 1 = 24입니다. 일의 자리 숫자가 4이기 때문에 후행 0이 존재하지 않습니다.예제 2입력: 6출력: 1설명: 6! = 720이므로 후행 0이 하나 있습니다.6! = 6 × 5 × 4 × 3 × 2 × 1 = 720입

  9. 단일 연결 리스트를 이용해 숫자를 역순으로 출력하는 C 프로그램

    연결 리스트(Linked List)란?연결 리스트는 동적 메모리 할당을 기반으로 구현되는 자료구조로, 여러 개의 노드(Node)가 서로 연결되어 이루어진 집합입니다. 배열과 달리 크기를 미리 정하지 않아도 되므로, 필요할 때마다 메모리를 할당해 유연하게 데이터를 관리할 수 있습니다.노드는 크게 두 부분으로 구성됩니다.데이터(data) : 실제로 저장할 값링크(link) : 다음 노드의 주소를 가리키는 포인터연결 리스트의 종류C 언어에서 구현할 수 있는 대표적인 연결 리스트는 다음과 같습니다.단일 연결 리스트(Singly Linked

  10. C 언어로 이중 연결 리스트(Doubly Linked List)의 임의 위치에 노드 삽입하기

    연결 리스트란?연결 리스트(Linked List)는 동적 메모리 할당(dynamic memory allocation)을 기반으로 동작하는 자료 구조로, 여러 개의 노드(Node)들이 모여 이루어진 집합입니다.각 노드는 실제 값을 저장하는 데이터(data) 부분과 다른 노드를 가리키는 링크(link) 부분, 두 가지로 구성됩니다.연결 리스트의 종류C 프로그래밍에서 사용되는 연결 리스트의 종류는 다음과 같습니다.단일 연결 리스트(Singly Linked List)이중 연결 리스트(Doubly Linked List)원형 단일 연결 리스트

  11. 크기에 따른 컴퓨터의 4가지 유형: 마이크로컴퓨터부터 슈퍼컴퓨터까지

    컴퓨터는 데이터를 저장하고 다양한 연산을 수행할 수 있는 전자 기기입니다. 크기를 기준으로 컴퓨터는 크게 네 가지 유형으로 분류할 수 있습니다.마이크로컴퓨터 (소형)미니컴퓨터 (중형)메인프레임 컴퓨터 (대형)슈퍼컴퓨터 (초대형)마이크로컴퓨터 (Micro-computer)마이크로컴퓨터에 사용되는 CPU는 마이크로프로세서로, 1970년대 후반에 처음 등장했습니다. 최초의 마이크로컴퓨터는 약 8비트 마이크로프로세서 칩을 기반으로 제작되었습니다.8비트 칩은 한 번에 하나의 데이터나 명령어를 저장장치에서 불러와 처리하고 조작할 수 있습니다.

  12. C 언어 데이터 타입의 종류와 특징, sizeof 활용 예제까지 한눈에

    데이터 타입(Data Type)이란 메모리 위치 또는 변수를 선언하는 방식을 의미합니다. C 언어에서 다루는 데이터는 여러 가지 형태로 나뉘며, 대표적인 예는 다음과 같습니다.정수(Integer), 유리수(Rational Number), 자연수(Whole Number), 실수(Real Number), 복소수(Complex Number), 벡터(Vector), 문자(Character) 등하드웨어 관점에서 보면 모든 데이터는 유한한 길이의 이진수 0과 1로 인코딩된 문자열입니다. 컴퓨터 내부에서는 정수 데이터가 산술 논리 장치(ALU)

  13. C 언어로 2진수를 16진수로 변환하는 방법 완벽 정리

    2진수와 16진수의 기본 개념2진수(binary number)는 1과 0 두 개의 숫자만으로 값을 표현하는 기수법입니다.반면 16진수(hexadecimal)는 총 16개의 기호, 즉 {0, 1, 2, 3, ..., 9, A(10), B(11), ..., F(15)}를 사용하여 수를 나타냅니다.2진수를 16진수로 변환하는 원리2진수를 16진수로 변환하려면 최하위 비트(LSB) 쪽부터 4비트씩 묶습니다. 이렇게 묶인 4비트 단위를 니블(nibble)이라고 부르며, 각 니블을 해당하는 16진수 숫자 하나로 치환하면 변환이 완료됩니다.다음

  14. C 언어의 토큰(Token)이란 무엇인가? 개념부터 종류까지

    토큰(Token)은 컴파일러가 의미를 인식할 수 있는 프로그램의 가장 작은 구성 단위를 말합니다. 컴파일러는 소스 코드를 이러한 최소 단위인 토큰들로 분해한 뒤, 각 토큰을 컴파일의 여러 단계(어휘 분석, 구문 분석 등)로 전달하여 처리합니다.C 언어 토큰의 종류C 언어에서 토큰은 아래와 같이 여섯 가지 유형으로 분류됩니다.키워드(Keywords) — int, return처럼 C 언어가 미리 정의해 둔 예약어식별자(Identifiers) — 변수명, 함수명 등 사용자가 직접 정의하는 이름상수(Constants) — 값이 변하지 않는

  15. C 언어 키워드(예약어)의 종류와 특징, 실전 예제까지 한눈에

    키워드(keyword)는 프로그래밍 언어에서 미리 정의되어 있거나 예약된 단어를 의미합니다. C 언어의 모든 키워드는 프로그램 내에서 각자 고유한 기능을 수행하도록 설계되어 있습니다.C 언어 키워드의 주요 특징키워드는 변수 이름으로 사용할 수 없습니다.키워드는 고정된 의미를 가지며, 그 의미는 임의로 변경할 수 없습니다.키워드는 C 프로그램의 기본 구성 요소입니다.C 언어는 총 32개의 키워드를 지원합니다.모든 키워드는 소문자로 작성해야 합니다.C 언어의 32가지 키워드 목록C 언어에서 사용되는 키워드는 아래와 같이 분류할 수 있습

  16. C 언어 식별자(Identifier)란 무엇일까? 핵심 개념과 명명 규칙 총정리

    C 언어에서 식별자(Identifier)는 프로그램을 구성하는 토큰(token) 중 하나로, 변수·상수·함수·배열 그리고 사용자가 정의한 데이터에 이름을 붙여 서로 구별할 때 사용되는 고유한 이름입니다.식별자에는 예약어(keyword)를 사용할 수 없습니다. int, return 같은 키워드는 컴파일러가 특수한 용도로 미리 예약해 둔 단어이기 때문입니다. 식별자가 한 번 선언되면 이후 프로그램의 다른 문장에서 그 이름을 통해 연결된 값을 참조할 수 있습니다.또한 식별자 중에는 특수한 형태인 문장 라벨(statement label)이

  17. C언어 상수(Constant)란 무엇인가? 예제로 쉽게 이해하기

    상수(Constant)는 한 번 정의되면 프로그램 실행 도중에 값이 절대 변경되지 않는 변수입니다. 즉, 고정된 값을 참조하도록 변수를 상수로 선언할 수 있으며, 이러한 값은 리터럴(literal)이라고도 부릅니다. C언어에서 상수를 정의하려면 반드시 const 키워드를 사용해야 합니다.상수 선언 문법C 프로그래밍 언어에서 상수를 선언하는 기본 문법은 다음과 같습니다.const type VariableName; (또는) const type *VariableName;상수의 종류C언어에서 사용되는 상수는 크게 다음과 같은 유형으로 나눌

  18. C 언어 특수 기호 완벽 정리 – 종류, 의미, 용도 한눈에 보기

    C 언어의 특수 기호란?C 프로그래밍 언어에서 특수 기호(special symbols)는 컴파일러에게 특별한 의미를 전달하는 문자들입니다. 이러한 기호들은 문법적으로 고유한 역할을 수행하기 때문에 변수 이름이나 다른 일반적인 용도로는 사용할 수 없습니다.C 언어에서 대표적으로 사용되는 특수 기호는 다음과 같습니다.[] ( ) { } , ; * = #특수 기호별 의미와 용도각 기호가 어떤 역할을 하는지 하나씩 살펴보겠습니다.대괄호 [ ] – 배열 요소를 참조할 때 사용하며, 1차원 및 다차원 첨자(subscript)를 나타냅니다. 예

  19. C 언어로 문자, 문자열, 문장을 읽고 쓰는 프로그램 만들기

    C 언어를 사용해 문자 한 개, 문자열, 그리고 문장(공백을 포함한 문자열)을 차례대로 입력받아 그대로 출력하는 프로그램을 만들어 보겠습니다. 여기서 문자열의 최대 크기는 500으로 설정합니다.예를 들어 입력이 다음과 같다고 가정해 봅시다.character = T string = ProgrammingLanguage sentence = I love programming through C그렇다면 출력 결과는 다음과 같습니다.Your character: T Your string: ProgrammingLanguage Your sentenc

  20. C 언어로 두 수의 합 구하기 – 정수와 실수 덧셈 프로그램

    문제 개요두 개의 정수형 변수 a, b와 두 개의 실수형(float) 변수 c, d가 있다고 가정해 봅시다. 우리는 a와 b의 합, c와 d의 합을 각각 구해야 하며, 추가로 정수와 실수를 섞어 a와 c의 합도 계산해야 합니다. 이때 printf 함수에서 어떤 서식 지정자(format specifier)를 사용하느냐에 따라 출력 결과가 달라질 수 있습니다.예를 들어 입력이 a = 5, b = 58, c = 6.32, d = 8.64라고 하면, 출력은 다음과 같습니다.a + b = 63c + d = 14.960001a + c = 11

Total 1443 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:72/73  20-컴퓨터/Page Goto:1 66 67 68 69 70 71 72 73