전체 글(49)
-
서식문자
#서식문자 printf함수를 쓰다보면 안에 %d와 같이 %로 시작하는 어떤 문자를 넣습니다. 이를 서식문자 또는 형식지정자 라고 하는데 printf 함수에서 변수(또는 상수)와 대응시켜 변수를 문자열로 변환해 화면에 출력해줍니다. 표현하려는 변수값이 정수, 실수, 문자에 따라서 서식문자도 달라집니다. 이를 정리하면 아래와 같습니다. 서식문자 변환 방법 같이 쓰는 자료형 %d 부호 있는 10진 정수 short, int %ld 부호 있는 10진 정수 long %u 부호 없는 10진 정수 unsigned %o 부호 없는 8진 정수 short, int, long %x, %X 부호 없는 16진 정수 short, int, long %f 부호 있는 10진 실수 float %lf 부호 있는 10진 실수 double %..
2022.02.09 -
C언어 기본 구조와 통합개발환경(IDE)
#C언어 C언어는 1972년 벨 연구소에서 만들어진 언어로 그 역사가 오래됐습니다. C언어의 특징으로는 다른 언어들보다 기계어에 가까운 상대적으로 저수준 언어에 속하며 그렇기 때문에 C언어로 짜여진 코드는 속도가 빠르고 바이너리 크기도 작아 임베디드, 모바일, 시스템 프로그래밍에서 자주 쓰입니다. 또한 다른 언어들이 결국 기본적으로 C언어를 바탕으로 하고 있어 C언어를 배우면 다른 언어를 배울 때 큰 도움이 됩니다. 단점으로는 그만큼 융통성이 다른 언어보다 적고 프로그래머가 사소하게 신경써야하는 부분이 많아 입문하는 사람에게는 조금 어려운 언어일 수 있습니다. 저는 임베디드 강의를 듣기 때문에 C언어를 필수적으로 해야합니다. 임베디드 시스템은 일반 컴퓨터보다 메모리나 CPU성능이 제한되어 있는 경우가 많..
2022.02.09 -
변수, 자료형, 식별자, 전역/지역 변수
#변수(variable) 오늘은 변수와 자료형에 관하여 정리하겠습니다. 과거에 저는 수학에서 변수란 정해져있지 않은 미지수라는 개념으로 생각했습니다. 그런데 컴퓨터 언어를 배우면서 변수는 다른 개념으로 생각하는게 좋다고 생각이 듭니다. 컴퓨터는 CPU에서 연산 처리를 하기 전에 특정 메모리 공간을 지정하여 명령어와 데이터를 쓰고 읽어옵니다.변수 x를 지정한다는 것은 그런 메모리 공간에 x라는 이름으로 공간을 배정해주는 것과 같다고 생각하면 됩니다. 프로그래머는 변수를 사용하기 위해 선언과 초기화라는 과정을 하게 되는데 이를 컴퓨터의 입장에서 비유하면 다음과 같습니다. #include int main() { int x; => 메모리에 int의 크기인 4바이트만큼 공간을 지정해두고 이를 x라고 이름을 지어줍..
2022.02.09 -
Over flow (오버플로우)와 Under flow(언더플로우)
자료형 마다 정해진 메모리 크기가 있습니다. 메모리 크기에 따라 표현할 수 있는 데이터 수도 차이가 납니다. 그런데 만약 자료형이 표현할 수 있는 범위를 넘어서는 값을 입력하면 컴퓨터에는 잘못된 데이터가 입력됩니다. 1. Over flow 자료형의 지정한 크기보다 큰 값을 입력했을 때 쓰레기값이 입력되는 현상을 말합니다. 2. Under flow 자료형의 지정한 크기보다 작은 값이 입력했을 때 쓰레기값이 입력되는 현상을 말합니다. #include int main() { //over flow: 자료형의 지정한 크기보다 큰 값 short ok = 32767; short flow = 32768; printf("ok = %d\n", ok); printf("flow = %d\n", flow); //under fl..
2022.02.08 -
반복문의 기본 문법
이번에는 프로그램 제어문 중 반복문에 대해 정리하겠습니다. 반복문은 비슷한 일을 여러 번 바르게 반복하는 일을 합니다. 반복문에는 for문, while문, do~while 문이 있습니다. 1. for문 기본적인 구조는 다음과 같습니다. for(초기화; 조건식; 증감식;) { 반복 수행할 명령어; } 먼저 초기화 부분입니다. 초기화란 변수에 특정한 값을 초기값으로 대입해주는 것입니다. for문에서 초기화 부분에 값을 바꿔주면 이는 마치 반복작업을 수행하는 시작점을 바꿔주는 것과 같습니다. 예를 들어 숫자 버튼을 1부터 10까지 1씩 커지는 방향으로 누르는 일이 있다고 합시다. for 문을 아래와 같이하면 그 의미는 다음과 같습니다. for (int i =1 ; i =1; i--) : 10 9 8 7 6 5..
2022.02.08 -
2022.02.08 While 문 문제
#include int main() { int num1,num2,num3, loop, sum1, Acc1, AccEven; num1 = 10; loop = 1; sum1 = 0; while (loop
2022.02.08