본문 바로가기

카테고리 없음

빡공단 C언어 6~10강 요약🖥️

빡공단 C언어클래스

 

 

안녕하세요 개발하지영의 박지영입니다.😊

오늘은 빡공단 C언어 6~10강 요약 글을 가져왔습니다.

 

빡공단이 뭘까?

빡공단은 배어유에서 진행하는 자기주도학습 클래스입니다.

C언어 같은 프로그래밍 클래스만 있는 것이 아닌

노션, 토익, 영어회화 등 다양한 실생활에서 유용한 강의도 많습니다. 

 

현재 저는 빡공단 42기로 활동중이고,

참가비는 없지만 강의비(약 5만 원대)가 존재합니다.

다음으로 43기를 하니까 신청하시는 걸 추천합니다.

 

이제 요약정리를 보여드리겠습니다.

제 글로 C언어를 수강하시고,

빡공단 43기에서는 다른 걸 수강하시면 효율적이겠죠?? 😄

 

 

< 06강 (ascil, 문자도 숫자다) >

 

디지털 표헌

0과 1로 모든 것을 표현(2진수)

ex. 0과 1을 전등으로 표현할 수 있습니다.

0은 꺼짐 1은 켜짐으로요

 

문자는 숫자로 코디화 할 수 있습니다 -> aicii코드(아스킵코드) 사용

A = 65, a = 97, 0 = 48 이 3개의 아스킵코드만 외워두시면 활용에서는 편리합니다.

왜냐하면 B를 찾고싶으면 A의 아스킵코드인 65에서 +1만 하면 나와요 !

 

#include <stdio.h> 
//#include == 포함한다. <stdio.h> == scanf와 printf를 사용할때 필요한 파일의 이름 
#include <stdlib.h>
int main(int argc, char *argv[]){
	
	printf("%c", 'A'); //A
	printf("%d", 'A'); //65
	
	printf("%c", 65); //A
	printf("%d", 65); //65
	
	printf("%d", 'a'); //97
	printf("%c", 97); //a
	
	printf("%d %d %d", 'a', 'b', 'c'); // 97 98 99
	printf("%c %c %c", 97, 98, 99); // a b c
	printf("%c %c %c", 97, 97+1, 97+2); //연산으로 해서도 가능
	printf("%c %c %c", 'a', 'a+1', 'a+2'); //a b c
	return 0;	
	
	//특수문자 활용도 해보면 좋아요 
	
}

 

 

< 07강 (진법표현) >

 

2진수 : 0,1로 모든 것을 표현하는 수

단점 : 숫자가 커지면 자리수가 길어지는 단점

 

8진수 : 0~7의 숫자로 표현하는 방법

 

16진수 : 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11로 가는 숫자구성

(16진수의 형식지정자는 %x)

 

 

10진수(생활진수) -> 2진수로 변경

(소인수분해처럼 -> 2가 남지않을 때 까지 2로 나누기 ->

이때 전부 다 나누었을 때 나머지가 남는 것 1 아니면 나머지가 안남는 0 이걸 모두 정렬 후 2에 곱하기)

 

2진수 -> 8진수로 표현

(2진수를 3개씩 나눈 후 8진수로 변환하고 합치기)

 

2진수 -> 16진수로 표현

(2진수를 4개씩 나눈 후 16진수로 변환하고 합치기)

 

#include <stdio.h> 
#include <stdlib.h>
int main(int argc, char *argv[]){
	
	printf("%d \n", 123);
	
	printf("%d \n", 0b01111011); //123 (10 -> 2진수) 
	
	printf("%o \n", 123); //173 (10 -> 8) 123을 8진수로 표현 
	//(8진수는 173을 일칠삼 이라고 읽는다) 
	
	printf("%x \n", 123); //7b (16진수) 
	
	printf("%d \n", 0173) //123
	
	printf("%d \n", 0x7b); //123 (7b앞에 0x라는 것을 붙여주어야 한다) 
	
	 
	
	return 0;	
		
}

 

 

< 08강 (연산자1) >

 

관계 만족 할 경우 True

관계 불만족 할 경우 False

 

관계 연산자

> 왼쪽이 오른쪽보다 크다, >= 왼쪽이 오른쪽보다 크거나 같다,

< 오른쪽이 왼쪽보다 크다, <= 오른쪽이 왼쪽보다 크거나 같다,

== 같다, != 다르다

+ 더하기 , - 빼기 , * 곱하기 , / 나누기 , % 나머지

++ 원래의 값에 +1, -- 원래의 값에 –1

+=, -= 줄여서 표현 가능

 

#include <stdio.h> 
#include <stdlib.h>
int main(int argc, char *argv[]){

	int a;
	
	a = 123; //대입연산자 
	printf("%d", a);
	
	a = 123 + 1;
	printf("%d", a); //124
	
	a = 123 - 1; //122
	printf("%d", a);
	
	a = 123 * 2; //246
	printf("%d", a);
	
	a = 123 / 10; //12 
	printf("%d", a);
	
	a = 123 % 2; //1
	printf("%d", a);
	
	int A, B;
	
	A = 20;
	B = 30;
	
	printf("%d", A>B); //F or 0
	printf("%d", A<B); //T or 1
	printf("%d", A>=B); //F or 0
	printf("%d", A<=B); //T or 1
	printf("%d", A==B); //F or 0
	printf("%d", A!=B); //T or 1
	
	A++;
	printf("%d", A); //21
	
	A--;
	printf("%d", A); //20
	
	A+=1;
	printf("%d", A); //21
	
	A-=1;
	printf("%d", A); //20
    
    return 0;
}

 

< 09강 (연산자2) >

 

논리연산자

&& : and

|| : or

! : not

 

비트연산자

& : and ex. 1100 1000 => 1000

| : or ex. 1001 0110 => 1111

~ : not ex. 1100 -> 0011

 

#include <stdio.h> 
#include <stdlib.h>
int main(int argc, char *argv[]){
	
	int a=1, b=0, c-1;
	int R1, R2, R3, R4, R5, R6;
	
	R1 = a&&b;
	R2 = a&&c;
	R3 = a||b;
	R4 = b||c;
	R5 = !a;
	R6 = !b;
	
	printf("%d \n", R1);
	printf("%d \n", R2);
	printf("%d \n", R3);
	printf("%d \n", R4);
	printf("%d \n", R5);
	printf("%d \n", R6);
	
//

	int A=0b1100, B=0b1010;
	int Re1, Re2, Re3;
	
	Re1 = A & B;
	Re2 = A | B;
	Re3 = ~A;
	
	printf("%x \n", Re1);
	printf("%x \n", Re2);
	printf("%x \n", Re3);


	
	return 0;	
		
}

 

 

< 10강 (비트 쉬프) >

 

비트 쉬프트 연산

좌측 쉬프트 연산 (<<<)

ex. 1011110 <<1 =>101111100 (맨 뒷자리 0이 채워짐)

우측 쉬프트 연산 (>>>)

ex. 1011110 >>1 =>01011111 (맨 앞에 1이 채워지며 뒤로 밀림(맨 뒤 하나 없어짐)

 

#include <stdio.h> 
#include <stdlib.h>
int main(int argc, char *argv[]){
	
	int a = 0b0001;
	a=a<<1;
	printf("%x", a); //2
	
	a=a<<2;
	printf("%x", a); //4
	
	a=a>>1;
	printf("%x", a); //4
	
	a=a>>2;
	printf("%x", a); //2
	
	//특징 : 가중치를 가진다 
	
	int A = 0b1000;
	A=A>>1;
	printf("%x", A); //4
	
	int b = 128;
	b=b<<1;
	printf("%x", A); //256
	 
	//%x는 16진수라서 16진수 형태로 변환되어 나옵니다.
	//2 4 8 16 32 이걸로 연습하시면 쉬워요 (경험담)
	 
	
	return 0;	
		
}

 

이상

빡공단 C언어 클래스 6~10강 요약을 마칩니다.

 

요약이 유용하고 마음에 드셨다면 좋아요와 댓글, 팔로우 부탁드립니다.

좋은 개발자로 성장하기 위한 한 학생의 글이니

혹시 문제점이나 다르게 적은 게 있다면 댓글로 피드백 부탁드립니다!!

 

혼공단(컴퓨터구조 + 운영체제), 코딩자율학습(파이썬) 등의 요약글도 있으니 많이 봐주세요 !!