본문 바로가기

C/C++

공짜 IDE. Best Free C/C++ IDE 프로그래머들에게 꼭 필요한것은 개발툴이다. 원수 같이 보기만 해도 질릴수도 있기는 하지만, 하여튼 땔래야 떌수 없는게 그 개발툴들이다. 많은 툴들이 있지만, 여기에 공짜좋아하는 우리들에게 좋은 소식인 Free 한 버전의 IDE를 소개한다. DevC++ Code::Blocks 이두개의 Free IDE는 간단해서, 초보자들에게는 최고의 툴이라고 한다. (그런데, MS에서 2008 Express버전이 인터넷에서 받아서 쓸수 있는데, 이걸 쓸 사람이 있을 지는 모르겠다. 우리나라에서의 MS 영향력은... 절대적이다..) From http://prakharagrawal.wordpress.com/2008/01/08/best-free-cc-ide/ The first question to ask is what does.. 더보기
C 표준 라이브러리 함수 출처 ; http://blog.naver.com/kkwwhh7/100003308350 1. 데이터 변환 함수 2. 디렉토리 조작 함수 3. 버퍼 조작 함수 4. 파일 조작 함수 5. stream 입출력 함수 6. Low level 입출력 함수 7. Mathematics 8. 메모리 조작 함수 9. 탐색과 정렬 함수 10. 문자열 조작 함수 11. 시간 함수 12. 문자 분류 및 변환 함수 13. 기타 함수 1. 데이터 변환 함수 문자나 문자열을 수치 값으로 변환시키거나 대문자를 소문자로 소문자를 대문자로 변환하는 함수로 stdlib.h에 정의되어 있다. 헤더 파일 : #include atof 형식 : double atof(char *string) 설명 : 문자열을 부동소수점 값으로 변환하는 함수 부동소수.. 더보기
Ellipse 그리기. 랜덤 함수를 써서 윈도우에 다양한 타원.. 간단하게 CDC::Ellipse() 함수를 이용해서 윈도우에 랜덤한 타원을 출력시키는 프로그램. CBrush와 CPen으로 브러시와 펜을 생성및 초기화 하고 SelectObject 함수로 DC에 선택한다. #include class CEllipseApp: public CWinApp { public: virtual BOOL InitInstance(); }; CEllipseApp theApp; class CMainWnd : public CFrameWnd { public: CMainWnd(); ~CMainWnd(); afx_msg void OnTimer(UINT nIDEvent); DECLARE_MESSAGE_MAP(); }; void CMainWnd::OnTimer(UINT nIDEVENT) { CClien.. 더보기
윈도우 그래픽 프로그래밍 OnDraw (환경 : VS 2005에서 실행하였다.) 간단하게 프로젝트에서 Line 이란 프로젝트를 생성한다. single document로 생성. 그중 view 클래스에서 OnDraw함수를 찾는다. CLineView::OnDraw() . 이넘이 실질적으로 윈도우에 그림을 뿌려준다... code ---------------------------------------------------------------- void CLineView::OnDraw(CDC* pDC) { CLineDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 여기에 원시 데이터에 대한 그리기 코드를 추가합니다. CPen penRed(PS_SOLID,0,RGB(2.. 더보기
C++에서와 다른 vs.net 에서의 c++ iosteam.h -> iostream 으로 변환. 이미 포스팅 했으니까 생략. 2005 깔고나서 c++소스 컴파일 하면 거의~~~ 에러. 이놈의 "새로운" 문법들 때문에 손볼데가 많다. 음.. 몇가지 기억나는 넘들. for loop에서의 지역변수는 루프 밖에서 유효하지 않다는거. 예전에 for문에서 조건식에다 바로 변수를 선언할수 있었는데, 이젠 그러면 그 변수를 선언않했다고 나와버린다.... for(int i=0;i 더보기
마이크로프로세서 응용 엔지니어를 위한 ANSI-C언어 마이크로프로세서 응용 엔지니어를 위한 ANSI-C언어 더보기
C언어 구조 % 정말 예~~~ 전에 많이 보던 화면 ㅋㅋㅋ% C 는 main() 함수를 기본으로 한다. main()함수안에 {}로 시작과 끝을 구분한다. [기본구조] /* 주석문*/ #include /* standard in out header file include. 선행처리기. main() { 함수처리 } 이런 형식의 구조를 가지고 수행되어진다. [C언어 기본] *대소문자 구분을 한다. *main()함수가 꼭 필요하다. 없으면 않되.... * 함수는 꼭 {}로 묶어서 구분 * ; 로 문장의 끝을 맺는다. * 주석은 /* */로 묶음. 소스파일 : *.c 오브젝트파일 : *.obj 실행파일 : *.exe [C언어특징] /* 알려진특징들... * 이식성 양호 * 인터페이스용이 * H/W 제어 용이 # 다른건 몰라도 .. 더보기
구조체,structures 구조체란 간단히 말해서 다른 자료형들의 모임.이다. 일종의 레코드. 구조체를 구성하는 것들을 멤버변수(필드field,아이템item)라고 한다. 형식> struct 구조체명{ 자료형 변수; ... } // 구조체 선언 ... struct 구조체명 변수; -> struct people{ int age; char name[10]; char addr[20]; char sex; ... } struct people busan; 이럴수도 있고, 선언후 바로 struct people{ int age; char name[10]; char addr[20]; char sex; ... } busan; 이럴수도 있다. 또한 typedef struct people{ // people 구조체 선언하고 int age; char na.. 더보기
storage class storage class 라는건 변수의 생성,소멸의 시기, 장소,위치를 결정하는 예약어이다. 보통 생략할 때가 많은데, 이런 경우에는 auto 라는 storage class 로 설정된것이다. 형식> storage class 자료형 변수명. -> auto float fsum; 종류> auto - 메모리에서 생성되며, 지역변수이다. 쓰레기값이 초기값으로 들어가며, 함수안에서만 선언가능. 그 함수에서만 사용가능하게 된다.즉 지역변수라는 얘기다. register - 레지스터에 생성되고, 역시 지역변수. static - 메모리에 생성되지만, 전역,지역이 가능하다. 초기화가 자동으로 되기때문에 신경쓰지 않아도 되고, 함수밖에서 선언하면 전역, 함수내에서 선언하면 지역변수가 된다. extern - 역시 메모리에서 생.. 더보기
포인터 C에서 가~~~장 중요한 개념중하나. 포인터 변수는 주소를 값으로 갖는 변수를 말하는데, * 을 이용해서 선언하게 된다. 즉, 주소값이 변수가 된다. 예> int *p; float *fp; ------------------------------------------------- #include main() { int a,num,*p; num=100; p=# a=*p; printf("num = %d, a = %d",num,a); } 이럴경우 p에는 num의 주소가 들어가게 되고, a에는 p주소에 해당하는 값, 즉 100이 들어가게 된다. ------------------------------------------------- #include main() { char *p; p = "HoonyG"; .. 더보기
배열 C에서는 배열은 1차원배열, 다차원배열이 있다. 구현은 간단하다. 자료형 이름[첨자] 형식이다. int a[10]; 이런형식을 이용해서 정의를 내리고 사용한다. 2차원배열을 구현할 경우 이름[행번][열번] 형식이 된다. 배열을 사용할때 포인터 이용을 같이 하는 경우가 많다. 배열 자체가 데이터를 연속적으로 저장하기 때문에 포인터를 이용한 접근이 쉬워진다. 배열명자체가 시작명을 가지는 포인터상수이기 때문이기도 하다. int a[10]; 일경우 a 가 100 번지에 저장된다면, int *pt_a; pt_a=a; 로 구현하면, pt_a = &a[10] 의 의미가 된다 더보기
조건.IF.SWITCH,FOR,WHILE --------------------------------------------------------------- IF(조건1) { } else if(조건2){ } else { } 예> #include #include main() { int a,b; char mode; puts("enter the type. E : easy, N : normal, I : insane") gets(mode); if(mode=='E') { puts("Easy mode started"); }else if(mode=='N'){ puts("Normal mode started"); }else if(mode=='I'){ puts("Insane mode started"); } getch(); } ----------------------.. 더보기
문자입출력 입력함수 gets() 문자열입력. 엔터키에 의해 입력. 공백가능 getch() 한개 문자입력. 바로입력. getche() 한개문자.바로입력.입력된내용나타남. getchar() 한개문자.엔터키입력. 출력함수 putchar() 한개문자출력. puts() 문자열출력.행이 자동으로 바뀜. 예> #include void main() { char name[20], telno[10]; puts("What's your name?); gets(name); puts("What's your telephone number?"); gets(telno); printf("%s 's telephone number is %s",name,telno); getch(); } 더보기
연산자들 C에서는 논리,관계,증감,산술연산자가 존재한다. 이는 말그대로 논리(참거짓을판별),관계(대소),산술(+-*/)증감(++--)을 한다. ---------------------------------- * 곱하기 / 나누기 + 더하기 - 빼기 % 나머지 ++ 증가1 -- 감소1 ---------------------------------- >>, 더보기
입력받아들이기~~ scanf() scanf() - 이넘은 데이터 형식에 따라서 값을 읽어들이는 함수이닷. 형식. scanf("변환문자...",인수..); ex> scanf("%d %f %c %s",&nint,&nfloat,&ctag,tags); 여기서 주요점은 하나의 문자는 &연산자를 이용하지만, 문자열같은 경우 &기호를 생략한다. 포인터라 생략가능. 문자열 마지막에는 null문자가 들어가게된다. 예> #include void main() { int a,b,sum; char name_a[10],name_b[10]; printf("input a's name?"); scanf("%s\n",name_a); printf("input b's name?"); scanf("%s\n",name_b); printf("input a's score?");.. 더보기