C언어/C - knk

변수, 대입, 초기화

twoweeks-within 2024. 11. 12. 18:16

C program : a collection of functions

 

함수 

1. 프로그래머가 작성

2. c언어 제공되는 ( 라이브러리 함수)

 

수학에서의 함수

: 값을 계산하는 규칙 : 하나 또는 그이상의 인수를 받았을때

C에서의 함수 

: 명령어들을 그룹화 하고, 이름을 부여함

> 어떤 함수는 계산을 하지만 , 아닌것도 있음

계산하는 함수:  return 을 사용 > 반환값 지정

                      ex) return y*y - x*x ; 

main 함수

프로그램 실행시 자동으로 호출됨 ( 컴파일러) 

> 호출 할 필요, 헤더파일도 필요없음

int main() {
    return 0;
}

 

return 0

1. 메인함수 종료 > 프로그램 종료

2. 0을 반환

 

세미클론 ' ; '

:컴파일러에게 statement의 끝을 알려줌

예외 하나를 뺴고 모든 문장끝에 다필요

> Directives

전처리기 지시어 > #include , #define 같은..> 컴파일 전에 처리

 

\n : (the new-line character)

 

Comments : 주석

/*  Name:

*/ 

끝내는건 따로 한줄을 주는게 가독성에 좋음

 

// : C99 에서 제공하는 주석

 

변수

프로그램 출력전 계산이 필요함 > 데이터를 일시저장

 

int vs float

float은 int 보다 더 큰 숫자+ 소수점까지 가능하지만 처리 속도 느림

 

rounding error (반올림)  

float 의 값은 추정값! ( 지수함수에 의한)

float a = 0.1; 

> 0.09999999997 이렇게 나올 수 있음 

 

declaration : 변수앞에 <> C99 에서는 상관x : 선언 명령 선언 명령 선언 명령..

float 이면 소수점뒤에 f 를 붙이는게 좋다. > profit = 210.46f ;

소수점뒤가 꼭 있어야하는건 아님

%f : decimal point 6자리

반올림계산

나누는 값= D >  D -1 을 더해줌

// D-1 / D  = 0. 99 쯤이라 정수값이 바뀌지는 않음

a /166 >> (a + 165) / 166

 

초기화

꼭 0 이 아니더라도 변수에 값을 넣어주는것

//각각 해주어야함

int height = 8, length * 12, width = 10;    ( O )

int height, length, width = 10;              ( X ) // height, length 는 초기화 안됨

 

printf

출력 데이터 형식을 알아야함

값이 필요한 곳에는 같은 타입의 어떤 표현식이라도 사용할 수 있다

f : formatted ( 형식화된) > 데이터의 형식을 알아야함

 

scanf

입력 데이터 형식을 알아야함

 

#define 

상수에 이름붙이기

전처리기가 매크로 들을 교체함

The value of a macro can be an expression

// 연산자가 있다면 괄호로 묶어야함

#define VOLUME (1.0f / 3.415f)

 

C언어는 대,소문자를 구분

 

asm , 밑줄시작은 조금 위험 할 수 있음 // asm : 어셈블리어

 

각 전처리 지시문은 별도의 줄을 요구함.

 

연산자 앞뒤로 띄어쓰기가 굿

 

한 명령문을 두줄세줄로 나눌 수 있지만,, 문자열을 두줄로 쪼개는건 불가

ex) printf("Dimensional weight (pounds): %d\n",
(volume + INCHES_PER_POUND - 1) / INCHES_PER_POUND); // (O)

printf("To C, or not to C:
that is the question.\n"); // (X)  

> 문자열을 두줄로 하려면 특별한기술필요,,,

 

GCC : GNU Compiler Collection

GNU : GNU's Not UNIX ( 발음 : guh-NEW) > 현재: 그누

      >  licensed UNIX 에 대항

 

1.다양한 언어, 운영체제에서 실행

2. cpu용 코드 생성 가능

3. mac os , linux, bnd 등등에서 사용

options

-W , -Wall -O,

-pedantic : 모든 에러 출력, 비표준 프로그램x 

-ansi : 비표준 c 의기능 x , 비활성화된 c 기능 활성화

-std=c89, -std=c99 : 컴파일러 c 의 버전 결정

> gcc -0 -Wall -W -pedantic -ansi -std=c99 -o pun pun.c

 

return 0 == exit(0)

return이 없어도 종료됨 c89 : 반환값자유, c99 : return 0 >안그러면 원치않은결과

 

C표준 : 주석은 하나의 공백문자로 대체해야함    a/**/b = 0;  > a b = 0;

/* */ : old comment 는 중복 x // ( c99) comment 는 중복 o

 

 

'C언어 > C - knk' 카테고리의 다른 글

7.5 sizeof , 8. array  (0) 2024.11.20
4장  (0) 2024.11.16
printf, scanf  (1) 2024.11.15
1장 . 역사,장단점,난해한 C (8퀸문제),,  (1) 2024.11.09