본문 바로가기
반응형

C언어129

[C언어] 지역변수 - 함수 안에 선언된 변수는 함수가 반환되면 소멸됨 - 반복문이나 조건문 안에 선언도니 지역변수도 해당 문장 탈술 시 소멸됨 - 쉽게 이해하면 중괄호 { } 안에 선언된 변수임. 2022. 3. 28.
[C언어] 반환값도 없고 인자도 없는 함수 C언어에서 함수를 선언할 때 함수 이름 앞에 반환 형식을 쓰고 소괄호 안에는 입력값인 인자를 씁니다. int MyFun(int num) { } 반환값도 업고 인자도 없는 함수를 정의할 수 있습니다. 아래와 같이 void 를 사용하면 됩니다. void MyFun(void) { } 아래는 예시입니다. #include void OnlyPrint(void) { printf("안녕 난 반환값도 없고 인자도 없어"); } int main() { OnlyPrint(); } 실행 결과는 아래와 같습니다. 2022. 3. 28.
[C언어] 반환값이 없는 함수 C언어에서 함수를 선언할 때 함수 이름 앞에 반환 형식을 씁니다. int main( ) { } 반환값이 없는 함수를 정의할 때는 반환형식을 쓰는 자리에 void 라고 써주시면 됩니다. void 는 '텅 빈' 이라는 뜻입니다. 아래는 예시입니다. #include void OnlyPrint(int num) { printf("입력값: %d",num); } int main() { OnlyPrint(3); } 2022. 3. 18.
[C언어] 함수만들기 (두 값의 평균) 두 값의 평균을 계산해주는 mean2 함수를 만들어봅시다. int mean2 (int num1, int num2) { return (num1+num2)/2; } mean2 앞의 int 는 반환형입니다. 함수의 결과를 int로 반환하겠다는 의미입니다. 함수를 한번 사용해봅시다. #include int mean2 (int num1, int num2) { return (num1+num2)/2; } int main() { int mymean; mymean=mean2(5,1); printf("%d",mymean); } 2022. 3. 17.
[C언어] printf 함수가 반환하는 값 printf 함수는 화면에 문자열을 출력하는 기능을 하는데, 그 자체로도 값을 반환합니다. printf 함수가 반환하는 값은 문자열 길이입니다. printf 함수의 반환값을 확인하는 방법은 printf 함수를 변수에 입력하는 것입니다. 아래 코드에서 printf 함수를 num1 과 num1 라는 변수에 입력하였습니다. #include int main() { int num1,num2; num1=printf("aaa\n"); num2=printf("aaaaa\n"); printf("%d\n",num1); printf("%d\n",num2); } 코드 실행 결과는 아래와 같습니다. aaa가 입력된 printf 의 반환값은 4입니다. aaaaa가 입력된 printf 의 반환값은 6입니다. 문자 개수보다 하나가 .. 2022. 3. 17.
[C언어] switch (스위치처럼 선택) switch 문은 중괄호 안의 값과 일치하는 case 를 실행하는 문장입니다. 아래 예시를 봅시다. #include int main() { int num=2; switch(num) { case 1: printf("case1 입니다."); case 2: printf("case2 입니다."); default: printf("디폴트 입니다."); } } 실행 결과는 아래와 같습니다. num 에 2가 입력되어 있으니 case2가 실행되었습니다. 그런데 default 도 실행되었습니다. 디폴트는 항상 실행됩니다. 다른 case 가 실행될 경우 default 는 실행되지 않게 하려면 break 문을 추가하면 됩니다. #include int main() { int num=2; switch(num) { case 1: .. 2022. 3. 16.
[C언어] continue (특정 조건에서 이후 문장 스킵) continue 문은 if문과 함께 사용합니다. 반복문 안에서 if문이 만족할 경우 이후 문장을 스킵하고 다음 반복으로 넘어갑니다. 아래는 1부터 숫자를 출력하다가 5가 될 경우 출력을 스킵하는 예시입니다. #include int main() { int num1=0; while(num1 2022. 3. 16.
[C언어] 31. break (특정 조건에서 반복문 종료) break 문은 if문과 함께 사용합니다. 반복문 안에서 if문이 만족할 경우 반복문을 종료하게 하는 기능을 합니다. 아래는 1부터 숫자를 출력하다가 10 이상이 될 경우 반복문을 종료하는 예시입니다. #include int main() { int num1=1; while(1) { if(num1>=10) { break; } printf("%d\n",num1); num1=num1+1; } } 아래는 실행 결과입니다. 2022. 3. 16.
[C언어] 삼항연산자 삼항연산자 사용 방식은 아래와 같습니다. (조건) ? 만족시실행 : 불만족시실행 아래는 예시입니다. #include int main() { int num1=2; int num2=3; (num1==num2) ? printf("hi") : printf("hello"); } 2022. 3. 15.
[C언어] if~else if 문 예시는 아래와 같습니다. else if 는 원하는 만큼 추가할 수 있습니다. int main() { int num=2; if(num==5) { printf("I'm if"); } else if(num==3) { printf("I'm else if"); } else { printf("I'm else"); } } 2022. 3. 15.
[C언어] if~else 문 if문은 소괄호 안이 참인 경우에 중괄호 안의 문장을 실행합니다. else 문이 있다면, if 문 소괄호 안이 거짓인 경우 else 문이 실행됩니다. #include int main() { int num=2; if(num==5) { printf("it's true"); } else { printf("I'm else"); } } 아래는 실행 결과입니다. 2022. 3. 15.
[C언어] if 문 if문은 소괄호 안이 참인 경우에 중괄호 안의 문장을 실행합니다. 예시는 아래와 같습니다. #include int main() { int num=2; if(num==2) { printf("it's true"); } } 아래는 실행 결과입니다. 2022. 3. 14.
[C언어] For 문 특정 조건을 만족할 경우 중괄호 안의 문장을 실행한다는 것은 while 문과 같습니다. 다른점은 초기식과 증감식 모두 소괄호에 포함된다는 것입니다. while 문과 비교해봅시다. 아래는 0,1,2 가 출력되는 while 문입니다. #include int main() { int num=0; while(num 2022. 3. 14.
[C언어] do while 문 do while 문은 while 문과 비슷한데, 검사 순서가 다릅니다. while 문은 검사를 먼저 하고 조건이 만족되면 명령을 실행하는 반면, do while 문은 일단 한번 실행하고 검사합니다. 아래와 같이 코드를 작성할 경우 while 문은 아무것도 출력되지 않지만 do while 문은 출력됩니다. int main() { //while문 int num; num=3; while(num 2022. 3. 11.
[C언어 강의] 24. while 문 while문은 소괄호( ) 안의 조건이 만족되었을 때, 중괄호 { } 안의 명령어를 실행하는 조건문입니다. 아래는 예시입니다. num이 3보다 작은 경우 num을 출력하는 while문입니다. #include int main() { int num=0; while(num 2022. 3. 10.
[C언어] 문자출력 vs 문자열출력 문자는 %c 서식문자를 이용하여 출력하고, 문자열은 %s 서식문자를 이용하여 출력한다. #include int main() { char word='h'; char* string="hi hello"; printf("문자 : %c \n",word); printf("문자열 : %s",string); } 아래는 결과입니다. 2022. 3. 8.
[C언어] 실수 표기법 (일반표기법 vs 지수표기법) C언어에서 실수를 표기하는 방법은 두가지가 있습니다. 일반표기법과 지수표기법입니다. 일반표기법은 서식문자 %f 를 사용하고 지수표기법은 서식문자 %e를 사용합니다. 아래 예시를 봅시다. #include int main() { printf("일반 표기법 : %f \n",0.141592); printf("지수 표기법 : %e",0.141592); } 2022. 3. 4.
[C언어] 서식문자 종류 (%d,%u,%o,%p...) printf 함수의 서식문자 입니다. 서식문자 자료형 설명 %d char, short, int 부호있는 정수 %u unsigned int 부호 없는 정수 %o unsigned int 부호 없는 정수 (8진수) %#o unsigned int 부호 없는 정수 (8진수, 0로 시작) %x unsigned int 부호 없는 정수 (16진수) %#x unsigned int 부호 없는 정수 (16진수, 0x 로 시작 ) %f float, double 실수 (부동소수점) %e float, double 실수 (부동소수점, 지수표기법) %c char, short, int 문자 %s char* 문자열 2022. 3. 4.
[C언어] 따옴표를 출력하는 방법 (/") printf 함수를 이용하여, C언어는 "정말" 재밌다 를 한번 출력해보자. #include int main() { printf("파이썬은 "정말" 재밌다."); } 오류가 발생한다. 이유는 "파이썬은 " 여기까지를 문자열의 끝으로 보기 때문이다. 이어지는 정말에서 오류가 발생한다. 이런 경우 사용하는 문자는 \" 이다. \n 은 개행을 의미했었는데, 같은 계열이다. 이런 문자들을 이스케이프 문자라고 한다. 한번 사용해보자. #include int main() { printf("파이썬은 \"정말\" 재밌다."); } 2022. 3. 4.
[C언어] 정수로 정수를 나누면? 아래 예시를 봅시다. int main() { int A=10; int B=20; int C=18; int D=12; printf("B/A : %d \n",B/A); printf("C/A : %d \n",C/A); printf("D/A : %d \n",D/A); } 코드를 실행하면 아래와 같습니다. 각각의 실제 계산결과는 아래와 같습니다. B/A = 2 C/A = 1.8 D/A = 1.2 정수형끼리 계산한 결과에서는 소수점을 날리는 것을 알 수 있습니다. 2022. 3. 3.
[C언어] int 변수를 char 로 바꾸면 벌어지는 일 아래와 같이 int 변수를 하나 정의하고, char로 바꿔봅시다. #include int main() { int num1=1024; char num2=1024; printf("num1 : %d \n",num1); printf("ch1 : %d \n",num2); } 결과는 아래와 같습니다. 0이 출력됩니다. char는 8비트인데, 1024는 비트로 표현하면 아래와 같습니다. 10000000000 뒤 8자리만 출력된 것이니 00000000 이됩니다. 2022. 3. 3.
[C언어] 문자와 문자열 출력해보기 아래는 문자와 문자열을 출력하는 예시입니다. 문자열은 서식문자 %s 를 사용합니다. #include int main() { char ch1='A'; char* ch2="ABCDEF"; printf("문자 : %c \n문자열 : %s",ch1,ch2); } 2022. 3. 2.
[C언어] 문자와 문자열 C언어에서 문자와 문자열은 다릅니다. 문자는 하나의 문자이고, 문자열은 여러 문자의 조합입니다. 문자 : A 문자열 : HELLO 문자와 문자열을 정의해봅시다. #include int main() { char ch1='A'; char ch2="B"; char ch3="ABC"; } 실행하면 아래와 같은 경고가 발생합니다. 문자는 작은따옴표를 사용해야합니다. 아래와 같이 수정합니다. #include int main() { char ch1='A'; char ch2='B'; char ch3="ABC"; } 경고가 하나 남았습니다. 문자열인 ABC 는 아래와 같이 char* 형태로 정의해주어야 합니다. 포인터라는 것인데 나중에 배우도록 합시다. #include int main() { char ch1='A'; c.. 2022. 3. 2.
[C언어] 문자 자료형과 아스키코드 컴퓨터는 0과 1만을 표현할 수 있습니다. 우리가 사용하는 숫자를 컴퓨터에 입력하기 위해 이진법을 이용했습니다. 문자는 어떻게 입력해야 할까요? 문자는 숫자에 대응시켜서 입력합니다. 문자를 숫자에 대응시키는 표준이 있는데요. ANSI 에서 만든 아스키입니다. 아스키(ASCII) : American Standard Code for Information Interchange 몇가지 예를 들면 아래와 같습니다. 33 : ! 35 : # 37 : % 우리가 문자를 입력하면 컴퓨터에서는 숫자로 변환하여 저장합니다. 아래 예시를 봅시다. #include int main() { char A; A='!'; printf("%d \n",A); printf("%c",A); } ! 라는 문자를 정수형태로 출력하면 33이 출력.. 2022. 3. 2.
[C언어] 정수 자료형의 종류와 출력형식 정수 자료형을 정의할 때 아래와 같이 선언하고 나서 정의합니다. int var; var=3; int var 은 var 라는 변수를 정의할 것인데, 자료형을 int 로 사용할 것이라는 뜻입니다. int 는 정수자료형이고, 4바이트를 사용합니다. 정수자료형은 int 외에도 아래와 같이 여러가지가 있습니다. Type Size(byte) 범위 출력형식 char 1 -128~127 %c short 2 -32768~32767 %hd int 4 -2147183648~2147483647 %d long 4 -2147183648~2147483647 %ld long long 8 -9223372036854775808~9223372036854775807 %lld 부호가 없는 unsigned 도 있는데 생략합니다. 아래와 같이 .. 2022. 2. 28.
[C언어] 정수의 표현 (비트와 바이트) 컴퓨터가 정수를 어떻게 표현하는지 알아보겠습니다. 그 전에 비트와 바이트에 대해 공부해봅시다. 비트와 바이트 컴퓨터에서 자료를 저장 가장 작은 단위가 비트(bit) 입니다. 0 또는 1이라는 이진수 값을 저장합니다. Binary Digit 을 줄여서 bit라고 부릅니다. 비트가 8개 모인 것을 바이트(Byte)라고 합니다. C언어에서 하나의 정수를 표현할 때는 4 바이트를 사용합니다. 정수의 표현에서 왜 비트와 바이트를 먼저 이야기했는지 아시겠죠? int는 몇비트일까 우리는 정수인 변수를 만들 때, int 라는 코드를 앞에 붙여주었습니다. int 자료형인 변수가 가질 수 있는 메모리 크기가 4바이트이고, 비트로 환산하면 32비트입니다. 32비트는 2^32개의 표현이 가능합니다. 계산하면 4,294,967.. 2022. 2. 28.
[C언어] 2진수는 알겠는데 16진수는 왜 쓸까 컴퓨터는 모든 데이터를 0과 1로 표현합니다. 2진법을 사용하는 것입니다. 그런데 컴퓨터를 공부하다 보면 16진수을 보게 됩니다. 예를들어 컴퓨터에서 색을 표현할 때, 아래와 같은 16진수 색상코드를 사용합니다. 빨강 : # FF0000 노랑 : # FFFF00 16진수를 사용하는 이유는 가독성 때문입니다. 빨강을 2진수로 표현하면 아래와 같습니다. 111111110000000000000000 빨간색을 쓰고 싶을 때 위 숫자를 코드에 넣어야 한다고 생각해보시면 16진수의 필요성을 쉽게 이해하실 수 있을겁니다. 2022. 2. 28.
[C언어] 값 입력받기 (scanf) 우리가 컴퓨터로 하는 작업을 간단히 세가지로 나타내면 아래와 같습니다. 자료를 입력하고 연산하고 화면에 출력한다. 출력하는 함수인 printf 함수는 이미 알고 있습니다. 연산은 함수를 이용하는데 나중에 배울겁니다. 키보드에서 입력된 값을 받아오는 함수는 scanf 입니다. 아래와 같이 사용합니다. 사용 방법은 printf 와 동일한데, 변수 앞에 &을 붙여줍니다. 변수의 주소에 접근하기 위함입니다. #include int main() { int A; printf("숫자를 입력하세요"); scanf("%d",&A); printf("당신이 입력한 숫자는 %d 입니다.",A); return 0; } 2022. 2. 28.
[C언어] 논리연산자와 관계연산자 동시에 써보기 (우선순위) 논리연산자와 관계연산자를 동시에 사용해보는 예시입니다. #include int main() { int A,B,C,D,result1; A=1,B=2,C=3,D=4; result1= A>3 && B==2; printf("result1 : %d \n",result1); return 0; } 결과는 아래와 같습니다. 연산 부분만 보면 아래와 같습니다. result1= A>3 && B==2; 괄호를 따로 입력하지 않았지만 비교연산자가 먼저 수행됩니다. 비교연산이 논리연산보다 연산 우선순위가 높습니다. 2022. 2. 25.
[C언어] 논리연산자와 부울연산 컴퓨터 언어에는 '논리연산'이 있습니다. 논리연산은 논리값으로 하는 연산입니다. 조지 부울이 발견했기 때문에 부울연산이라고도 부릅니다. 논리값은 0과 1입니다. 0은 거짓, 1은 참을 의미합니다. 참과 거짓을 가지고 하는 연산이 논리연산입니다. 기본적인 논리연산에는 세가지가 있습니다. - 논리곱(AND) - 논리합(OR) - 부정(NOT) 1) 논리곱 논리곱은 둘다 참인 경우에만 참을 반환합니다. 연산자는 && 입니다. 표로 나타내면 아래와 같습니다. A B A && B 1 1 1 1 0 0 0 1 0 0 0 0 코드 예시는 아래와 같습니다. #include int main() { int A; int B; int result1; A=1; B=0; result1=(A && B); printf("result.. 2022. 2. 25.
반응형