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

C 프로그래밍

  1. C 언어에서 사용자 정의 헤더 파일 만들고 활용하는 방법

    문제 상황C 언어에서 사용자가 직접 자신만의 헤더 파일을 만들 수 있을까요? 만약 가능하다면, 사용자 정의 헤더 파일에는 어떻게 접근해서 사용할 수 있을까요?해결 방법네, C 언어에서는 사용자가 직접 헤더 파일을 생성하는 것이 충분히 가능합니다.사용자 정의 헤더 파일을 활용하면 함수, 전역 변수, 구조체 등을 하나의 별도 파일로 깔끔하게 관리할 수 있으며, 여러 모듈에서 손쉽게 재사용할 수 있다는 큰 장점이 있습니다.그럼 실제 예제를 통해 사용자 정의 헤더 파일을 만들고 불러오는 과정을 살펴보겠습니다.예제 코드아래는 main.c 파

  2. C 언어에서 버퍼(Buffer)란? 개념부터 버퍼 비우기까지 완벽 정리

    C 언어에서 버퍼(Buffer)란 무엇인가? 버퍼(buffer)란 데이터를 일시적으로 보관하는 임시 저장 공간을 의미합니다. 키보드, 모니터 등 모든 입출력(I/O) 장치에는 자체적인 I/O 버퍼가 존재하며, 이 버퍼는 프로그램과 입출력 장치 사이에서 데이터의 흐름을 원활하게 해주는 중간 창구 역할을 합니다. 입력 버퍼에 데이터가 남는 이유 프로그램이 요청한 개수보다 더 많은 값을 입력으로 전달하면, 초과된 값들은 자동으로 입력 버퍼(input buffer)에 남게 됩니다. 문제는 이렇게 남아 있는 데이터가 다음 입력 함수가 호출될

  3. C 언어에서 배열 요소에 접근하는 방법 총정리

    배열(Array)이란?배열은 하나의 공통된 이름 아래 서로 연관된 데이터 항목들을 모아 놓은 집합입니다. 배열 안에서 특정 값을 찾으려면 인덱스 번호(index) 또는 첨자(subscript)를 사용합니다.배열의 가장 큰 장점은 다음과 같습니다.하나의 이름만으로 여러 항목의 집합을 표현할 수 있고, 항목 번호를 지정해 개별 항목에 접근할 수 있기 때문에 간결하고 효율적인 프로그램 작성이 가능합니다.배열 선언 방법C 언어에서 배열을 선언하는 기본 문법은 다음과 같습니다.datatype array_name [size];예시 1)floa

  4. C 프로그래밍에서 파일 끝(EOF) 완벽 이해하기

    파일 끝(End of File, EOF)은 입력의 끝을 나타내는 신호입니다. 텍스트 입력 중 Ctrl+Z(Windows 기준)를 누르면 입력이 종료되며, 더 이상 읽을 데이터가 없음을 의미합니다.EOF는 stdio.h 헤더 파일에 정의된 매크로로, 일반적으로 정수 값 -1로 정의되어 있습니다. 참고로 Windows에서는 Ctrl+Z, Unix/Linux 계열에서는 Ctrl+D를 눌러 EOF 신호를 보낼 수 있습니다.알고리즘EOF 처리 과정은 아래 알고리즘과 같습니다.1단계: 파일을 쓰기 모드(w)로 연다. 2단계: 파일 끝(EOF)

  5. C 언어 참조에 의한 호출(Call by Reference)이란? 개념부터 예제까지

    C 언어에서 참조에 의한 호출(Call by Reference)이란?참조에 의한 호출(Pass by Reference)은 함수를 호출할 때 값 자체가 아니라 변수의 주소(address)를 인수로 전달하는 방식을 말합니다.참조에 의한 호출 방식에서는 실제 인수(actual argument)의 주소가 함수의 형식 매개변수(formal parameter), 즉 포인터 변수에 전달됩니다. 함수 내부에서는 이 주소를 사용하여 원본 변수에 직접 접근할 수 있으며, 따라서 함수 안에서 값을 변경하면 호출한 쪽의 원본 변수 값도 함께 변경됩니다.

  6. C 언어 값에 의한 호출(Call by Value) 개념과 swap 함수 예제 총정리

    값에 의한 호출(Call by Value)은 함수를 호출할 때 인수의 값 자체를 복사하여 전달하는 방식입니다. 이 방식에서는 함수 내부에서 매개변수가 아무리 변경되더라도, 호출한 쪽의 원본 변수에는 전혀 영향을 주지 못합니다. 값에 의한 호출 알고리즘 다음은 값에 의한 호출의 동작 과정을 단계별로 정리한 알고리즘입니다. 1단계: 실행 시점에 임의의 숫자 2개를 입력받는다 2단계: 콘솔로부터 두 숫자를 읽어들인다 3단계: swap 함수를 값에 의한 호출 방식으로 호출한다 4단계: 호출된 함수 swap(int a, int b)로 제어가

  7. C 언어 문자열(String) 완벽 정리: 개념, 선언 및 초기화 방법

    문자 배열(character array), 즉 여러 문자들의 집합을 문자열(string)이라고 합니다. C 언어에서 문자열은 프로그래밍의 기본이 되는 중요한 개념으로, 문자 데이터를 효율적으로 저장하고 다룰 수 있게 해줍니다.문자열 선언(Declaration)C 언어에서 문자열은 다음과 같은 형식으로 선언합니다.char 문자열이름 [크기];예를 들어 char a[50];과 같이 선언하면, 최대 50개의 문자를 저장할 수 있는 문자열 변수가 생성됩니다.문자열 초기화(Initialization)선언된 문자열은 두 가지 방법으로 초기화할

  8. C 언어에서 문자열 입력과 출력하는 방법 총정리

    C 언어에서 문자열(string)이란 문자들이 배열 형태로 모여 있는 것, 즉 문자 배열(character array)을 의미합니다. 이번 글에서는 C 언어에서 문자열을 입력하고 출력하는 다양한 방법을 예제 코드와 함께 자세히 알아보겠습니다.1. scanf( )와 printf( )를 이용한 문자열 입출력가장 기본적인 방법은 표준 입출력 함수인 scanf()와 printf()를 사용하는 것입니다. 서식 지정자 %s를 활용하면 문자열을 손쉽게 처리할 수 있습니다.예제 코드#include<stdio.h> main ( ){ &n

  9. C 언어에서 미리 정의된 수학 함수 활용법 – pow로 세제곱근 구하기와 ceil 올림 함수 예제

    C 언어는 math.h 헤더 파일을 통해 다양한 수학 함수를 기본으로 제공합니다. 별도의 복잡한 연산 로직을 직접 작성하지 않아도 거듭제곱, 제곱근, 올림·내림 등을 한 줄의 함수 호출로 처리할 수 있습니다. 이 글에서는 대표적인 수학 함수인 pow()와 ceil()을 활용하는 방법을 예제와 함께 살펴봅니다. 문제 상황 C 프로그래밍 언어를 사용해 임의로 주어진 숫자의 세제곱근(cube root)을 어떻게 구할 수 있을까요? 해결 방법 세제곱근은 거듭제곱 함수 pow()를 이용해 지수를 1/3으로 설정하면 간단하게 계산할 수 있습니

  10. C 언어로 문자열에서 모음 삭제하기: 핵심 로직과 예제 코드 총정리

    C 프로그래밍에서 입력된 문자열로부터 모음(a, e, i, o, u 및 대문자 형태)을 제거하는 것은 문자열 처리 능력을 기르는 대표적인 연습 문제입니다. 이 글에서는 중첩 반복문과 조건문을 활용한 핵심 로직을 단계별로 설명하고, 전체 예제 코드와 실행 결과까지 함께 확인해 보겠습니다. 모음 삭제 핵심 로직 주어진 문자열에서 모음을 삭제하는 데 사용되는 기본 로직은 다음과 같습니다. 문자열 전체를 처음부터 끝까지 순회하며 각 문자가 모음인지 검사합니다. 모음을 발견하면 해당 위치부터 문자열 끝까지의 모든 문자를 한 칸씩 앞으로

  11. C 프로그래밍 언어의 한계와 기본 구조 완벽 정리

    C 프로그래밍 언어는 시스템 프로그래밍의 근간이 되는 강력한 언어이지만, 다른 현대적인 프로그래밍 언어와 비교했을 때 몇 가지 명확한 한계를 가지고 있습니다. 이 글에서는 C 언어의 주요 제약 사항을 살펴보고, C 프로그램의 기본 구조와 실제 예제 코드까지 함께 알아보겠습니다. C 언어의 주요 한계점 객체지향 개념 미지원: C 언어는 상속(inheritance), 다형성(polymorphism), 캡슐화(encapsulation), 데이터 추상화(data abstraction)와 같은 객체지향 프로그래밍의 핵심 개념을 지원하지 않

  12. C 프로그래밍의 참조와 포인터, 개념부터 예제까지 완벽 정리

    문제 정의 C 프로그래밍 언어에서 참조(reference)와 포인터(pointer)의 개념을 예제 코드와 함께 살펴보겠습니다. 포인터(Pointer)란 무엇인가? 포인터는 다른 변수의 메모리 주소를 저장하는 특수한 변수입니다. 포인터의 주요 특징은 다음과 같습니다. 변수의 메모리 주소를 저장합니다. NULL 값을 가질 수 있습니다. 참조에 의한 전달(pass by reference) 방식으로 접근할 수 있습니다. 선언 시점에 반드시 초기화할 필요는 없습니다. 포인터 선언 문법 데이터타입 *포인터변수명; 예를 들어 int *a;

  13. C 언어 sprintf()와 sscanf() 함수의 역할과 사용법 총정리

    C 언어의 표준 입출력 라이브러리(stdio.h)에는 화면이나 파일이 아닌 문자열을 대상으로 데이터를 읽고 쓰는 두 가지 유용한 함수가 있습니다. 바로 sscanf()와 sprintf()입니다. 이름 앞에 붙은 s는 string(문자열)을 의미하며, 각각 scanf()와 printf()의 문자열 버전이라고 이해하면 쉽습니다. sscanf() 함수란? sscanf()는 하나의 문자열로부터 형식에 맞춰 데이터를 읽어 들여 변수에 저장하는 함수입니다. 사용자 입력이 아닌 이미 만들어진 문자열을 파싱(parsing)할 때 특히 유용합니다.

  14. C 언어 구조체(Struct) 완벽 정리: 선언, 초기화부터 예제 프로그램까지

    C 언어에서 구조체(structure)는 서로 다른 자료형의 변수들을 하나의 이름 아래 묶어 관리할 수 있게 해주는 강력한 기능입니다. 이 글에서는 구조체의 기본 개념부터 선언 방법, 구조체 변수 선언, 초기화 및 멤버 접근 방법까지 다양한 예제 프로그램과 함께 자세히 살펴보겠습니다. 구조체란 무엇인가? 구조체는 서로 다른 데이터 타입을 가진 변수들의 집합을 하나의 이름으로 그룹화한 것입니다. 예를 들어 책 정보를 저장할 때 페이지 수(int), 저자 이름(char 배열), 가격(float)처럼 성격이 다른 데이터를 하나의 단위로

  15. C 언어로 구의 부피를 계산하는 방법 완벽 정리

    구의 부피란?구의 부피란 해당 입체 도형이 차지하는 공간의 크기, 즉 용적을 의미합니다. C 언어에서는 간단한 수식만으로 구의 부피를 손쉽게 계산할 수 있습니다.구의 부피를 구하는 공식은 다음과 같습니다.$$V\:=\:\frac{4}{3}\Pi\:r^{3}$$여기서 r은 구의 반지름을 나타냅니다.알고리즘구의 부피를 계산하는 절차는 다음과 같습니다.1단계: 실행 시점에 구의 반지름을 입력받는다 2단계: 변수에 공식을 적용한다 Volume = (4/3) * 3.14 * rad * rad * rad 3단계: 계산된 부피를

  16. C 프로그래밍으로 세금 18%가 포함된 금액 계산하기

    문제 정의사용자로부터 달러 단위의 금액을 입력받은 후, 여기에 세금 18%를 더한 최종 금액을 화면에 출력하는 C 프로그램을 작성해 보겠습니다.풀이 방법식당에서 모든 손님의 계산서에 18%의 세금을 추가하는 상황을 생각해 봅시다.세금을 계산하는 핵심 로직은 다음과 같습니다.value = money + (money * 0.18);입력받은 금액(money)에 18%(0.18)를 곱한 세금을 원래 금액에 더하면, 세금이 포함된 최종 금액(value)이 계산됩니다. 이렇게 하면 식당 주인은 손님에게 세금이 반영된 금액을 정확하게 청구할 수

  17. C 언어로 매달 내야 할 잔액 할부금 계산 프로그램 만들기

    문제 개요특정 대출 금액에 대해 매달 납부해야 하는 잔액 할부금(이자 포함)을 계산하는 C 프로그램을 작성하는 것이 목표입니다. 사용자로부터 대출 원금, 연 이자율, 월 상환액을 차례로 입력받은 뒤, 1회차와 2회차 상환이 끝난 시점에 남아 있는 잔액을 화면에 출력합니다.계산 공식대출 금액이 주어졌을 때 한 달 동안 발생하는 이자는 다음 공식으로 구할 수 있습니다.i = loanamt * ((interest/100)/12);여기서 (interest/100)은 백분율로 표현된 연 이자율을 소수 형태로 변환한 값이며, 여기에 12를 나

  18. C 언어에서 printf 정렬 옵션으로 출력을 깔끔하게 정렬하는 방법

    C 언어에서는 printf 함수의 정렬 옵션(justification)을 활용하면 데이터를 원하는 형식으로 자유롭게 배치할 수 있습니다. 표 형태의 출력이나 이름 목록, 결제 내역 같은 데이터를 출력할 때 특히 유용한 기능입니다. 왼쪽 정렬과 오른쪽 정렬의 기본 원리 서식 지정자에 너비(width)를 지정하면 해당 칸 안에서 문자열이 정렬되며, 기본값은 오른쪽 정렬입니다. 너비 값 앞에 마이너스(-) 기호를 붙이면 왼쪽 정렬로 바뀝니다. printf(%-15s, text); /* 15칸 안에서 왼쪽 정렬 */ printf(%1

  19. Switch문과 함수 호출로 구현하는 C 언어 선거 투표 프로그램

    문제 정의선거에 참여하는 각 후보에게 투표를 행사하고, 후보별 득표 수를 집계한 뒤 그 결과를 화면에 출력하는 프로그램을 C 언어로 어떻게 작성할 수 있을까요?해결 방법이번 예제에서는 세 명의 후보가 선거에 출마했다고 가정합니다. 프로그램이 제공해야 할 핵심 기능은 다음 두 가지입니다.투표하기(Cast Vote) — 메뉴에서 번호를 선택해 원하는 후보에게 투표합니다.득표 수 확인(Find Vote Count) — 각 후보가 획득한 총 득표 수를 집계하여 최다 득표자(당선자)를 출력합니다.모든 동작은 main() 함수의 switch문

  20. C 언어 switch-case 문으로 구현하는 도서관 관리 시스템 프로그램

    문제 개요C 프로그래밍을 이용하면 별도의 데이터베이스 없이도 도서관의 도서 정보를 효율적으로 저장하고 관리할 수 있습니다. 이번 글에서는 구조체(struct)와 switch-case 문을 활용해 도서 추가, 도서 목록 조회, 보유 도서 수 확인 기능을 갖춘 간단한 도서관 관리 시스템을 만드는 방법을 단계별로 살펴보겠습니다.알고리즘프로그램의 전체적인 동작 흐름은 다음과 같습니다.1단계: 도서 데이터를 담을 구조체를 선언한다 2단계: 반복문에 사용할 변수를 선언한다 3단계: switch-case 문으로 각 기능(모듈)을 분기 처리한다

Total 1443 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:62/73  20-컴퓨터/Page Goto:1 56 57 58 59 60 61 62 63 64 65 66 67 68