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

C 프로그래밍

  1. C 언어에서 for 루프로 문자열 역순 출력하기 – 예제 프로그램 2가지

    C 언어에서 미리 정의된 라이브러리 함수 없이 문장을 거꾸로 출력하는 프로그램을 작성해 보겠습니다. for 루프를 활용하면 입력받은 문자열을 아주 간단하게 역순으로 출력할 수 있습니다. 프로그램 1 – for 루프를 이용한 문자열 뒤집기 이 프로그램은 getchar() 함수로 콘솔에서 한 글자씩 입력을 받아 배열에 저장한 후, 배열의 끝에서부터 처음까지 putchar() 함수로 차례대로 출력하는 방식으로 동작합니다. #include<stdio.h> int main(){     char

  2. elseif 문만 사용하여 숫자를 영어 단어로 출력하는 C 프로그램 작성법

    문제switch-case 문을 사용하지 않고, C 언어에서 입력받은 숫자를 영어 단어 형태로 출력하려면 어떻게 해야 할까요?해결 방법이 프로그램에서는 두 자리 숫자를 단어로 변환하여 출력하기 위해 elseif 문으로 여러 조건을 차례대로 검사합니다. 각 조건은 다음과 같습니다.if(no<0 || no>99) — 입력한 숫자가 두 자리 숫자가 아니면 오류 메시지를 출력합니다.else if(no==0) — 입력값이 0이면 zero를 출력합니다.else if(no>=10 && no<=19) — 10부터

  3. C언어 while 루프로 문장의 평균 단어 길이 계산하기

    문제 정의프로그램 실행 중에 사용자로부터 문장을 입력받고, 해당 문장에 포함된 단어들의 평균 길이를 계산하는 프로그램을 작성해야 합니다.예를 들어 Tutorials Point is the best resource라는 문장이 입력되면, 공백으로 구분된 각 단어의 글자 수를 모두 더한 뒤 단어 개수로 나누어 평균 길이를 구하는 방식입니다.해결 방법알고리즘전체적인 처리 흐름은 다음과 같습니다.START Step 1: 문자형, 정수형, 실수형 변수 선언 Step 2: 임의의 문장 입력 받기 Step 3: while 루프 조건

  4. C 구조체를 활용해 크리켓 선수 정보를 평균 득점순으로 정렬된 표 형태로 저장하는 프로그램

    문제 개요C 프로그래밍 언어에서 구조체(structure)를 사용하여 크리켓 선수의 데이터를 평균 득점을 기준으로 정렬한 뒤 표 형태로 저장하고 출력하는 방법을 알아보겠습니다.해결 방법먼저 이름, 나이, 경기 수, 평균 득점과 같은 크리켓 선수 정보를 입력받습니다. 구조체 개념을 활용하면 프로그램 실행 중 콘솔을 통해 이러한 정보를 손쉽게 입력할 수 있습니다.입력이 완료되면 각 선수의 평균 득점을 기준으로 오름차순 정렬하여 표 형태로 출력합니다. 이렇게 하면 여러 선수의 세부 정보를 한눈에 명확하게 파악할 수 있습니다.정렬 로직평균

  5. C 언어로 0~100 사이 난수의 합을 계산하고 파일에 저장하는 방법

    C 프로그래밍에서는 rand() 함수를 사용하여 난수를 생성할 수 있습니다. 이 글에서는 0부터 100 사이의 난수 100개를 생성한 뒤 그 합을 계산하고, 결과를 텍스트 파일에 저장하는 방법을 단계별로 살펴보겠습니다. 난수는 매번 무작위로 생성되기 때문에 프로그램을 실행할 때마다 합계 결과가 달라집니다. 즉, 동일한 코드를 여러 번 실행해도 매번 다른 결과값을 얻게 됩니다. 핵심 로직 0부터 100 사이의 난수 합을 계산하는 핵심 로직은 다음과 같습니다. for(i = 0; i <= 99; i++){   

  6. C 언어 변수 선언과 초기화: 합법적·불법적 사례 완벽 정리

    C 프로그래밍에서의 선언과 초기화C 언어로 프로그래밍할 때 어떤 선언과 초기화가 유효(합법)하고, 어떤 것이 무효(불법)인지 정확히 아는 것은 매우 중요합니다. 이 글에서는 다양한 예시를 통해 그 차이를 명확하게 살펴보겠습니다.변수 선언이란?합법적·불법적 문장을 논의하기 전에, 먼저 C에서 변수를 선언하고 초기화하는 기본 방법부터 알아보겠습니다.변수 선언 구문자료형 v1, v2, … vn;여기서 v1, v2, … vn은 각각 변수의 이름을 의미합니다.예를 들면 다음과 같습니다.int sum;float a, b;지역 선언과 전역 선언

  7. 구조체 멤버의 크기와 오프셋을 출력하는 C 프로그램 작성 방법

    문제 정의구조체(structure)를 정의하고, 멤버 변수들의 크기(size)와 오프셋(offset)을 화면에 출력하는 C 프로그램을 작성해 보겠습니다.구조체란 서로 다른 자료형의 변수들을 하나의 이름 아래 묶어 놓은 집합체로, 관련된 데이터를 하나의 단위로 관리할 수 있게 해주는 사용자 정의 자료형입니다.구조체 선언의 일반 형식datatype member1; struct tagname{    datatype member2;    datatype member n; };여기서 st

  8. C 언어 포인터 완벽 정리: 개념부터 예제 프로그램까지

    포인터(pointer)란 다른 변수의 메모리 주소를 저장하는 변수를 말합니다. C 언어에서 포인터는 메모리에 직접 접근하고 제어할 수 있게 해주는 핵심 기능으로, 효율적인 프로그램 작성에 반드시 알아야 할 개념입니다. 포인터의 특징 불필요한 메모리 낭비를 줄여 메모리 공간을 절약할 수 있습니다. 메모리 위치에 직접 접근하기 때문에 실행 속도가 빠릅니다. malloc(), free() 등과 함께 사용하면 메모리를 동적으로 할당하고 해제할 수 있어 메모리를 효율적으로 관리할 수 있습니다. 연결 리스트(linked list), 트리(t

  9. C 언어로 기존 파일의 총 줄 수를 세는 프로그램 만들기

    C 언어에서 파일을 읽기 모드(read mode)로 열면 해당 파일이 존재하는 경우 파일 안에 몇 줄이 있는지 개수를 세는 프로그램을 작성할 수 있습니다. 반대로 파일이 존재하지 않는다면 파일이 없습니다라는 오류 메시지를 화면에 표시하도록 처리할 수 있습니다.여기서 말하는 파일(file)이란 레코드(record)들의 모음을 의미하며, 데이터를 하드 디스크에 영구적으로 저장해 두는 공간이라고 할 수 있습니다.파일과 관련하여 수행할 수 있는 대표적인 연산은 다음과 같습니다.파일 이름 지정파일 열기파일 읽기파일에 쓰기파일 닫기파일 열기

  10. C 언어로 파일 데이터를 읽어 표 형태로 출력하는 프로그램 만들기

    문제 상황C 언어를 사용하여 파일에 저장된 일련의 데이터를 읽어 들인 후, 콘솔 화면에 열(column) 또는 표(tabular) 형태로 깔끔하게 출력하는 방법을 알아보겠습니다.해결 방법먼저 파일을 쓰기 모드로 열어 일련의 정보를 파일에 기록한 뒤 닫습니다. 그다음 같은 파일을 다시 읽기 모드로 열어 저장된 데이터를 콘솔에 표 형태로 출력합니다.1. 파일을 쓰기 모드로 열기FILE *fp; fp = fopen("sample.txt", "w");파일이 존재하지 않으면 새 파일이 자동으로 생성됩니다.

  11. C 언어 strncmp 라이브러리 함수로 두 문자열 비교하기 – 예제 코드 완벽 정리

    strncmp는 string.h 헤더 파일에 미리 정의되어 있는 표준 라이브러리 함수로, 두 개의 문자열을 비교하여 어느 문자열이 더 큰지 판별할 때 사용됩니다. strcmp 함수란? (문자열 비교) strcmp 함수는 두 문자열 전체를 비교하는 함수입니다. 두 문자열을 왼쪽부터 한 문자씩 비교하다가 처음으로 서로 일치하지 않는 두 문자를 만나면, 해당 문자들의 ASCII 코드 값 차이를 결과로 반환합니다. 구문 int strcmp (string1, string2); 반환값이 0이면 → string1 = string2 (두 문자

  12. C 언어 strncat 함수로 소스 문자열에서 대상 문자열로 n개 문자 연결하기

    문제 개요 C 프로그래밍에서 strncat 라이브러리 함수를 사용하여 소스 문자열(source string)에서 대상 문자열(destination string)로 지정된 n개의 문자를 연결하는 프로그램을 작성하는 방법을 알아보겠습니다. 해결 방법 1. strcat 함수 strcat 함수는 두 개의 문자열을 하나로 합치거나 연결할 때 사용하는 가장 기본적인 문자열 연결 함수입니다. 두 문자열을 결합하거나 연결하는 데 사용됩니다. 대상 문자열(destination)의 크기는 반드시 소스 문자열(source)보다 커야 합니다. 연결된

  13. C언어 파일 처리 함수 fread()와 fwrite() 완벽 정리

    개요C언어에서 파일에 데이터를 저장하고 다시 불러올 때 가장 많이 사용되는 함수가 바로 fread()와 fwrite()입니다. 이 두 함수는 구조체(structure) 단위로 데이터를 한 번에 읽고 쓸 수 있어, 학생 정보처럼 여러 필드를 가진 레코드를 효율적으로 처리할 수 있습니다.이 글에서는 두 함수의 문법과 예제를 살펴보고, 실제로 5명(예제에서는 2명)의 학생 정보를 파일에 저장한 후 다시 읽어 화면에 출력하는 전체 프로그램을 소개합니다.문제 정의학생들의 세부 정보를 파일에 저장하고, fread()와 fwrite() 함수를

  14. C 언어 공식으로 이자 금액 계산하기: 원리와 예제 코드

    문제 정의C 언어를 사용하여 은행에 예치한 금액이 이자율에 따라 일정 기간 후 얼마나 증가하는지 계산하는 프로그램을 작성해 보겠습니다.해결 방법이자가 포함된 최종 금액은 다음 공식으로 계산할 수 있습니다.M=((r/100) * t);A=P*exp(M);각 변수의 의미는 다음과 같습니다.r: 이자율 (%)t: 예치 기간 (연 단위)P: 예치할 원금M: 계산 과정에서 사용되는 임시 변수A: 이자가 반영된 최종 금액여기서 사용된 exp() 함수는 math.h 헤더 파일에 선언된 지수 함수로, 자연상수 e의 거듭제곱 값을 반환합니다. 이

  15. C 언어 atexit() 함수 완벽 가이드: 프로그램 종료 시 함수 호출하기

    atexit() 함수는 프로그램이 종료될 때 호출될 사용자 정의 함수를 미리 등록할 수 있게 해주는 표준 라이브러리 함수입니다.이 함수는 stdlib.h 헤더 파일에 선언되어 있는 사전 정의(predefined) 함수로, main 함수가 종료되거나 exit() 함수가 호출되어 프로그램이 정상적으로 끝나는 시점에 등록된 함수들을 자동으로 실행합니다.atexit() 함수의 동작 원리atexit()로 등록된 함수들은 LIFO(Last In First Out, 후입선출) 방식으로 실행됩니다. 즉, 나중에 등록한 함수가 먼저 호출됩니다. 따

  16. C 언어 time.h 라이브러리 함수로 현재 날짜와 시간 출력하기

    문제 상황C 프로그래밍 언어를 사용하여 현재 날짜와 시간을 ISO 표준 형식으로 화면에 출력하려면 어떻게 해야 할까요?해결 방법시스템으로부터 현재 날짜와 시간을 가져온 뒤, 이를 ISO 형식으로 변환하여 출력하는 프로그램을 작성할 수 있습니다.예를 들어 다음과 같은 형식으로 출력됩니다.2020년 12월 15일 월요일 오후 10시 50분이 프로그램에서 사용되는 주요 내장 함수는 다음과 같습니다.time() − 현재 시간을 반환합니다.strftime() − 시간 정보를 문자열 형태로 변환합니다. 이 함수는 time

  17. C 언어 malloc 함수 완벽 정리: 동적 메모리 할당의 원리와 실전 예제

    문제 상황동적 메모리 할당(dynamic memory allocation) 함수를 사용하여 배열 요소를 입력받고, 저장된 요소들의 합계를 계산한 뒤 화면에 출력하는 C 프로그램을 작성해 보겠습니다.malloc 함수란?C 언어에서 malloc(memory allocation)은 표준 라이브러리 함수로, 프로그램 실행 중(런타임)에 필요한 만큼의 메모리를 바이트 단위로 할당하는 역할을 합니다.malloc 함수는 다음과 같은 특징을 가집니다.할당된 메모리 블록의 시작 주소(기본 주소)를 가리키는 void 포인터를 반환합니다.할당된 메모리

  18. C 언어 isupper() 함수로 문자열의 대문자 개수 세는 방법

    문제 상황C 프로그래밍을 이용해 문자열에 포함된 대문자 알파벳의 총 개수를 어떻게 확인할 수 있을까요?해결 방법문장 속 대문자 개수를 세는 데 사용한 핵심 로직은 다음과 같습니다.for(a=string[0];a!=\0;i++){    a=string[i];    if (isupper(a)){        counter=counter+1;    }}이 로직은

  19. C 언어 증가·감소 연산자 완벽 정리: 전위(Pre)와 후위(Post) 연산자 차이와 예제 프로그램

    C 언어에는 변수의 값을 1씩 늘리거나 줄이는 증가 연산자(++)와 감소 연산자(--)가 있습니다. 이 두 연산자는 각각 전위(prefix) 방식과 후위(postfix) 방식으로 사용할 수 있으며, 연산자가 피연산자 앞에 오느냐 뒤에 오느냐에 따라 실행 결과가 달라집니다.1. 증가 연산자 (++), Increment Operator증가 연산자는 변수의 값을 1만큼 증가시키는 단항 연산자입니다. 전위 증가와 후위 증가, 두 가지 형태로 나뉩니다.전위 증가 연산자 (++a)연산자를 피연산자 앞에 배치합니다. 이 경우 값이 먼저 증가한

  20. C 프로그래밍의 정적 메모리 할당(Static Memory Allocation) 완벽 이해하기

    C 언어에서 메모리는 크게 두 가지 방식으로 할당할 수 있습니다. 바로 정적 메모리 할당(static memory allocation)과 동적 메모리 할당(dynamic memory allocation)입니다. 정적 메모리 할당이란? 정적 메모리 할당은 프로그램이 실행되기 전, 즉 컴파일 시점에 변수에 필요한 메모리가 고정된 크기로 한 번만 확보되는 방식을 말합니다. 한 번 할당된 메모리는 프로그램이 종료될 때까지 회수되지 않으며, 실행 중에 그 크기를 늘리거나 줄일 수도 없습니다. 선언된 변수에는 프로그램 작성 단계에서 이미

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