열렬히.뛰기

조건문과 반복문

Language > 프로그래밍 언어 > C > 조건문과 반복문

조건문

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;