반응형

iOS 146

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

[정보처리기사] C언어 - 연산자 우선순위

연산자가 궁금하시다면 https://accompani-i.tistory.com/185 [정보처리기사] C언어 - 산술연산자(a++, ++a, a+= 등) 산술연산자 종류 이항 연산자 단항 연산자 대입 연산자 이항 연산자 항이 2개다 a + b같이 항이 2개로 구성된 연산자 종류: + - * / % +는 덧셈 연산 -는 뺄셈 연산 *는 곱셈 연산입니다. /는 우리가 아 accompani-i.tistory.com 먼저 학습 하고 오시길 권해드립니다. 산술 연산자의 종류 우선순위 예 종류 높음 낮음 () 괄호 연산자 ++, --, ~, ! 단항 연산자 *, /, % 산술 연산자 +, - 산술 연산자 비트 연산자 = 비교 연산자 ==, != 관계 연산자 &, ^, | 비트 연산자 &&, || 논리 연산자 =, ..

[정보처리기사] C언어 - 산술연산자(a++, ++a, a+= 등)

산술연산자 종류 이항 연산자 단항 연산자 대입 연산자 이항 연산자 항이 2개다 a + b같이 항이 2개로 구성된 연산자 종류: + - * / % +는 덧셈 연산 -는 뺄셈 연산 *는 곱셈 연산입니다. /는 우리가 아는 나눗셈과는 좀 다릅니다. 헷갈리는 / 연산자와 % 연산자를 살펴보면 / 연산자: 몫을 나타내는 연산자 ex. 5/3 = 1(몫을 나타내고 나머지는 나타내지 않는다) 정수/정수 = 정수 (소수점 나타내지 않는다) %연산자: 나머지를 나타내는 연산자 ex. 5%3 = 2 (몫이 1이고 나머지가 2이기 때문) 단항 연산자 종류: ++, -- a++; -> 식을 먼저 처리하고 1을 증가시킨다 (할당 후 증가) ++a; -> 먼저 1을 증가시키고 식을 진행 시켜라 (증가 후 할당) 하단의 예재로 확..

[정보처리기사] C언어 - 변수의 종류와 유효범위(지역변수, 전역변수, 정적변수, 동적변수)

변수의 종류(쉽게쉽게) 지역변수: 지역안에서만 사용 전역변수: 공동으로 쓰는 것 정적변수: 공동으로 쓰는 것 동적변수: 그때 그때 만들어서 사용 지역변수란? 함수/블록 안에서 선언하는 변수 함수/블록의 종료와 함께 메모리상에서 소멸 초기값이 없으면 쓰레기 값이 들어감 스택 영역에 저장됨 ex. void main(){ if ( 1 ) { // 1은 참이니까 블록 안으로 들어감 int num1 = 10; // num1이라는 공간에 10의 값을 할당 printf("%d, num1); // 10 출력됨 } // 블록 끝남 printf("%d", num1); // 블록 끝났으니까 메모리상에서 소멸됨 } 전역변수란? 함수 블록 밖에서 선언하며, 전체 함수에 영향을 미친다. 프로그램이 종료될 때 메모리상에서 소멸 초..

[정보처리기사] C언어 - 변수

변수란? 데이터를 저장할 수 있는 메모리의 기억공간. 쉽게 말해 그릇 변수의 선언이란? 메모리(기억 공간)을 효율적으로 사용하기 위해서 그에 맞는 선언을 해줘야 함 쉽게 말해 밥을 담고 싶으면 밥그릇을, 국을 담고 싶으면 국그릇을, 100명되는 사람 밥을 하려면 솥을 올려줘야함 나 혼자 자취해서 밥을 먹어야 되는데 100인분 솥을 올리면 비효율적이기 때문에 내가 사용할 변수를 잘 골라서 사용해야 메모리 손실이 없음. 변수생성 규칙 및 특징 예약어(키워드)는 사용할 수 없다ex. break, for, if, switch 등 공백을 포함할 수 없다. 첫 글자는 영문과 언더바(_)만 사용이 가능하다(숫자 불가능) 언더바(_) 이외의 특수문자는 사용할 수 없다. 대소문자를 구분한다. 예제를 통해 변수생성 가능여..

[정보처리기사] C언어 - 컴파일러, 인터프리터

컴파일이란? 인간이 만든 고급언어를 컴퓨터가 해석 할 수 있는 저급언어로 반역하는 과정 ex. C언어를 통해 컴퓨터가 알아먹을 수 있는 1과 0의 언어로 바꿔주는 작업 C언어 컴파일 과정 (.확장자) 내가 이해할 수 있는 언어인 고급언어로 작성(.c) -> 전처리기(.i) -> 컴파일러(.s)->어셈블러(.o)->링커(.exe) 전처리기 #include가 전처리기 역할인데 예를들어 printf, sccanf 등 많은 사람들이 사용하는 함수를 미리 누군가가 만들어놓은 것을 합쳐주는 작업. 컴파일러 컴퓨터가 알아듣는 언어로 컴파일한다 (=고수준 언어를 저수준 언어로 변환, 기계어와 가장 가까운 형태의 언어) 어셈블러 완전한 기계어로 바꿔주는 역할 링커 전처리기->컴파일러->어셈블러를 엮어서 exe파일로 엮는..

[Xcode]Simulator에 사진 넣기 오류 (import error) / PHPPhotosErrorDomain error -1.

보통 Xcode Simulator에 드레그앤드롭을 하게 되면, 시뮬레이터 사진파일에 넣어둔 사진이 있는데, 드레그앤드롭을 했더니 이런 오류를 경험했습니다. PHPPhotosErrorDomain error -1. 여러 시도를 하다가 보니 데스크탑에서 바로 넣으면 저렇게 되더라구요 사진 파일 선택 -> 우클릭->공유->Simulator를 해도 마찬가지였습니다. 해결책 넣고 싶은 파일을 맥북의 사진 어플에 넣습니다. 사진 앱 내에서 넣고 싶은 사진을 똑같은 방법으로 드래그앤드롭합니다.

반응형