컴퓨터 과학 19

c언어-배열

bool: 불리언, 1바이트 char: 문자, 1바이트 int: 정수, 4바이트 float: 실수, 4바이트 long: (더 큰) 정수, 8바이트 double: (더 큰) 실수, 8바이트 string: 문자열, ?바이트 배열 번호(인덱스)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 나타낸다. 일반적으로 배열에는 같은 종류의 데이터들이 순차적으로 저장되어, 값의 번호가 곧 배열의 시작점으로부터 값이 저장되어 있는 상대적인 위치가 된다. 전역 변수 함수의 외부에서 선언된 변수를 의미합니다 만약 N이 고정된 값(상수)이라면 그 값을 선언할 때 const를 앞에 붙여서 전역 변수, 즉 코드 전반에 거쳐 바뀌지 않는 값임을 지정해줄 수 있습니다. 관례적으로 이런 전역 변수의 이름은 대문자로 표기 한다. s..

컴퓨터 과학 2023.01.21

c언어-컴파일링

오버플로우 오버플로우란 컴퓨터 하드웨어의 한계로 인해 발생하는 문제 중 하나로, 변수가 담을 수 있는 최대 허용 범위를 벗어난 값을 저장해 예상치 못한 결과가 나오는 현상을 뜻한다. make나 clang을 사용해서 프로그램을 실행할 때 네 단계를 거친다. 1. 전처리 2. 컴파일링 3. 어셈블링 4. 링킹 전처리(Precompile) #으로 시작되는 c 소스 코드는 전처리기에게 실질적인 컴파일이 이루어지기 전에 무언가를 실행하라고 알려준다. 전처리기는 입력 데이터를 처리하여 다른 프로그램에 대한 입력으로서 사용되는 출력물을 만들어내는 프로그램이다. 컴파일(Compile) 전처리기가 전처리한 소스 코드를 생성하고 나면 컴파일러라고 불리는 프로그램은 c코드를 어셈블리어 라는 저수준 프로그래밍 언어로 컴파일 ..

컴퓨터 과학 2023.01.20

c언어-사용자 정의 함수,중첩 루프

본인만의 함수, 즉 사용자 정의 함수를 만드는 방법은 void 뒤에 원하는 함수명을 적은 뒤 괄호 안에 void를 적어준다. void cough(void) { printf("cough\n") } cough 라는 함수를 만들었다. 이제 cough 함수를 불러오면 cough를 출력한다. int n; n은 쓰레기 값이라고 부르는 값을 가진다. n이라고 하는 변수를 달라는 일종의 힌트. do-while 루프 이 불리언 표현 while(n

컴퓨터 과학 2023.01.19

c언어-자료형,형식 지정자,연산자

bool: 불리언 표현, ex) True, False, 1, 0, yes, no char: 문자 하나 ex) 'a', 'Z', '?' string: 문자열 int: 특정 크기 또는 특정 비트까지의 정수 ex) 5, 28, -3, 0 long: 더 큰 크기의 정수 float: 부동소수점을 갖는 실수 ex) 3.14, 0.0, -28.56 double: 부동소수점을 포함한 더 큰 실수 형식 지정자 printf 함수에서는 각 데이터 타입을 위한 형식 지정자를 사용할 수 있다. 여러가지 데이터 타입 마다 사용되는 형식 지정자 %c : char %f : float, double %i : int %li : long %s : string 기타 연산자 및 주석 +: 더하기 -: 빼기 *: 곱하기 /: 나누기 %: 나머..

컴퓨터 과학 2023.01.19

c언어-조건문과 루프

조건문과 루프 int if while for counter 라는 변수에 숫자를 저장하고 싶을 때, int counter = 0; =는 오른쪽에 있는 것을 왼쪽에 할당한다. counter = counter + 1; counter += 1; counter++; 다 같은 의미이다. 하지만 더 간결하게 나타냈을 뿐이다. 또한 조건문을 c코드로 나타내면, if ( x < y ) { printf("x is less than y\n"); } if ()의 괄호 안에 조건이 들어가고, 만약 조건이 True이면 "x is less than y"를 출력하라는 것이다. else를 이용해서 처음의 조건이 아니면 어떤 것을 하라고 적을 수 있다. ex) if (x < y) { printf("x is less than y\n");..

컴퓨터 과학 2023.01.19

c언어-문자열

#include int main(void) { printf("hello, world\n"); } 여기서 int main(void) 는 시작한다는 의미를 가지고 있다. printf(" ")는 " " 안에 있는 내용을 화면에 표시한다. \n는 줄바꿈. 여기서 백슬래시는 ₩로 써도 된다. ₩n 파일 확장자 명은 c로 한다. ex) hello.c 터미널에서 "$" 기호 옆에 명령어를 입력하는데, $clang hello.c 라는 명령어는 “clang” 이라는 컴파일러로 “hello.c”라는 코드를 컴파일하라는 의미이다. 그러면 a.out 가 생성이 되는데 ./a.out 는 현재 디렉토리에 있는 a.out 프로그램을 실행하는 것이다. String은 단어나 구절, 문장을 부르는 말이다. 즉, 문자열을 뜻한다. (숫자..

컴퓨터 과학 2023.01.18

정보의 표현

컴퓨터가 문자의 표현을 할 때 스위치를 on/off 하면서 2진법으로 숫자를 표현한다. 문자를 표현하려면 똑같이 2진법으로 숫자를 표현하면 된다. 정해진 표준에 따라 정해진 숫자를 2진법으로 표현하면 문자로 표시되게 한다. 그 중에 하나는 ASCII(아스키코드)이다. 아스키 코드는 10진수를 기준으로 A는 65 B는 66 C는 67 . . . . Z는 90 으로 표현하기를 약속했다. 그렇다면 A를 2진법으로 표현하면 65를 2진법으로 표현해보자 1000001 2^6 + 2^5x0 + 2^4x0 + 2^3x0 + 2^2x0 + 2^1x0 + 2^0 (64+1) 64 + 1 = 65인 것이다 아스키코드 말고도 Unicode라는 표준에서는 더 많은 비트를 사용하여 다양한 표현을 하도록 지원하고 있다. 예를 들..

컴퓨터 과학 2023.01.09