[KR]초보자를 위한 C언어 학습-2steemCreated with Sketch.

in #kr7 years ago (edited)

안녕하세요. @pepcilia입니다. 저번 포스팅에 부족한 점이 많았는데요. 더 노력하겠습니다.
시리즈 제목을 "초보자를 위한 C언어 학습" 으로 바꾸었습니다.


우선, 저번시간에 급하게 넘어가느라 다루지 못했던 C프로그램의 기본 구조를 알아보고, 화면으로 출력하는 예제를 좀 더 자세히 다루어 보도록하겠습니다.

작업의 지시는 함수안에 들어있습니다. 함수는 { 에서 시작해서 } 로 종료되는데, 이 중괄호 사이에 작업의 지시가 들어가게 됩니다.
#include<stdio.h>

int main(void)
{
     printf("Hello World!");
     return 0;
}

이 예제를 보고 함수의 시작과 끝에 대하여 좀 더 잘이해할 수 있을것입니다.

C언어는 이러한 함수들이 모여서 이루어집니다. 이 함수들은 다시 여러 개의 문장들로 이루어지고, 문장들은 순차적으로 실행되면서 작업을 수행합니다.
스크린샷 2017-06-25 오전 11.18.33.png
자 우리는 C 프로그램의 기본적인 구조를 알아보았습니다. 이제 출력을 좀 더 자세히 다뤄 보도록 하겠습니다.

안녕하세요!
스팀잇 파이팅!

이라는 글을 출력하고 싶습니다. 그러면 어떻게해야할까요 ?
우리가 지금까지 배운 것을 활용하여 프로그램을 작성해보면

#include<stdio.h>

int main(void)
{
     printf("안녕하세요!");
     printf("스팀잇 파이팅!");
     return 0;
}

로 작성할 것입니다. 하지만 이렇게 작성해보시면 원하는 결과가 나오지않죠.

안녕하세요!스팀잇 파이팅!

이라고 출력될 것입니다. 그래서 우리는 소스코드를 수정해야만 합니다.

#include<stdio.h>

int main(void)
{
     printf("안녕하세요!\n");
     printf("스팀잇 파이팅!\n");
     return 0;
}

바뀐건 문장 끝에 \n을 적은 것 밖에 없습니다 :D
이렇게, 컴퓨터를 제어하는 목적으로 사용되는 특수한 문자들을 이스케이프 시퀀스라고 합니다.
스크린샷 2017-06-25 오전 11.28.37.png
이제 정수와 실수, 그리고 형식지정자에 대하여 알아보겠습니다.

  • 컴퓨터는 본질적으로 숫자를 처리하는 기계입니다.
  • 컴퓨터가 처리하는 수의 종류는 정수와 실수로 나눌 수 있습니다.
    • 정수 : 1, 2, 4, 8, -1, ,-2 ...
    • 실수 : 3.14, 6.0, 0.1212 ...

이제 간단하게 먼저 정수를 출력하는 예제 코드를 보고 형식 지정자에 대해 이해하도록 합시다.
함수 안쪽 내용만 살펴보도록하죠.

printf("%d은 정수입니다.",10);

여기서 사용된 %d와 같은것을 형식지정자라 합니다.
스크린샷 2017-06-25 오전 11.34.14.png
이렇게 다양한 형식 지정자의 종류가 있습니다.
이제 이 형식지정자들을 사용하는 예제를 보겠습니다.

#include<stdio.h>

int main(void)
{
     printf("%d는 정수입니다.\n", 10);
     printf("%f는 정수입니다.\n", 10.14);
     printf("%c는 정수입니다.\n", 'A');
     printf("%s는 정수입니다.\n", "Steemit");

     return 0;
}

위 예제에서 알 수 있듯이

  • 문자(character)는 ' '(작은따옴표)를 이용해서 표기합니다.
  • 문자열(string)은 여러 개의 문자가 나열된 것으로, " "안에 넣어서 표기합니다.

위에서 출력에 관련된 이스케이프 시퀀스와 형식지정자에 대해 알아보았습니다.

여기 까지만 하기 아쉬우니, 변수 까지 알아볼까요 ?

  • 변수는 컴퓨터의 메모리 안에 만들어지는 공간으로 숫자나 문자를 저장할 수 있는 공간입니다.
    스크린샷 2017-06-25 오전 11.44.55.png
    그렇다면 변수는 왜 필요할까요 ?
    우리는 다음시간에 사용자로부터 숫자나, 문자를 입력받을 것인데, 이것들을 저장할 공간이 필요합니다.
    그래서 변수를 선언해줘야하는것입니다.
  • 변수는 데이터를 담아두는 상자로 생각할 수 있습니다.
  • 변수에 있는 값은 언제든지 바뀔 수 있습니다.

변수의 개념에 대하여 알았으니, 변수를 선언하는 방법에 대해 알아봅시다.

  • 변수를 선언하기 위해선, 자료형변수의 이름을 적어줘야합니다.
    가장 많이 사용되는 자료형만 표시하자면
    스크린샷 2017-06-25 오전 11.50.16.png
    등이 있고 아래와 같이 활용할 수 있다.
int x;
float y;
char c;

변수의 이름은 자유롭게 지을 수 있지만, 아래의 사항을 참고하여 적는것이 좋다.

  • 영문자와 숫자,under bar(_) 사용, _이외의 특수문자 사용불가
  • 첫 글자는 반드시 영문자 또는 _
  • 대문자와 소문자는 구별됨
  • C언어의 예약어와 똑같은 변수이름은 금지됨. ex) printf
  • 의미있는 이름이 좋음

스크린샷 2017-06-25 오전 11.53.34.png
처음 변수를 선언하고나면, 변수라는 박스안에는 쓰레기값이 들어있다. 이것을 원하는 값으로 초기화 시켜주려면 변수를 선언할 때 변수 이름뒤에 =을 붙이고 초기값을 적으면 됩니다.

int x=10;
float y=3.14;
char c='A';

또, 선언 이후 초기화를 따로 해줄 수 있고, 이 방법은 변수에 저장된 데이터를 변경할 수도 있습니다.

int x;
x=10;
x=20;

이런식으로 사용되면, x라는 변수는 쓰레기값을 저장하다가, 10을저장하고, 최종적으로 20을 저장합니다.
또한 변수는 변수끼리의 산술연산도 가능합니다.
아래의 그림처럼 =(대입연산자) 오른쪽의 값이 계산되어 왼쪽에 저장되게 됩니다.
스크린샷 2017-06-25 오전 11.59.06.png
이정도로 간단하게 변수에 대해서도 알아보았습니다.
이 포스팅의 내용을 복습하기 위해서는 위 그림을 소스코드로 구현해 보는 것도 좋습니다.
변수x를 100으로 초기화하고, y를 200에 초기화 한 후 계산 후 sum에 대입하는 간단한 코드입니다.
다음글에서는 상수, scanf명령어, 조건문 등에대해 알아보겠습니다.
미숙한 점이 많겠지만, 앞으로 더 발전하는 @pepcilia가 되겠습니다.

Sort:  

정성들인 글 업보트하고 갑니다~

업보트 감사합니다~ 팔로우했어요

웁스..너무 어렵습니다. 아무튼 업보팅합니다.

요즘은 그래서 복잡한 문법이 없는 파이썬이라는 언어로 프로그래밍을 시작하기도해요..! 프로그래머가 장래희망이 아니라도 여러 문제 해결능력을 기를 수 있는 밑바탕이 될 수 있다고 생각해서 ㅎㅎ 관심가져보시는것도 나쁘지 않을것 같아요! 업보트 감사드리고 팔로우했어요:D

전문가??
잘보고 갑니다~

그냥 학부생입니다 ㅎㅎ

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63792.82
ETH 2563.50
USDT 1.00
SBD 2.66