📌 Study
🔸 2022-10-02
[프로그래밍 언어 활용]
1. 기본 문법 활용하기
- if 문 개념 : 조건이 참인지 거짓인지에 따라 경로를 선택하는 명령문
if(조건문) {
명령문;
}
else if(조건문) {
명령문;
}
else {
명령문;
}
#include <stdio.h>
void main() {
int score;
scanf("%d", &score);
if(score %2 == 0) {
printf("짝수");
}
else {
printf("홀수");
}
}
if 조건문 :
명령문
elif 조건문 :
명령문
else :
명령문
score = input()
score = eval(score)
if score >= 90 :
print("A")
elif score >= 80 :
print("B")
else :
print("F")
- Switch 문 개념 : 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용하는 명령어
- C, C++, 자바만 사용가능(파이썬 미지원)
- (중요) C, C++, 자바 switch 문
switch 식 {
case 값 :
명령문;
break;
default :
명령문;
}
#include <stdio.h>
void main() {
int score;
scanf("%d", &score);
switch(score / 10) {
case 10:
case 9:
printf("A"); break;
case 8:
pritnf("B"); break;
default:
printf("F");
}
}
public static void main(String[] args) {
int i = 3;
int k = 1;
switch(i) {
case 0:
case 1:
case 2:
case 3: k = 0;
case 4: k += 3;
case 5: k -= 10;
default: k--;
}
System.out.print(k); // -8
}
- while 문 개념 : 조건이 참인 동안에 해당 분기를 반복해서 실행하는 명령문
- C, C++, 자바에서 while 문
while(조건문) {
명령문;
}
while 조건문 :
명령문
#include <stdio.h>
void main() {
int i = 0;
int sum = 0;
while (i < 10) {
i++;
sum = sum + i;
}
printf("%d\n", sum); // 55
}
#include <stdio.h>
void main() {
int i = 0, c = 0;
while(i < 10) {
i++; // i = 1, 2
c *= i; // c = 0, 0...
}
printf("%d", c); // 0
}
- do while 문 개념 : 참, 거짓과 관련 없이 무조건 한 번은 실행하고, 그 다음부터는 조건이 참인 동안에 해당 분기를 반복해서 실행하는 명령문
do {
명령문;
} while(조건문);
for(초기식; 조건식' 증감식) {
명령문;
}
for 변수 in range(시작, 끝값, 스템):
명령문
#include <stdio.h>
void main() {
int i = 0;
int sum = 0;
for(i = 1; i <= 10; i++)
sum = sum + i; // 1, 3, 6, 10..., 55
printf("%d\n", sum); // 55
}
i = 0
sum = 0
for i in range (1, 11): // 1부터 10까지 값 대입
sum = sum + i // 1, 3, 6, 10..., 55
print(sum) // 55
public class Soojebi {
public static void main(String[] args) {
int i, j;
for(j=0, i=0; i<=5; i++) {
j+=i;
System.out.print(i); // 0+1+2+3+4+5=15
if(i==5) {
System.out.print("=");
System.out.print(j);
} else {
System.out.print("+");
}
}
}
}
a = 100
i = 0
result = 0
for i in range(1, 3):
result = a >> i
result += 1
print(result) // 11001(2) + 1 = 26
for(제어변수 : 배열) {
명령문;
}
for 변수 in 리스트 :
명령문
public class Soojebi {
public static void main(String[] args) {
int [] arr = {10, 20, 30, 40};
for(int num : arr) {
System.out.println(num);
}
}
}
// 10
// 20
// 30
// 40
li = [1, 2, 3, 4, 5]
for a in li :
print(a)
// 1
// 2
// 3
// 4
// 5
class Soojebi:
li = ["Seoul", "Kyeonggi", "Inchon", "Daejeon", "Daegu", "Pusan"]
s = Soojebi()
str01 = ' '
for i in s.li:
str01 = str01 + i[0]
print(str01) // S+K+I+D+D+P = SKIDDP
public static void main(String[] args) {
int i;
int a[4] = {1, 2, 3};
for(i = 0; i < 4; i++) {
System.out.print(a[i] + " "); // 0123
}
}
- 루프 제어 명령어
break
: 반복문을 중지하도록 하는 명령어
continue
: 다음 반복으로 넘어갈 수 있도록 하는 명령어
#include <iostream>
void main() {
int i = 0;
while(i < 10) {
i++;
if(i == 7)
break;
std::cout << i; // 123456
}
}
#include <iostream>
void main() {
int i = 0;
while(i < 10) {
i++;
if(i == 7)
continue;
std::cout << i; // 1234568910
}
}
public class Soojebi {
public static void main(String [] args)
int cnt = 0;
do {
cnt++;
} while(cnt < 0);
if(cnt == 1) cnt++;
else cnt == cnt + 3;
System.out.print("%d", cnt); // 2
}
}
- for 문 문법 정리 :
for 항목 in 반복 가능 리스트
do {
명령문;
} while(조건문);