일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- c#
- 캡슐화
- c언어
- 무료 동영상 강의
- 강의
- 동영상
- 졸업 작품 소재
- C++
- 네트워크 프로그래밍
- 졸업 작품
- 충남 천안
- 클래스 다이어그램
- 추천
- 표준 라이브러리 함수
- 안드로이드 앱 개발
- Windows Forms
- 표준 입출력
- 동영상 강의
- 실습으로 다지는 c#
- 언제나 휴일
- 유튜브 동영상 강의
- 알고리즘
- 산책하기 좋은 곳
- 원격 제어 프로그램
- 실습
- 소켓 통신
- 프로젝트
- 언제나휴일
- 소스 코드
- 파이썬
- Today
- Total
목록2025/01/03 (27)
프로그래밍 언어 및 기술 [언제나휴일]
제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어] 알고리즘n:←출력할 라인 수 입력 반복(line:0→n)—반복(space:0→line)——공백 출력—반복(star:0→2(n-line)-1)——‘*’ 출력—개행소스코드 //반복문 연습 - 역삼각형 출력//입력//5 - n //출력// ********* 0- 공백0, 별9, 개행// ******* 1- 공백1, 별7, 개행 // ***** 2- 공백2, 별5, 개행// *** 3- 공백 3, 별3, 개행// * 4- 공백 4, 별1, 개행 //공백 = line//별 = 2*(n-line)-1//개행=1 #include in..
제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어]알고리즘n:←출력할 라인 수 입력 반복(line:0→n)—반복(space:0→(n-line))——공백 출력—반복(star:0→(2line+1))——‘*’ 출력—개행소스코드//반복문 연습 - 삼각형 출력//입력// 5 - n//출력// * 0- 공백 4, 별1, 개행// *** 1- 공백 3, 별3, 개행 // ***** 2- 공백2, 별5, 개행// ******* 3- 공백1, 별7, 개행 // ********* 4- 공백0, 별9, 개행//공백 = n-line//별 = 2*line +1//개행=1#include int..
제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어]알고리즘n:←출력할 라인 수 입력반복(i:0→n)—반복(j:0→n)——‘*’출력—개행소스 코드//정사각형 출력// 입력// 5//출력// *****// *****// *****// *****// *****#include int main(void){ int n; int i, j; printf("출력할 라인 수:"); scanf_s("%d", &n);//입력 for (i = 0; i 언제나휴일 추천 여행 및 산책
안녕하세요. 언제나 휴일의 언휴예요.함수만들기 - 합계 구하기, 소수 판별, 소문자 판별, 대문자 판별, 소문자 변환, 대문자 변환자주 사용하는 알고리즘을 함수로 만들어 사용합니다.함수를 만들고 사용하는 것은 많은 연습을 필요합니다.이번에는 기초적인 함수들을 만들어 보는 실습을 해 볼게요.특정 범위 내의 정수 합계를 구하는 함수함수를 만들 때 제일 먼저 해야 할 일은 무엇을 만들어야 하는지 정확히 분석하는 거예요. 이러한 작업은 도메인 분석이라고도 부르죠.함수를 만들 때는 전달해야 할 인자가 무엇이고 어떠한 결과를 나와야 하는지 결정할 수 있어야 합니다.특정 범위 내의 정수 합계를 구하는 함수를 예를 든다면 입력 인자로 특정 범위를 전달해야 할 거예요. 범위의 시작과 범위의 끝을 전달하면 되겠죠. 그리고..
안녕하세요. 언제나휴일의 언휴예요.함수 선언, 함수 정의, 함수 호출 [C언어] 프로그램을 만들다 보면 자주 사용하는 알고리즘이 있어요.이러한 코드는 이름(함수 명), 알고리즘에 필요한 입력 인자(입력 매개변수), 원하는 결과(리턴 타입)를 정하여 알고리즘을 전개하여 함수로 만들 수 있습니다.함수를 만들면 필요할 때 함수를 호출하여 사용할 수 있어요.함수 개요우리는 초등학교부터 함수에 관한 교육을 받아왔어요.블랙 박스에 입력 값을 넣으면 출력 값이 나오는 형태, y = x+2 처럼 방정식 형태, 정의역과 공역의 요소를 매핑하는 형태와 f(x) = x+2 등 다양하게 다루었어요. 함수 정의문C언어의 함수 관련 문법은 크게 함수 정의문, 함수 호출문, 함수 선언문이 있어요.함수 정의문은 함수를 만드는 구문을..
안녕하세요. 언제나휴일의 언휴예요.제어문은 문법이 어려운 것은 아니죠.하지만 막상 문제를 표현하려고 할 때 어떠한 제어문을 어떻게 전개해야 할 지 막막합니다.이는 문법보다는 문제 해결 능력에 관한 것이죠.문제를 해결하기 위해 알고리즘, 자료구조를 비롯한 다양한 경험을 요구합니다.이번에는 다양한 제어문을 연습할 수 있는 다양한 문제를 제시할게요.여러분께서 먼저 해결해 본 후에 코드를 비교해 보길 권할게요.여기에서는 별도의 설명은 생략합니다.두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램을 작성하시오.#include int main(void){ int a, b; int sum; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b..
안녕하세요. 언제나휴일의 언휴예요.반복적인 작업은 while 혹은 for 문을 사용하세요. [C언어] C언어의 반복문C언어는 세 종류의 반복문을 제공하고 있어요.while(조건 표현) statement;do statement while(조건 표현);for(statement;statement;statement)statement;while 문C언어에서는 특정 조건이 참일 동안 반복하는 구문으로 while 문을 제공하고 있어요.while(표현) statement;while문 소괄호 표현은 참과 거짓을 판별할 수 있는 표현이어야 합니다. 다음은 0에서 10까지 정수의 합계를 계산하는 코드입니다.i를 0으로 초기화하였고 i가 10보다 작거나 같다면 블록({}) 에 있는 구문을 반복합니다.while문도 if 문처럼..
안녕하세요. 언제나 휴일의 언휴예요.값에 따라 수행할 구문을 선택하는 switch case 문 [C언어] 선택문C언어에서는 특정 표현의 값에 따라 구문을 선택하여 수행하는 switch 선택문을 제공하고 있어요.switch(표현){case 상수: [수행 구문] [break]case 상수: [수행 구문] [break]…[default:] [수행구문] [break] }switch 선택문에서 중괄호는 반드시 달아야 합니다. 물론 개발할 때 중괄호를 달지 않으면 문법 오류가 발생하기 때문에 개발할 때 실수할 확률은 지극히 낮겠죠.여러 조건에 따라 수행할 구문을 표현할 때 if 조건문을 사용하면 복잡할 때가 있습니다. 이 때 switch 선택문으로 해결할 수 있는지 고민해 보세요.학점 부여하기로 조건문과 선택문 비..
안녕하세요. 언제나휴일의 언휴예요.조건문 실습 문제 [C언어] 이전 글에서 제시했던 문제 솔루션이예요.1. 두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램을 작성하시오.//[언제나 C언어] https://ehpub.co.kr//1. 두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램을 작성하시오.#include int main(){ int a = 0, b = 0; printf("두 개의 정수:"); scanf_s("%d %d", &a, &b);//a,b에 두개의 정수를 입력 if (a > b)//조건 a가 b보다 크면 { printf("%d\n", a);//a를 출력 } else//그렇지 않..
안녕하세요. 언제나휴일의 언휴예요.조건문 if else [C언어] C언어에서는 프로그램의 수행 순서를 제어하는 제어문을 제공하고 있어요. 조건에 따라 수행을 결정하는 조건문, 값에 따라 수행할 구문을 선택하는 선택문, 특정 조건이 참일 때 반복하는 반복문과 원하는 영역으로 점핑하는 분기문이 있어요. 프로그래밍 언어에서 제어문은 문법을 이해하는 것은 어렵지 않아요.하지만 원하는 문제를 해결하기 위해 어떻게 제어문을 표현해야 할 지 판단하는 것은 많은 경험을 통해 얻어나가야 합니다.프로그래밍 언어를 학습하는 단계에서 제어문을 이용하여 문제를 해결하는 것이 어렵다고 두려워하지 마세요.경험을 통해 극복할 수 있으며 조금씩 해결할 때마다 희열을 느낄 수도 있을 거예요.C언어의 제어문 중에 조건문을 먼저 살펴봅시다..
안녕하세요. 언제나 휴일의 언휴예요.대입 연산의 왼쪽(좌항)에 오는 표현을 l-value [C언어]대입 연산자와 l-value복합 대입 연산자1. 대입 연산자와 l-value프로그래밍에서 변수에 원하는 값을 설정할 때 대입 연산자를 사용하죠.당연히 대입 연산자 왼쪽(좌항)에는 상수 표현은 올 수 없어요.정수형 변수 i가 있을 때 i+3=7; 표현은 문법적 오류가 발생해요.i+3의 연산 결과는 상수이며 l-value로 사용할 수 없어요.#include int main(){ int i = 0;//초기화 i = 7;//변수 i에 7을 설정 i + 3 = 7;//i+3에 7을 설정. i+3의 연산 결과는 상수 return 0;} 위 코드를 빌드하였을 때 나오는 결과를 보면 l-value로 ..
안녕하세요. 언제나 휴일에 언휴예요.비트 자리 이동 연산, 쉬프트 연산 [C언어] 이번 강의는 비트 자리 이동 연산, 쉬프트 연산을 알아볼게요.1. 왼쪽 쉬프트 >1. 왼쪽 쉬프트 왼쪽 쉬프트 연산은 1자리를 이동할 때 2로 곱한 결과와 같습니다. 다음의 소스 코드는 부호 없는 정수 3을 4자리 왼쪽으로 자리 이동 시키는 소스 코드입니다.그리고 부호 있는 정수 -3을 4자리 왼쪽으로 자리 이동 시키는 소스 코드입니다.#include int main(){ unsigned u1 = 3, u2; u2 = u1 실행 결과는 다음과 같습니다.16진수: 3 3010진수: 3 4816진수: FFFFFFFD FFFFFFD010진수: -3 -48결과를 보면 부호 없는 정수는 원래 값 3에 2의 4승인 16..
안녕하세요. 언제나 휴일에 언휴예요.mask를 이용한 암호화 및 이진수 출력[C언어]이번 강의는 비트 연산을 이용한 mask입니다.^ mask를 이용하여 암호화하는 것과 & mask를 이용하여 이진수를 출력하는 실습이예요.1.^mask를 이용한 암호화2.&mask를 이용한 이진수 출력1. ^mask를 이용한 암호화비트 연산 이용하면 간단한 대칭형 암호화를 할 수 있어요.대칭형 암호화는 암호화할 때와 복호화할 때 같은 키를 이용하는 암호화를 말합니다.다음의 코드는 ^연산을 이용하여 평문을 암호화하고 복호화하는 예제입니다.#include int main(){ int pd = 0x12345678; int key = 0x2345873a; int sec = pd ^ key; int data ..
안녕하세요. 언제나 휴일에 언휴예요.비트 연산 & | ^ ~ [C언어] 이번 강의는 비트 연산입니다. 비트 연산은 같은 자리의 비트끼리 논리 연산을 수행합니다.그리고 C언어의 비트 연산의 피 연산자는 정수 형식이예요.1. 비트 연산 & | ^ ~2. 비트 and mask1. 비트 연산 & | ^ ~예를 들어 정수 6과 5의 비트 연산을 알아봅시다.정수 6은 이진수로 0000 0000 0000 0110이고 5는 0000 0000 0000 0101 입니다.만약 비트&(and)를 수행하면 다음 그림처럼 끝에서 세 번째 자리만 모두 1입니다. 이진수로 0000 0000 0000 0100입니다.따라서 6&5의 결과는 4입니다.만약 비트|(or)를 수행하면 다음 그림처럼 끝에서 세 자리는 둘 중 하나는 1입니다.이..
안녕하세요. 언제나 휴일에 언휴예요.비교 연산 [C언어] 이번 강의는 비교 연산입니다.1. 비교 연산2. 비교 연산에서 주의할 점1. 비교 연산비교 연산은 연산 기호 및 하는 일이 직관적입니다. 기본적인 비교 연산은 어려움이 없다는 것이죠.#include //표준 입출력 헤더int main(){ printf("%d\n", 1 2); printf("%d\n", 1 >= 2); return 0;}비교 연산의 연산 결과도 참이면 1, 거짓이면 0입니다.1101002. 비교 연산에서 주의할 점비교 연산을 이용하여 세 가지 이상의 값을 비교할 때는 논리 연산을 이용하세요. 수학에서 2C언어에서는 연산을 하나씩 수행합니다.22결국 0#include //표준 입출력 헤더int main(){ ..
안녕하세요. 언제나 휴일에 언휴예요.논리 형식과 논리 연산[C언어] 이번 강의는 논리 형식과 논리 연산을 다룰 거예요.1. 논리 형식2. 논리 값, 참과 거짓3. 논리부정(NOT) 연산자는 !4. 논리곱(AND) 연산자는 &&, 논리합(OR) 연산자는 ||5. 논리 연산에서 주의할 점 16. 논리 연산에서 주의할 점 21. 논리 형식C언어에는 논리 형식을 제공하지 않아요. 대신 기본 형식(char, short, int, long, float, double 등)과 메모리 주소처럼 수로 나타낼 수 있는 것은 모두 논리 형식으로 사용할 수 있습니다.이번 강의를 통해 피 연산자로 다양한 형식을 사용할 수 있다는 것을 느낄 수 있었으면 합니다.2. 논리 값, 참과 거짓C언어는 논리 형식을 제공하지 않습니다.논리..
안녕하세요. 언제나 휴일에 언휴예요.나머지 연산을 사용하면 편한 곳 [C언어 동영상] 이번에는 나머지 연산을 사용하여 문제를 해결하는 대표적인 예를 알아볼게요. 프로그램을 작성하다보면 0123401234012… 처럼 특정 범위 내의 수를 순환하며 사용할 때가 발생합니다.원형 큐에서 front와 rear를 이동시킬 때는 대표적인 예로 들 수 있어요.원형 큐다음처럼 코드를 작성하여 실행시켜 보면 어떻게 동작하는지 느낌이 오실 거예요./* https://ehpub.co.kr 언제나 C언어 나머지 연산, 이럴 때 사용하자. 0123401234012...*/#include //표준 라이브러리 헤더#include //표준 입출력 헤더int main(){ int i = 0; printf..
안녕하세요. 언제나 휴일에 언휴예요. 산술 연산과 overflow [C언어 강의 동영상] 이번 강의는 산술 연산과 overflow 현상을 알아볼게요.1. 산술 연산2. overflow1. 산술 연산이번 강의에서 다루는 산술 연산은 사칙 연산과 나머지 연산입니다. 연산 기호는 +, -, *, /, %입니다.사칙 연산 중에 더하기, 빼기, 곱하기는 우리가 생각하는 것과 전혀 차이가 없습니다.나누기 연산은 사람에 따라 생각이 다소 차이가 있을 수 있어요.피연산자가 정수일 때 나누기 연산과 나머지 연산을 제공하고 있습니다.나누기 연산의 결과는 몫입니다. 근사값(반올림 값)이 아닌 몫입니다.코드로 확인하는 것이 제일 정확합니다.#include //표준 입출력 헤더int main(){ //+, -, *, /,..
안녕하세요. 언제나 휴일에 언휴예요. 이번 글은 강의는 아닙니다. 이 내용을 모르더라도 C언어를 익히는 데 영향이 없습니다.실수 형식의 메모리 구조C언어에서 실수는 메모리에 2진 체계에 의해 부호부, 지수부, 가수부로 표현합니다.double 형식은 부호부(1), 지수부(11), 가수부(52)로 구성합니다.float 형식은 부호부(1), 지수부(8), 가수부(23)로 구성합니다.실수를 메모리에 표현하는 방법은 별도의 게시글로 제공하고 있으니 참고하세요.실수를 메모리에 표현하는 방법 알아보기FLT_MIN, FLT_MAX실수 형식의 양수는 FLT_MIN~FLT_MAX까지 표현 가능한 것으로 알고 있습니다.float.h에 이 값을 약속하고 있죠. 그런데 이러한 값이 메모리에 어떻게 표현하는지 아시나요?FLT_M..
IEEE754 4바이트 실수 메모리 표현0에서 1 사이에도 실수는 셀 수 없다는 것을 알고 계시죠. 결국 메모리에 실수를 표현하다보면 오차가 발생할 수 있다는 것을 알아야 한다는 것이죠. 이 또한 알고 계실거예요. 그렇다면 다음의 실행 결과는 어떻게 나올까요?printf(“%.20f\n”,0.1+0.2);결과를 보고 “이건 뭐지?” 라는 생각을 하신 분들도 있을 거예요. 실수 표현에 오차가 있다고 하더라도 이런 정도에서 오차가 발생할 것이라 생각하기 쉽지 않죠. 사실 우리는 10진수로 사고하지만 컴퓨터에 데이터를 표현할 때는 2진수 체계를 사용합니다. 이 또한 아는 사실이겠지만 여전히 우리의 사고는 10진수 체계 속에 있다보니 오판할 때가 종종 있어요. IEEE754 표준 방식으로 4바이트 실수를 표현하..
안녕하세요. 언제나 휴일에 언휴예요.실수 형식 double, float 표현과 출력 [C언어 동영상 강의] 이번 강의에서는 실수 형식 강의예요. 실수 형식을 표현하는 방법과 출력하는 방법을 알아봅시다.1. 실수 형식의 메모리 크기2. 실수 리터럴 표현3. 실수 출력 - 소숫점 이하 출력할 자리 표현4. 실수 출력 포멧 %f %g %e5. 실수 사용에서 주의할 점1. 실수 형식의 메모리 크기먼저 sizeof로 실수 형식의 메모리 크기를 알아보아요.#include //표준 입출력 헤더int main(void){ printf("sizeof(double):%d bytes, sizeof(float):%d bytes\n", sizeof(double),sizeof(float)); retur..
안녕하세요. 언제나 휴일에 언휴예요. 확장 문자 형식 wchar_t와 한글 문자 [C언어 동영상 강의]이번 강의는 확장 문자 형식 wchar_t와 한글 문자 표현을 다룰거예요.1. char 형식의 한계2. wchar_t 형식3. wchar_t 형식 크기 및 출력 함수1. char 형식의 한계이전 강의에서 char 형식은 ASCII 코드를 표현할 수 있는 문자 형식이라고 했었죠. 영문 알파벳이 아닌 한글처럼 ASCII 코드가 아닌 문자는 char 형식으로 표현하는데 한계가 있어요.한글 문자 하나를 char 형식으로 다루지 못하는 것이죠.#include //표준 입출력 헤더int main(){ char ch = 'ㄱ'; printf("%c\n", ch); return 0;}위 코드의 ..
안녕하세요. 언제나 휴일에 언휴예요. 이번 강의는 문자 형식 char와 ASCII 코드에 관해 다루기로 할게요.1. ASCII 코드와 char 형식 크기2. 숫자 문자, 소문자, 대문자 ASCII 코드 값 확인3. 문자 리터럴4. char 형식의 한계5. ASCII 코드1. ASCII 코드와 char 형식 크기 C언어는 미국에서 만들었죠. C언어의 문자 표현은 미국 표준 문자인 ASCII 코드를 표현하도록 만들었어요.ASCII , American Standard Code for Information Interchange C언어에서 문자를 표현할 때 char 형식을 사용합니다. char 형식은 미국의 표준 문자인 ASCII 코드를 표현할 수 있는 크기로 설계한 거예요. 영문 알파벳 소문자, 대문자, 숫자..
안녕하세요. 언제나 휴일에 언휴예요. 정수 형식과 표현 범위(char, short, int, long,...)[C언어 동영상 강의]이번 강의에서는 정수 형식과 표현 범위를 알아볼게요.== 다루는 내용1. 정수 형식의 종류2. 정수 형식의 메모리 크기3. 정수 형식의 표현 범위정수 형식의 종류C언어에서 제공하는 정수 형식은 다음처럼 여러 가지 정수 형식을 제공합니다.char, short, int, long, long longC언어에서 제공하는 정수 형식은 음수를 포함하지 않는 정수 형식도 제공합니다. unsigned 키워드가 붙는 형식은 모두 음수를 포함하지 않는 정수 형식입니다.unsigned char, unsigned short, unsigned int, unsigned long, …형식을 unsign..
안녕하세요. 언제나 휴일에 언휴예요. 정수 표현 및 출력 - 10진수, 8진수, 16진수 [C언어] 동영상 강의 이번 강의에서는 정수 표현과 출력을 알아봅시다.== 다루는 내용1. 정수 표현(10진수, 8진수, 16진수)2. 정수 출력 (10진수, 8진수, 16진수)3. 왜 8진수와 16진수 표현과 출력을 제공할까?1. 정수 표현(10진수, 8진수, 16진수)C언어에서 일반적인 수 표현은 당연히 10진수입니다. 8진수를 표현하려면 표현 앞에 숫자 0을 추가하세요.16진수를 표현하려면 표현 앞에 숫자 0과 알파벳 x를 추가하세요.#include //표준 라이브러리 헤더 파일#include //표준 입출력 헤더 파일int main()//프로그램 진입점{ //10진수 출력 printf("%d..
안녕하세요. 언제나 휴일입니다.자신의 정보 출력하기, puts, printf 함수 동영상 강의 첫 번째 프로그램은 자신의 정보를 콘솔 화면에 출력하는 것으로 할게요.== 다루는 내용 1. main - 프로그램의 진입점 함수2. #include //표준 입출력 헤더3. puts 함수 - 라인 단위로 출력4. printf 함수 - 개발자가 원하는 포멧에 맞게 출력1. main – 프로그램의 진입점 함수C언어로 작성한 콘솔 응용은 언제나 main함수부터 시작합니다.이러한 이유로 main 함수를 프로그램 진입점이라고 말합니다.함수 는 특정 기능을 수행할 수 있게 작성한 코드를 말합니다.이번 강의에서 출력에 사용할 putchar와 printf도 함수입니다.다음은 함수 구조입니다.자연스럽게 다룰 내용이므로 한..
C언어 시작안녕하세요. 언제나 휴일의 언휴입니다. 최근에 Python, Google Go, R언어 등 새롭게 뜨고 있죠. 그럼에도 C언어는 50년 가까이 자기 자리를 굳건히 하고 있네요.중학생이 facebook의 프로그래밍 관련 학습 그룹에 C언어 관련 학습 질문이 올라 온 것이 있었습니다. 자신은 카이스트 IT 교육센터에서 C언어 특강을 받고 있는데 어떻게 학습해 나가면 좋은지 질문하더군요.그런데 어느 한 분께서 왜 Python으로 가시지 C언어를 선택했냐고 답변을 올리더군요. 지금이라도 Python을 선택하라고 조언을 하는 것을 보고 깜짝 놀랐습니다. 아마도 그 분은 Python의 강력함에 빠지신 것 같아요. Python으로 프로그래밍 할 때 이미 제작한 라이브러리를 이용하여 필요한 것을 쉽게 만..