잠깐 복습차원에서
주석은 // 혹은
/* */ 으로 사용
첫줄의 stdio.h 는 헤더파일로
역할은 함수의 원형(간단한 모습)을 가지고있다. 더 자사한 함수내용(함수의 바디 . 몸체)은
라이브러리 파일(컴파일된 내용이 여기 에 있다.)에 들어있다
int main(void)
의 반환으론
return 0;
가 와야하고
void main(void)
에는
리턴이 필요하지 않다.
char main(void)
에는 문자료 표시되는 내용이 나오면 된다하다.
예로 return ''을 사용하거나 문자가 오면 된다 .
오늘수업 으로는 출력에 대하여 배운다.
출력될 수 있는 값의 종류는 크게 두개이다
1. 숫자
2. 문자
숫자에는 정수 int 와 실수 float 로 나뉘고 그 안에서 큰값과 작은값으로 나뉜다
문자는 문자 char 와 문자열 string 으로 나뉜다 이때 문자열은 나타내는 자료형이 없어서
나중에 배열으로(array) 으로 나뉜다
printf의 사용
서식문자로 표시하여 정수값을 표시할수 있다
printf("%d은 정수이다 \n",10);
%d 를 통해 쓰면 프린트에프에서 사용가능하다 다음과 같다.
d는 decimal 십진수의 약자이다. 컴퓨터에서는 이진수 이기 때문에 십진수
로 표시한다.
다른 서식문자는 다음과 같다
%f 실수로 출력
%c 문자로 출력 작은따옴표로 사용한다 다음과 같다. printf("%c은 정수이다 \n",'a');
%s 문자열로 출력 printf("%s은 정수이다 \n","hello");
%2d 로 하면 우측 정렬로 적을 수 있다.
서식문자를 사용하는 이유는 접근성이 좋아진다고 할 수 있기 때문이라고 받아들이자
메모리가 귀하던 시절에는 좋은방법이라는 할 수 없지만(변수가 많으면 메모리공간을 차지하므로)
현재는 메모리가 넉넉하기 때문에 사용한다.
추가로 간단한 작동과정을 보면
하드에서 프로그램 하나를 만들어서 exe 파일 등을 실행시키면
이것이 메모리로 들어가서 작동권한을 얻게되고
이 권한이 생기면 cpu에서 서로 정보를 주고받으며 작동을 하게 되는데
이때 메모리로 들어가서 작동권한을 얻을때 메모리의 어느정도 공간을 차지하게 된다
메모리가 부족하던 시절은 이 과정에서 변수등을 줄이려 하였던 것이다.
이스케이프 시퀀스는 줄바꿈할때 \n 를 사용한것 같은 종류이다.
printf("\t\"hi there\"\t");
따옴표를 쓰고싶거나 한줄 들여써서 출력하고자 하는등
의 출력을 하고자 할때 찾아본다.
특수한 기능을 가진 문자 앞에 백슬래쉬 \ 를 붙여서 사용한다.
printf("\\n"); 이거는
이스케이프 시퀀스를 그대로 출력하는 백슬래쉬의 활용법이다
c의 변수 선언하기 1.
파이썬과 다르게
어떤 자료형으로 변수를 선언할지 앞에 확실하게 선언해야 사용이 가능하다.
파이썬은 다음과 같이 사용가능
dish="a"
하지만 c계열의 언어는 안된다.
다음과 같이 선언해야 사용이 가능하다.
char dish="a"
다음은 서식문자 에 따라 표현되는 방식이 다른 코드이다
각줄마다 10 , 16 , 8 진수이다.
void main(void)
{
int i=100;
printf("hello \n");
printf("dec= %d \n", i);
printf("hex= %x \n", i);
printf("oct= %o \n", i);
}
결과로
hello
dec= 100
hex= 64
oct= 144
가 나온다.
c의 변수 선언하기 2.
값을 담는 그릇 이라고 생각하면 된다.
다음과 같은 방법으로 선언하면 된다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
자료형 변수이름 ; ㅣ
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
1. 사용하기 전에 선언한다
2. 그후 사용
한줄로 정리 : 선언하고 사용한다.
선언과 동시에 초기화하여 사용 할 수 있다.
사칙연산은 어느 프로그래밍 언어든 항상 같다
+ - * / % 는 순서대로
덧 뺄 곱 나 나머지
이렇게 진행된다
기호상수, 매크로(macro)는 마지막에 나온다.
오늘 연습은 구구단과 사칙연산 출력하는것임.
//구구단
int main(void)
{
int i,j;
printf("---구구단출력---");
for(i=2;i<10;i++)
{
printf("\n");
for(j=1;j<10;j++)
printf("%d x %d = %2d ",i,j,i*j);
}
return 0;
}
간단한 사칙연산.
int main(void)
{
int x,y,sum,mi,de,mul,rest;
x=100;
y=200;
sum=x+y;
mi=x-y;
de=y/x;
mul=x*y;
rest=y%x;
printf("두수의 합 : %d \n",sum);
printf("두수의 차 : %d \n",mi);
printf("두수의 나눗셈 : %d \n",de);
printf("두수의 곱셈 : %d \n",mul);
printf("두수의 나머지 계산 : %d \n",rest);
return 0;
}
결과로
두수의 합 : 300
두수의 차 : -100
두수의 나눗셈 : 2
두수의 곱셈 : 20000
두수의 나머지 계산 : 0
9단만 출력하기(순수한 노가다).
//프로그램 1
int main(void)
{
printf("9 x 1 = 9 \n");
printf("9 x 2 = 18 \n");
printf("9 x 3 = 27 \n");
printf("9 x 4 = 36 \n");
printf("9 x 5 = 45 \n");
printf("9 x 6 = 54 \n");
printf("9 x 7 = 63 \n");
printf("9 x 8 = 72 \n");
printf("9 x 9 = 81 \n");
return 0;
}
//프로그램 2
int main(void)
{
printf("9 x 1 = %2d \n",9*1);
printf("9 x 2 = %2d \n",9*2);
printf("9 x 3 = %2d \n",9*3);
printf("9 x 4 = %2d \n",9*4);
printf("9 x 5 = %2d \n",9*5);
printf("9 x 6 = %2d \n",9*6);
printf("9 x 7 = %2d \n",9*7);
printf("9 x 8 = %2d \n",9*8);
printf("9 x 9 = %2d \n",9*9);
return 0;
}
//프로그램 3
int main(void)
{
int nine=9;
int inc=1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
return 0;
}
나중에는 for문을 이용한 앞의 구구단 처럼 해결 할 수 있다.
다음은 최종적으로 실습에서 전부 사용한 코드이다.
#include
/*
int main(void)
{
printf("%d은 정수이다 \n",10);
printf("\n");
return 0;
}
*/
/*
void main(void)
{
int i=100;
printf("hello \n");
printf("dec= %d \n", i);
printf("hex= %x \n", i);
printf("oct= %o \n", i);
}
*/
/*
int main(void)
{
printf("%d은 정수이다 \n",10);
printf("\n");
printf("\t\"hi there\"\t");
printf("\\n");
printf("21");
return 0;
}
*/
/*
//구구단 1
int main(void)
{
int i,j;
printf("---구구단출력---");
for(i=2;i<10;i++)
{
printf("\n");
for(j=1;j<10;j++)
printf("%d x %d = %2d ",i,j,i*j);
}
return 0;
}
*/
/*
int main(void)
{
int x,y,sum,mi,de,mul,rest;
x=100;
y=200;
sum=x+y;
mi=x-y;
de=x/y;
mul=x*y;
rest=y%x;
printf("두수의 합 : %d \n",sum);
printf("두수의 차 : %d \n",mi);
printf("두수의 나눗셈 몫 : %d \n",de);
printf("두수의 곱셈 : %d \n",mul);
printf("두수의 나머지 계산 : %d \n",rest);
return 0;
}
*/
/*
//프로그램 1
int main(void)
{
printf("9 x 1 = 9 \n");
printf("9 x 2 = 18 \n");
printf("9 x 3 = 27 \n");
printf("9 x 4 = 36 \n");
printf("9 x 5 = 45 \n");
printf("9 x 6 = 54 \n");
printf("9 x 7 = 63 \n");
printf("9 x 8 = 72 \n");
printf("9 x 9 = 81 \n");
return 0;
}
*/
/*
//프로그램 2
int main(void)
{
printf("9 x 1 = %2d \n",9*1);
printf("9 x 2 = %2d \n",9*2);
printf("9 x 3 = %2d \n",9*3);
printf("9 x 4 = %2d \n",9*4);
printf("9 x 5 = %2d \n",9*5);
printf("9 x 6 = %2d \n",9*6);
printf("9 x 7 = %2d \n",9*7);
printf("9 x 8 = %2d \n",9*8);
printf("9 x 9 = %2d \n",9*9);
return 0;
}
*/
/*
//프로그램 3
int main(void)
{
int nine=9;
int inc=1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
inc=inc+1;
printf("%d x %d = %2d \n",nine,inc,nine*inc);
return 0;
}
*/
'관 > 솔직한 c 언어 공부' 카테고리의 다른 글
c언어 기초 공부 06. (0) | 2019.11.06 |
---|---|
c언어 기초 공부 05. (0) | 2019.11.05 |
c언어 기초 공부 04. (0) | 2019.11.04 |
c언어 기초 공부 03. (0) | 2019.11.04 |
c언어 기초 공부 01. (0) | 2019.11.02 |
댓글