셈틀꾼 신입생 C언어 강의 제 1강.
변수,상수,연산자,printf(),scanf()
1. 프로그래밍 언어를 쓰는 이유
컴퓨터는 바보입니다. 0과 1밖에 모르지요.
그래서 컴퓨터에게 일을 시키기 위해서는 1과 0만을 찍어서 일을 시켜야 하는데, 그건 너무 고되고 지루한 작업이라서, 기계어와 사람, 중간단계에서 보완해주는 그 무언가가 필요했습니다.
그것이 바로 프로그래밍 언어와 컴파일러 (Compiler)입니다!
기계어보다는 훨씬 쉽고 간결한 프로그래밍언어로 사람이 프로그램을 작성하면 컴파일러가 기계어로 바꿔줍니다.
그래서, 사람이 쉽게 컴퓨터를 조작하기 위해, 프로그래밍 언어를 배워야 하는 것입니다.
2. 변수?
변수란, 간단히 말해, 자료를 담는 그릇입니다. 물통에 사이다 , 콜라, 물 등을 담을 수 있듯이 , 변수에도 여러 가지 숫자와 문자 등등을 담을 수 있습니다.
3. 자료형이란?
액체중에도 사이다 , 콜라 , 물 , 소주 등등이 있듯이 , 변수에도 종류가 있습니다.
그 예를 들자면 정수형 변수 는 int형 변수라고 하고, 문자형 변수는 char형, 실수형 변수는 double형 , 혹은 float형 변수라고 합니다.
4. 변수 선언 방법?
변수선언을 하기 위해서는 다음의 양식을 따릅니다.
[자료형] <변수명>;
만약 정수형 숫자를 담기 위한 정수형 변수를 선언하기 위해서는 다음과 같이 하면 됩니다.
int a;
여기서 int는 정수형 변수를 나타내는 키워드이고, a가 변수명이 됩니다.
5. 연산자?
수학에서는 등식에 사용되곤 하는 기호 '=' 가 양 변이 같다는 기호로 사용되곤 합니다. 예를들면,
x + 4 = 7
여기서, 양변이 같으므로 x는 3이 됩니다.
그러나 , C언어는 다릅니다!
예를들어,
c = a + b ;
라고 한다면, 양변이 같다는 것이 아니라 , 우변의 a + b를 계산하여 좌변의 c에 대입하는 대입연산자로 쓰입니다!
그 외 연산자로는 + , - , * , / 같은 산술연산자와 , && , || 같은 논리연산자 , 그리고 & , | 같은 비트연산자 등이 있는데, 자세한 것은 실습시간에 설명하도록 하겠습니다.
6. 그럼 상수는 뭐임?
변수는 , 계속 변수에 저장된 값을 바꿀 수 있습니다. 예를들면
int a;
a = 10;
a = 15;
a = 29;
이런 식으로요. 그러나, 상수는 한번 값을 넣고 나면 , 그다음부터 값을 변경하기가 불가능합니다!
예를 보겠습니다. 일단 상수를 선언하는 방법을 보도록 하겠습니다.
const [자료형] <상수명> = 초기값;
예를 보도록 하겠습니다. 원주율의 기호인 파이는 무리수로 , 3.14159... 이런식으로 계속되는 수입니다.
상수로 선언을 한다면 이렇게 되겠지요.
const double pi = 3.14159;
여기서 const는 상수선언을 위한 키워드이고 , double은 자료형 , pi는 변수명이 되겠습니다.
그리고 , 상수를 선언하고 바로 3.14159로 상수 초기화를 해주었습니다.
이렇게, 원주율처럼 이미 정해져 있는 수를 프로그래머가 임의로 바꿀 걱정이 없어지도록 하기 위해 사용하는 것이 바로 상수!입니다.
만약 다음 예처럼 , 선언되어있는 상수를 변경하려 한다면 어떻게 될까요?
const double pi = 3.14159 ;
pi = 3 ;
이렇게 한다면 , 컴파일러에서는 구문에러로 처리합니다. 즉 , 프로그램이 실행되지 않습니다.
정리하자면 , 프로그래머가 임의로 바꿀 걱정이 있는 , 이미 정해진 수를 상수로 선언하고 씁니다. 기억해두시기 바랍니다.
7. printf ();
이때까지 , 변수를 선언하고 , 연산하는것까지는 좋았지만, 이대로는 화면에 아무 것도 표시되지 않습니다.
그래서, 변수를 화면에 보여주는 명령어가 필요하게 됩니다. 그것이 바로 printf ();입니다.
printf (); 의 용법은 다음과 같습니다.
printf ( "형식지정" , 변수1 , 변수2 .... ) ;
여기서 형식지정이란, 변수들을 화면에 표시하기 위한 일종의 규약입니다.
예를 들어, a라는 int형 변수와 , b라는 int형 변수를 화면에 표시하기 위해서는 , 다음과 같이 해야 합니다.
printf ( "%d %d" , a , b ) ;
이 경우에는 첫 번째 %d 에는 a가 , 두 번째 %d에는 b가 찍히게 됩니다.
그 외 , 형식지정에는 char 형 변수를 위한 %c , double형 변수를 위한 %f , 문자열을 위한 %s 등등이 있습니다.
그 외에도 , 그냥 글자를 출력할 수도 있습니다. 예를 볼까요?
printf ( "셈틀꾼!" ) ;
이것을 실행하면 , 화면에 '셈틀꾼' 이라는 글자가 찍힙니다.
둘다 섞을 수도 있습니다.
위의 int형 변수 a와 b를 출력하는 예제를 조금 바꾸어 보겠습니다.
만약 int형 변수 a 는 3 , b는 9라고 하면,
printf ( "변수A의 값은 %d , 변수 B의 값은 %d" , a , b ) ;
이렇게 하면 , 화면에는 '변수A의 값은 3 , 변수 B의 값은 9' 이렇게 찍히게 됩니다.
그 외 , 형식지정자에는 \n , \t 같은것들도 있습니다.
이것은 실습시간에 설명하도록 하겠습니다.