C 언어
이 자습서에서는 c 전처리기를 소개하고 예제를 통해 #include, #define 및 조건부 컴파일을 사용하는 방법을 배웁니다.
<그림>C 전처리기는 프로그램을 컴파일하기 전에 변환하는 매크로 전처리기(매크로 정의 가능)입니다. 이러한 변환에는 헤더 파일, 매크로 확장 등이 포함될 수 있습니다.
모든 전처리 지시문은 #
로 시작합니다. 상징. 예를 들어,
#define PI 3.14
C 전처리기의 일반적인 용도는 다음과 같습니다.
<시간>
#include
전처리기는 C 프로그램에 헤더 파일을 포함하는 데 사용됩니다. 예를 들어,
#include <stdio.h>
여기 stdio.h
헤더 파일입니다. #include
전처리기 지시문은 위의 줄을 stdio.h
의 내용으로 바꿉니다. 헤더 파일.
이것이 #include <stdio.h>
를 사용해야 하는 이유입니다. scanf()
과 같은 기능을 사용하기 전에 및 printf()
.
함수 선언을 포함하는 고유한 헤더 파일을 만들고 이 전처리기 지시문을 사용하여 프로그램에 포함할 수도 있습니다.
#include "my_header.h"
헤더 파일 사용에 대해 자세히 알아보려면 이 페이지를 방문하십시오.
<시간>
매크로는 이름이 지정된 코드 조각입니다. #define
을 사용하여 C에서 매크로를 정의할 수 있습니다. 전처리기 지시문.
다음은 예입니다.
#define c 299792458 // speed of light
여기서 c를 사용할 때 우리 프로그램에서는 299792458
으로 대체됩니다. .
#include <stdio.h>
#define PI 3.1415
int main()
{
float radius, area;
printf("Enter the radius: ");
scanf("%f", &radius);
// Notice, the use of PI
area = PI*radius*radius;
printf("Area=%.2f",area);
return 0;
}
<시간> 함수 호출과 유사한 방식으로 작동하는 매크로를 정의할 수도 있습니다. 이것을 함수형 매크로라고 합니다. 예를 들어,
#define circleArea(r) (3.1415*(r)*(r))
프로그램이 circleArea(argument)
를 만날 때마다 , (3.1415*(argument)*(argument))
로 대체됩니다. .
5를 인수로 전달했다고 가정하고 다음과 같이 확장합니다.
circleArea(5) expands to (3.1415*5*5)
<시간>
#include <stdio.h>
#define PI 3.1415
#define circleArea(r) (PI*r*r)
int main() {
float radius, area;
printf("Enter the radius: ");
scanf("%f", &radius);
area = circleArea(radius);
printf("Area = %.2f", area);
return 0;
}
매크로 및 #define 전처리기에 대해 자세히 알아보려면 이 페이지를 방문하세요.
<시간>C 프로그래밍에서는 코드 블록을 포함할지 여부를 전처리기에 지시할 수 있습니다. 이를 위해 조건부 지시문을 사용할 수 있습니다.
if
과 유사합니다. 한 가지 중요한 차이점이 있습니다.
if
명령문은 코드 블록이 실행되어야 하는지 여부를 확인하기 위해 실행 시간 동안 테스트되는 반면, 조건문은 실행 전에 프로그램에 코드 블록을 포함(또는 건너뛰기)하는 데 사용됩니다.
조건을 사용하려면 #ifdef
, #if
, #defined
, #else
및 #elif
지시문이 사용됩니다.
#ifdef MACRO
// conditional codes
#endif
여기서 조건부 코드는 MACRO인 경우에만 프로그램에 포함됩니다. 정의됩니다.
<시간>
#if expression
// conditional codes
#endif
여기서 표현식 정수 유형의 표현식입니다(정수, 문자, 산술 표현식, 매크로 등이 될 수 있음).
조건부 코드는 expression 0이 아닌 값으로 평가됩니다.
선택적 #else
지시문은 #if
과 함께 사용할 수 있습니다. 지시.
#if expression
conditional codes if expression is non-zero
#else
conditional if expression is 0
#endif
#if...#else
에 중첩 조건을 추가할 수도 있습니다. #elif
사용
#if expression
// conditional codes if expression is non-zero
#elif expression1
// conditional codes if expression is non-zero
#elif expression2
// conditional codes if expression is non-zero
#else
// conditional if all expressions are 0
#endif
<시간> 특수 연산자 #defined 특정 매크로가 정의되었는지 여부를 테스트하는 데 사용됩니다. #if와 함께 자주 사용됩니다. 지시.
#if defined BUFFER_SIZE && BUFFER_SIZE >= 2048
// codes
<시간> 다음은 C 프로그래밍에서 미리 정의된 몇 가지 매크로입니다.
매크로 | 값 |
---|---|
__DATE__ | 현재 날짜를 포함하는 문자열 |
__FILE__ | 파일 이름을 포함하는 문자열 |
__LINE__ | 현재 줄 번호를 나타내는 정수 |
__STDC__ | ANSI 표준 C를 따르는 경우 값은 0이 아닌 정수입니다. |
__TIME__ | 현재 날짜를 포함하는 문자열입니다. |
다음 프로그램은 __TIME__
를 사용하여 현재 시간을 출력합니다. 매크로.
#include <stdio.h>
int main()
{
printf("Current time: %s",__TIME__);
}
출력
Current time: 19:54:39<시간>
C 언어
21세기는 제조업을 포함하여 삶의 다양한 측면에 자동화를 가져왔습니다. McKinsey and Co.의 연구에 따르면 2015년 제조 활동에 사용된 근무 시간의 64%가 자동화될 수 있으며, 특히 저숙련 노동력이나 제품 복잡성이 낮은 경우에 더욱 그렇습니다. 자동화 기회는 자동차와 비행기에서 가구와 휴대폰에 이르기까지 모든 것을 구축하는 데 존재합니다. 물론 모든 유형의 자동화가 동일한 것은 아니며 모든 회사가 동일한 방식으로 자동화의 혜택을 받는 것은 아닙니다. 자동화에 대한 심층 분석을 고려하고 있다면 제조 분야의 다양한 자동
AC 모터와 엔코더는 로봇의 두 가지 중요한 부분입니다. 그들은 로봇에게 목적을 부여합니다. 그것들이 없으면 움직임이 없을 것이고, 움직임이 없으면 로봇은 목적이 없습니다. 물론 누군가가 거실이나 작업장을 위한 대형 산업용 로봇 조각상을 원하지 않는 한 말입니다. AC 모터는 교류 전류에 의해 구동되는 모터입니다. 최근까지 교류 모터는 로봇 작동을 위한 최선의 선택이 아니었습니다. 과거의 많은 로봇은 직류 또는 DC 모터만 사용했습니다. 그러나 마이크로 전자 공학의 발전과 함께 AC 모터가 개선되기 시작하면서 이러한 모터는 다양한