본문 바로가기
[C언어 기초-09] 비트 연산자 논리 연산자 ~, &, |, ^ 비트 논리 연산자는 하나의 단항 연산자(~)와 세 개의 이항 연산자(&, |, ^)로 구성되어 있다. 논리 연산자와 기본 메커니즘은 같다고 생각하면 되고 비트는 0과 1로 되어있으니 0이 거짓 1이 참으로 생각하면 된다. 연산자 의미 사용법 기능 ~ 비트 부정 (NOT) ~ x x의 각 비트를 반전 1의 보수 연산 & 비트곱 (AND) x & y x, y를 각 비트 단위로 AND 연산 | 비트합 (OR) x | y x, y를 각 비트 단위로 OR 연산 ^ 배타적 논리합 (XOR) x ^ y x, y를 각 비트단위로 XOR 비트 부정(~)은 0은 1로 1은 0으로 바꾸면 된다. (NOT) 비트곱은 두 값이 1일 경우만 1로 계산한다. (AND) 비트합은 둘 중 하나라도 1이면 1로 계산한다. (OR) 배타.. 2024. 1. 25.
[C언어 기초-08] 비트 연산자 시프트 연산자 시프트 연산자 비트 시프트 연산자는 왼쪽의 값을 오른쪽 값만큼 비트를 왼쪽 혹은 오른쪽으로 이동시키는 연산자이다. 결과적으로는 비트를 이동시킬 때마다 2의 거듭제곱만큼 곱셈 또는 나눗셈을 한다. 연산자 의미 기본 형식 설명 > y x의 비트 표현을 y값 만큼 오른쪽으로 이동 왼쪽 이동 연산 비트를 왼쪽으로 이동시키며 이동 후 오른쪽 빈 공백은 0을 채워 넣고 왼쪽에서 밀려난 비트들은 버린다. 예를 들어 4 > 3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 16을 8비트로 표현한 후 오른쪽으로 이동시킨다. 값은 2가 된다. 16 / (2의 3제곱)이 된다. 2024. 1. 8.
[C언어 기초-07] 논리 연산자 and, or, not연산자 &&, ||, ! 관계 연산자는 , 뭐 이렇게 생겨먹어서 대충 필수 교육 과정을 거치면 의미를 이해하기 쉽다. 보다 크다, 작다 뭐.. 근데 논리연산자는 생겨먹은게 &&, ||, ! 뭐 이렇게 생겼다. 저게 뭐지 뭐 느낌표는 팩토리얼인가... 논리 연산자 연산자 의미 기본 형식 기능 && 논리곱 (and) x && y x와 y의 값이 모두 참이면 참 하나라도 거짓이면 거짓 || 논리합 (or) x || y x나 y 중 하나라도 참이면 결과값은 참. 둘다 거짓이면 거짓 ! 논리부정 (not) !x x의 논리 값이 참이면 거짓, 거짓이면 참 - && and연산자라고도 한다. 보통 조건문 같은대서 모든 조건을 만족시켜야할 경우에 사용하곤 한다. int a = 3; int b = 4; if( a < 10 && b < 10) { .. 2021. 8. 21.
[C언어 기초-06] 관계(비교) 연산자 관계연산자 수식과 수식사이의 대소, 동등, 관계를 비교하는 이항연산자이다. 수식의 결과는 참, 거짓이 나오는데 C언어에서는 참이면 1, 거짓은 0이 나온다. 주로 다른 언어에서는 true false값이 나온다. 주로 if문이나 while문의 조건식으로 사용한다. 관계 연산자에는 > , =, . =, b); 7printf("%d + (2 > %d) = %d\n", a, b, a + (2 > b)); 8printf("%d c); 13printf("%d %d > %d = %d\n", a, b.. 2021. 8. 18.
[C언어 기초-05] 연산자 (대입, 산술, 증감연산자) C언어 연산자 대입연산자 앞서 나온 변수와 자료형 편에서 이미 대입연산자의 정의 아닌 정의가 나오기도 했고... 뭐 여러 코드를 실습하고 보면은 그냥 자연스레 몸에 익혀진다. 우선 대입연산자는 ' = ' 이다. 여기서 equal(동일)의 의미가 아닌 assign(할당하다)이다. 즉 변수 = 데이터; 는 변수에 데이터를 할당하다, 배정하다, 대입하다가 되는 것이다. 쉽게 오른쪽에 있는 값을 왼쪽에 넣는다. int n;// 정수형 변수 n 선언 n = 10;// 변수 n에 정수 10을 대입하여 초기화 이런식으로 사용할 수 있다. 아주 간단하다. 산술연산자 산술 연산자는 +, -, *, /, % 이렇게 다섯개 있다. 변수에 값을 할당하여 산술연산자로 계산을 해도 되고 그냥 쌩값과 값대로 계산해도 된다. (변수.. 2021. 8. 3.
[C언어 에러 해결] Visual Studio 2019 scanf() C4996 에러해결 C4996 오류 scanf: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Visual Studio 에서 scanf()를 사용하면 저런 에러가 뜬다. 번역기를 돌려보면 이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 scanf_s를 사용하는 것이 좋습니다. 지원 중단을 비활성화하려면 _CRT_SECURE_NO_WARNNINGS를 사용하세요. 자세한 내용은 온라인 도움말을 참조하십시오. 이렇게 뜬다. scanf_s를 쓰던지 _CRT_SECURE_NO_WARNINGS 를 사.. 2021. 8. 2.
[C언어 기초-04] 데이터 입출력 2. scanf() 표준입출력함수 Scanf() 저번 글에 printf()에 대해 알아보았다. 이번에는 scanf()에 대해 알아보자. scanf()도 printf()랑 마찬가지로 헤더파일을 입력해줘야 한다. #inclue 사용 방법도 별 차이가 없다. #include main(){ int num;//정수형 변수 선언 printf("숫자를 입력해주세요 : "); scanf("%d", &num);//정수타입 입력 printf("입력한 수는 : %d", num); } printf()와 마찬가지로 입력 형식을 "" 안에 변환형식 %d 와같이 사용하고 &num 2021. 7. 27.
[C언어 기초-03] 데이터 입출력 1. printf() 저번 시간에 대애충 데이터 변수와 자료형, 선언과 초기화 하는 방법을 알아보았다. 쌈박한 복습을 해보자면 int number; //int 자료형 변수 number 선언 number = 10; //변수 number 10으로 초기화 이렇게 사용하면 된다. 뭐 자세하게는 실습하다보면 자연스레 몸에서 익혀질 것이고.. 이번에는 데이터 입출력 함수에 대해서 알아본다. 1. 표준 입출력 함수 C언어는 컴파일러에 의해 제공되는 표준 라이브러리 함수가 있다. 이 라이브러리를 사용하기 위해서는 헤더파일을 명시해 줘야 한다. 헤더 파일에는 , , 등이 있다. 입출력 함수는 stdio.h에 정의되어 있어 이것을 상단에 적어준다. #include 이렇게 선언해주면 된다. 그럼 이제 표준 입출력 함수를 사용할 준비가 끝났다. .. 2021. 4. 29.
[C언어 기초-02] 데이터 편 변수와 자료형 들어가기 데이터를 다루기 위해서는 변수를 사용해야 한다. 여기서 변수란?? 우리가 일상속에서 사용하는 변수란 뜻을 생각해보자. 뭐 설명하긴 어렵지만 '예상치 못한 변수' 라고 하면 딱 꽂힐 것이다. 뭐 비슷한 맥락같다. 쉽게 생각해서는 변하는 수라고 봐도 되겠다. 프로그램에서는 여러 데이터를 사용자가 입력하기도 하고 입력한 값에 따라서 출력하기도 한다. 계산기를 떠올리면 이해가 잘 간다. 그 데이터의 값을 저장하여서 요리조리 더하고 빼고 뭐 여러 과정을 거쳐 사용자에게 보여주기도 한다. "즉 데이터를 저장해 놓는 방" 이라고 생각하면 좋다. 아무튼 나중에 예제를 보고 보고 또 보고 코딩을 하고 하고 또 하다 보면 그냥 자연스럽게 내가 말하는 언어 마냥 머리속에 박히게 될 것이다. 하지만 아예 모르고 예제.. 2020. 11. 5.
[C언어 기초-01] Visual Studio 2019 설치하기 개발환경 visual studio 2019 c언어를 공부하기 위해선 비주얼스튜디오가 필요하다.뭐 이클립스나 다른 컴파일러도 상관은 없다.하지만 내가 사용하는 것이 이거이기 때문에 이걸로 우선 설치를 해보자.그런데 이게 뭘까?? 간단하게 얘기하자면 프로그램을 만드는 프로그램툴이라고 생각하면 된다.그것만 알아도 충분하다. 뭐 좀 있어보이게 얘기하자면 사람이 프로그래밍한 언어를 컴퓨터가 알아들을 수 있게 기계어로 변환해주는 번역기라 보면 된다. 우선 visual studio 2019 다운 이 링크에 들어가면 아래처럼 세개의 다운로드가 있다.우리는 무료로 사용할 수 있는 커뮤니티를 설치할 것이다. 다운로드를 받고 exe 파일을 실행해보자. 계속을 누른다. 기다리라는 말을 잘 들으면 된다. 기다리면 이렇게 화면이 뜬다. .. 2020. 10. 28.
[c언어 시작] 개발자가 되려면 c언어를 공부해야 하는 이유 4차산업시대, IT, 인공지능, IOT, 빅데이터, VR/AR, 스마트폰, 스마트, 스마트, 스마트 뭐 요즘에는 초등학생 때부터 코딩을 배운다는 말이 있다. 실제로 그런지 안 그런지는 내가 뭐 조사해본 적도 없어서 잘은 모르겠지만 아무튼 예전에 내가 초등학생 때 가벼운 마음으로 방과 후 학교에서 컴퓨터를 배우며 컴이조아 같은 뭐 이상한 걸 했는데 그때보단 컴퓨터에 접근하기가 더 수월해졌으리라 본다. 개발자.. 나는 뭔가 개발자란 단어가 멋있어 보였다. 뭔가 개발하는 사람이여서 멋있고 특히나 예전부터 지금까지 쭉 좋아하는 게임들도 그들이 만들고 나도 그렇게 되고 싶기도 했다. 내 주위에도 비전공자인데 개발자가 되고 싶어하는 경우를 봤다. 비전공자가 할 수 있느냐?? 충분히 가능하다고 본다. 나 같은 경우는.. 2020. 10. 17.