int age;)int age = 25;)#define PI 3.14)const int MAX = 100;)#include <stdio.h>
int main() {
printf("char: %d bytes\n", sizeof(char));
printf("short: %d bytes\n", sizeof(short));
printf("int: %d bytes\n", sizeof(int));
printf("long: %d bytes\n", sizeof(long));
printf("float: %d bytes\n", sizeof(float));
printf("double: %d bytes\n", sizeof(double));
int num = 10;
printf("변수 num의 크기: %d bytes\n", sizeof(num));
return 0;
}
#include <stdio.h>
int main() {
unsigned char a = 255;
printf("a = %d\n", a); // 255 출력
a = a + 1; // 오버플로우 발생
printf("a + 1 = %d\n", a); // 0 출력
char b = 127;
printf("b = %d\n", b); // 127 출력
b = b + 1; // 오버플로우 발생
printf("b + 1 = %d\n", b); // -128 출력
return 0;
}
#include <stdio.h>
int main() {
char c = 'A';
printf("문자: %c\n", c); // A 출력
printf("ASCII 코드(10진수): %d\n", c); // 65 출력
printf("ASCII 코드(16진수): %x\n", c); // 41 출력
c = c + 1; // 'B'로 변경
printf("다음 문자: %c\n", c); // B 출력
return 0;
}
#include <stdio.h>
int main() {
printf("Hello\nWorld\n"); // 줄바꿈
printf("Tab\tCharacter\n"); // 탭
printf("\"Quoted String\"\n"); // 큰따옴표
printf("Backslash: \\\n"); // 역슬래시
return 0;
}
#include <stdio.h>
int main() {
float f = 123.456789;
double d = 123.456789;
printf("float: %.15f\n", f); // 정밀도 손실 발생
printf("double: %.15f\n", d); // 더 정확한 값 유지
return 0;
}
#include <stdio.h>
int main() {
int a; // 초기화되지 않은 변수
int b = 10; // 초기화된 변수
printf("a = %d\n", a); // 쓰레기 값 출력
printf("b = %d\n", b); // 10 출력
a = 20; // 값 할당
printf("a = %d\n", a); // 20 출력
return 0;
}
#include <stdio.h>
#define PI 3.14159 // 매크로 상수
int main() {
const int MAX = 100; // const 변수
printf("원주율: %f\n", PI);
printf("최대값: %d\n", MAX);
// MAX = 200; // 오류: const 변수는 변경 불가
return 0;
}
문제: 다음 C 데이터 타입의 크기를 바이트 단위로 맞추세요.
답:
문제: 다음 코드의 출력 결과는?
#include <stdio.h>
int main() {
unsigned char x = 255;
x++;
printf("%d", x);
return 0;
}
답: 0 (255에 1을 더하면 오버플로우가 발생하여 0이 됨)
문제: 다음 코드의 출력 결과는?
#include <stdio.h>
int main() {
char c = 'A';
printf("%d %c\n", c, c + 32);
return 0;
}
답: 65 a (A의 ASCII 코드는 65, 소문자 a는 A에 32를 더한 값)
문제: 다음 중 올바른 변수 초기화 방법은?
int x;int x = 10;x = 10; int x;10 = x; int x;답: 2번 (int x = 10;)
문제: float와 double의 차이점에 대한 설명으로 옳지 않은 것은?
답: 4번 (double이 float보다 더 정확한 계산 결과 제공)
문제: 다음 중 매크로 상수를 정의하는 올바른 방법은?
const PI = 3.14;#define PI = 3.14;#define PI 3.14define PI 3.14;답: 3번 (#define PI 3.14)
문제: 다음 코드의 출력 결과는?
#include <stdio.h>
#define MAX 100
int main() {
const int num = 50;
printf("%d %d\n", MAX, num);
// MAX = 200; // 주석 처리됨
// num = 100; // 주석 처리됨
return 0;
}
답: 100 50 (MAX는 전처리기에 의해 100으로 대체, num은 const 변수로 50 값을 가짐)
문제: 다음 코드를 완성하여 int, float, char 타입의 크기를 출력하는 프로그램을 작성하세요.
#include <stdio.h>
int main() {
// 여기에 코드 작성
return 0;
}
답:
#include <stdio.h>
int main() {
printf("int 크기: %d 바이트\n", sizeof(int));
printf("float 크기: %d 바이트\n", sizeof(float));
printf("char 크기: %d 바이트\n", sizeof(char));
return 0;
}
문제: 다음 출력 결과를 얻기 위한 printf 문을 작성하세요.
이름: "홍길동"
학번: 20230001
성적: A+
답:
printf("이름: \"홍길동\"\n학번: 20230001\n성적: A+\n");
문제: 다음 코드에서 오류를 찾고 수정하세요.
#include <stdio.h>
#define PI = 3.14;
int main() {
const int MAX;
MAX = 100;
printf("PI = %f, MAX = %d\n", PI, MAX);
return 0;
}
답:
문제: 다음 요구사항을 충족하는 프로그램을 작성하세요.
답:
#include <stdio.h>
int main() {
int num = 10;
float fnum = 3.14;
char ch = 'A';
printf("정수값: %d (크기: %d바이트)\n", num, sizeof(num));
printf("실수값: %f (크기: %d바이트)\n", fnum, sizeof(fnum));
printf("문자값: %c (크기: %d바이트)\n", ch, sizeof(ch));
num = num + 1;
printf("정수 + 1: %d\n", num);
ch = ch + 1;
printf("문자 + 1: %c (ASCII: %d)\n", ch, ch);
return 0;
}
문제: 다음 프로그램의 출력 결과를 예측하고, 왜 그런 결과가 나오는지 설명하세요.
#include <stdio.h>
int main() {
char a = 127;
unsigned char b = 255;
a = a + 1;
b = b + 1;
printf("a = %d\n", a);
printf("b = %d\n", b);
float x = 123456.789;
int y = x;
printf("x = %f\n", x);
printf("y = %d\n", y);
return 0;
}
답:
a = -128
b = 0
x = 123456.789062
y = 123456
설명:
문제: 원의 반지름을 입력받아 원의 넓이와 둘레를 계산하는 프로그램을 작성하세요. 원주율(PI)은 3.14159로 정의하고, 적절한 상수 정의 방법을 사용하세요.
답:
#include <stdio.h>
#define PI 3.14159
int main() {
float radius;
printf("원의 반지름을 입력하세요: ");
scanf("%f", &radius);
float area = PI * radius * radius;
float circumference = 2 * PI * radius;
printf("원의 넓이: %.2f\n", area);
printf("원의 둘레: %.2f\n", circumference);
return 0;
}