C언어의 예약어 연산자..설명문의 정의를 내려주심이...내공 100

C언어의 예약어 연산자..설명문의 정의를 내려주심이...내공 100

작성일 2006.05.05댓글 2건
    게시물 수정 , 삭제는 로그인 필요

1.검색을 해보니 예약에엔 뭐가 있고 어떻게 사용하고..주저리주저리...

연산자엔 뭐가 있고...그쓰임이...주저리주저리./.. 이런것밖에 없더라구요..

전 그런것보다...

예약어란......음...씨언어에서 쓰이는 예약어자체란 이런것이다,,,하는 정의를 좀 알려 주십시요.. 연산자도 마찬가지입니다...관계연산자엔 이게있고 저게있고 주저리주저리..논리연산자엔 이게있고 저게있고 주저리주저리...이런것 다 필요없읍니다...걍 딱 씨언어에서 연산자란 이것이다....한줄에서 두세줄 사이의 정의를 내려주십시오,...감사합니다...

내공 100

 

2.#include

  #define

  #if

  #endif

 윗것들에 대해서도 설명을 부탁합니다...역시나 짧게 부탁합니다...


#c언어의 예약어

profile_image 익명 작성일 -

식별자(identifier) : 함수이름이나 변수 이름으로 사용되는 것입니다.

                C에서 알파벳과 숫자와 밑줄을 포함해서 만든 단어는 모두 식별자라고

                볼 수 있습니다. 단순히 'name'이라고 부르기도 합니다.

예약어 : C언어나 컴파일러가 특정한 목적으로 사용하기 위해 예약해놓은 식별자(단어)

                입니다. 이미 예약된 단어라서 사용자가 만든 변수나 함수에 붙여줄 수 없습니다.

               ( if, else, for, switch, while  등의 명령어와  int, double 등의 타입명이 이에 속합니다.)

연산자 : 연산자는 C언어의 수식에 사용되는 기호들입니다.

                식별자에 사용되는 밑줄( '_')을 제외한 나머지 특수문자들은 거의 다 연산자로

                볼 수 있습니다. 연산자는 1~2 개의 문자로 구성되어 있습니다.

                예약어가 주로 제어와 변수 선언의 목적으로 사용되는 것에 반해 연산자는

                계산/대입의 용도로 사용됩니다.

 

전처리기: C언어의 컴파일은 크게 두 단계로 구성됩니다. (전처리 + 컴파일)

    즉, 전처리기 명령이 모두 수행된 후에 컴파일이 시작되는 겁니다.

그리고 모든 전처리기 명령은 #으로 시작됩니다. #으로 시작되는 것은 모두 전처리명령

C언어 명령이 ;  으로 구분되는 것에 비해 전처리기는 행단위로 명령을 처리합니다.

 

#include : 삽입 명령입니다. 이 삽입 명령은 지정한 파일의 내용으로 대체됩니다.

    #include     또는     #include "사용자헤더파일"   의 형식

 

#define : 매크로 정의 명령. 실질적으로 문자열 치환의 기능을 갖는 명령입니다.

                 상수를 정의하거나 매크로함수를 정의하는 용도로 주로 사용합니다.

                 또 다른 용도는 전처리기 제어입니다.

               #define PI 3.141592      /* 상수 정의의 대표적인 예 */

               #define MAX(x, y)    ((x) > (y) ? (x) : (y))        /* 매크로 함수의 대표적인 예 */

               #define _STDIO_H_      /* 전처리 제어용으로 사용되는 매크로 */

??? 매크로라는 것은 C언어 전처리시에만 참조되는 일종의 변수입니다.

??? 즉, 매크로의 값은 전처리기 수행중에만 변경가능하며, 전처리 명령에 의해서만

       변경가능합니다. ( #define과 #undef   :  매크로 정의, 매크로 삭제)

 

선택적 컴파일에 사용되는 전처리 제어명령들..

#if  : 전처리 제어 명령.

       #if 의 조건이 거짓이면, #if와 #end if 사이에 있는 내용은 삭제됩니다.

    아래의 형태를 갖게 되며, 조건식에 올 수 있는 것은 매크로와 상수 입니다.

    _LINE_은 C언어에 내장된 매크로중 하나로 현재처리중인 행의 숫자를 가집니다.

#if _LINE_  > 50

    c언어 코드

#else

    다른 c언어 코드

#end if

 

#ifdef  /  #ifndef : 전처리 제어명령. 위의 if보다 더 많이 쓰입니다.

#ifdef   -  지정한 매크로가 정의되었으면 #end if 까지의 내용이 소스에 포함된다.

#ifndef  - 지정한 매크로가 정의되지 않았으면 #end if 까지의 내용이 소스에 포함된다.

              아래는 실제로 C표준헤더 파일에서 사용되는 예이죠.

 

#ifndef  _STDIO_H_

#define _STDIO_H_

   stdio.h의 내용

#end if  

 

사용 예를 들다 보니까 길어지는 군요....

profile_image 익명 작성일 -

 

예약어

 내부적으로 미리 정해놓고 사용하는 Identifier

 

 

명령들이나 변수 type .. 등으로 구성되어 있습니다.

 

 

프로그래밍은 컴퓨터에게 일을 시키기 위해 그 일의 순서를 지시하는 것이지요?

 

그 일의 순서를 표현하기 위해서 이럴땐 이렇게, 저럴땐 저렇게, 몇번 수행하고 .. 등등등

 

조건을 나타내는 if, else, .. while , for .. break, continue ;;;

만약, 아니면, ~ 일 동안, 반복~, 빠져 나가라, 계속 해라 .. 등등..

 

 

C언어에서 사용하는 명령어들입니다.

 

그리고 int, char, float, double ... void 같은 데이터 형도 있습니다.

 

이것은 어떤 데이터를 보관할 공간을 마련하기 위함이겠지요 ?

 

 

컴퓨터에게 명령을 하기 위해 C언어를 이용하여 작성했는데, 이것은 실제로 컴퓨터가 알아들을 수 없습니다.

 

 따라서 Compiler를 통해 컴퓨터가 알아들을 수 있게 기계어로 번역을 통하게 됩니다.

 

 

근데 이때 문제가 발생합니다. C언어에서 이미 지정한 어떤 '글귀' 와 사용자가 정의한 변수들과 같게 되면....

 

 그것이 명령어인지, 변수인지~ 알수 없게 됩니다.

 

 따라서 이러한 혼돈을 없애기 위해서 예약어라고 해놓고 이것은 변수로 쓰지 마라~

 

 혹은 함수 이름으로 쓰지 마라~ 이렇게 하고 있습니다.

 

 

 

 

연산자

operating of data

 

그리고 연산자는 말 그대로 데이터를 연산하는 것을 말합니다.

 

 

보통 숫자 + 숫자 는 두개의 숫자를 더하는 연산을 하는거지요 ?

 

+, -, * , / 등등..

 

그리고 컴퓨터는 모든 것을 2진수로 처리 하기 때문에.. bit 연산이 있습니다.

 

<< , >>, ^, ~, |, & ..

 

 

이러한 것들 모두 데이터를 연산하는 연산자 입니다.

 

 

또한, C++ 에서는 객체끼리도 연산할 수 있습니다.

 

 

 

 

앞에 # 이 붙은 것은 preprocessor, 전처리기 라고 합니다.

 

제가 위에서 Code를 Compiler가 번역을 한다고 했죠 ?

 

Code를 작성하다 보면, 수정할 일이나, 반복되는 작업들을 하거나, 이런 저런 일들을 하기 마련인데, 그러한 일들을 Compiler가 번역하기 전에 미리 바꿔치기 해주는 역활을 해주게 됩니다.

 

 

.#include <파일이름>

.#include "파일이름"

 

include. 말 그대로 파일이름의 파일을 그곳에 포함시킵니다.

 

 

  #define  A B

 

소스코드 내에 있는 모든 B를 A로 바꿔치기 합니다.

 

  #if 조건

내용

  #endif

 

 

조건 이 맞으면 안에 있는 내용이 전처리 수행 됩니다.

 

#if 문은 프로그램이 수행중에 바뀌는게 아니라, 전처리 이기 때문에 상수만 됩니다.

즉, 고정값만 됩니다.

 if 문과 같이 변수의 조건에 따라 이렇게 저렇게 바뀌는게 아니라,

 

 

#if   _DEBUG_

 

#define printf printf

 

#else

 

#define printf //printf

 

#endif

 

이런식으로 사용 되면,

 

_DEBUG_ 라는게 #define 되어 있으면 printf가 그대로 printf가 되고..

 

define 되어 있지 않으면, printf 는 모두 주석처리가 됩니다.

 

 

 

Code -> Compiler 를 통해 -> 기계어로..

 

 

전처리기는

 

Code -> 전처리기에 의해 Code를 변형, 가공. -> Compiler를 통해 -> 기계어로..

 

설명문의 정의를 내려주심이...내공 100

... 씨언어에서 연산자란 이것이다....한줄에서 두세줄 사이의 정의를 내려주십시오,...감사합니다... 내공 100 2.... 예약어 : C언어나 컴파일러가 특정한 목적으로...

<< 연산자 오버로딩 질문 내공 100

... 제가 c언어의 관점으로 생각해서 이해를 못하는 걸... 재정의를 하지만 operator라는 예약어를 사용함으로써 연산자를 overloading을 하는 것으로 문법을 만든...

[내공100] C언어 아주 기초 문제랍니다!...

... 내공 100드립니다!! 부디부디 고수님들의 빠른 답변... 자료형으로 정의할 수 있는 기능이다. 27. C언어에서 수식은 (연산자)와 (피연산자)의 조합으로 구성된다. 28....

C언어 오늘안으로.급해요.내공많이!!

... 값을 되돌려 받지 않으므로 선언과 정의에서 함수명... 보기1 예약어는 union 이다. 보기2 특정 필드 참조는 닷 연산자(.)를 사용한다. 보기3 기억장소의...

컴퓨터 프로그래밍 c언어 독학 질문

... 감사하겠습니다 (내공100) 1.c언어부터 독학해서... 방식으로 정의되어있습니다 기계어는 101010101 이런... 까먹) 예약어 데이터형 연산자 포인터 구조체 정도가 있습니다 위에...

C언어 문제

... 개량한 C언어를 만들었다. 1983년 여름, C 언어의 표준을 정의하는ANSI에 위원회가 결성 되었다.ANSI C 표준은... 단어를 (연산자)라 한다. D. 프로그램 명령어의 단위인...

컴퓨터 관련(IT) 용어 20개 알려주세요

... (한 2~3줄?) 내공은 30드림니다... 되도록 빨리 올려주세요 추가질문,, 그리고... C언어의 모든 장점과 객체 지향 프로그래밍의 장점을 결합했다. CA(Certificate Authority)...

c언어 문제 답좀 알려주세요.

... 내공 100드려요. 1. C언어의 역사로 틀린 것은?... 다음 중 연산자의 기호가 아닌 것은? () ① % ②... extern이란 예약어를 사용한다 ④ 초기화를...

내공 100 c언어 기초입니다

... 위의 main 함수 정의에서 void 키워드의 역할에 대해... 연산자를 포함할 수 없다... big-box가 big에서 box를 빼라는 것과 무엇이 다른가. 세번째는 C언어의 예약어로...