분류 전체보기 120

[C 언어] 4-2 그 외 유용한 연산자

sizeof 연산자피연산자 하나만 사용이 가능괄호를 사용할 필요는 없으나 sizeof1.5 + 3.4 같은 경우 8 + 3.4로 처리가 됨편의상 괄호를 사용하는 것이 좋음콤마 연산자한 번에 여러 개의 수식을 차례로 나열해야 할 때 사용왼쪽부터 오른쪽으로 차례로 연산을 수행하며 가장 오른쪽의 피연산자가 최종 결과값이 됨대입 연산자보다 우선순위가 낮기에 대입 연산자와 함께 사용하는 경우 괄호를 사용해야 함ex: res = (++a, ++b); a 증가 -> b 증가 -> res에 a 대입 -> res에 b 대입비트 연산자배타적 논리합 연산자: a ^ b, 비트가 다르면 1 같으면 0비트 이동 연산자: a > 1, 비트를 왼쪽 또는 오른쪽으로 이동>는 2로 나눠지는 결과가 나옴

[C 언어] 4-1 산술 연산자, 관계 연산자, 논리 연산자

산술 연산자와 대입 연산자산술 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/). 나머지(%)가 있음대입 연산자는 (=) 사용 증감 연산자전위 표기: ++a / --a, 값이 증감하고 나서 연산에 사용후위 표기: a++ / a--, 연산에 사용되고 나서 값이 증감 관계 연산자대소 관계 연산자: 등의 기호를 사용동등 관계 연산자: == 또는 != 기호를 사용이들 연산자는 모두 피연산자 2개를 사용하며, 연산의 결과값은 1 또는 0논리 연산자&&: 논리곱(AND) 연산자로 2개의 피연산자가 모두 참일 때만 참||: 논리합(OR) 연산자로 둘 중에 하나라도 참이면 참!: 논리부정(NOT) 연산자로 피연산자 하나를 사용해 그 참과 거짓을 바꿈숏 서킷 룰&&와 ||는 숏 서킷 룰이 적용숏 서킷 룰이..

[기술 면접] unicode와 UTF-8

유니코드(Unicode) 개념: 전 세계 모든 언어와 기호, 이모지까지 한곳에 모아 고유한 숫자 번호(방 번호)를 부여한 국제 표준 문자 코드 표특징: 물리적인 저장 방식이 아니라 "어떤 문자가 몇 번인가"만 정의해 놓은 논리적인 설계도이자 정답지 집합(Character Set) UTF-8 개념: 유니코드 표에 적힌 숫자 번호들을 컴퓨터 메모리에 실제 0과 1로 저장하기 위해 가공하는 컴퓨터 친화적 인코딩 방식특징: 문자의 종류에 따라 크기가 유연하게 변하는 가변 길이(1~4바이트) 방식을 채택하여 전 세계 웹 표준의 90% 이상을 차지 유니코드를 쓰는 이유전 세계 문자 통합: 과거 국가마다 제각각 만들어 쓰던 독자적 문자 규격(EUC-KR, CP949 등)의 파편화를 막고 하나의 표로 통일하기 위..

[기술 면접] CISC(Complex Instruction Set Computer)와 RISC(Reduce Instruction Set Computer)

CISC(Complex Instruction Set Computer)"명령어 세트를 복잡하고 강력하게 만들어서, 한 방에 해결하자!"CISC는 이름 그대로 복잡하고 다채로운 명령어 세트를 가진 컴퓨터 구조과거 메모리(RAM) 가격이 기겁할 정도로 비싸고 용량이 작았던 시절에 탄생메모리 공간을 최대한 아끼기 위해, CPU 내부 하드웨어를 복잡하게 설계하더라도 "명령어 한 줄의 크기를 줄이고, 한 번에 많은 일을 처리하게 하자"는 철학을 가짐작동 방식폰 노이만 구조에서 하나의 명령어가 여러 개의 하위 작업을 동시에 수행예를 들어 "메모리 A의 값과 메모리 B의 값을 더해서 다시 메모리 A에 넣어라"라는 복잡한 일을 ADD A, B라는 단 한 줄의 명령어로 처리 가능 대표 주자인텔(Intel)의 x86 아키텍..

[기술 면접] Big Endian(모토롤라 계열)과 Little Endian(인텔 계열)

엔디언(Endianness)엔디언은 컴퓨터 메모리에 1바이트보다 큰 데이터(short, int, long 등)를 배열할 때, 어떤 순서로 저장할 것인가에 대한 규칙(바이트 순서)을 의미예를 들어, 우리가 int num = 0x12345678;이라는 4바이트짜리 16진수 데이터를 메모리에 저장한다고 가정할 때, 이 데이터는 상위 바이트부터 하위 바이트까지 12, 34, 56, 78이라는 4개의 바이트 덩어리로 쪼갤 수 있음상위 바이트(MSB 쪽): 12하위 바이트(LSB 쪽): 78이걸 메모리 주소 앞 칸부터 정방향으로 넣을 것인가, 아니면 거꾸로 뒤집어서 넣을 것인가에 따라 빅 엔디언과 리틀 엔디언으로 갈라지게 됨 빅 엔디언 (Big Endian) : 모토롤라 계열모토롤라, 네트워크 패킷 표준빅 엔디언..

[C 언어] 3-2 데이터 입력

scanf 함수의 사용법scanf("%d", &a); 변수명 앞에 &을 붙혀야 함변환 문자와 맞는 형태의 데이터를 입력해야 함short형 변수는 int형보다 크기가 작으므로 %d가 아닌 %hd(half decimal)를 사용해야 함 문자와 문자열의 입력char형 변수에 문자를 입력할 때는 키보드로 입력하는 모든 문자가 대상이 됨즉 Space bar, Enter도 하나의 문자로 전달됨"홍길동"이라는 문자열을 입력할 때 홍과 길동을 분리해서 입력하면 배열에는 '홍'만 저장됨