반응형

iOS/정보처리기사 38

[정보처리기사] 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] ..

[정보처리기사] 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이 출..

[정보처리기사] C언어 - 매크로(feat. 매크로를 적용한 비트연산문제)

매크로란? - 반복적인 일들을 쉽게 하기 위해 만들어 놓은 것들이다. - 함수는 한번 호출하면 사라지지만 - 매크로는 모든 프로그램에 들어가게 할 수 있다 #define N 10 -> 앞으로 나오는 모든 N은 10으로 대체한다 #define SQR(X) X*X -> X의 인자를 받으면 X*X를 수행할 거야(함수처럼 만들어 놓은 매크로) ex. #define N 10 #define SQR(X) X*X SQR(N); SQR(N+2); 해설 SQR(N); -> 10*10 인 100출력 주의!!!1 SQR(N+2); -> 12*12인 144출력이 아니고!!!!!!!!!!!!!!!!!!!!!!! N+2가 아래 형태와같이 그대로 넘어간다 10 + 2 * 10 + 2 연산자 우선순위에 의해서 2*10이 먼저 계산 되..

[정보처리기사] C언어 - 진법전환(2진수,8진수,16진수) / 비트연산(&,|,^,<<,>>)

진법 전환을 하기 전 비트연산이 무엇이냐면 비트연산이란? 10진수를 2진수로 만든 이후에 우리가 10진수를 + - * / 하듯이 2진수를 가지고 2진수의 연산자로 연산하는 것을 뜻합니다. 10진수를 2진수로 변환하는 방법 2가지 1. 10진수를 2로 나눌 수 있을 때까지 나누고 나머지를 보자 ex. 10진수 19를 2진수로 표현 나누기 19 나머지 2 9 1 ↑ 2 4 1 ↑ 2 2 0 ↑ 2 1 0 ↑ → → ↑ 2로 나누고 나머지를 아래에서 위로 적은 수를 나열해보면 10011입니다. 2. 1부터 2를 곱한 수를 우측부터 좌측 순으로 적고, 해당 수를 만들기 위해 필요한 숫자들에 1을 채워주면 됩니다 ex. 19를 위의 방법으로 2진수 처리를 해보면 ←←←←←←←← 32 16 8 4 2 1 →→→→→..

[정보처리기사] C언어 - 출력 변환 기호(%d, %f, %c, %s, %x, %o, 16진수, 8진수 변환)

출력 변환 기호란? 그릇의 크기정해서 출력물로 표현해준다. 기호 의미 데이터 %d 부호 있는 10진수 출력 double 정수, 문자 %f 고정 소수점으로 출력 float 정수, 실수 %c 문자 출력 character 문자 %s 문자열 출력 string 문자열 포인터 %x 16진수 출력 hexadecimal number 정수 %o 8진수 출력 octal number 정수 출력 변환 기호란? 예를 들어 printf("%d", 10)이면 10이라는 값이 %d에 대입돼서, 부호 있는 10진수로 출력이 된다 %d는 문자도 받을 수 있는데, 모든 문자는 ASCII코드로 숫자화 할 수있어서, 문자를 대입해도 숫자로 출력할 수 있다. ex. 1. printf("값1: %d, 값2: %d", 10, 5); -> 값1: ..

[정보처리기사] C언어 - 관계연산자/논리연산자, 조건문

관계연산자의 종류 참은 1, 거짓은 0을 출력합니다. 연산자 예 결과값 == 10==9 0 != 3 != 3 0 > 5 > 5 0 >= 5 >= 5 1 3 0 [1 && 0 이고 하나라도 거짓이므로 0] || 5 > 5 || 5 >= 5 1 [0 || 1 이고 하나라도 참값이 존재 하기때문에 1출력] 조건문 단순 if문 조건에 만족하면 {} 문을 탄다 if (조건) { 조건이 만족할 때의 처리; } if ~ else문 if (조건) { 조건이 만족할 때의 처리; } else { 조건이 아닐 때의 처리 } 다중 if문 if( 조건1) { 조건1이 만족할 때의 처리; } else if (조건2) { 조건2가 만족할 때의 처리 } else { 모든 조건이 아닐 때의 처리 } Q1 #include int mai..

반응형