반응형

데이터 저장방식이 3가지 있는데,

그냥 숫자를 저장 : 10진수

앞에 0x 로 시작하면 : 16진수

앞에 0으로 시작하면 : 8진수

모두 10진수 출력

#include "stdio.h"

int main()
{

	int num1 = 10;	// 10진수 저장
	int num2 = 0xA;	// 16진수 저장
	int num3 = 012;	// 8진수 저장

	printf("10진수 출력: %d, %d, %d\n", num1, num2, num3);

}

(결과) 결과를 보면

0xA는 16진수로 10진수 10을 의미한다.

012도 8진수로 10진수 10을 의미한다.

 

 

 

 

<각 진수로 출력하기>

#include "stdio.h"

int main()
{

	int num1 = 10;	// 10진수 저장
	int num2 = 0xA;	// 16진수 저장
	int num3 = 012;	// 8진수 저장

	printf("10진수 출력: %d\n", num1);
	printf("16진수 출력: %x\n", num2);
	printf("8진수 출력: %o\n", num3);
}

 

반응형
반응형

<printf 함수 사용법. (출력) >

printf("this is %d", 변수명)

예시)

#include "stdio.h"

int main()
{
	int a = 1;
	// 문자열만 출력
	printf("this is test\n");
	// 문자열과 변수와 함께 출력
	printf("this is %d", a);
}

 

반응형

 

 

<scanf 함수 사용법. (입력) >

scanf("%d", &변수명)

예시)

#include "stdio.h"

int main()
{
	int a;
	char b;
	float c;
	// 한개만 입력 받기
	scanf_s("%d", &a);
	// 3개 입력 받기, 정수형, 문자형, 실수형 (띄어쓰기로 구분자)
	scanf_s("%d %c %f", &a, &b, &c);
}
#include "stdio.h"

int main()
{
	int a;
	char b;
	float c;
	// 한개만 입력 받기
	scanf("%d", &a);
	// 3개 입력 받기, 정수형, 문자형, 실수형 (띄어쓰기로 구분자)
	scanf("%d %c %f", &a, &b, &c);
}

위 예를 보면 scanf 와 scanf_s 가 있다. 이는 두개가 같은것. scanf를 썼을 때 에러가 발생 할 수 있다. 그 경우 아래 참고.

https://ansan-survivor.tistory.com/899

 

[Visual Studio 2019] 비주얼 스튜디오 2019 scanf_s 오류, scanf 사용하기 변경

예전에는 scanf 를 상용함에 있어 문제가 없었는데, 비쥬얼스튜디오가 계속업그레이드가 되면서 scanf_s를 사용하지 않으면 오류를 일으킨다. 따라서 이 에러를 해제 시키고 예전처럼 scanf를 사용

ansan-survivor.tistory.com

(결과) 

한개만 입력할때는 int 형이므로 숫자를 입력.

3개 입력시 띄어쓰기 구분자, 각 타입에 맞게 입력.

 

 * C언어의 문자열을 scanf로 사용하는 방법 아래 참고. (문자열 배열)

https://ansan-survivor.tistory.com/1236

 

[C언어] C언어 문자열 배열 만들기, 구조에 대해서, scanf 문자열 출력

C언어는 문자열을 표현하기 위해 배열(Array)를 활용한다. 그리고 문자열을 표현하기 위해 보통 1byte 크기인 'char' 타입을 사용한다. 문자열의 끝은 NULL을 사용한다. (문자열 마지막에 \0 이 있으면

ansan-survivor.tistory.com

 

반응형
반응형

 

 

1. 편집 - 찾기 및 바꾸기 - 빠른바꾸기

    (또는 단축키 Ctrl + H)

 

2. 위쪽이 찾은 단어, 아랫쪽이 바꾸고자 하는 단어 - (2)번 클릭하면 전체 변경

 

(결과) 위 경우 scanf 가 모두 scanf_s 으로 바뀐 것이다.

 

 

반응형
반응형

아래 코드는 사용자에게 입력을 받는 scanf 함수를 사용한다.

비주얼스튜디오에서 scanf를 사용시 발생하는 에러에 대한 내용 아래 참고.

https://ansan-survivor.tistory.com/899

 

[Visual Studio 2019] 비주얼 스튜디오 2019 scanf_s 오류, scanf 사용하기 변경

예전에는 scanf 를 상용함에 있어 문제가 없었는데, 비쥬얼스튜디오가 계속업그레이드가 되면서 scanf_s를 사용하지 않으면 오류를 일으킨다. 따라서 이 에러를 해제 시키고 예전처럼 scanf를 사용

ansan-survivor.tistory.com

 

아래 함수는 사용자에게 연산자(덧셈, 뺄셈, 곱셈, 나눗셈)를 입력 받고 값 2개를 계산하는 코드이다.

 

C언어에서 사용하는 If, else, if else 문에 대한 예시, 조건에 만족하면 진행하고 그렇지 않으면 통과한다.

그리고, do - while 반복문을 사용했다. (조건이 맞을때까지 반복하고, 조건이 맞으면 탈출)

사용한 비교 연산은 == AND연산, 두 조건이 내가 넣은 값 (char)이 일치해야 수행

#include <stdio.h>

int main(void)
{
	char  x;
	int a, b, result;

	printf("********************\n");
	printf("A----Add\n");
	printf("S----Subtract\n");
	printf("M----Muliply\n");
	printf("D----Divide\n");
	printf("Q----Quit\n");
	printf("********************\n\n");

	do
	{
		printf("[A,S,M,D,Q]에서 연산을 선택하시오:");
		scanf_s(" %c", &x);

		if (x == 'A')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a + b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'S')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a - b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'M')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a * b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'D')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a / b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'Q')
		{
			break;
		}
		else
		{
			printf("잘못입력하셨습니다. 다시 입력하세요\n");
		}
	} while (x == 'A', 'S', 'M', 'D', 'Q');   // 이곳이 거짓이면 다시 반복하여 실행.

	return 0;
}

 

(실행 결과)

A면 덧셈연산을 수행, 그리고 값을 넣고 엔터, 또다른 값을 넣고 엔터를 누르면 연산결과 값이 출력된다.

또는 한줄에 연산자와 숫자를 띄어쓰기를 기준으로 값을 넣으면 연산이 된다.

 

만약 Q를 입력하면 break; 함수를 통해 while 반복문을 탈출한다.

 

 

 

 

 

반응형
반응형

비트연산의 Shift는 비트를 우측, 좌측으로 이동시켜주는 연산자이다.

아래 예시를 보면 쉽게 이해할 수 있다.

예를들어 0001 을 << 연산하면 좌측으로 1칸 이동하는 것이고, >> 연산하면 우측으로 이동시키는 것이다.

 

<좌측으로 Shift 연산>

#include<stdio.h>
#include<string.h>


int main()
{
	int num = 15;								// 00000000 00000000 00000000 00001111
	int result1 = num << 1;						// 00000000 00000000 00000000 00011110
	int result2 = num << 2;						// 00000000 00000000 00000000 00111100
	int result3 = num << 3;						// 00000000 00000000 00000000 01111000

	printf("왼쪽으로 1칸 이동 : %d\n", result1);
	printf("왼쪽으로 2칸 이동 : %d\n", result2);
	printf("왼쪽으로 3칸 이동 : %d\n", result3);

	return 0;
}

반응형

 

<우측으로 Shift 연산>

#include<stdio.h>
#include<string.h>


int main()
{
	int num = 15;								// 00000000 00000000 00000000 00001111
	int result1 = num >> 1;						// 00000000 00000000 00000000 00000111
	int result2 = num >> 2;						// 00000000 00000000 00000000 00000011
	int result3 = num >> 3;						// 00000000 00000000 00000000 00000001

	printf("오른쪽으로 1칸 이동 : %d\n", result1);
	printf("오른쪽으로 2칸 이동 : %d\n", result2);
	printf("오른쪽으로 3칸 이동 : %d\n", result3);

	return 0;
}

* 주의사항 * 

 ">>" 연산자는  일반적으로 안쓰는 것이 좋다. (호환성이 부족, 다만 CPU의 호환성 여부를 알고 있다면 사용가능)

연산자는 CPU따라 다른데, MSB(가장 왼쪽 끝 비트)에 0을 채울수도 있고, 1을 채울 수도 있다. 대부분의 인텔 CPU는 아래와 같은 결과를 얻을 수 있지만, AMD CPU는 다른결과를 얻을 수 있다.

간혹 일부 CPU는 >> 연산시 0을 가져오는 CPU들도 있다.

11110000 >> 1  했을 때,  결과로

01111000 이 나올 수 있다. (양수)

이 점을 잘 유의해야 한다.

 

 

비트연산자 AND, OR, XOR, NOT 에 대해서는 아래 참고

https://ansan-survivor.tistory.com/1173

 

[C언어] C언어 비트연산자 AND, OR, NOR, NOT 예제 코드

비트연산의 기초 연산자 4개 예제 코드 32비트 PC는 아래와 같이 총 비트 갯수가 32개이다. 비트 연산을 해서 결과값을 int형으로 확인 AND연산 (둘다 1이어야 1을 반환) 0 & 0 0반환 0 & 1 0반환 1 & 0 0반

ansan-survivor.tistory.com

 

반응형
반응형

비트연산의 기초 연산자 4개 예제 코드

32비트 PC는 아래와 같이 총 비트 갯수가 32개이다.

비트 연산을 해서 결과값을 int형으로 확인

 

 

 

AND연산 (둘다 1이어야 1을 반환) "&"

0 & 0 0반환
0 & 1 0반환
1 & 0 0반환
1 & 1 1반환

#include <stdio.h>

int main(void)
{
	int num1 = 15;				// 00000000 00000000 00000000 00001111
	int num2 = 20;				// 00000000 00000000 00000000 00010100

	int num3 = num1 & num2;			// 00000000 00000000 00000000 00000100
	
	printf("AND연산 결과 : %d", num3);
}

num2 &= 3 의미 : num2에 0000 0101을 AND연산해라

 

==========================================

 

OR연산 (둘중 하나라도 1이면, 1을 반환) "|"

0 | 0 0반환
0 | 1 1반환
1 | 0 1반환
1 | 1 1반환

#include <stdio.h>

int main(void)
{
	int num1 = 15;				// 00000000 00000000 00000000 00001111
	int num2 = 20;				// 00000000 00000000 00000000 00010100

	int num3 = num1 | num2;		// 00000000 00000000 00000000 00011111
	
	printf("OR연산 결과 : %d", num3);
}

 num2 |= 3 의미 : num2에 0000 0101을 OR연산해라 



==========================================

 

 

XOR연산 (두개가 같으면 0반환, 두개가 다르면 1반환) "^"

0 ^ 0 0반환
0 ^ 1 1반환
1 ^ 0 1반환
1 ^ 1 1반환

#include <stdio.h>

// AND연산자
int main(void)
{
	int num1 = 15;				// 00000000 00000000 00000000 00001111
	int num2 = 20;				// 00000000 00000000 00000000 00010100

	int num3 = num1 ^ num2;	// 00000000 00000000 00000000 00011011
	
	printf("OR연산 결과 : %d", num3);
}

 

 

 

NOT연산 (서로 다른 값을 반환) "~"

~ 0 1반환
~ 1 0반환

#include <stdio.h>

int main(void)
{
	int num1 = 15;				// 00000000 00000000 00000000 00001111
	int num2 = ~num1;			// 11111111 11111111 11111111 11110000

	
	printf("NOT연산 결과 : %d", num2);
}

 

 

비트를 좌우로 한칸씩 이동시키는 Shift 연산자에 대해서는 아래 참고.

https://ansan-survivor.tistory.com/1174

 

[C언어] 비트연산자 Shift 예제 (<<, >> 한 비트씩 움직이기)

비트연산의 Shift는 비트를 우측, 좌측으로 이동시켜주는 연산자이다. 아래 예시를 보면 쉽게 이해할 수 있다. 예를들어 0001 을 << 연산하면 좌측으로 1칸 이동하는 것이고, >> 연산하면 우측으로

ansan-survivor.tistory.com

 

반응형
반응형

Workbench로 MySQL데이터베이스를 생성하는 방법 아래참고,

https://ansan-survivor.tistory.com/1130

 

[MySQL] MySQL windows 10에 설치하기 환경 세팅하기, 오라클 DBMS 설치하기

기본 요구사항 Windows 10 64 bit. (win7은 MySQL 8.0.3 rc버전) (32bit는 MySQL 5.7.x 버전) 1. 아래 공식 다운로드 페이지에서 다운로드 https://downloads.mysql.com/archives/community/?version=8.0.17 MySQL..

ansan-survivor.tistory.com

 

모델링을 생성한 후 Table 생성하여 데이터베이스에 저장하는 방법은 아래 참고.

https://ansan-survivor.tistory.com/1171

 

[MySQL] MySQL Workbench로 데이터베이스 모델링 구축하고 테이블 자동 생성시키기

앞서 데이터베이스 모델링에 관한 설명을 했다. https://ansan-survivor.tistory.com/1167 [MySQL] 데이터베이스 모델링 간단한 계념과 간단한 예. 모델링 순서 실제로 데이터베이스 모델링은 엄청 복잡하지

ansan-survivor.tistory.com

 

 

 

이 포스팅은 기존에 MySQL Workbench에서 생성한 데이터베이스를 바탕으로 모델링을 생성시킬 수 있다.

 

1. Database - Reverse Engineer

 

2. Next

 

3. Next

 

4. 현재 띄운 프로젝트중 원하는 데이터베이스를 선택 후, Next

 

5. Next

 

6. Table, View 모두 Import할것이므로 Next

 

7. Next

 

(결과) 기존의 데이터베이스를 바탕으로 자동으로 모델링이 생성되어 GUI로 볼 수 있다.

이를 모델로 저장

반응형
반응형

앞서 데이터베이스 모델링에 관한 설명을 했다.

https://ansan-survivor.tistory.com/1167

 

[MySQL] 데이터베이스 모델링 간단한 계념과 간단한 예. 모델링 순서

실제로 데이터베이스 모델링은 엄청 복잡하지만, 아래 영상에서는 간략하게 설명해 주었다. 이를 정리한다. (아래 영상을 참고) https://youtu.be/JfROL0b_bTo 영상을 간략히 정리. 예전에는 데이터가 별

ansan-survivor.tistory.com

 

 

위 내용을 바탕으로 실제로 MySQL Workbench로 간단히 구축해본다.

이 방법을 이용하면 GUI로 쉽게 모델링 관계를 구축할 수 있으며, 자동으로 SQL문을 생성시켜 테이블을 만들 수 있다.

 

1. Workbench 로컬호스트 로그인. 설치및 관련 사항은 아래 참고

https://ansan-survivor.tistory.com/1130

 

[MySQL] MySQL windows 10에 설치하기 환경 세팅하기, 오라클 DBMS 설치하기

기본 요구사항 Windows 10 64 bit. (win7은 MySQL 8.0.3 rc버전) (32bit는 MySQL 5.7.x 버전) 1. 아래 공식 다운로드 페이지에서 다운로드 https://downloads.mysql.com/archives/community/?version=8.0.17 MySQL..

ansan-survivor.tistory.com

 

2. 새 모델 만들기

모델의 이름을 바꿔준다.
바로 바뀌니 바꾸고 x버튼을 누르면 된다.

 

 

3. 다이아그램 생성하기

더블클릭하면 다이아크램 창이 열린다.

 

4. 첫번째 테이블 추가하기

위 순서대로 클릭하면 table1 생성됨.
아래 항목을 선택하면 Column 이름입력 활성화, 다음과 같이 입력
아래와 같이 표 만듦.

 

5. 두번째 테이블 추가하기

    위와 동일한방식으로 추가

두번째 테이블 생성
더블클릭으로 활성화 후 테이블 작성
테이블 작성 후 x로 내리기
삼각형을 클릭하면 간단히 볼 수 있다

 

 

6. 1:N 관계 만들기(GUI로 디스플레이)

마우스를 대보면 1:N 키가 표시된다.

7. 모델을 저장 (경로에 한글이 있으면 안된다. 드라이브 바로 아래 추천)

확장명은 mwb

 

반응형

 

<생성한 모델로 테이블 생성시키기>

1. Database - Forward Engineer

 

2. Local instance MySQL 선택 후 Next

 

3. Next

 

4. MySQL Table을 뽑아낼 것이므로 선택 후 Next

 

5. 자동으로 SQL 테이블 생성문이 생성된것을 볼 수 있다. Next 후 Close

 

6. 생성된 테이블 확인하기, Refresh 시키기

바탕에 마우스우클릭 - Refresh All

 

(결과) 모델링으로 만든 것을 Schemas 의 테이블로 Export하였다.

 

 

 

 

참고 영상)

https://www.youtube.com/watch?v=K7yGG9fcGG0&list=PLVsNizTWUw7Hox7NMhenT-bulldCp9HP9&index=13 

 

영상에 관한 교재 구매 링크

https://link.coupang.com/a/jPjb7

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

이것이 SQL Server다:실습으로 체험하고 바로 운영한다

COUPANG

www.coupang.com

 

 

 

 

 

 

 

반응형
1···40414243444546···181

+ Recent posts