프로그래밍 언어 31

반복문(Loop)

반복문은 특정한 조건에 맞게 반복 실행되는 것을 말한다 for, while, do~while 문이 있다. for문for(초기화; 비교문; 증감문;) for 동작순서 -> 초기화 -> 비교문 -> 내용 -> 증감문) for (i = 5; i > 0; --i) printf("%d ", i); //중괄호가 없으면 다음 한 줄만 반복됨 printf("\n");기본적으로 다음과 같은 구조를 가지고 있다.for문에는 여러 특징이 있는데for (i = 0, j = 2; i 3)break;}printf("\n"); 이렇게 초기화, 증감문을 여러개를 둘 수도 있고 i = 0; for (;;) //초기화, 비교문, 증감문 셋다 생략이 가능하다 { printf("%d ", i); ++i; //탈출문(Escape)..

조건문

조건문은 주어진 조건을 검사하여 참이면 코드를 실행하고 거짓이면 실행하지 않는 것을 의미합니다 if문if(조건문) {내용} *{ }는 생략 가능int lhs = 3;int rhs = 5;// if(조건문) { }if (lhs > 5) { printf("lhs is bigger\n");}printf("Exit\n");//if~else문 : if(조건문) {} else{}if (lhs > 5) { printf("if~else True\n");}else { printf("if~else False\n");}//if~else iflhs = 0;if (lhs > 5) { printf("lhs > 5\n");}else if (lhs 0) { printf("lhs 0\n");} 다음과 같이 사용 된다else 는 if..

비교 연산자와 논리 연산자

비교 연산자는  피연산자를 비교하는 연산자 입니다흔히들 일상에서 사용하는>, ( 표정 아님! >,  비교 연산자는int lhs = 3;int rhs = 5;//참(Ture), 거짓(False)printf("lhs rhs: %d\n", lhs > rhs);printf("lhs >= rhs: %d\n", lhs  참(1)과 거짓(0) 으로 그 값이 나오기에 이후에 코딩을 할때 많이들 사용 됩니다. 논리 연산자(Logical Operattors) printf("1 && 1 : %d\n", 1 && 1); //AND printf("0 || 1 : %d\n", 0 || 1); //OR printf("!1 : %d\n", !1 ); //NOTAND / OR / NOT 그리고 / 또는 / 아님 입니다 이 역시도 T..

연산자(Operators) 와 형변환

연산자 (위키피디아)물리학과 수학에서 어떤 함수에 작용해 그 함수를 다른 함수로 변형시키는 함수를 말한다.const int lhs = 3, rhs = 5;LHS : Left-Hand Side RHS : Right-Hand Side 등호 ( = )가 있을때 등호의 오른쪽을 RHS, 왼쪽을 LHS라고 합니다. printf("lhs + rhs: %d\n", lhs + rhs); //덧셈printf("lhs - rhs: %d\n", lhs - rhs); //뺄셈printf("lhs * rhs: %d\n", lhs * rhs); //곱셈printf("lhs %% rhs: %d\n", lhs % rhs); //(나누기 시)나머지printf("lhs / rhs: %f\n", lhs / rhs); //나눗셈 연산자는 ..

변수(Variables)

변수(Variables) 란? 아주 간단히 말해 변하는 수 입니다. 변수 선언(Variable Declaration)을 통해 만들 수 있으며기본적으로자료형 변수명 = 초기값;의 구조를 가집니다. 한번 변수를 선언 해봅시다.int var = 0; 변수의 선언에서 반드시 해야하는 것은 아니지만초기화(Initialization)를 진행하는 것이 좋습니다. (※생성과 동시에 초기화를 하자)초기화를 하지 않으면 할당 된 메모리 공간에 있는 데이터로 인해 문제가 발생 할 가능성이 있습니다. var = 10;선언한 변수는 언제든 원할때 해당 변수에 들어간 값을 다른 값으로 바꿀 수 있습니다. 변수는 몇가지 특징이 있는데 1. 동일한 변수명은 선언 할 수 없다.(var변수를 선언 했으니 똑같은 var를 선언 할 수 없..

컴퓨터의 음수와 MSB / LSB

컴퓨터가 이진수를 저장한다는 것은 이전 글을 통해 알고 계실겁니다. 간단하게 산수를 하나 해보겠습니다 5 - 5 답은 0 입니다 쉽죠? 이를 이진수로 바꿔볼까요?우선 1byte를 할당합니다 5는 이진수로101 입니다.00000101 이 되겠죠? 그런데 음수는 이진수로 뭘까요?설명하기 전에 MSB와 LSB에 대해 알아 보겠습니다 MSB와 LSB는 어떠한 크기의 데이터 형이 있다면, 그 데이터에서 가장 왼쪽에 있는 비트인지 혹은 가장 오른쪽에 있는 비트인지를 나타내는 비트가 되겠습니다 LSB는 Least Significant Bit의 약자로서 하나의 데이터 형에서의 가장 낮은 위치의 Bit를 의미합니다LSB를 보는 것만 으로도 이 데이터가 홀수인지 짝수인지를 알 수 있습니다 MSB는 Most Signific..

자료형(Data Types)

지난 변수에 이어서 작성합니다 자료형(Data Types) 이란? 저장되는 데이터의 종류에 따른 형태로, 저장되는 값의 종류와 범위에 따라 다양하게 표현 됩니다. 변수를 선언할 때는 기본적으로 자료형 변수명 = 초기값; 의 형태를 띄게 됩니다.(초기값은 생략이 가능하며 언제든 변수에 들어갈 값(데이터)을 지정 할 수 있습니다) 정수는 short, int, long실수는 float, double문자는 char 등 다양한 자료형이 존재합니다.변수를 선언 해보겠습니다.char c = 'a';short s = 1;int i = 10;long l = 100L;long long int ll = 1000LL; 그러면 메모리에는 이런 형식으로 데이터가 할당 됩니다.(가시성을 위해 이진법으로 표현하지 않았습니다.)1  ..

프로그램 - 메모리 할당

프로그램에서는 데이터를 메모리에 저장해 놓으면 필요할 때 마다 꺼내서 사용할 수 있습니다.이때 변수 선언(Variables Declaration)을 통해 메모리에 '저장 공간'을 '미리' 만들어둡니다. 아래 공간을 메모리 라고 생각해봅시다1                  10                 100           a              데이터는 이렇게 메모리의 빈 공간에 아무렇게나 들어가게 됩니다물론 데이터가 들어갈 메모리를 따로 지정해주거나 관리해주는 프로그램을 활용한다면 저렇게 무작위로 들어가진 않고 정리가 가능은 합니다 자.. 그런데 실제로 컴퓨터의 메모리는 저렇게 저장이 되지는 않습니다 저것은 하나의 예시일 뿐 입니다.조금 더 자세히 살펴보도록 하죠 컴퓨터는 전자기기 입니다.복..

C언어) 소스 파일과 헤더 파일

C언어로 이루어진 프로그램에는소스 파일과 헤더 파일이 있습니다 헤더 파일이란여러 함수들을 모아 놓은 파일을 뜻 합니다.기본적으로 .h 라는 확장자를 가지고 있습니다. 개발자는 필요에 의해 여러 함수들을 만들어 둡니다이를 한대 묶어 관리할 파일로 헤더파일을 만듭니다 사칙연산은 기본적으로+, -, ×, ÷ 로 구성됩니다 이에 대한 함수를 만들어 둔다고 합시다 그런데 이 함수들이 각자 따로 흩어져 있는 것 보다는 사칙연산.h 라는 헤더파일에 모여있다면 편리하게 사용 할 수 있을 것 입니다 예시는 4가지의 사칙연산이라 헤더파일의 필요성이 별로 보이지 않은듯 하지만필요에 의해 10개, 100개 그 이상의 함수가 만들어진다면 이를 관리하기 위한 헤더파일은 선택이 아닌 필수가 될 것 입니다 소스 파일이란 프로그램이 ..

함수(Functions) _ feat. 전처리기

함수는 일정한 기능을 수행하는 코드 단위를 의미 합니다 기본적으로 반환형 함수명(매개변수) 의 구조를 가지고 있습니다*매개변수는 필요에 의해 생략 가능 여러 이름들을 개발자 마음대로 부여 할 수 있지만 몇 가지의 룰은 있습니다 프로그램에 있어서 main 함수는 프로그램의 시작을 의미하며 반드시 존재해야 합니다. #include// #: 전처리(Pre-Processing)문// include : 포함하다// : c언어가 설치 되어 있는 경로, "" 로도 가능// 는 시스템 경로의 헤더파일, "" 는 개발자가 직접 만든 헤더파일에 쓰임// stdio : Standard Input / Output (표준 입/출력) .h : 헤더파일// #include는 #include 뒤에 있는 내용을 포함시켜라 라고..