printf("ho_tari\n");

C언어(2) 본문

(Telechips) AI 시스템 반도체 SW 개발자 교육/C

C언어(2)

호타리 2025. 2. 19. 16:46

2025.02.19

 

연산

 

2의 보수 : 현재 자리수에서 1큰수(1111+1 = 10000)에서 현재의 값을 뺀값

 

-37의 10의 보수 구하기

 

52 - 37의 연산을 수행하면 52 + (-37)과 같음

2자리의 수의 최고값 99에서 +1을 한 100에서 37을 뺀값 63

52 + 63 = 115 → 15

 

https://youtube.com/shorts/ui27izD0mp4?feature=share

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
// #define bool _Bool
// typedef _Bool bool;

/*
int main() {
	char a;
	int b;
	b = 10;
	a = (char)b;
	printf("%d\n", a);
}
*/

/*
int main() {
	float a;
	int b;
	a = 1.23;
	b = (int)a;
	printf("%d\n", b);
}
*/

/*
int main() {
	printf("%d\n", sizeof(100));
	printf("%d\n", sizeof(1.23));
	char str[10] = {"abcdefghi"};
	printf("%d\n", sizeof(str));
	str[5] = 0;
	printf("%d\n", strlen(str));
}
*/

/*	
int main() {
	int a = 10, b = 20;
	int res;

	res = (++a, ++b);

	printf("a:%d, b:%d\n", a, b);
	printf("res:%d\n", res);

	return 0;
}*/

/*
int main() {
	int a = 10, b = 20, res;

	res = (a > b) ? a : b;
	printf("큰 값 : %d\n", res);

	return 0;
}*/

/*
int main() {
	bool isState = false;
	bool isState2 = true;

	printf("isState variable = %d\n", isState);
	printf("isState variable = %d\n", isState2);

	printf("isState variable = %s\n", isState ? "true" : "false");

	return 0;
}*/

/*
// & 특정 비트를 마스크 오프 (비트를 0으로 만듦)
// | 특정 비트를 마스크 온 (비트를 1로 만듦)
// ^ 특정 비트의 상태를 반전
int main() {
	char a = 0xAB; // 0b10101011
	// a &= 0b00001111;
	// a |= 0b00001111;
	// a ^= 0x01;
	a = ~a;
	// printf("%X\n", a & 0xF0); // 0xF0 = 0b11110000
	printf("%X\n", a);

	printf("%X\n", 0b1100 & 0b1001);
	printf("%X\n", 0b1100 | 0b1001);
	printf("%X\n", 0b1100 ^ 0b1001); // exclusive or (배타적 논리합)
}
*/

/*
int main(void) {
	int a = 10, b = 5;
	int res;

	res = a / b * 2;
	printf("res = %d\n", res);
	
	res = ++a * 3;
	printf("res = %d\n", res);

	res = a > b && a != 5;
	printf("res = %d\n", res);

	res = a % 3 == 0;
	printf("res = %d\n", res);

	return 0;
}*/

/*
int main(void) {
	int res;

	res = sizeof(short) > sizeof(long) ? 1 : 0;

	// res == 1 ? printf("long") : printf("short");
	printf("%s", res == 1 ? "short" : "long");

	return 0;
}
*/

/*
int main(void) {
	int seats = 70;
	int audience = 65;
	double rate;

	rate = (double)audience / seats * 100;

	printf("입장률 : %.1f%%", rate);

	return 0;
}*/

/*
int main(void) {
	int hour, min, sec;
	double time = 3.76;

	hour = (int)time;
	min = (int)(60 * (time - hour));
	sec = (int)(60 * ((60 * (time - hour)) - min));
	printf("3.76시간은 %d시간 %d분 %d초입니다.", hour, min, sec);

	return 0;
}*/

/*
int main(void) {
	int a = 20;
	int b = 0;

	if (a > 10)
		b = a;
	b++;

	printf("a: %d, b: %d", a, b);

	return 0;
}*/

/*
int main(void) {
	int a = 0, b = 0;

	if (a > 0)
	{
		b = 1;
	}
	else if (a == 0)
	{
		b = 2;
	}
	else
	{
		b = 3;
	}

	printf("b : %d\n", b);

	return 0;
}*/

/*
int main(void) {
	int chest = 95;
	char size;

	if (chest <= 90)
	{
		size = 'S';
	}
	else if (90 < chest <= 100)
	{
		size = 'M';
	}
	else
	{
		size = 'L';
	}

	printf("size = %c", size);

	return 0;
}*/

/*
int main(void) {
	int a;

	printf("점수를 입력하세요.\n");
	scanf("%d", &a);

	if (a >= 80)
	{
		printf("A+");
	}
	else if (60 <= a < 80)
	{
		printf("A");
	}
	else if (40 <= a < 60)
	{
		printf("B+");
	}
	else
	{
		printf("B");
	}

	return 0;
}*/

/*
int main(void) {
	double height = 179.5;
	double weight = 75.0;

	if ((height >= 187.5) && (weight < 80))
	{
		printf("ok\n");
	}
	else
	{
		printf("cancel\n");
	}

	return 0;
}*/

/*
int main(void) {
	int rank = 2, m = 0;

	switch (rank)
	{
	case 1:
		m += 100;
	case 2:
		m += 200;
	case 3:
		m += 100;
	default:
		m += 10;
		break;
	}

	printf("m: %d\n", m);

	return 0;
}*/

/*
int main(void) {
	int rank = 2, m = 0;

	switch (rank)
	{
	case 1:
		m = 300;
		break;
	case 2:
		m = 200;
		break;
	case 3:
		m = 100;
		break;
	default:
		m = 10;
		break;
	}

	printf("m: %d\n", m);

	return 0;
}*/

/*
int main(void) {
	int n;
	printf("정수 입력: ");
	scanf("%d", &n);

	switch (n % 3)
	{
	case 0:
		printf("거짓");
		break;
	default:
		printf("참");
		break;
	}
	return 0;
}*/

/*
int main(void) {
	int age = 25, chest = 95;
	char size;

	if (age < 20)
	{
		if (chest >= 95)
		{
			size = 'L';
		}
		else if (chest >= 85)
		{
			size = 'M';
		}
		else
		{
			size = 'S';
		}
	}
	else
	{
		if (chest >= 100)
		{
			size = 'L';
		}
		else if (chest >= 90)
		{
			size = 'M';
		}
		else
		{
			size = 'S';
		}
	}

	printf("사이즈는 %c입니다.\n", size);

	return 0;
}*/

/*
int main(void) {
	int number = 584;

	char a, b, c;
	a = number / 100 + 0x30;
	b = number % 100 / 10 + 48;
	c = number % 100 % 10 + '0'; // 0x30 = 48 = '0'

	printf("%c%c%c", a, b, c);

	return 0;
}
*/

/*
int main(void) {
	int a, b, sum;
	char c;

	printf("사칙연산 입력(정수) : ");
	scanf("%d%c%d", &a, &c, &b);

	if (c == '+')
	{
		sum = a + b;
	}
	else if (c == '-')
	{
		sum = a - b;
	}
	else if (c == '/')
	{
		sum = a / b;
	}
	else if (c == '*')
	{
		sum = a * b;
	}

	printf("%d%c%d=%d", a, c, b, sum);

	return 0;
}*/

/*
int main(void) {
	int n1, n2, sum;
	char op;

	printf("사칙연산 입력(정수): ");
	scanf("%d%c%d", &n1, &op, &n2);

	switch (op)
	{
		case '+':
			sum = n1 + n2;
			break;
		case '-':
			sum = n1 - n2;
			break;
		case '/':
			sum = n1 / n2;
			break;
		case '*':
			sum = n1 * n2;
			break;	
	}

	printf("%d%c%d=%d", n1, op, n2, sum);

	return 0;
}*/

/*
// 삼항연산자
int main(void) {
	int n1, n2, sum;
	char op;

	printf("사칙연산 입력(정수): ");
	scanf("%d%c%d", &n1, &op, &n2);

	sum = (op == '+') ? (n1 + n2) :
		(op == '-') ? (n1 - n2) :
		(op == '/') ? (n1 / n2) :
		(op == '*') ? (n1 * n2) : 0;

	printf("%d%c%d=%d", n1, op, n2, sum);

	return 0;
}
*/

/*
int main(void) {
	int a = 1;

	while (a < 10)
	{
		a = a * 2;
	}

	printf("a : %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int a = 1;

	do
	{
		a = a * 2;
	} while (a < 10);
	
	printf("a : %d\n", a);

	return 0;
}*/

/*
int c; // global variable 전역 변수

int main(void) {
	int a = 1; // local variable 지역 변수

	while (a < 10) {
		static int b = 0;
		a = a * 2;
		b = b + 1;
		printf("b = %d\n", b);
	}
	printf("a = %d\n", a);

	return 0;
}
*/

/*
int main(void) {
	int a = 1;

	while (1) {
		a = a * 2;
		if (a > 10) break;
	}

	printf("a = %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int a = 1;
	int i;

	for (i = 0; i < 3; i++)
	{
		a = a * 2;
	}

	printf("a : %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int a = 1;
	int i = 0;

	for (; i < 3; i++)
	{
		a = a * 2;
	}

	printf("a = %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int a = 1;
	int i = 0;

	for (; i < 3;)
	{
		a = a * 2;
		i++;
	}

	printf("a = %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int a = 1;
	int i = 0;

	for (; ;)
	{
		a = a * 2;
		i++;
		if (i == 3) break;
	}

	printf("a = %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int a = 1;
	
	for (int i = 0; i < 10 && a < 9; i++)
	{
		a = a * 2;
	}

	printf("a = %d\n", a);

	return 0;
}*/

/*
int main(void) {
	int password;

	printf("암호를 입력하세요.\n");
	scanf("%d", &password);

	while (password != 1234)
	{
		printf("암호를 다시 입력하세요.\n");
		scanf("%d", &password);
	}

	printf("암호가 일치합니다.\n");

	return 0;
}*/

/*
int main(void) {
	int password;

	do
	{
		printf("암호를 입력하세요.\n");
		scanf("%d", &password);
	} while (password != 1234);

	printf("암호가 일치합니다.\n");

	return 0;
}*/

/*
int main(void) {
	int i;
	for (i = 0; i < 10; i++)
	{
		printf("$");
	}

	return 0;
}*/

/*
int main(void) {
	int i, j;

	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 5; j++)
		{
			printf("*");
		}
		printf("\n");
	}

	return 0;
}*/

/*
int main(void) {
	for (int i = 2; i < 10; i++)
	{
		printf("----------%d단----------\n", i);
		for (int j = 1; j < 10; j++)
			printf("%d * %d = %d\n", i, j, i * j);
	}

	return 0;
}*/

/*
int main(void) {
	for (int i = 2; i < 10; i++)
	{
		printf("----------%d단----------\n", i);
		for (int j = 1; j < 10; j++)
		{
			if (j == 5) continue;
			printf("%d * %d = %d\n", i, j, i * j);
		}
	}

	return 0;
}*/

/*
int main(void) {
	int i, j;

	for (i = 0; i < 5; i++)
	{
		for (j = 0; j < 5; j++)
		{
			if ((i == j) || (i + j == 4))
			{
				printf("*");
			}
			else
			{
				printf(" ");
			}
		}
		printf("\n");
	}

	return 0;
}*/

#define ESC 0x1b // \033

/*
int main(void) {
	int max_x = 10, max_y = 10;
	int cur_x = 5, cur_y = 5;

	while (1) {
		printf("\033[2J\033[H"); // 화면 지우기
		for (int y = 0; y < max_y; y++)
		{
			for (int x = 0; x < max_x; x++)
			{
				if (cur_x == x && cur_y == y)
				{
					putchar('*');
				}
				else
				{
					putchar('.');
				}
			}
			putchar('\n');
		}
		// 키보드 입력
		char ch = getch();

		if (ch == '1') return 0;
		if (ch == 'a')
		{
			cur_x--;
			if (cur_x < 0)
			{
				cur_x = 0;
			}
		}
		if (ch == 'd')
		{
			cur_x++;
			if (cur_x > max_x - 1)
			{
				cur_x = max_x - 1;
			}
		}
		if (ch == 'w')
		{
			cur_y--;
			if (cur_y < 0)
			{
				cur_y = 0;
			}
		}
		if (ch == 's')
		{
			cur_y++;
			if (cur_y > max_y - 1)
			{
				cur_y = max_y - 1;
			}
		}
	}
	return 0;
}
*/

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	int column = 0;
	int inputValue; // 입력 받은 수
	int stepValue; // 단계별 검증할 수
	int incValue; // 프라임넘버를 확인하기 위한 나눔수

	printf("2 이상의 정수를 입력하세요 : ");
	scanf("%d", &inputValue);

	for (stepValue = 2; stepValue <= inputValue; stepValue++)
	{
		for (incValue = 2; incValue < stepValue; incValue++)
		{
			if (stepValue % incValue == 0)
			{
				break;
			}
		}
		if (incValue == stepValue)
		{
			printf("%5d", stepValue);
			column++;
			if (column == 5)
			{
				column = 0;
				printf("\n");
			}
		}
	}
}

0219.c
0.01MB
main.c
0.00MB

'(Telechips) AI 시스템 반도체 SW 개발자 교육 > C' 카테고리의 다른 글

C언어(5)  (0) 2025.02.24
C언어(4)  (0) 2025.02.21
C언어(3)  (0) 2025.02.20
C언어(1)  (0) 2025.02.18