전체
-
100명의 신상 정보를 관리하는 프로그램Visual Studio/C 실전 2012. 9. 23. 16:29
총 100명까지의 신상 정보를 입력하는 프로그램입니다. 숫자를 더 늘리고 싶다면 MAX값을 수정하면 되겠죠? 이 프로그램은 프로그램 출력에 대해 까지 포스팅한 내용을 바탕으로 제작되었습니다. #include #include #define MAX 100 #define TRUE 1 #define FALSE 0 struct record { char fname[15+1]; // 성이고 +1은 NULL값을 위한 자리 char lname[20+1]; // 이름 char phone[11+1]; // 전화번호 long income; //수입 int month; int day; int year; //각각 생일의 월, 일 년도 }; struct record list[MAX]; //실제 구조체를 선언 int last_ent..
-
C언어 프로그램 출력에 대해Visual Studio/C 기초 2012. 9. 23. 15:39
화면 출력 함수는 입력 함수와 마찬가지로 세 가지 종류로 구분되는데요, 문자 출력, 문장 출력, 형식화된 출력을 수행하는 함수가 있습니다. putchar()는 일반적으로 화면을 뜻하는 stdout에 출력 내용을 보내고, fputc()와 putc()는 출력 내용을 인수로 지정된 스트림을 보냅니다. int putchar(int c) //putchar()의 원형입니다. int로 형을 지시하긴 했지만 프로그램에선 char형으로 putchar()에 전달합니다. 0~255까지의 범위에 포함된다면 int형 값을 전달할 수 있습니다. #include #define MAXSTR 80 char message[] = "putchar() 표시."; main(){ int count; for(count = 0;count < MA..
-
C언어 프로그램 입력에 대해Visual Studio/C 기초 2012. 9. 22. 16:32
Jaeseok Han 대부분의 프로그램은 입출력 동작을 수행합니다. 프로그램이 입출력 동작을 얼마나 효과적으로 처리하는지는 가끔 프로그램의 유용성을 판단하는 가장 좋은 기준이 됩니다. 오늘은 스트림, 프로그램의 입력과 출력을 전환시키는 방법 등에 대해 알아보겠습니다. C프로그램이 실행되는 동안 데이터는 읽고 쓰기가 가능한 메모리에 저장됩니다. 데이터는 프로그램에서 선언된 변수, 구조체, 배열의 형태로 존재하는데요, 데이터는 외부로부터 프로그램으로 전달될 수 있고, 외부에서 프로그램이 사용할 수 있는 메모리로 데이터가 전달되는 것을 입력(input)이라고 합니다. 여기서 외부로 전달되는 과정을 출력(output)이라고 합니다. 스트림(stream)이란? 스트림은 문자의 구성이라고 보시면 됩니다. C++에서..
-
C언어 연결리스트 (linked list)Visual Studio/C 기초 2012. 9. 21. 16:48
구조체 알아보러 가기 포인터 알아보러 가기 연결리스트는 C에서 쉽게 구현할 수 있는 실용적인 데이터 저장방법입니다. 연결리스트의 각 데이터 항목은 구조체에 포함되어 있는데, 구조체는 데이터를 저장하는데 필요한 요소들을 가지고 있습니다. 구조체에 포인터가 가미되면 바로 연결리스트가 되는 것이죠. struct person{ char name[20]; struct person *next; }; person이라는 구조체를 정의하고, 데이터만을 이야기 한다면 person은 단지 20개의 요소로 구성되는 문자형 배열입니다. data next pointer이 next pointer가 밑의 다음 구조체의 data에 연결되고, data next pointer 이 next pointer가 밑의 다음 구조체의 data에 연..
-
C언어 함수 기초Visual Studio/C 기초 2012. 9. 14. 17:17
함수는 일정한 동작을 수행하고 필요에 따라 함수를 호출했던 프로그램으로 결과값을 돌려주는 C언어의 독립적이고 독특한 이름을 가진 코드입니다. 기초적인 예제를 보겠습니다. #include long cube(long x); long input, answer; main(){ puts("int형 값을 입력해주세요 : "); scanf("%d",&input); answer = cube(input); printf("입력하신 값%d의 세제곱은 : %d\n",input,answer); } long cube(long x) { long x_cubed; x_cubed = x*x*x; return x_cubed; } 매개변수를 먼저 선언한 후에 main 함수에서 함수를 호출합니다. 그 후에 불러온 함수를 실행하는 것이죠. 이..
-
C언어 고급포인터Visual Studio/C 기초 2012. 9. 13. 20:44
포인터에 대해 자세히 알아보겠습니다. 포인터 자체는 숫자 변수이므로 컴퓨터 메모리 내의 특정 주소에 저장되는데, 포인터에 대한 포인터 즉, 포인터 변수의 값이 다른포인터의 주소인 변수를 생성할 수도 있습니다. int x = 10; int *ptr = &x; int **ptr_ptr = &ptr; 포인터의 포인터를 선언할 때는 간접 연산자를 두 번 붙여주면 됩니다. 또한 포인터의 포인터가 가리키는 변수를 참조할 때도 간접 연산자를 두 번 사용합니다. **ptr_ptr = 12; // 변수 x에 10의 값을 할당합니다. 여기서 실수로 간접 연산자를 한 번 사용하면 에러가 납니다. *ptr_ptr = 10; // ptr_ptr이 가리키는 ptr의 값이 10을 할당합니다. ptr엔 10이란 값이 저장되어 어떤 ..
-
C언어 switchVisual Studio/C 기초 2012. 9. 10. 00:23
if문 같은 제어문은 2개의 값인 참, 또는 거짓으로만 평가되었지만 switch문은 여러 조건에 근거하여 프로그램의 흐름을 제어합니다. C언어에서 제공되는 가장 융통성있는 프로그램 제어문은 switch문이라 할 수 있겠습니다. if문으로 여러 조건으로 제어하려면 if문을 중첩시켜야 하죠. 번거롭기 때문에 switch문이 있는겁니다. 사용 예를 바로 들어보겠습니다. #include main(){ int rep; puts("1과 5사이의 숫자 중 하나를 입력하세요 : "); scanf("%d", &rep); switch(rep) { case 0: break; case 1: { puts("1을 입력하셨군요.\n"); break; } case 2: { puts("2을 입력하셨군요.\n"); break; } ca..