분류 전체보기
-
file 입출력 - 단어찾기c언어 기초 2017. 4. 21. 11:36
#include #include //for exit(1) #include int main(void) { FILE *fp; char fname[20],buffer[300],word[20]; int line_num=0; printf("파일 이름을 입력하세요 :");// d:\\test\\baby.txt scanf("%s", fname); printf("검색할 단어는 ? : "); scanf("%s", word); fp = fopen(fname,"r"); if( fp==NULL){ fprintf(stderr,"파일%s를 열 수 없어요 \n",fname); exit(1); } while( fgets(buffer, 300, fp)){ line_num++; if(strstr(buffer,word))//문자열 찾아주..
-
scanf 숫자이외의 입력이 있으면 다시 입력받게c언어 기초 2017. 4. 18. 16:23
#includeint main(){int a, num= 0;while (1){printf("숫자를 입력하세요");num= scanf_s("%d", &num); //반환값이 1이어야하는 숫자 이외는 0//while (getchar() != '\n'); //버퍼를 비움:scanf의 경우 엔터가 버퍼에 남아 값이 있다고 인식되어 무한반복되므로 if (num== 1){break;}} printf("입력한 숫자는 : %d", num);return 0;}
-
포인터c언어 기초 2017. 4. 1. 17:29
1. 포인터란? - 주소값을 저장하는 변수포인터란 메모리의 번지 주소이다.포인터 변수는 메모리의 주소를 가지는 변수이다.포인터 변수의 크기는 4byte의 부호없는 정수형이다.포인터는 첫번째 바이트의 주소값만 저장포인터 변수 출력은 %p를 이용 포인터 연산자&는 변수의 메모리 주소를 출력하는 연산자이다.*는 주소를 이용하여 변수값을 접근하는 연산자이다. 간접참조 연산자(역 참조 연산자)* : 피연산자의 메모리에 접근하라는 뜻즉 메모리에 접근해서 주소값을 저장해 가는 변수! 변수처럼 값을 저장하기 위한것! int *p // 메모리에 접근가능한 변수가 됨p = &num //포인터가 변수 num 주소값을 저장함*p = 123 // 변수 num에 123을 대입 int *ptr1 = &num1 // 선언과 동시에 ..
-
1차원 배열c언어 기초 2017. 3. 30. 19:41
1. 배열이란 무엇인가? 둘 이상의 변수를 동시에 선언하는 효과를 지닌다.많은 양의 데이터를 일괄적으로 처리해야 하는 경우에 유용하다.지역적 특성을 지닐 수도 있고, 전역적 특성을 지닐 수도 있다. 배열 선언에 있어서 필요한 것 세 가지- 배열 길이 : 배열을 구성하는 변수의 개수 (반드시 상수를 사용)- 배열 요소 자료형 : 배열을 구성하는 변수의 자료형- 배열 이름 : 배열에 접근할 때 사용되는 이름 2, 1차원 배열의 접근배열 요소의 위치를 표현 : 인덱스(index)인덱스는 0에서부터 시작 *배열 선언과 접근의 예 int main(void){ int array[10];// 배열 선언 array[0]=10; // 첫 번째 요소 접근 array[1]=20; // 두 번째 요소 접근 array[2]=3..
-
재귀 함수c언어 기초 2017. 3. 28. 17:47
1. 재귀 함수의 기본적 이해자기 자신을 다시 호출하는 형태의 함수 #include void Recursive(void){ printf("Recursive Call! \n"); // Recursive();} int main(void){ Recursive(); return 0;} * 탈출 조건의 필요성무한 재귀 호출을 피하기 위해서 * 탈출 조건의 이해 #include void Recursive(int n){ printf("Recursive Call! \n"); if(n==1) return; Recursive(n-1);} int main(void){ int a=2; Recursive(a); return 0;} * 재귀 함수 Design 사례팩토리얼(factorial) 계산을 위한 알고리즘 알고리즘을 코드로..
-
함수의 정의와 선언c언어 기초 2017. 3. 28. 17:42
1. 함수를 정의하는 이유모듈화에 의한 프로그램의 질 향상이 가능유지 보수 및 확장의 용이성문제 해결의 용이성 : "Divide and Conquer!" 2. 4가지 형태의 함수전달 인자 有, 반환 값 有전달 인자 有, 반환 값 無전달 인자 無, 반환 값 有전달 인자 無, 반환 값 無- 입력이 없는 경우 int foo(void)- 출력이 없는 경우 void foo(int)- 입력과 출력이 모두 없는 경우 void foo(void ) 3.main 함수 다시 보기 : 함수의 기본 형태 4. 함수의 정의와 선언 4-1.전달 인자와 반환 값, 둘 다 있는 함수 4.2 함수 호출 과정의 이해 #include int Add(int i, int j){ int result = i + j; return result;}i..
-
do - while문c언어 기초 2017. 3. 22. 10:53
1. do - while문while문과 유사하지만 조건문이 실행문 뒤에 위치한다. - do - while문의 문법do 와 while이 짝을 이루어 사용된다.조건문이 거짓일 때라도 한번 이상 실행한다. 예) 입력된 수를 거꾸로 출력하시오 (예 123->321). #include int main(){int i;printf(“정수 입력 : ");scanf("%d",&i);do{ printf("%d",i%10);i/=10;}while(i>0);return 0;}//While문을 사용하고 0을 입력하면 출력이 안됨. 문제11 ~ n 까지의 합 구하기 합계를 누적시키며 더한다. === 1 ~ n 까지의 합 구하기 === n 입력 : 100 1 ~ 100 까지의 합은 5050입니다.