난수 함수 - 난수는 규칙성이 없이 임의로 생성되는 수 - 함호학이나 시뮬레이션, 게임 등에서 필수적 - rand()- 난수를 생성하는 함수- 0부터 RAND_MAX까지의 난수를 생성- 헤더파일: - 사용법: rand()%개수 + 시작 수예) rand() % 10 --> 0 ~ 9 사이의 난수나옴 (rand() % 10) + 1 --> 1 ~ 10 사이의 난수 나옴 --> 하지만 실행할 때마다 항상 같은 난수가 발생 매번 난수를 다르게 생성하려면 시드(seed)를 다르게해야 한다. srand()함수 - 초기값을 지정하여 rand()함수의 난수를 매번 다르게 생성해주는 함수 - 초기값이 같으면 srand()함수를 사용해도 매번 똑같은 값이 생성되기 떄문에 time()함수를 넣어 사용한다. (time()함수..
모듈의 개념 모듈 - 독립되어 있는 프로그램의 일부분 모듈러 프로그래밍 - 모듈 개념을 사용하는 프로그래밍 기법 모듈러 프로그래밍의 장점 - 각 모듈들은 독자적으로 개발 가능 - 다른 모듈과 독립적으로 변경 가능 - 유지보수가 쉬워진다. - 모듈의 재사용 가능 *C에서는모듈 == 함수 함수의 개념 - 함수: 특정한 작업을 수행하는 독립적인 부분 - 함수 호출: 함수를 호출하여 사용하는 것 - 함수는 입력을 받으며 출력을 생성한다. 함수의 특징 - 중복되는 복잡한 코드가 간결해진다. - 부품화된 코드이므로 여러 프로그램에서 쉽게 재사용 가능 - 개발기간 단축(간소화) - 유지보수가 편하다. 함수 만드는 과정 반환형 함수의 이름( 인자값 ){함수의기능} 예) int add(int i, int n) {retu..
배열 - 동일한 타입의 데이터가 여러개 저장되어 있는 데이터 저장 장소 - 배열안에 들어있는 각각의 데이터들은 정수로 되어 있는 번호(첨자)에 의하여 접근 - 배열을 이용하면 여러개의 값을 하나의 이름을 처리할 수 있다. 배열의 특징 - 나란히 메모리 공간 할당 - 순차적으로 접근 가능 인덱스: 배열원소의 번호 배열 선언 int grade [10]; - 자료형: 배열 원소들이 int형이라는 것을 의미 - 배열 이름: 배열을 사용할 때 사용하는이름 grade - 배열 크기: 배열 원소의 개수가 10개 - 인덱스(배열번호)는 항상 0부터 시작 예) int grade[10];--> 1번 인덱스 == grade[0] 예) int score[60]; --> 60개의 int형 값을 가지는 배열 float cost[..
반복문 반복문의 종류 - while - for while문 - 조건식 결과가 참이면 해당 명령을 실행한 후 다시 조건식을 판별 조건식이 거짓이면 해당 명령을 실행하지 않고 while문 종료 - 무한루프에 빠지지 않으려면 증감영역이 반드시 필요while 문에서 주의할 점 예)int i = 1; while(i 변수가 감소하면 무한루프에빠진다.} int i = 0; while(i 반복루프에 포함되어있지 않다.(중괄호로 묶어야한다.) int i = 0; while(i 조건뒤에 ;(세미콜론)이 있다.{printf("반복중");i++;} - 외부조건 변수이름과 내부조건의 변수이름을 같게 하면 오류 발생 do while문 - 무조건 한번 실행 한 후 조건을 판별한다. do문장while(조건식) for문 - 정해진 횟..
switch 문 - 여러가지 경우 중에서 하나를 선택하는데 사용 - 입력된 값과 동일한 case값을 가진 곳으로 가서 실행을 시작 - 입력되는 값은 정수 또는 문자(문자열불가능)변수,관계연산자 ,논리연산자로 결과값이 정수: --> 위치 지정자 switch(입력값){ -->중괄호로 switch문의 시작영역 case c1:문장;--> 제어식의 값이 c1이면 실행break; case c2:문장2;--> 제어식의 값이 c2이면 실행break; default:c3;-->일치하는 값이 없으면 실행break;} --> switch문의 끝역역 break의 기능 두가지 1. 멈춤 - switch문의 영역 밖으로 나가게함 (문장의 실행을 끝내고 switch문을 탈출) 2. 경우의 수의 영역을 표시 break가 생략되는 경..
if문 - 조건에 따라서 결정을 내리는 경우에 사용 - if(조건식) ->조건식이 참으로 계산되면 문장문장이 실행 (거짓이면 실행되지않고 다음 으로 넘어간다.) 예) if(number>0) ---> number가 0보다 크면printf("양수입니다."); -> 출력 복합문 - 중괄호를 사용하여 문장들을 그룹핑하는것 - 블록(block)이라고도 한다. - 단일문 대신 들어 갈수있다. 예) if(score >= 60) {printf("합격입니다.\n");printf("장학금지급.\n"); } --> 조건이 참이면 2개의 문장이 묶어서 실행 if - else문 예) if(조건식)문장1; --> 조건식이 참이면 실행 else문장2; --> 조건식이 거짓이면 실행 중첩 if - if문에 다시 if문이 포함 예) ..
기호상수 - 기호를 이용하여 상수를 표현한 것 - 기호 상수의 장점 - 가독성이 높음- 값 쉽게 변경 가능 - 기호상수 만드는 법 - #define 기호상수이름 값 예)#define EXCHANGE_RATE 1120 - const 자료형 변수이름 = 초기값 예) const int EXCHANGE_RATE = 1120; - 무조건 main함수 위에다 작성- 상수의 이름은 무조건 대문자- 상수를 정의할 때 무조건 한줄 형변환 - 연산시에 데이터의 유형이 변환되는것 대입연산시 형변환 - 올림 변환예) double f; f = 10 + 20; f에는 30.0이 저장됨 - 내림 변환예) int i; i = 3.141592; i에는 3이 저장됨 정수연산시 형변환 - 정수 연산시 char형이나 short형의 경우, ..
변수(variable) - 변수란?- 프로그램에서 일시적으로 데이터를 저장하는 공간 - 변수가 필요한 이유?- 데이터가 입력되면 어딘가에 저장해야만 다음에 사용할 수 있다. - 변수는 물건을 저장하는 상자와 같다. - 변수는 메인 메모리에 만들어진다. 변수와상수 - 변수(variable): 저장된 값의 변경이 가능한 공간 - 상수(constant): 저장된 값의 변경이 불가능한 공간(사진) 식별자(identifier): 식별할 수 있게 해주는 이름- 변수이름- 함수이름 식별자를 만드는 규칙 - 알파벳 문자와 숫자,밑줄_로 구성 - 첫번째 문자는 반드시 알파벳 또는 밑줄 문자_ - 대문자와 소문자를 구별 - C언어의 키워드와 똑같은 이름은 허용되지 않는다. (사진)좋은 변수이름 - 밑줄방식: bank_ac..
수식(expression) - 상수, 변수, 연산자의 조합 - 연산자와 피연산자로 나누어진다. 기능에 따른 연산자의 분류 연산자의미 -------------------------------------대입=오른쪽을 왼쪽에 대입-----------------------------------------산술+,-,*,/,%사칙연산과 나머지연산-----------------------------------------부호+,_-----------------------------------------증감++,--증가,감소연산-----------------------------------------관계>=, x = x+y x -= y -> x = x-y 관계 연산자 - 두개의 피연산자를 비교하는 연산자 - 결과값은 참..
printf() - printf(): 모니터에 출력을 하기 위한 표준 출력라이브러리 함수 int main(void)[출력 형태]{printf("hello world\n");hello worldprintf("%d \n",1234);1234printf("%d %d\n",10,20);10 20} - 문자열에 삽입된 %d '서식문자' - 서식문자는 출력의 형태를 지정하는 용도로 사용된다. ESCAPE Sequence(특수문자) - 데이터에 대한 입출력 형식과 관련된 특수기호 문자 특수문자의미하는뜻 '\n' New line: 새로운 줄로 이동 '\r' 줄의 처음으로 이동 '\b' 한 문자 왼쪽으로 이동 '\t' 탭 만큼 이동 '\\' \문자 자체를 화면에 출력 ' \',\"'뒤에 '," 표시출력 '\?'물음표 표..