목록C (19)
노는게 제일 좋습니다.
참고 자료 http://soen.kr/ 1. 정의동일한 타입을 가지는 변수들의 집합int a[5];와 같이 선언하며, 이 경우 int형 변수 다섯 개를 메모리상에 연속적으로 만든다.배열에 들어있는 각각의 변수들을 요소(엘리먼트)라고 한다. a[0]부터 시작한다.배열 선언시 크기는 상수로 줘야한다. 변수 몇 개를 만들어야될지 알아야되니까..* 언어는 배열의 범위를 체크해주지 않는다. int a[5]로 선언해놓고 실수로 a[5]를 참조해도 값이 읽히긴 읽힌다.그게 내가 원하는게 아니라서 그렇지.. (쓰레기값) 2. 다차원배열int a[5][2];와 같이 만든다. 3. 배열 시작지점 포인터int num[5]; 과 같이 배열이 만들어졌다고 하자.이 때, num 이 갖는 값은 배열num이 시작되는 지점의 주소이다..
참고 자료 http://soen.kr/ 1. 삼각 함수모두 double형 하나를 인수로 받는다. (라디안)sin, cos, tan, asin, acos, atan, sinh, conh, tanh 2. 지수 함수모든 인수는 double형이다.sqrt(x) : x의 제곱근 pow(x,y) : x^y(x의 y제곱)log(x) : 자연로그. 고교 과정 기준 ln(x)와 같음.log10(x) : 상용로그. 고교 과정 기준 log(x)와 같음.exp(x) : 자연지수함수. e^xhypot(x,y) : 직각삼각형 빗변 길이. x,y는 나머지 두 변 길이 3. 정수화 함수floor(x) : x보다 크지 않은 최대 정수ceil(x) : x보다 작지 않은 최소 정수** 반올림 : floor(x+0.5)** 소수점 둘 째 ..
1. 기억 부류의 종류 : 전역, 지역, 정적, 레지스터 2. 지역변수와 전역변수의 차이 정적 데이터 영역 : 프로그램 코드 다음에 위치하는 한 부분. 프로그램 실행 시 메모리에 로드되어 계속 유지.지역 변수의 장점 : 함수의 독립성 높임, 메모리 절약, 디버깅 효율 향상, 특별한 기법 사용(재귀 호출, 상호 호출)* 지역 변수를 자동 변수(Automatic Variable)라고도 부른다. 자동으로 생성되어 자동으로 파괴되기 때문.* 지역 변수의 통용 범위는 정확히 말하면 { } 블럭 내부이다. 블럭 바깥에서는 못쓴다.* 지역 변수가 파괴되는 시점은 컴파일러마다 다르다. 보통은 for문에서 만든 변수는 루프가 끝나면 파괴된다. * 함수 내에서는 같은이름의 전역 변수, 지역 변수가 있다면. 지역 변수를 우..
1. 값 호출 방식void main() { int i, j; i = 5; j = sqrNum(i); printf("i=%d, 결과=%d\n", i, j); }int sqrNum(int a) { a = a*a; return a; }sqrNum에서 아무리 a를 바꿔도 i값은 바뀌지 않는다.이 경우 main함수에서 sqrNum(i);라는 구문을 통해 값 5를 sqrNum함수에 전달했다.변수 i의 주소를 전달한 것이 아니다.다시 말하면 sqrNum내의 형식매개변수 a에 i값을 대입한다는 것은, 새로운 변수 a를 선언해 단순한 값 5를 할당한 것이다. 2. 참조 호출 방식void main() { int i, j; i = 5; j = sqrNum(&i); printf("i=%d, 결과=%d\n", i, j); } ..
1. 함수의 정의프로그램을 구성하는 부품으로 비유할 수 있다. main 함수를 중심으로 여러 함수를 순서대로 실행하며 프로그램이 굴러간다. 2. 사용자 정의 함수 정의#include void main() { printf("%d", examFunction(1,2)); }int examFunction(int a, int b) { int temp = a+b; return temp; }위 코드에서 examFunction 함수가 사용자 정의 함수의 예이다.여기서 main이 examFunction을 호출했으므로, main은 examFunction의 호출원이라고 한다.함수 이름 앞의 자료형은 반환값의 자료형이다. 이름 우측에는 받을 인수(Parameter)를 기술한다. 인수의 자료형을 위와 같이 쓰지 않고, 아래와 ..
1. 삼항 조건 연산자 (조건문) ? 값1 : 값2 * 조건문이 참일 때 값1을 리턴한다. 거짓이면 값2를 리턴한다. 2. 쉼표 연산자 int i,j; j=(i=3,i+2); 위 코드에서는 i=3을 실행한 뒤, i+2를 리턴하여 j에 대입한다. 즉, 쉼표연산자는 좌변을 먼저 실행하고 나서 오른쪽의 것을 리턴한다 3. sizeof 연산자int a;printf("%d",sizeof(a)); // 4인수로 들어가는 대상이 차지하는 메모리 크기를 반환한다. 4. 캐스트 연산자char a;(int)a; // c형식char(a); // c++형식 4. 결합 순서대체로 이항 연산자(+, -)는 왼쪽 우선순위를, 단항 연산자(대입, 캐스트)는 오른쪽 우선순위를 가진다즉, (int)(unsigned int)a; 는 a를..
1. 산술 연산자+ - * /이 때, int a=-1; 에서의 뺄셈기호(-)는 산술연산자가 아닌 부호연산자로, 음수값을 반환한다. 2. 대입 연산자.a=3; 에서 대입연산자(=)는 우변의 상수 3을 좌변의 변수 a에 대입한다. 3. 복합 대입 연산자a=a+3; 과 같은 코드를 a+=3; 과 같이 축약할 수 있다.여기서 +=와 같은 연산자를 복합대입연산자라고 한다.+= -= *= /= %= = &= |= ^= 4. 증감 연산자a=a+1;를 a+=1;이라고 쓸 수도 있고, a++; 또는 ++a;라고 할 수도 있다.여기서 ++ 를 증감연산자라고 한다. 증감연산자는 전위형 또는 후위형으로 쓸 수 있다. ++a;가 전위형으로, a++;가 후위형으로 사용된 것이다.전위형의 경우 a를 증감한 뒤에 값을 리턴하지만, ..
1. if문 : 조건을 만족하는 경우 명령 수행if(조건){ 명령 }else if(조건){ 명령 }else {명령} 2. for문 : 반복문의 하나for(초기식;조건식;증감식){명령} 3. while문 : 반목문의 하나while(조건){명령}do{명령}while(조건); 4. switch문 : 하나의 변수의 각 값들에 대해 개별 명령을 내리는 제어문switch(대상 변수){case 값:명령;default: 명령;} *탈출하려면 break사용. 5.goto문 : 어떤 레이블로 점프한다.레이블이름:goto 레이블이름;* 사용 예 : 다중 반복문 탈출, 자원 해제 한번에 모아둔 곳으로 점프 6.continue문 : 반복문의 조건문으로 이동하여 조건 체크 -> 증감을 거쳐 다음 루프 수행.for(~~;~;~){..