반응형

iOS 146

[정보처리기사] C언어 - scanf 와 변수(feat. 포인터 변수)

포인터에 대한 기초적인 개념은 https://accompani-i.tistory.com/204 [정보처리기사] C언어 - 포인터의 이해(feat. 포인터변수, 주소, 주소값) 포인터란? 메모리의 위치를 표현한 기호 메모리의 주소값을 표현한 변수 포인터의 핵심은 그림을 그리는 것 메모리를 우리 생활에 비유하자면, 메모리 주소는 우리가 현재 살고 있는 집의 번지 accompani-i.tistory.com 여기를 거쳤다가 오시고 오늘은 포인터 변수로 활용되는 scanf를 알아보도록 하겠습니다. scanf란? 사용자의 키보드로 입력받을 때 사용하는 함수 scanf의 형식 scanf("%d", 변수의 주소의 값); "%d" -> 어떤 값을 입력 받겠다. 변수의 주소의 값 -> ex. int b; 로 선언 했다면,..

[정보처리기사] C언어 - 포인터의 이해(feat. 포인터변수, 주소, 주소값)

포인터란? 메모리의 위치를 표현한 기호 메모리의 주소값을 표현한 변수 포인터의 핵심은 그림을 그리는 것 메모리를 우리 생활에 비유하자면, 메모리 주소는 우리가 현재 살고 있는 집의 번지수 메모리주소의 값은 그 주소에 살고있는 거주민으로 비유해볼 수 있다. 포인터 변수는 주소의 번지를 할당할 수 있다. 메모리 주소는 본인이 편한 숫자로 임의로 정한다. 위 그림처럼 포인터 변수영역, 일반 메모리 영역에 메모리 주소와 메모리 주소의 값 세 부분으로 나누어 그리고 시작하면 비교적 쉽게 접근 가능하다. 포인터 변수 선언 int *a; -> a라는 변수를 만들고 메모리와 상관 없이 변수 a를 만들어놓고 이 친구는 보통 변수 아니고 포인터 변수다. 주소값을 가지는 특징이 있다. *a = 10 -> *a는 a의 값이라..

[정보처리기사] C언어 - 배열의 이해와 배열 문제풀이

배열이란 - 같은 크기의 기억공간을 연속적, 물리적으로 나열한 것 다른말로, 같은 자료형의 변수를 연속적으로 묶어 놓은 저장공간 배열의 선언 자료형 배열명 [개수] int a [ ] ; ex. int a [5]; a[0] a[1] a[2] a[3] a[4] 이렇게 5개 공간으로 나뉘어지고, 0부터 시작한다. 이차원 배열 같은 자료형의 변수를 행과 열의 연속적인 공간으로 묶어 놓은 것 ex. int a[2][3]; a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] ex.1 void main() { char msg[50] = "Hello world! Good Luck!"; int i = 2, number = 0; while(msg[i] != '!') { if(msg[i] ..

[Swift] Timer Error

타이머 코드를 Stack Overflow에 복붙해서 코드 진행중 Button을 눌렀을 때 초가 빠르게 줄어드는 것을 디버그창에서 볼 수 있다. 해결법. 1. Timer를 수행하는 메서드를 변수화 2. 버튼을 눌렀을 때 초기화(이미 진행 되고 있는 Timer 무효화) var timer = Timer() @IBAction func HardnessSelected(_ sender: UIButton) { timer.invalidate() timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateCounter), userInfo: nil, repeats: true) }

[정보처리기사] C언어 - continue, break 개념과 for 반복문이 섞인 문제 박살내기 (feat. 다중for문)

반복문의 옵션이 있다 1. continue 2. break 1. continue란? - 더 이상 아래 문장을 실행하지 않고, 반복문 처음으로 돌아가라 - 반복문에서만 사용한다. - continue가 계속적인 느낌이여서 아래로 내려가야 할 것같지만 - 반복문 '처음'으로 돌아가는 것 주의하자. - 조건이 참일 때 continue 수행 2. break란? - 반복문을 빠져나감 - 반복문에서도 사용가능하다 - switch나 if문 등에서도 사용 가능하다. - 조건이 참일 때 break 수행 ** 다중for문은 하단에서 다루겠습니다. continue ex1 for(i=0, sum=0; i

[정보처리기사] C언어 - while과 if문이 같이 있는 문제 박살내기

#include int main() { int a = 120, b = 45; while(a != b) { if(a>b) a = a - b; else b = b - a; } printf("%d",a); } 무조건 표를 쓰면서 문제를 풀자.. 해설 a a=a-b b b=b-a 초기값 120 45 a !=b 참이고, a>b니까 a-b수행 75 45 a !=b 참이고, a>b니까 a-b수행 30 45 a !=b 참인데, a>b가 거짓이니까 elser구문인 b-a수행 30 15 a !=b 참이고, a>b니까 a-b수행 15 15 a !=b가 거짓이 됐으니, while문 빠져나온다 15 15 a값은 15

[정보처리기사] C언어 - for, while, do~while 차이 모르겠다면..(for while차이, for while복합문제)

조건을 지정해서 반복해서 돌려야 하는 경우에는 세 가지 구문이 있다. for문 while문 do-while문 for문 정해진 횟수만큼 반복 while문 조건이 만족하는 동안 반복 do~while문 무조건 한번 수행 후 조건이 만족하는 동안 반복 for와 while이 헷갈릴텐데, 하단에 예제로 어떤 차이인지 알아보겠습니다. for문 구조 for (초기식; 조건식; 증감식) { 수행하는 작업 } for문의 기본 수행 순서 0. 초기식 확인 1. 조건식 확인한다 -> (조건을 만족하면) 2. 수행하는 작업을 한 후 3. 증감식을 수행한다. 다시 1번으로 돌아가서 조건이 만족할 때까지 수행한다. 조건이 거짓이면 for문을 빠져나온다. for ex. #include int main(){ int j; int sum..

[정보처리기사] C언어 - 제어문(if문, switch문)

if문이란? 조건에 따라서 다른 명령어들을 수행 switch문이란? 주어진 값에 맞는 명령어들을 수행 입력값에 따른 출력값을 수행한다. 주어진 값에 해당할 때부터 조건을 실행하여 break문을 만날 때까지 수행한다. 구조 switch case ~(break) case ~(break) case ~ break switch문의 주의 사항 break가 어디에 걸리는지 주의한다. break가 없다면 break가 걸릴 때까지 수행한다. 예제 #include int main(){ int a=0, b=1; switch(a){ case 0 : printf("%d₩n", b++); break; case 1 : printf("%d₩n", ++b); break; case 2 : printf("%d₩n", b); break;..

[정보처리기사] C언어 - 삼항연산자(조건연산자) 사용법

삼항연산자란? 간단하게 항이 세 개라는 의미 단항 = a++, a--등 이항 = a = 3, a+b 삼항 = 조건에 따라서 다른 명령을 수행하는 연산자 구조: 조건? 참: 거짓 ex1. int a = 10>5 ? 10: 5; printf("%d", a); 해설 조건 10>5? 조건이 참일 때의 수행할 값은 10 조건이 거짓일 때의 수행할 값은 5 10>5가 참이니깐 10으로 출력 만약 조건이 거짓이였다면 5가 출력됐을 것 ex2 void main(void){ int a, b; a = 20; b = (a>10)?a+a:a*a; printf("b=%d₩n", b); } 해설 조건 : a>10? 참이면 a+a로 출력 거짓이면 a*a로 출력 20>10이 참이므로 a+a -> 20+20가 수행되어서 b=40이 출..

반응형