웹_프론트_백엔드/단과

[단과_C] 2020.02.19

shine94 2020. 2. 19. 23:06

1. 조건문
1) if문

 

2) switch문
    switch(변수명) {
    case 값1:
           실행할 문장;
           break;
    case 값2:
           실행할 문장;
           break;
    case 값3:
           실행할 문장;
           break;
    ...      
    default:
          실행할 문장;
    }

** if문은 다양한 변수를 다양한 관계연산자로 비교할 때 사용하고, 

    switch문은 하나의 변수에 여러 값이 담길 때 같은지만 비교할 때 사용한다.


** switch문은 영역이 존재하고 탈출하고 싶을 때 break를 사용하여 탈출한다 .

 


2. 대입 연산자(복합 대입 연산자, 누적 연산자)
 : +=, -=, /=, %=, ......
   int money = 10000;
   //money = money - 1000;
   money -= 1000;


3. 증감연산자(++, --)

    int data = 10; 
    //data = data + 1; 
    //data += 1; 
    data++; 

 

1) 전위형

 : 해당 줄부터 바로 적용
   ++data
   --data

2) 후위형

 : 다음 줄부터 적용
   data++
   data--

 


4. 반복문
1) for문
    for(초기식; 조건식; 증감식) {
         실행할 문장;
    }

** 몇 번 반복해야 할 지 알고 있다면 for문을 사용해서 반복한다.
    즉, 증감량이 필요하면 for문을 선택한다.

** 기타 연산자
    ① break;

        : 해당 영역 바로 탈출

          if문을 감싸고 있는 영역을 탈출하고, switch문을 자신의 영역을 탈출한다.
    ② continue;

        : 다음 반복으로 스킵

          밑의 문장을 하지 않기 위해 사용

2) while문
    while(조건식){
           실행할 문장;
    }

** 반복 횟수를 알 수 없을 때 반복하고 증감량은 필요 없을 때 사용한다.
    무한 반복 후 특정 조건에 break로 탈출한다.

3) do~while문

 

5. 오늘 실습코드

1) bloodTest.c

#include<stdio.h>

void main() {
	const char* msg = "당신의 혈액형은?\n1.A\n2.B\n3.O\n4.AB\n";
	int choice = 0;

	const char* a_msg = "섬세하고 꼼꼼하다.\n";
	const char* b_msg = "추진력이 좋다.\n";
	const char* o_msg = "사교성이 좋다.\n";
	const char* ab_msg = "착하다.\n";
	const char* err_msg = "다시 시도해주세요\n";

	printf("%s", msg);
	scanf_s("%d", &choice);

	switch (choice) {
	case 1:
		printf("%s", a_msg);
		break;
	case 2:
		printf("%s", b_msg);
		break;
	case 3:
		printf("%s", o_msg);
		break;
	case 4:
		printf("%s", ab_msg);
		break;
	default:
		printf("%s", err_msg);
	}

	//if (choice == 1) {
	//	printf("%s", a_msg);
	//}
	//else if (choice == 2) {
	//	printf("%s", b_msg);
	//}
	//else if (choice == 3) {
	//	printf("%s", o_msg);
	//}
	//else if (choice == 4) {
	//	printf("%s", ab_msg);
	//}
	//else {
	//	printf("%s", err_msg);
	//}

}

 

2) operTest.c

#include<stdio.h>

void main() {
	int data = 10;
    
	//후위형
	printf("%d\n", data++);
	printf("%d\n", data);
    
	//전위형
	printf("%d\n", ++data);
	printf("%d\n", data);
}

 

3) forTest.c

#include <stdio.h>

void main() {
	//10~1
	for (int i = 0; i < 10; i++) {
		printf("%.2d. 한동석\n", 10 - i);
	}

	//1~10, 증감식 1증가는 i = i + 1로 써도 되고
	//for (int i = 0; i < 10; i = i + 1) {
	//printf("%.2d. 한동석\n", i + 1);
	//}
    
	//1~10, 증감 연산자 ++을 써도 된다
	//for (int i = 0; i < 10; i++) {
	//	printf("%.2d. 한동석\n", i + 1);
	//}
	
}

 

4) forTask.c

#include<stdio.h>

void main() {
	//100~1까지 출력하기
	//for (int i = 0; i < 100; i++) {
	//	printf("%d\n", 100 - i);
	//}
    
    
	//1~100까지 중 짝수만 출력하기
	//for (int i = 0; i < 50; i++) {
	//	printf("%d\n", (i + 1) * 2);
	//}
    
    
	//1~n까지의 합 출력하기
	//const char* msg = "1~n까지의 합\nn : ";
	//int end = 0, result = 0;

	//printf("%s", msg);
	//scanf_s("%d", &end);

	//if (end > 1) {
	//	for (int i = 0; i < end; i++) {
	//		//result = result + i + 1;
	//		result += i + 1;
	//		//result = 0 + 1
	//		//result = (0+1) + 2
	//		//result = (0+1+2) + 3
	//	}
	//	printf("%d\n", result);
	//}
	//else {
	//	printf("1보다 큰 수를 입력하세요\n");
	//}
	

	//입력한 값이 정수인지 실수인지 판단하고 출력하기
	//const char* msg = "정수 : ";
	//double num = 0.0;
	//
	//printf("%s", msg);
	//scanf_s("%lf", &num);

	//num -= (int)num;

	//if (num == 0.0) {
	//	printf("정수입니다.\n");
	//}
	//else {
	//	printf("실수입니다.\n");
	//}


	//A~F까지 출력하기
	//for (int i = 0; i < 6; i++) {
	//	printf("%c", i + 65);
	//}
	//printf("\n");


	//A~F까지 중 C제외하고 출력하기
	//int temp = 0;
	//for (int i = 0; i < 5; i++) {
	//	temp = i;
	//	if (i > 1) {
	//		temp++;
	//	}
	//	printf("%c", temp + 65);
	//}
	//printf("\n");


	//A~F까지 중 C만 소문자로 출력하기
	//97 : a
	//for (int i = 0; i < 6; i++) {
	//	//printf("%c", char)(i == 2 ? i + 97 : i + 65));
	//	printf("%c", i == 2 ? i + 97 : i + 65);
	//}
	
    
	//aBcDeFgH....Z 출력하기
	//for (int i = 0; i < 26; i++) {
	//	printf("%c", i % 2 == 0 ? 97 + i : 65 + i);
	//}
	//printf("\n");
	
    
	//012012012출력하기
	//printf("012012012");
	//x % a == 0~a-1
	//x % a == 0 ~ 2
	//for (int i = 0; i < 9; i++) {
	//	printf("%d", i % 3);
	//}
	//printf("\n");


}

 

5) forTest2.c

#include<stdio.h>

void main(){
	//1~10까지 중 4까지만 출력하기
	//for (int i = 0; i < 10; i++) {
	//	printf("%d\n", i + 1);
	//	if (i == 3) {
	//		break;
	//	}
	//}

	//1~10까지 중 4 제외하고 출력하기
	//for (int i = 0; i < 10; i++) {
	//	if (i == 3) {
	//		continue;
	//	}
	//	printf("%d\n", i + 1);
	//}
}

 

6) whileTest.c

#include<stdio.h>

void main() {
	//10번 반복
	int cnt = 0;
	while (cnt != 10) {
		printf("%d. 한동석\n", cnt);
		cnt++;
	}
    
    //int cnt = 0;
	//while (cnt != 10) {
	//cnt++;
	//printf("%d. 한동석\n", cnt);
	//}

}

'웹_프론트_백엔드 > 단과' 카테고리의 다른 글

[단과_C] 2020.02.20  (0) 2020.02.21
[단과_JAVA] 2020.02.20  (0) 2020.02.20
[단과_JAVA] 2020.02.19  (0) 2020.02.19
[단과_C] 2020.02.18  (0) 2020.02.19
[단과_JAVA] 2020.02.18  (0) 2020.02.18