프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어



Similar documents
K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

Ⅰ. 머리말 각종 기록에 따르면 백제의 초기 도읍은 위례성( 慰 禮 城 )이다. 위례성에 관한 기록은 삼국사기, 삼국유사, 고려사, 세종실록, 동국여지승람 등 많은 책에 실려 있는데, 대부분 조선시대에 편 찬된 것이다. 가장 오래된 사서인 삼국사기 도 백제가 멸망한지

3232 편집본(5.15).hwp

<BFBEBEC6C0CCB5E9C0C720B3EEC0CC2E20B3EBB7A120C0CCBEDFB1E220C7D0B1B3202D20C0DAB7E1322E687770>

PowerPoint 프레젠테이션

참고 금융분야 개인정보보호 가이드라인 1. 개인정보보호 관계 법령 개인정보 보호법 시행령 신용정보의 이용 및 보호에 관한 법률 시행령 금융실명거래 및 비밀보장에 관한 법률 시행령 전자금융거래법 시행령 은행법 시행령 보험업법 시행령 자동차손해배상 보장법 시행령 자본시장과


chap10.PDF

종사연구자료-이야기방 hwp

목 차 국회 1 월 중 제 개정 법령 대통령령 7 건 ( 제정 -, 개정 7, 폐지 -) 1. 댐건설 및 주변지역지원 등에 관한 법률 시행령 일부개정 1 2. 지방공무원 수당 등에 관한 규정 일부개정 1 3. 경력단절여성등의 경제활동 촉진법 시행령 일부개정 2 4. 대

인천광역시의회 의원 상해 등 보상금 지급에 관한 조례 일부개정조례안 의안 번호 179 제안연월일 : 제 안 자 :조례정비특별위원회위원장 제안이유 공무상재해인정기준 (총무처훈령 제153호)이 공무원연금법 시행규칙 (행정자치부령 제89호)으로 흡수 전면 개

C프로-3장c03逞풚

슬라이드 1

OCW_C언어 기초

블링블링 제주월드

, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

초보자를 위한 C# 21일 완성

슬라이드 1

< FB9AEC3A2B0FA5FC3A5C0DA2E687770>

<B0ADC8ADC7D0C6C428C3D6C1BE292E687770>

기사스크랩 (160504).hwp

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

DBPIA-NURIMEDIA

<BCBAC1F6BCF8B7CA28C3D6C1BE2933C2F72E687770>

산림병해충 방제규정 4. 신문 방송의 보도내용 등 제6 조( 조사지역) 제5 조에 따른 발생조사는 다음 각 호의 지역으로 구분하여 조사한다. 1. 특정지역 : 명승지 유적지 관광지 공원 유원지 및 고속국도 일반국도 철로변 등 경관보호구역 2. 주요지역 : 병해충별 선단

김기중 - 방송통신심의위원회 인터넷 내용심의의 위헌 여부.hwp

untitled


- 2 - 정보 1 北 조평통, 박근혜 후보 대북정책 공약 비난 "이명박 대결정책과 다를 바 없어" 북한은 8일 새누리당 박근혜 대선 후보가 최근 발표한 대북정책 공약을 `전면대결공약'이라고 비난했다. 북한의 대남기구인 조국평화통일위원회 대변인은 이날 조선중앙통신 기자

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

7,560일간의 드라마 여행

PowerPoint 프레젠테이션


래를 북한에서 영화의 주제곡으로 사용했다든지, 남한의 반체제세력이 애창한다 든지 등등 여타의 이유를 들어 그 가요의 기념곡 지정을 반대한다는 것은 더 이상 용인될 수 없는 반민주적인 행동이 될 것이다. 동시에 그 노래가 두 가지 필요조 건을 충족시키지 못함에도 불구하고

> 1. 법 제34조제1항제3호에 따른 노인전문병원 2. 국민건강보험법 제40조제1항의 규정에 의한 요양기관(약국을 제외한다) 3. 삭제< > 4. 의료급여법 제2조제2호의 규정에 의한 의료급여기관 제9조 (건강진단) 영 제20조제1항의 규

단위: 환경정책 형산강살리기 수중정화활동 지원 10,000,000원*90%<절감> 형산강살리기 환경정화 및 감시활동 5,000,000원*90%<절감> 9,000 4, 민간행사보조 9,000 10,000 1,000 자연보호기념식 및 백일장(사생,서예)대회 10

노인복지법 시행규칙

03장.스택.key

<B5B6BCADC7C1B7CEB1D7B7A52DC0DBBEF7C1DF E687770>

<38BFF920BFF8B0ED2DC8F1BFB5BEF6B8B620C6EDC1FDBABB2E687770>

?

4) 이 이 6) 위 (가) 나는 소백산맥을 바라보다 문득 신라의 삼국 통 일을 못마땅해하던 당신의 말이 생각났습니다. 하나가 되는 것은 더 커지는 것이라는 당신의 말을 생각하면, 대동강 이북의 땅을 당나라에 내주기로 하고 이룩한 통 일은 더 작아진 것이라는 점에서,

우리나라의 전통문화에는 무엇이 있는지 알아봅시다. 우리나라의 전통문화를 체험합시다. 우리나라의 전통문화를 소중히 여기는 마음을 가집시다. 5. 우리 옷 한복의 특징 자료 3 참고 남자와 여자가 입는 한복의 종류 가 달랐다는 것을 알려 준다. 85쪽 문제 8, 9 자료

상품 전단지

::: 해당사항이 없을 경우 무 표시하시기 바랍니다. 검토항목 검 토 여 부 ( 표시) 시 민 : 유 ( ) 무 시 민 참 여 고 려 사 항 이 해 당 사 자 : 유 ( ) 무 전 문 가 : 유 ( ) 무 옴 브 즈 만 : 유 ( ) 무 법 령 규 정 : 교통 환경 재

2

DBPIA-NURIMEDIA

화이련(華以戀) hwp

ÆòÈ�´©¸® 94È£ ³»Áö_ÃÖÁ¾

歯1##01.PDF

<5BC1F8C7E0C1DF2D31B1C75D2DBCF6C1A4BABB2E687770>

120229(00)(1~3).indd

01Report_210-4.hwp

<C3D1BCB15FC0CCC8C45FBFECB8AE5FB1B3C0B0C0C75FB9E6C7E D352D32315FC5E4292E687770>



교육 과 학기 술부 고 시 제 호 초 중등교육법 제23조 제2항에 의거하여 초 중등학교 교육과정을 다음과 같이 고시합니다. 2011년 8월 9일 교육과학기술부장관 1. 초 중등학교 교육과정 총론은 별책 1 과 같습니다. 2. 초등학교 교육과정은 별책

시험지 출제 양식

177

제주어 교육자료(중등)-작업.hwp

¸é¸ñ¼Ò½ÄÁö 63È£_³»Áö ÃÖÁ¾

<C3D6C1BE5FBBF5B1B9BEEEBBFDC8B0B0DCBFEFC8A C3D6C1BEBABB292E687770>

초등국어에서 관용표현 지도 방안 연구

6±Ç¸ñÂ÷

과 위 가 오는 경우에는 앞말 받침을 대표음으로 바꾼 [다가페]와 [흐귀 에]가 올바른 발음이 [안자서], [할튼], [업쓰므로], [절믐] 풀이 자음으로 끝나는 말인 앉- 과 핥-, 없-, 젊- 에 각각 모음으로 시작하는 형식형태소인 -아서, -은, -으므로, -음

민주장정-노동운동(분권).indd

untitled

<C0CEBCE2BABB2D33C2F7BCF6C1A420B1B9BFAAC3D1BCAD203130B1C72E687770>


E1-정답및풀이(1~24)ok

< BDC3BAB8C1A4B1D4C6C75BC8A3BFDC D2E687770>

<C1B6BCB1B4EBBCBCBDC3B1E2342DC3D6C1BE2E687770>

교사용지도서_쓰기.hwp

최우석.hwp

cls46-06(심우영).hwp

0429bodo.hwp

時 習 說 ) 5), 원호설( 元 昊 說 ) 6) 등이 있다. 7) 이 가운데 임제설에 동의하는바, 상세한 논의는 황패강의 논의로 미루나 그의 논의에 논거로서 빠져 있는 부분을 보강하여 임제설에 대한 변증( 辨 證 )을 덧붙이고자 한다. 우선, 다음의 인용문을 보도록

伐)이라고 하였는데, 라자(羅字)는 나자(那字)로 쓰기도 하고 야자(耶字)로 쓰기도 한다. 또 서벌(徐伐)이라고도 한다. 세속에서 경자(京字)를 새겨 서벌(徐伐)이라고 한다. 이 때문에 또 사라(斯羅)라고 하기도 하고, 또 사로(斯盧)라고 하기도 한다. 재위 기간은 6

주택시장 동향 1) 주택 매매 동향 2) 주택 전세 동향 3) 규모별 아파트 가격지수 동향 4) 권역별 아파트 매매 전세시장 동향 토지시장 동향 1) 지가변동률 2) 토지거래 동향 강남권 재건축아파트 시장동향 15 준공업지역 부동산시장 동향

10김묘선

歯9장.PDF

02 C h a p t e r Java

1

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관

진단, 표시・광고법 시행 1년

13주-14주proc.PDF


chap7.key

Microsoft PowerPoint - Chapter_04.pptx

zb 2) 짜내어 목민관을 살찌운다. 그러니 백성이 과연 목민관을 위해 있는 것일까? 아니다. 그건 아니다. 목민관이 백성 을 위해 있는 것이다. 이정 - ( ᄀ ) - ( ᄂ ) - 국군 - 방백 - 황왕 (나) 옛날에야 백성이 있었을 뿐이지, 무슨 목민관이 있 었던

5.스택(강의자료).key

Microsoft PowerPoint - [2009] 02.pptx

C++-¿Ïº®Çؼ³10Àå

(Microsoft Word - \261\333\276\262\261\342_21~40\260\255_.docx)

<C6EDC1FD20B0F8C1F7C0AFB0FCB4DCC3BC20BBE7B1D420B0B3BCB120BFF6C5A9BCF32E687770>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

망되지만, 논란은 더욱 증폭될 것으로 전망된다. 일단 광주지역 민주화 운동 세력 은 5.18기념식을 국가기념일로 지정 받은 데 이어 이 노래까지 공식기념곡으로 만 들어 5.18을 장식하는 마지막 아우라로 활용한다는 계획이다. 걱정스러운 건 이런 움직임이 이른바 호남정서

PowerPoint 프레젠테이션

Transcription:

개나리 연구소 C 언어 노트 (tyback.egloos.com)

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서, 이참에 내용도 한 번 싹~! 정리해볼까 하는 차원에 글을 쓰기 시작했습니다. ====================================================================== 이 세상에는 참 많은 언어들이 있습니다. 우리가 사용하는 모국어 한글부터 시작해서 어릴때 조기교육 이네 뭐네 하며 귀에 못이 박히도록듣는 영어와, 자장면 나라말(일리가 없지만;;;;) 중국어, 바다건너 일 본어 등등... 소수민족의 언어까지 모두 합하면 그수는 약 3,000 가지 정도가 된다고 하네요. 우리가 입으로 소리내어 말하고 쓰고 듣는 언어가 이정도인데 컴퓨터도 예외는 아닐 수 없겠죠? 아시 다시피 컴퓨터가 어느 날 하늘에서 '뚝!' 하고 떨어진 것도 아니고, 지금까지 발전하면서여러사람의 손 을 거쳐온 것 만큼 컴퓨터와 의사소통을 할 수 있는 프로그래밍 언어도 여러가지가 있습니다. 우리가 배 우고자 하는 C언어도 결국 그 프로그래밍 언어 중 하나에 불과합니다. 그럼 프로그래밍 언어 몇 가지를 아주 간단하게 소개하겠습니다. 1. COBOL (Common Business Oriented Language) =>사무용 데이터 처리를 위한 공통언어로 설계된 프로그래밍 언어. MOVE 200 TO S COMPUTE S = S / 100 DISPLAY S 2. Fortran (Formula Translator) => 1957년, 미국 IBM 사에서 수식을 그대로의 모양으로 프로그래밍 할 수 있게 개발한 최초의 과학 기술 계산용 프로그래밍 언어. S = 200 S = S / 100 WRITE (*,*) S 3. BASIC (Beginner's All Purpose Symbolic Instruction) => 미국 다트머스 대학에서 개발한 초보자용 프로그래밍 언어. S = 200 S = S / 100 PRINT S

4. PASCAL => 1968년 스위스 취리히 대학 니클라우스 위스 교수에 의해 만들어진 구조적 프로그래밍 개념의 언 어로, 데이터 구성시길이의 제약이 없고 다양한 형식과 구조를 사용한다. (if then ~ else, while ~ do 와 같은 제어구조) S := 200; S := S / 100; writeln(s); 5. C => 1973년 데니스 리치에 의해 개발된 언어. 간결한 표현양식, 풍부한 제어구조와 데이터구조, 연산 자를 가지고있다. S = 200; S /= 100; pfintf("%f", s); 6. C++ => C 언어의 확장판. 1983년 AT&T의 벨 연구소에서 개발한 언어로 객체지향을 도입했다. S = 200; S /= 100; cout << S; 7. C# => MS.net 플랫폼에서 실행되는 솔루션을 신속하고 편리하게 개발할 수 있는 최신 객체지향 언어. 웹개발이 가능하다. S = 200; S /= 100; Console.writeline(S);

8. JAVA => 1995년 5월 미국 Sun Microsystem 사가 개발한 인터넷용 프로그래밍 언어로 런타임 프로그램 만 설치하면 모든 플랫폼, OS에서 개발 및 동작이 가능하다. S = 200; S /= 100; system.out.println(s); 음... 대략 굵직한 것들은 다 나온 것 같군요... 간단한 소개와 함께 아주 짧은 코딩도 몇 줄 해봤는데 출력하는 명령어 부분만 제외하면 거의 비슷한 구조를 가지고 있는걸 확인할 수있을겁니다. 프로그래밍 언어는 몇 가지 큰 개념(객체지향, 클래스...) 을 확실히 이해하고 한 언어에 능통하다면 다른 언어를배우는데 비교적 수월한 편입니다. 누구였더 라?? 8개국어를 할 줄안다는 소녀가 있었는데 그녀도 이러한 원리로 외국어를 하나씩정복해 나갔다고 하네요. 뭐... 사람 말하고 하는건 귀가 뚫리고 말문이 트이기 시작하면 뭐든 할 수 있지만, 프로그래밍 언어는 백날 귀로 들어봐야 뭔말인지 하나도 못알아들을 뿐이죠. 무조건 해보는게 중요합니다!!! 여러분의 하드디스크를 온갖 온라인게임, 야동(응 -ㅅ-;;;;;;;;?) 으로 채워나가는게 아니라 각종 개발도 구, 프로그램 소스코드 등으로 채워나가면서 컴퓨터와 다양한 의사소통을 하는게 매우 중요합니다. 프로그래밍 언어에 대한 짧막한 소개는 이쯤에서 끝내겠습니다. 사실 더 이상 아는게 없거든요..;;;; 여기 내용은 그냥 상식으로 알아뒀다가 대학 강의시간에 아는 척 하기 딱 좋은 것들이라 생각됩니다. 그 닥 전문적인 내용도 아니고 말이죠. 계속해서 C 언어 프로그램 개발을 위한 환경조성에 대해서 알아보겠습니다. 우선, 여러분의 컴퓨터를 한 번 천천히 살펴보십시요. 지금 이 글을 보고계신 컴퓨터의 운영체제가 윈 도우인지, 리눅스인지, 아니면 맥 혹은 솔라리스 같은 것인지 말이죠. 꼭 윈도우가 아니라도 C 프로그래 밍은 얼마든지 할 수 있습니다. 대게의 프로그램이 C 언어로 만들어졌다고 해도 과언이 아니니 말입니 다. 독자중에 온라인 게임 마비노기를 즐기는 분에 대한 한마디... 큰 맘먹고 비주얼 C++ 로 어셈블 하 면 몬스터들의 행동패턴 등등을 뜯어볼 수 있다는 사실!!!! (이라 쳐도 소스코드를 볼줄알아야 뭐가 보이 죠 OTL...)

여기까지는 그냥... 군에 있던 제 동기가 해준 이야기 입니다. 진짜로 비주얼 C++ 로 어셈블 하면 소스 코드가 보이는지 어쩐지는 해본적도 없고 관심도 없고... -ㅅ-... 아무튼 어떤 운영체제이건 상관없습 니다. 프로그래밍을 꾸준히 하겠다는 의지!!! 그것만 있다면 프로그래밍을 공부하는데 있어서는 승승장 구하리라 보장하는 바입니다. C 프로그래밍의 진수를 느껴보고 싶으신 분들은 큰맘먹고 컴퓨터에 리눅스를 설치하라고 말씀드리고 싶습니다. 리눅스는 일단 공짜인데다 C 언어로 만들어진 운영체제입니다. 그 자체가 C 언어 입니다. C 언어 개발도구가 기본적으로 포함되어있고 C 언어와 함께 리눅스를 공부하면 다른 언어를 공부하는데 도 상당한 도움이 됩니다. 하지만 위에 썼듯이 정말 리눅스를 설치하는데는 큰맘먹고 해야할 필요가 있습니다. 전세계 여러 개발 자들이 함께 만드는 운영체제이긴 하지만 그만큼 아직 검증되지 않은 부분도 있고, 설치하면서 여러가 지 문제가 발생할 수 있습니다. 최악의 경우 컴퓨터 전체를 통째로 포맷을 시키고 윈도우 부터 다시 설치 해야하는 복잡한 일까지... 맥은 상황이 그나마 좀 나은가요?? 한 번 써보고 싶지만 제가 아직 거기까지는 능력이 되지않아서 말 이죠. 그래도 상용 운영체제인 만큼 프로그램 개발환경 지원도 어느정도 잘 되어있을 것입니다. 어쨌든 자신의 운영체제와 프로그래밍의 목적에 맞게 그에 맞는 개발도구 등을 준비하면 되겠습니다. 윈도우의 개발도구로는 비주얼 스튜디오가 대표적입니다. C 뿐만 아니라 자바, 베이직 까지 건드릴 수 있는 통합개발도구로 많은 곳에서 비주얼 스튜디오를 가지고 프로그래밍을 가르치고 또, 실무에서도 많 이 사용하고 있습니다. 비주얼 스튜디오의 설치에 관해서는 언급하지 않겠습니다. 어려운거 있나요?? 그냥 셋업 누르고 다음 다음 다음 누르고 시리얼 적고 다음 다음 다음... 설치과정에 시스템을 건드리내 뭐내 하는 내용은 하 나도 없으니 안심하고 빌 게이츠가 하라는대로 따라하면 됩니다. 참 쉽죠? 음...그럼 다른 방법을 알아볼까요? 만약 여러분 컴퓨터가 심하게 오래됬거나 비주얼 스튜디오 자체가 설치가 되지않거나, 설치했더라도 실행했을 때 시스템이 많이 느려지거나 하는 경우 말인데요... 그런경우에는 과감하게 비주얼 스튜디오 를 포기하는 것이 하나의 방법이 될 수 있습니다. 비주얼 스튜디오 뿐만이 아니라 C 프로그래밍을 위한 개발도구, 그 중에서도 비주얼 스튜디오에 결코 뒤지지않는 개발도구는... 자료실을 잘 찾아보세요. 지식인이 대세라는 말도 있습니다. 조금만 찾아보면 얼마든지 좋은 개발도구 들이 많이 있으니 말이죠.

Commented by 퓨리넬 at 2009/04/02 01:46 [삭제] [답글] dev cpp나 이클립스 c/c++버전일까요? 그런데 dev cpp는 이제 업데이트가 없나봐요... Commented by tyback at 2009/04/02 02:08 DEV C++ 은 업데이트가 상당히 더딘 편이랍니다... 첨부터 기대도 안했죠 -ㅅ-... 그보다 빌게이 츠가 오픈소스를 의식해서 비주얼 스튜디오를 일부기능을 제외한 Express Edition 이라는 이름으 로 내놓은지가 벌써 1년이 다 되어가는군요!!! 물론 MSDN 라이브러리까지... 오오오오 ;ㅂ;!!! (http://www.microsoft.com/express/default.aspx) Commented by tyback at 2009/04/02 02:17 예전에는 DEV C++ 많이 썼었는데... 그 외에 Codeblocks (http://www.codeblocks.org/), Eclipse (http://www.eclipse.org/) 같은 것도 있죠. 코드블록스는 이클립스에 비해서 훨씬(그럴겁니다;;;) 사용하기 쉽고 편리하고, 비주얼 C++ 이나 DEV C++ 의 프로젝트를 불러올 수 있습니다. 이클립스는 원래 자바로 만들어졌거니 와 자바 개발도구지만... 이 사람들 못하는게 어디있습니까 -ㅅ-... 하면되지... 뭣도 모르고 쓸 때는 제대로 부려먹지도 못하고 이클립스로 텍스트 파일 건드린 기억이;;;; l 딩동~! 1970년, AT&T 의 부설기관인 벨 연구소의 켄 톰슨이 B 언어를 만들었는데 이를 본 데니스 리치와 브 라이언 커니건이 개량하여 1972년에 내놓은 것이 C 언어랍니다... 라고 해커스쿨에서 배웠습니다 ;ㅂ;/... 랄라...

다들 컴파일러, 개발도구 등등은 준비하셨으리라 봅니다. (무책임;;;;;) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- printf() printf 는 C 프로그래밍에서 데이터 값이나 문자열 등등을 출력하는 일을 하는 함수 입니다. 함수가 뭐 라고 까지 설명할 여력은 없으니 다음으로 계속 하겠습니다. 1 printf("출력할 내용"); => printf 는 이렇게 출력할 내용을 적어주면 됩니다. 2 printf("출력형식", 출력 데이터); => 혹은 위 처럼 출력형식을 적어주고 출력 데이터를 지정해주는 방법과 3 printf("출력형식1, 출력형식2,... ", 출력 데이터1, 출력 데이터2,...); => 다수의 출력형식을 적어주고 각각에 대응하는 출력 데이터를 지정해주는 방법으로 사용합니다. 그럼 출력형식은 뭘 쓰면 되는가 -ㅂ-?! %d : 10진수 정수형 %o : 8진수 정수형 %x : 16진수 정수형 %u : 부호없는 10진수 정수형 %c : 한 문자 %s : 문자열 %f : 부동소수점 (12.345) %e: 부동소수점 (1,2345E12) %g : %f 나 %e중 출력할 자릿수를 덜 차지하는 형태 조금이라도 C 언어를 만져본 이들이라면 무슨말을 하는지 알 것입니다. 당연하죠!!! 이 글은 지금... 걸음마는 땠지만 하나도 기억 안나는 이들을 위한 벼락치기 공부자료... 노트 입니다. 노트!!! 아무튼, 위의 출력형식은 다른 함수에서도 비슷하게 자주 사용하니까 대강 보고 이게 어떤 자료 형, 어떤 형식인지 정도만 알아두면 되겠습니다.

* 여기서 " ㅁ " 은 공백을 뜻합니다. printf("%-5d", 123); => 1 2 3 ㅁ ㅁ /* 즉, 5개 칸중에 왼쪽에서 차례대로 지정한 데이터를 10진수 정수형으로 출력하라는 내용 */ printf("%5d", 123); => ㅁ ㅁ 1 2 3 printf("%05d", 123); => 0 0 1 2 3 /* 이처럼 앞에 다른 문자를 집어넣어주면 공백대신 그 문자가 들어갑니다. */ 그럼... 여러문자, 여러 데이터를 받아서 출력할 때는 어떻게 할까요=ㅂ=/??? printf("%s, %s", "태연씨...", "사랑해요>ㅅ</~ "); /* 검증해본 적 없지만 대충... 콤마 쓰라는 뜻입니다...*/ 그리고... 하나 빠진게 있는데, 출력형식 %c 는 작은 따옴표를 사용한다는 점.. 즉 printf("%c", '얼음공주제시카'); 정도가 되겠습니다... 참 쉽죠?? 자리가 남으니까... 제어문자에 대해서 짚어보죠... 제어문자는 앞서 살펴봤던(그리고 다음에 알아볼) 입출력 함수들의 출력형식과 비슷한 일을 합니다. 단, 아주 특수한 일들을 몇 가지 하고 있다는 것 정도...??? \a = beep \r = 줄의 맨 첫 칸으로 \t = tab \f = 출력화면을 한 페이지 넘김 \n = 줄바꿈 \\ = \ \o = 공백문자 \" = " \b = 뒤로 한칸 후진 이 중에서 줄바꿈은 프로그래밍을 하면서(출력을 하면서) 자주 사용하게 될 것이니까 그냥 눈으로만 익혀두세요. 메모장과 같은 것들로 소스코드를 작성할 때 역슬래시는 키보드에서 을 입력하면 됩니 다. 몇 몇 개발도구에서는 키보드 을 누르면 역슬래시가 나옵니다.

scanf(); 1 scanf("입력형식", 데이터 저장 변수); 2 scanf("입력형식1, 입력형식2,...", 데이터 저장 변수1, 데이터 저장 변수2,...); 음... 여기서도 입력형식이 나오는군요. 좋습니다. 입력형식 -ㅅ-... 하지만!!! printf() 와 상당부분 같은 것들 뿐이라 정말로 초 간단하게 뭐가 있는지만 적어보자면 %d, %o, %x, %c, %s, %f 가 있겠습니다. 이게 도대체 무슨말인지 도통 기억이 나지 않으신다면 제 3화(;;;??)를 참고해 주시기 바랍니다. 그리고 또 하나... 초 간단 사용예제... char name; /* 입력받을 변수를 지정해줍니다. 변수니 함수니 하는 것들은 한~ 참 뒤에 설명하겠습니다. 어차피 한 번쯤 프로그래밍을 해본 분들이라면 알고계시겠죠?? 네.. 그럴거에요... 네...;;;; */ scanf("%s", &name); /* '&' 는 배열, 포인터를 제외한 일반적인 변수를 사용해 받을 때 반드시 써줘야 합니다. */ printf("%s", name); /* 출력할 때는 붙여줄 필요가 없죠...*/

변수 (Variable) 1 영문, 숫자, 밑줄의 조합으로 지정 2 첫 글자는 반.드.시 밑줄이나 영문자 3 특수문자, 키워드 사용금지 키워드 auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while 헝가리안 표기법 1 변수의 대,소문자를 구별한다. 2 특별한 접두어 사용. f ; 플래그 = char fchecked; c ; 카운터 = int cperson; l ; long 형 = long lmaxlesson; p ; 포인터 = char *pbut; u ; unsigned int 형 = unsigned int unumber; w ; word 형(unsigned short) = wdata; dw ; double world 형(unsigned short) = unsigned long dwdata; str ; 문자열 = char *strname; 자료형 문자형 char (문자형) ; 1 byte, -128 ~ 127 unsigned char (부호없는 문자형) ; 1 byte, 0 ~ 255 정수형 int (정수형) ; 4byte, -2^31 ~ {(2^31) -1} unsigned int (부호없는 정수형) ; 4byte, 0 ~ {(2^31) - 1} 정수형의 변종 short ; 2byte, -32,768 ~ 32,767 long ; 4 byte, 2^31 ~ {(2^31) -1} 실수형(부동소수점) float ; 4byte, 10^(-38) ~ 10^38 double ; 8byte, 10^(-308) ~ 10^308

상수 (Constant) 1 #define ~ ; (전처리기를 이용한 방법) #define MAX 3; #define ALPHA 'A' #define BETA (MAX - 1) 2 const 자료형 ~ ; (키워드를 이용한 방법) const int MyGirl = 1; const char Mysweetbaby = '태연'; 연산자 (Operator) 1 산술연산자 + (a + b) - (a - b) * (a * b) / (a / b) % (a % b -> a / b = x y ) - (-a) 2 비교연산자 < (a < b) > (a > b) >= (a >= b) <= (a <= b) == (a == b)!= (a!= b) 3 논리연산자 && (;and, a && b) (;or, a b)! (;not, a! b)

4 증감연산자 a = x ++; 출력후 증가 a = ++x; 증가후 출력 a = x; x = x + 1; x = x + 1; a = x; 5 비트연산자 & (and) (or) ~ (not) ^ (xor) << n (n bit left shift) >> n (n bit right shift) 6 대입연산자 = (a = 1;) += (a += 1; a = a + 1;) -= (a -= 1; a = a 1;) *= (a *= 1; a = a * 1;) /= (a /= 1; a = a / 1;) %= (a %= 3; a = a % 3;) <<= (a <<= 1; a = a << 1;) >>= (a >>= 1; a = a >> 1;) &= (a &= b; a = a & b;) ^= (a ^= b; a = a ^ b;) = (a = b; a = a b;) num1 += num2 -= data1 *= data2 /= 2; {def. num1 = num2 = 4, data1 = data2 = 3} data2 = data2(3) / 2 = 1.5 data1 = data1(3) * 1.5 = 4.5 num2 = num2(4) 4.5 = -0.5 num1 = num1(4) + (-0.5) = 3.5

7 삼항연산자 Var = (조건)? data1 : data2; 조건이 참이면 data1, 거짓이면 data2 를 처리. A = (input == + )? (x + y) : (x y); if (input == +) A = x + y; else A = x y; /*간단한 조건문을 단 한줄로 줄일 수 있다.*/ 8 형변환연산자 (자료형) var_name; int num; float data; data = 3.141592; num = (int)data; 연산자 우선순위 괄호, 배열, 구조체 ( ) [] - > 단항! ~ ++ - - 형변환연산자 * & sizeof 곱셈, 나눗셈 * / % 덧셈, 뺄셈 + -- 시프트 << >> 비교 < <= >= > ==!= 비트 & ^ 논리 && 삼항? :: 대입 = += -= *= /= %= >>= <<= &= ^=!=