
제가 대학교 1학년 때 C언어 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다. (2022.3 ~ 2022.6)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
대학에 처음 들어와 정리한 내용이라 모든 내용을 담고 싶은 욕심에 정리가 많이 지져분하고 어설픈점 양해 부탁드립니다..!!
: 프로그램에 대한 설명
/* 로 시작 */로 끝 /* */ 끼리 중첩 불가./* */ 안에 // 중첩가능.//을 이용한 한줄 주석. : c프로그램에 반드시 필요한 함수
main함수 또는 main함수와 여러함수로 구성. : 프로그램이 시작될 때 호출되는 함수( c프로그램에서 main함수)
main함수가 없으면 링크 에러 발생. main함수는 단 하나만 있어야함.main함수 호출. : main함수의 리턴값(int형)
{}(블록) 안에 수행내용이 적히는데, 이 내용을 수행하다가 함수의 끝을 만나거나 return문을 만나면 리턴main함수에서만 return 생략 가능. 리턴형이 void가 아닌 함수에는 반드시 return문이 필요0이면 정상종료, 비정상 종료는 0이 아닌값을 리턴: 콘솔(명령프롬프트)에서 실행되는 프로그램
: c프로그램 마다 공통적으로 필요한 입력과 출력 기능 제공.
c프로그램에서 라이브러리를 사용하려면 라이브러리가 제공하는 함수에 대한 정보가 필요.
헤더파일(.h) : 라이브러리 함수에 대한 정보(함수명, 리턴명, 매개변수)를 제공하는 파일.
라이브러리를 사용하려면 헤더파일을 #include로 포함 시켜야 하는데, 포함시키면 전처리기가 컴파일 전에 헤더 파일의 내용을 소스 파일로 복사해서 라이브러리 함수에 대한 정보를 제공.
헤더파일을 포함하지 않고 print 함수를 호출하면
컴파일 경고(= 함수가 정의되지 않았으므로 int를 리턴하는 함수로 가정함) 와
링크 에러(= printf 함수가 출력 되었으나 오브젝트 코드를 찾을 수 없음) 발생.
컴파일 경고 : 컴파일은 되지만 문제가 생길 수 있는 부분을 확인하도록 경고하는 것.
: c프로그램에서 콘솔에 텍스트 출력을 위해서 printf 함수를 이용.
이때 출력할 내용을 “” 로 묶어서 printf 함수의 () 안에 써준다.
“” 안에 묶인 항목: 값을 저장하기 위한 공간
c에서 입력을 처리시 입력받은 값을 저장하기 위한 변수 필요.
변수 사용을 위해서 필수적으로 변수 이름과 데이터형을 정해야 한다.
컴퓨터 시스템에서는 값을 저장하기 위해서 메모리를 사용.
: 프로그램에서 사용되는 데이터의 종류
char 1바이트), 정수형(int 4바이트), 실수형(float 4바이트), 배열, 포인터, 구조체 등문자열을 출력하는 기능
값을 서식에 맞춰 출력하는 기능
: printf 함수의 첫 번째 인자로 “”안에 %와 약속된 문자로 서식 지정.
%d : 정수를 10진수로 출력 (int)%x (0x -> #사용해서 출력) : 정수를 16진수로 출력 (int)%X : 정수를 16진수로 출력 (int) -> a ~ f 대신 A ~ F를 출력.%f, %F : 실수를 부동소수점 표기 방식으로 출력 (float)%e, %E : 실수를 지수 표기 방식으로 출력 (float)%c : 문자 출력 (char)%o (0 -> #사용해서 출력)1. 문자폭
%와 영문사이에 정수로 폭을 써준다. -, 오른쪽으로 정렬 출력하려면 아무것도 안붙임. 2. 정밀도 : 소수점 이하 자릿수
printf함수는 실수 출력시 디폴트로 소수점 이하 6자리를 출력. %와 영문 사이에 .과 정수로 지정해준다.scanf 함수를 호출시 형식 문자열(=서식 문자열)과 변수 이름을 지정. &를 써주어야 함.& : ~에 라는 뜻: 변수에 입력 받을 값의 형식을 알려주기 위해서 사용
%d : 콘솔 입력을 10진수로 처리 (int)
%x : 콘솔 입력을 16진수로 처리 (int)
%i : 정수를 10진수, 8진수, 16진수로 입력
ex) 12 012 0x12로 입력시 자동으로 처리 (int)
%f : float형 실수 입력
%lf : double형 실수 입력 (long float의 약자)
%c : 문자 1개 입력 (char)
scanf_s 사용을 권고하지만, 의도적으로 scanf를 사용할 때 ANSI C를 기준으로 c프로그램을 작성하는 경우 컴파일 에러가 발생하지 않도록 처리 필요.#define _CRT_SECURE_NO_WARNING#pragma warning(disable:4996)#pragma warning(disable:6031)“와 % 사이 꼭 한칸 띄고 작성