반응형

C_C++ 359

(C/C++)정수와 실수 형식의 자료형

(C/C++)정수와 실수 형식의 자료형 정수와 실수의 자료 형식은 기본 제공 형식(또는 기본 형식)입니다. 기본 제공 형식은 C언의의 표준에 의해 제공되며, 헤더 파일에 정의되어 있지 않습니다. 정수 형식 자료형 형식 Type Name 크기(바이트) Bytes 값의 범위 Range of Values int signed signed int 4 –2,147,483,648 ~ 2,147,483,647 unsigned int unsigned 4 0 ~ 4,294,967,295 short short int signed short int 2 –32,768 ~ 32,767 unsigned short unsigned short int 2 0 ~ 65,535 long long int signed long int 4 –2..

C_C++ 2022.10.05

(C언어) 10진수를 2진수로 변환, 배열 이용

10진수를 2진수로 변환하는 다양한 방법들이 있습니다. 여기서는 배열을 이용해서 변환하는 방법을 사용했습니다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int dec, binary, cnt; int b[33] = { 0 }; printf("10진수를 2진수로 변환\n"); while(1) { printf("\n정수입력(0,음수: 종료) : "); scanf("%d", &dec); // scanf_s("%d", &dec); // Visual Studio if (dec 0) { binary = dec % 2; b[i] = binary; dec = dec / 2; i++; } cnt = i - 1; for (i = cnt; i >= 0; i--) prin..

C_C++ 2022.10.05

(C언어) qsort 함수를 이용한 숫자 정렬

qsort 함수를 이용한 숫자(정수) 정렬 오름차순 정렬(ascending sort)입니다. 아래쪽에 내림차순 정렬(descending sort)하는 방법이 설명되어 있습니다. #include #include #include int compare(const void* arg1, const void* arg2); void print(int arr[], int size) { int i; for (i = 0; i < size; i++) printf("%d ", arr[i]); printf("\n"); } int main(int argc, char** argv) { int i; int arr[10] = { 55,33,77,99,22,999,1,77,35,10 }; int size = 10; print(arr, ..

C_C++ 2022.10.04

(C언어) qsort 함수를 이용한 문자열 정렬하기

void qsort( void *base, size_t number, size_t width, int (__cdecl *compare )(const void *, const void *) ); qsort 함수는 빠른 정렬을 수행합니다. base 대상 배열의 시작 부분입니다. number 배열의 크기입니다. width 요소 크기(바이트)입니다. compare 두 배열 요소를 비교하여 해당 관계를 지정하는 값을 반환하는 사용자가 제공한 루틴에 대한 포인터입니다. #include #include #include int compare(const void* arg1, const void* arg2); int main(int argc, char** argv) { int i; char* str[] = { "every..

(C언어) 선택 정렬 Selection Sort

선택 정렬(selection sort) 선택 정렬은 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 방식으로 정렬 과정을 수행합니다. #include void print(int a[], int size) { int i; for (i = 0; i < size; i++) printf("%d ", a[i]); printf("\n"); } void SelectionSort(int a[], int size) { int i, j, min, temp; for (i = 0; i < size - 1; i++) { min = i; for (j = i + 1; j < size; j++) { if (a[j] < a[min]) min = j; } temp = a[i]; a[i] = a[m..

C_C++ 2022.10.02

(C언어) 로또 번호 생성: 중복되지 않은 수

난수 발생은 프로그램에서 자주 사용되고 있습니다. C언어의 난수는 rand() 함수를 이용하며, rand() 함수는 0 ~ 32767까지의 난수를 생성합니다. rand(); // 0 ~ 32767까지의 난수 생성 rand() % 100; // 0 ~ 99까지의 난수 생성 rand() % 100 + 1; // 1 ~ 100까지의 난수 생성 실행할 떄마다 매번 다른 수를 생성하기 위해서는 srand 함수로 초기화를 해야 합니다. #include #include srand((unsigned)time(NULL)); #include #include #include void sort(int arr[], int n) { int i, k, temp; for (i = 0; i < n - 1; i++) { for (k =..

C_C++ 2022.10.02

(C++) auto 키워드: 자동 타입 추론(automatic type deduction)

auto 초기식에서 선언된 변수의 형식을 추론합니다. (C#의 var 형식과 비슷해 보입니다.) auto 키워드는 형식의 자리 표시자이지만 그 자체가 형식은 아닙니다. 따라서 sizeof 와 같은 연산자에 사용할 수 없습니다. auto 키워드는 복잡한 형식의 변수를 선언하는 간단한 방법입니다. 예를 들어 초기화 식에 템플릿, 함수에 대한 포인터 또는 멤버에 대한 포인터가 포함된 변수를 선언하는 데 auto를 사용할 수 있습니다. #include using namespace std; int main() { int count = 10; int& countRef = count; auto myAuto = countRef; countRef = 11; cout

C_C++ 2022.10.02

(C언어) -1.0 ~ 1.0 사이의 난수 생성하기

C언어의 rand 함수는 0 ~ 32767 사이의 임의의 정수를 생성합니다. 이를 이용해서 -1.0 ~ 1.0 사이의 난수를 생성하기 위해서는 다음과 같이 할 수 있습니다. rand() % 21; // 0 ~ 20까지의 난수를 생성합니다. 이 수에서 10을 빼면 -10 ~ 10 사이의 숫자가 만들어 집니다. 다시 이 수를 10으로 나누면 -1.0 ~ 1.0 범위의 난수를 생성하게 됩니다. #include int main() { int r; double n; for(int i=0; i

C_C++ 2022.10.02
반응형