Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- api사용해서 google drive에 폴더만들기
- 고정ip할당
- NodeMCU
- opencv resize
- Python
- 우분투 opencv 설치
- google drive 업로드
- translation
- annotating
- opengl
- sshkey
- 정보처리기사후기
- vim명령어
- vim
- rotation
- c#
- esp32
- 아두이노 설치
- Google Drive API
- Winform
- vtk
- ubuntu
- opencv
- vi
- 정보처리기사
- libopencv-dev
- 아두이노
- opencv apt설치
- apt update
- google drive upload
Archives
- Today
- Total
내가 보려고 만든 블로그
정보처리기사 실기 (c언어2) 본문
반응형
재귀함수
#include <stdio.h>
int func(int a) {
if (a <= 1) return 1;
return a * func(a - 1);
}
int main() {
int a;
scanf("%d", &a);
printf("%d", func(a));
return 0;
}
만약에 scanf에 5를 넣었다면
func(5) 이렇게 되고
func(5) = 5* func(4)
func(4) = 4* func(3)
func(3) = 3* func(2)
func(2) = 2* func(1)
func(1) = 1
이렇게 나오는 값을 쓰고 func(1)=1이니깐 func(2)는 2*1이렇게하고
func(3)은 3*2 이렇게해서 6이 나오고 func(4)는 4*6해서 24
func(5)는 5*24 는 120이다. 재귀함수는 이런식으로 계산하면 됨.
2진수
#include <stdio.h>
int main() {
int input = 101110;
int di = 1;
int remain, sum = 0;
while (input > 0) {
remain = input ( ① ) ( ② );
sum = sum + (remain * di);
di = di * 2;
input = input / 10;
}
printf("%d", sum);
}
1)% 2)10
이렇게 2진수 나오고 괄호나오면 %하고 10이라고 나오더라ㅠ 이해안되면 이렇게 외워야겠음.
3항연산자
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
int c;
c = a > b ? a:b;
printf("%d", c);
return 0;
}
c = a > b ? a:b;
c의값? 이런식으로 나오면 a > b인지 보고 10>20 이렇게 되니깐 크지않음
그러면 b의값이 c로 온다. 앞의 조건문을 보고 참이면 ? 뒤에 첫번째값(a)를 선택 거짓이면 b를 선택한다.
여기서는 a>b가 거짓이니깐 b의값 20이 c로 들어온다.
숫자역순으로 출력하기
#include <stdio.h>
int main() {
int number = 1234;
int div = 10;
int result = 0;
while (number ((1) > ) 0) {
result = result * div;
result = result + number ((2) % ) div;
number = number ((3) / ) div;
}
printf("%d", result);
return 0;
}
- >
- %
- /
이렇게 나옴.!!
#include <stdio.h>
int main() {
int a = 30;
int b =15;
printf("%d%d"a & b, a|b);
return 0;
}
1)a,b 이진수로 변경
11110
01111
여기서 &면(and)
11110
01111
-----------
01110 --> 14
여기서 |면(or)
11110
01111
-----------
11111 -->31 이렇게 됨
printf("%d%d"a & b, a|b); 값은 1431이렇게 나옴
반응형
'정보처리기사 공부' 카테고리의 다른 글
정보처리기사 실기(파이썬) (0) | 2023.04.28 |
---|---|
정보처리기사 실기 (자바) (0) | 2023.04.27 |
정보처리기사 실기 (c언어) 포인터 (0) | 2023.04.25 |
SQL 정리 (정보처리기사 실기 대비) (0) | 2023.04.24 |
2023정보처리기사필기 (1회차) 후기 (0) | 2023.02.22 |