딩굴댕굴

C 3Day (20160111)

by jennysgap

BOX

함수의 이해

  1. 함수를 만들고, 만들어진 함수의 실행순서를결정하는 것이 C언어로 프로그램을 작성하는 것이다.
    이처럼 적절한 입력과 그에 따른 출력이 존재하는 것을 가리켜 '함수 (Function)'라 한다.


  2. 제일 먼저 호출되는 함수는 main함수!

    함수의 이름 :   함수를 호출할 때 사용하게 되는 이름
    출력형태 :   실행의 결과! 일반적으로 반환형(return type)이라 한다.
    입력형태 :   함수를 호출할 때 전달하는 입력 값의 형태
    함수의 몸체 :   함수의 실행 내용(기능)
    return 0; :   main함수를 종료하면서 값(0)을 어떤 (int=정수integer) 형태로 반환

    번외) main함수는 누구한테 값을 반환할까?
    모든 함수는 자기를 호출한 영역으로 다시 반환한다. 그렇다면 main함수는 누가 호출했을까?
    main함수의 시작 = 프로그램의 시작! 모든 프로그램의 실행 주체는 누가 될까? 나의 손가락? No!
    S/W --------- OS --------- H/W
    하드웨어 안에서 소프트웨어가 잘 돌아갈 수 있도록 중간에서 도와주는 역할을 하는 것이 OS
    OS에 의해서 프로그램이 실행됨. 즉, OS가 주체이고 main함수는 OS에 반환함.


  3. printf( ) 함수의 이해
    이미 잘 만들어져 있어 그대로 가져와 쓰기만 되는 함수를 표준함수라고 한다.



  4. include <stdio.h>
    헤더파일 : 표준함수들이 담겨져 있는 파일 ----> stdio.h
                        printf 라는 함수를 사용하기 위해서는 무조건 stdio.h 파일을 선언해야 한다.
                        표준 입출력 관련 정보가 들어있다고 해서 Standard Input Output
    전처리기(#해쉬) : 모든 프로그램에서 시작하기 전에 먼저 수행 (컴파일러를 하기 전에 전처리기를 수행한다.)
                                        문장 끝에 세미클론(;)이 오지 않음



Hello world 출력하는 프로그램 분석


1
2
3
4
5
6
7
#include <stdio.h>
 
int main(void)
{
    printf("Hello world ! \n");
    return 0;
}
cs

표준함수 :   이미 만들어져서 기본으로 제공되는 함수. ex) printf함수

사용자 함수 :   printf함수 등의 함수들을 사용자가 직접 구현해서 사용하는 것.

표준라이브러리 :   표준함수들의 모임을 뜻하는 말. 즉, printf함수는 표준라이브러리의 일부이다.

#include <stdio.h> :   표준입출력 함수를 사용하기 위한 선언

printf함수의 호출을 위해서 선언해야 하는 문장

stdio.h 파일에는 printf함수 호출에 필요한 정보가 존재

printf("Hello world ! \n") :   printf라는 이름의 함수를 호출하는 문장

인자는 문자열 "Hello world ! \n"

인자는 소괄호를 통해서 해당 함수에 전달이 된다.

return 0 :   함수를 호출한 영역으로 값을 전달(반환), 현재 실행중인 함수의 종료




변수의 이해



변수명 :   그 공간에 이름을 직접 부여 (이름을 아무렇게 부여해도 되나요? No)

자료형 :   내가 그 공간에 어떤 형태로 저장하고 싶은지 자료형태를 지정해 줌

=(대입연산자) :   오른쪽에 있는 피연산자를 왼쪽 피연산자에 대입히겠다라는 의미

== :   우리가 생각하는 같다 (same)

출력값 :   인자, 인수라고 표현





1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main(void)
{
    int num=10;
    printf("%d\n", num);
 
    num=num+1;
 
    return 0;
}
cs


C언어는 위에서 아래 순서대로 출력되는 절차지향적인 언어이기 때문에 num=num+1 값이 출력되지 않는다.

C++는 객체지향적인 언어, 교차지향적인 언어 (참고로 알아두기)





변수명 작명 규칙

  • 변수명으로 영문자, 숫자, 그리고 밑줄만 사용한다.
  • 변수명의 첫 문자는 반드시 영문자나 밑줄(_)이어야 한다.
  • C언어의 예약어 (reserved word)는 변수명으로 사용할 수 없다.
  • 영어 대문자와 소문자는 서로 다른 문자로 간주된다.
  • 변수명 내에 공백을 둘 수 없다.
  • 변수명의 길이는 보통 256자리까지 가능하다.
  • 변수의 역할이 무엇인지 역할에 대한 작명을 하는 것을 지향한다!!





변수선언시 주의할 사항

중괄호 내에 변수를 선언할 경우, 변수의 선언문은 중괄호의 앞부분에 위치해야 한다.


잘된 상황
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main(void)
{
    int num1;
    int num2;
    num1=10;
    num2=20;
 
    return 0;
}
cs

잘못된 상황
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main(void)
{
    int num1;
    num1=10;        //ok
    int num2;
    num2=20;        //error
 
    return 0;
}
cs




자료형





예제 1

#include <stdio.h>

int main(void)

{

int age=21;

double weight=50.0, height=163.5;                //실수


printf("나의 나이는 %d세 입니다. \n", age);

printf("나의 몸무게는 %f(kg) 입니다. \n, weight);

printf("나의 신장은 %f(cm) 입니다. \n", height);

}

%f 사용하면 소수점 6자리까지 보여줌. 그러므로 소수점 2자리까지만 보여주고 싶으면 %0.2f라 쓰기




예제 2

#include <stdio.h>

int main(void)

{

int num=123;

char ch='D';


num=num+1;

ch='G';                                            /ch값이 변경됨

printf("num=%d \n", num;

printf("ch=%c \n", ch);

}

변수에 지정한 값은 언제든지 변경 가능하다.





예제 3

#include <stdio.h>

int main(void)

{

float height_inch=70.0;

float height_cm=height_inch*2.54;

printf("나의 신장은 %0.1f(cm) 입니다. \n, height_cm);

}

초기화 할 때, 연산을 이용하는 것도 가능





예제 4

#include <stdio.h>

int main(void)

{

char ch='A';

int num=5, ret;


ret=ch+num;;

printf(*ret=%d \n, ret);

}








20160111 C언어 3day.pages


20160111 c언어 3day.txt



반응형

'BOX' 카테고리의 다른 글

C 7Day (20160115)  (0) 2016.01.21
C 6Day (20160114)  (0) 2016.01.20
C 5Day (20160113)  (0) 2016.01.20
C 4Day (20160112)  (0) 2016.01.20
C 2Day (20160108)  (0) 2016.01.20

블로그의 정보

jennysgap

jennysgap

활동하기