티스토리 뷰
자 뜬근 없지만 C언어를 시작해볼까?
공대생 물리만 잘하면 본전아님?
어디 20세기에서 오셨어요?? 요즘 공대에서는 기본으로 컴퓨터 언어를 교육합니다.
초딩들도 찾아서 공부하는 마당에 세상에 뒤쳐진 공돌이 여러분 지금이라도 시작하세요...
C언어 포스팅에서는 개념을 설명 해주기 보다는 문제를 제시하여 설명하는 방식으로 가렵니다.
"포스팅하기 귀찮아서요?"
C언어 개념은요.... 수학공식이 아니라 어떤 작자가 쓰려고 만들어 놓은것을 "어? 이거 개꿀 프로그램인데?" 라고 하여 가져다 쓰는거예요...
언어 니깐 즉 "말" 이죠.... 대화를 배우는 거예요. 때문에 영어도 써본놈이 더 잘 말하듯 C언어도 실전에서 써보면서 익혀야 되더라구요...
자 그럼 본론으로 들어가 보죠...
hello, world!! 어디 선배나 C언어 공부한 사람한에게 안부 인사로 말해보세요.
"너 요즘 C언어 공부하냐?" 라고 할겁니다.
이 정도로 중요하면서 기본이 되는 문장입니다.
자 그럼 C언어로 "hello, world" 를 출력해봅시다.
C언어의 프로그램 작성의 기본 베이스는 이런 형태입니다.
#include <stdio.h> <-매크로를 사용하여 헤더파일 불러오기
int main()
{
내용
return 0; <- 코드를 끝내고 0 으로 반환한다.
}
독후감도 형식이 있듯 C언어도 형식이 있습니다. 아파트 세울때 준비하는 기초작업 틀 같은 것 입니다.
외우세요.
첫줄은 헤더파일을 불러오는 코드인데 < .h > 형식의 파일을 줄여 헤더파일이라고 부릅니다.
#include 매크로를 사용하여 헤더파일을 불러옵니다.
여기서 사용한 <stdio.h>는 기본 함수를 사용할 때 불려오는 헤더파일입니다.
기본적으로 모든 코드에서 기본으로 입력하고 시작합니다.
헤더파일의 종류는 너무 많아서 지금 설명하면 머리 터집니다.
나올때 마다 외우세요.
다음에는 입력을 하면 사용자가 볼수 있게 출력을 해야겠죠?
출력을 담당하는 코드는 printf( 내용 ); 입니다. (MATLAB의 fprintf 명령어와 비슷한 코드입니다. )
한번 내용을 넣고 출력을 해볼까요?
내용에는 printf("hello, world!!\n); 라고 입력하고 실행합니다. (Ctrl + F5)
전체적인 프로그램 코드는 아래와 같습니다.
#include <stdio.h>
int main()
{
printf("hello, world!!\n");
return 0;
}
"야 "hello, world!!" 뒤에 \n이 있는데 저건 왜 출력이 안되냐?"
응, 저건 줄 바꾸기 코드라서 출력이 안돼.. 한번 보여줄게 이걸 한번 입력해봐...
#include <stdio.h>
int main()
{
printf("hello,\n world!!\n");
return 0;
}
너가 뭘 좋아할지 몰라서 불편하게 중간에 넣어봤어
위에 하고 다르지? \n은 출력할 문장의 엔터같은 역할이야 꼭 알고있어야해
왜 갑자기 반말이냐고? 원래 이렇게 시작하는거야
"그건 그렇고 다 알겠는데 printf("hello, world!!\n"); 에서 마지막에 왜 세미콜론( ; )을 붙이냐?"
입력한 코드를 출력하려면 세미콜론을 입력해야해
응 이건 아니야 이 작자는 긴장해서 땀흘리는 거니깐 이해해줘
문장만 되냐고? 아니 정수도 되 너가 어떤것을 입력하던 C언어는 모든것을 출려해줄꺼야.
#include <stdio.h>
int main()
{
printf("hello, world!!\n");
printf("123456789\n");
return 0;
}
이러면 어떻게 출력될까?
이렇게 나오면 잘한거야
printf( 내용 ); 코드는 또 다르게 내용을 입력할 수 있는데
printf('hello, %s\n", "world!!"); 라고 입력하면
이렇게 출력이 되는데, 어떤 차이냐고?
이건 <형식 지정자> 라고 하는건데 원하는 형식 즉 %s , %c, %o 등등 여려 형식이 있는데
여기서 %s 는 <문자열 형식지정자> 이라는 의미인데 , %s 를 어디에 입력하는지에 따라 출력하는 위치가 달라져
나올때마다 외워두는게 좋을거야 ...
난 분명 말했다.
그리고 출력할 문장의 형태를 입력했으면 어떤 내용을 출력할지 정해야 겠지?
printf(" %s , 내용", "%s 위치에 들어갈 내용") 이야
먼저 큰따옴표(" ")로 문장 형태를 만들고 문장 뒤에 쉼표( , ) 표시를 하고 문장을 %s 순서대로 입력하면되
printf("%s hello\n", "world!!"); 라고 입력하면???
당연히 world!! hello 라고 출력이 되겠지?
이해했니? 이해했냐고??
우리 공돌이 친구들은 똑똑하니깐 이해가 되었을거야.
마지막으로 문제를 하나 더 풀고 포스팅을 끝내볼까?
"hello, C, language" 를 출력해볼래??
우선 기본 틀을 만들고..... 내용을 넣으면....
짠!!!
어때 공돌이 친구야? 정말 쉽지?
코드는 이렇게 쓰면되
#include <stdio.h>
int main()
{
printf("%s, %s %s\n" , "hello" , "C" , "language");
<- 문장 -> , <-형식지정자에 입력할 내용->
return 0;
}
내용에 출력코드를 잘 봐!!
<형식지정자>로 위치를 다 정해놓고 문장을 완성하고, 쉼표( , ) 뒤에 <형식지정자> 순서대로 내용을 입력하면 된다고!!!
오늘 포스팅 내용은 정말 쉬웠지?
난 포스팅을 2시간에 걸려 했지만 너희들은 5분도 안되서 스크롤을 내리고 댓글도 없이 뒤로가기를 누르겠지?
오늘은 이걸로 포스팅을 마칠꺼야 난 심심하면 다시 돌아올꺼고
그럼 스피드웨건 언어싸움은 이만 사라져 볼게
'프로그래밍 언어 > C(C언어)' 카테고리의 다른 글
[C언어] 변수에 직접 입력하기 (0) | 2018.01.23 |
---|---|
[C언어] 이번에는 소수로 표현해보자 실수 자료형 (0) | 2018.01.16 |
[C언어} 자료형의 종류와 쓰임 (0) | 2018.01.12 |
[C언어] 값에도 신분증이 있다? 변수 입력 (0) | 2018.01.10 |
[C언어] 게임버그! 프로그램버그! 버그를 잡자! (0) | 2018.01.08 |
- Total
- Today
- Yesterday
- 알고리즘
- CS
- docker
- java
- ajax
- spring-cloud
- 자격증
- 프로그래머스
- springboot
- Algorithm
- 매트랩
- 그래프
- 스프링
- 디자인패턴
- 백준
- 자바
- OOP
- security
- nginx
- JPA
- Spring
- Matlab
- 릿코드
- C언어
- 수학
- 스프링부트
- kakao
- 면접
- Solid
- interview
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |