Programming Language 38

[C언어] 입출력 함수

버퍼를 사용하는지 안하는지 버퍼 사용 시 해결법은 모두 while(~)인지? 입력 구분 문자는 무엇인지(space, Enter 키 등) ※ 요약입력함수- scanf(): space, Enter 안 읽음. 버퍼 사용 O - getchar(): 버퍼링 사용※ scanf()와 getchar() 함수는 같은 버퍼를 사용하며 입력 데이터를 공유한다.따라서 앞서 실행한 입력 함수가 버퍼에 남겨둔 데이터를 그 이후에 수행하는 함수가 잘못 가져갈 가능성이 있다.=> 버퍼에 남아 있는 불필요한 데이터는 미리 제거하는 것이 좋다.fflush(stdin); 은 잘못된 사용법이므로while(getchar() != '\n'); 을 이용하여 버퍼에 남아 있는 개행문자를 제거한다.출력함수- getch(): 버퍼링 사용X - get..

[C언어] 문자열 함수, 문자 함수

※ 요약- strlen() : 문자열 크기- strcpy() : 문자열 초기화- strcat() : 문자열 뒤에 다른 문자열을 붙임 (string concatenation)- strcmp(), strncmp() : 문자열 비교 함수위 함수들을 이용하기 위해서는 #include 해야 한다. - isalpha() : 알파벳(a ~ z or A ~ Z) ? 1 : 0- isdigit() : 숫자 ? 1 : 0- isupper() : 대문자 ? 1 : 0- islower() : 소문자 ? 1 : 0- toupper() : 인수를 대문자로 변환- tolower() : 인수를 소문자로 변환위 함수들을 이용하기 위해서는 #include 해야 한다. (문자를 검사하는 라이브러리 함수)문자열 배열의 크기를 알아보기 위한..

[C언어] #include <math.h>

함수- floor() : 내림 함수- ceil() : 올림 함수 - fabs() : 절댓값- pow() : 제곱값- sqrt() : 제곱근값 삼각함수- cos(x), sin(x), tan(x), acos(x), asin(x), atan(x)이들 함수의 인수들은 모두 radian 단위로 표시된다.※ 단위 변환radian이 아닌 도 단위를 사용하려면 다음과 같이 변환하면 된다radians = degrees * (3.14159 / 180.0);  로그함수- exp(x) : 자연 로그의 x승을 반환한다.- log(x) : x의 자연로그 값을 반환한다. 수학적으로는 ln(x)라고 쓴다. (단, x > 0)- log10(x) : x의 밑이 10인 로그값을 반환한다. (단, x > 0)

<어서와 C언어는 처음이지!> 총 복습 (Ch01~Ch17)

C언어교재 범위: Chapter01 ~ Chapter17  포인터메모리구조체  반복문: while, do~ while, break, continue※ 반복문 종료 - break;    반복문 처음으로 돌아가기 - continue;선택문: if, if~else, switchswitch (제어식){   case (c1) :   case (c2) :     . . .   default:} ※ switch 변수는 정수나 문자 변수만 가능하다. float나 double형(부동소수점 변수형)를 사용하면 안 된다. #define _CRT_SECURE_NO_WARNINGS#include int main() { int n, year = 2015; printf("월을 입력하시오: "); scanf(" %d", &n); s..

[C언어] Ch03) 변수와 연산자 (variable & operator)

variable(변수): 값을 저장할 수 있는 메모리 공간에 붙은 이름이나 메모리 공간 자체operator(연산자): 특정연산을 요구할 때 사용하는 약속된 기호 변수 초기화: 선언된 변수에 처음 값을 저장하는 것대입, 대입 연산: 초기화 이후에 저장된 값을 변경하는 것※ 변수를 선언만 하고 초기화하지 않으면 쓰레기 값이 저장된다. 중괄호 내 변수의 위치1999년도에 발표된 C언어의 표준에서는 변수의 선언위치에 아무런 제한을 두지 않고 있다.하지만 상당수의 컴파일러가 변수의 선언문이 중괄호의 앞부분에 위치할 것을 요구하고 있으니, 순수하게 C언어로 프로그램을 작성하고자 한다면, 컴파일러가 지원하는 변수선언의 위치에 상관없이 중괄호의 앞부분에 변수를 선언하는 것이 좋다. 키보드로부터 데이터를 입력 받으려면데..

[C언어] Ch02) Program의 기본구성

C언어의 기본단위: 함수 함수(function)란?적절한 입력과 그에 다른 출력이 존재하는 것 함수 관련 용어- 함수의 정의와 선언- 함수의 호출: 함수의 실행을 명령하는 행위- 인자의 전달 ※ 정해진 순서에 의해서 진행되는 함수의 호출이 바로 '프로그램의 흐름'이라고 볼 수 있다.  함수의 형태  - 반환형(return type)이라는 표현은 함수임을 강조하기 위해서는 '출력의 형태'라고 부르기도 한다.- 마찬가지로 입력 매개변수는 '입력형태'라고 표현하기도 한다.- 함수의 몸체(body): 함수의 기능을 정의하고 있는 중괄호 안의 영역- return의 의미  1) 현재 실행중인 함수의 종료   2) 함수를 호출한 영역으로 값을 전달(반환)  - 표준 함수: 기본적으로 제공하는 함수- 표준 라이브러리:..

[C언어] Ch01) C언어 개론, Program

프로그래밍 언어란?사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어이다. 기계어란?컴퓨터가 이해할 수 있는 0과 1로 구성된 언어체계를 뜻한다. 컴파일러의 역할은?Complier는 통역가 역할을 한다.프로그래밍 언어로 작성한 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역하는 역할을 한다. C언어의 역사1971년, UNIX라는 운영체제의 개발을 위해 설계한 범용적인 고급 언어(High-level Language)기존의 UNIX라는 운영체제는 어셈블리어(assembly)라는 저급(low-level)로 만들어졌기 때문에 하드웨어의 의존도가 높았다.(이를 '이식성이 낮다'고 표현함.) 하드웨어 의존도가 높다 = 의식성이 낮다.CPU의 종류가 바뀌면 프로그램을 다시 작성해야 했던 것임. 어셈블리어의 저급..

[C언어] 문자열 입력 함수

[C언어] 문자열 입력 함수Contents- 입력 함수의 정의1. scanf()2. gets(), getchar()3. fgets()4. 버퍼 오버플로우  구분 문자, 서식, 문자열, 버퍼, 버퍼 포인터입력 함수란?여러 종류의 데이터를 다양한 서식에 맞춰 입력받을 수 있도록 하는 함수를 의미 헤더파일에 해당 함수들이 포함되어 있다. #include  1. scanf()- C언어 표준 입력 함수 중 가장 많이 사용된다.(대표적인 입력 함수) scanf("%s", name); - f: formmatted의 약자. 서식화된 입력을 받는다는 의미- 입력받은 Data를 어떤 서식으로 변환할지 서식 지정자(format specifier, %s 등)를 통해 직접 지정 가능하다.서식 예시%02d, %d:%d, %.4d..