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 |