10 - 변수로 연산하기 1
산술연산자 : 수학적인 연산. 사칙연산 기호, =, +=, -=, *=, /=, %=, ++, --, %
#include<stdio.h>
int main() {
int a = 5;
printf("a는 원래 %d였다...\n", a);
a = a + 3; // = : 대입 연산자
printf("3을 더했더니 %d이 됐다...\n", a);
}
#include<stdio.h>
int main() {
int a = 5;
a += 6; // a = a + 6;
printf("%d\n", a);
a *= 7; // a = a * 7;
printf("%d\n", a);
a -= 6; // a = a - 6;
printf("%d\n", a);
a %= 7; // a = a % 7;
printf("%d\n\n", a);
a = 10;
a++; // a = a + 1;
// a += 1;
printf("%d\n", a);
a--; // a = a -1;
// a -= 1;
printf("%d\n", a);
}
아래 코드는 전치와 후치의 차이점을 보여준다.
#include<stdio.h>
int main() {
int a = 10;
int b;
printf("=== 전치 증가 연산 ===\n");
b = ++a;
printf("a : %d\n", a);
printf("b : %d\n", b);
// a를 먼저 1 증가시키고 b에 대입하라는 의미.
printf("=== 후치 증가 연산 ===\n");
b = a++;
printf("a : %d\n", a);
printf("b : %d\n", b);
// a를 먼저 b에 대입한 후, a를 1 증가.
}
11 - 변수로 연산하기 2
비교연산자와 논리연산자.
#include<stdio.h>
int main() {
int a, b;
scanf_s("%d%d", &a, &b);
// bool : 진리값 저장용 변수(1바이트)
int p = a > b; // bool p = a > b;
int q = a < b; // bool q = a < b;
int r = a == b; // bool r = a == b;
//참 : 1
//거짓 : 0
// a >= b : a는 b보다 크거나 같다.
// a <= b : a는 b보다 작거나 같다.
// a != b : a와 b는 다르다.
printf("%d\n", p);
printf("%d\n", q);
printf("%d\n", r);
}
== : 같다
= : 오른쪽 값을 왼쪽에 대입
#include<stdio.h>
int main() {
//논리연산자 : 그리고, 또는 등등...
// && || !
int a;
scanf_s("%d", &a);
bool p = (a >= 1) && (a <= 10);
bool q = (a == 3) || (a == 7);
bool r = !q;
printf("%d\n", p);
printf("%d\n", q);
printf("%d\n", r);
}
&& : AND 연산
|| : OR 연산
! : 부정연산(1은 0으로, 0은 1로)
12 - 경우 나누기
#include<stdio.h>
int main() {
int n;
scanf_s("%d", &n);
if (n % 2 == 0) { //소괄호 안의 조건이 참이라면 실행. 거짓이라면 실행 안함.
printf("n은 짝수\n");
}
else { // 조건이 만족되지 않으면 실행.
printf("n은 홀수\n");
}
if (1) { // 사실, 조건은 0이면 거짓이고 나머지 모든 숫자에 대해선 참임.
printf("***\n");
}
else {
printf("###\n");
}
}
첫번째 조건문에서 조건의 == 0 을 빼면, 아래의 설명을 따라 결과가 반대로 나온다.
#include<stdio.h>
int main() {
int n;
scanf_s("%d", &n);
if (n > 0) {
printf("n은 양수\n");
}
else if (n == 0) {
printf("n은 0\n");
}
else {
printf("n은 음수\n");
}
}
if, else if else.
else if 는 더 여러번 중첩해서 쓸 수 있음.
단, 중간에 조건을 만족해 해당하는 구문을 실행하면 전체 조건문을 빠져나옴.
--> if를 여러번 쓰는거보다 시간이 절약될 수 있다.
13 - if 문 잘쓰기
중첩 if 문. 중괄호 코딩 스타일.
#include<stdio.h>
int main() {
int a, b, c;
scanf_s("%d%d%d", &a, &b, &c);
if (a > b) {
// a > b > c
// a > c > b
// c > a > b
if (a > c) {
printf("%d\n", a);
}
else {
printf("%d\n", c);
}
}
else { // b > a 인 경우.
if (b > c) {
printf("%d\n", b);
}
else {
printf("%d\n", c);
}
}
}
세 숫자를 입력해서 그 중 최댓값을 찾는 코드 중 하나.
조건문의 구문이 한 줄이면 중괄호 생략 가능.
'포너블 멘토링 > 1주차' 카테고리의 다른 글
연산자와 제어문 (3) (0) | 2020.03.26 |
---|---|
연산자와 제어문 (2) (0) | 2020.03.26 |
입출력과 변수 (3) (0) | 2020.03.26 |
입출력과 변수 (2) (0) | 2020.03.26 |
입출력과 변수 (1) (0) | 2020.03.26 |