조건문
if문
c
// 기본 포멧
if (x != 1)
printf("아니다.");
// 블록을 만들 경우
if (op == '+') {
printf("%d\n", a+b);
x += 1
}
// if else문
else if (op == '-')
printf("%d\n", a-b);
/* 블록 주의점
1. 조건이 2개 이상인 경우 반드시 블록 안에
2. 블록 끝에는 세미콜론 붙이지 않음. */
switch문
c
char data;
switch(data){
case 'A' :
printf("합격하셨습니다.\n 감사합니다.\n ");
break;
case 'B' :
printf("예비번호 1번입니다.\n 감사합니다.\n");
break;
default:
printf("수고하셨습니다.\n 합격자 명단에 없습니다.\n");
break;
}
// case가 끝나면 꼭 break를 넣어줘야 한다.
// default : else에 해당한다.
반복문
for문
c
// 대표적인 for문
for (int i = 0; i < 10; i++) {
}
// 무한 반복문
for ( ; ; ; ) {
}
while문
c
// 대표적인 while문
while (i != 0) {
}
// 무한 반복문
while (1) {
}
continue
r
for (int i = 0; i < 10; i++){
if (i == 1) {
continue;
}
}
함수
함수 예시
c
char print_stars(x) {
for (int i = 0; i < x; i++) {
printf("*");
}
}
int main() {
print_stars(10)
}
- 반환형, 함수 이름, 매개 변수를 같이 쓴다.
- 반환이 없는 경우 반드시
void를 써야 한다.
함수의 종류
- 라이브러리 함수
- 사용자 정의 함수
c
#include <stdio.h>
#include <stdlib.h>
int main() {
for(int i = 0; i < 6; i++){
printf("%d ", rand());
}
printf("\n");
// 난수 생성 : rand()
// 범위 지정은 다음과 같이 한다.
// ex. 1 ~ 45 사이 난수인 경우
rand() % 45;
// ex. 6 ~ 10 사이 난수인 경우
6 + (rand() % 10 - 6 + 1);
}
함수와 변수
지역변수와 전역변수
c
# include <stdio.h>
int a; // 전역변수
int b; // 전역변수
int add() {
return a + b;
}
int main() {
int answer; // 지역변수
a = 5;
b = 7;
answer = add();
printf("%d\n", answer);
}
저장 유형 지정자
c
// static
// 함수가 종료되어도 자동으로 제거(초기화) 되지 않음.
static int x;
// register
// 변수를 cpu의 일부분인 레지스터에 저장한다. 속도가 더 빠르다.
register int y;
// volatile
// 컴파일러가 volatile과 관련된 문장을 컴파일하지 말라고 할 때 사용.
volatile int io_port;