C언어
변수와 자료형
변수 : Data 를 저장하는 메모리(RAM) 공간
변수의 종류(Data Type)
- char
- short
- int
- long
- float
- double
변수선언
(변수의 종류) (변수의 이름);
ex)
int value;
char a;
변수 이름 규칙
1.영문자만 가능하며 대문자는 구별.
2.숫자 가능 but 첫 글자는 X.
3.특수문자는 오직 _ 만 가능.
4.유의미한 명칭 사용.
5.카멜표기법 사용.
스네이크 표기법 vs 카멜 표기법 vs 파스칼 표기법
스네이크 표기법 : 단어 사이에 _ 를 추가하는 표기법.
카멜 표기법 : 소문자로 시작하고 이어지는 단어들의 시작은 대문자로 작성하는 표기법.
파스칼 표기법 : 단어의 첫 시작은 항상 대문자를 사용하는 표기법.
데이터 저장과 출력
- 데이터 저장 : = 연산자(대입연산자)를 이용하여 변수에 데이터를 저장할 수 있다.
ex) int init = 30; // 변수 초기화 int intValue; // 변수선언 float floatValue; char charValue; intValue = 10; // 변수 값 대입 floatValue = 3.14; charValue = 'A';
- 데이터 출력 : 서식지정자를 통해서 변수에 있는 값을 출력할 수 있다.
ex)
int intValue;
float floatValue;
char charValue;
intValue = 10;
floatValue = 3.14;
charValue = 'A';
printf("value : %d",intValue); -> 결과 : value : 10
printf("value : %f",floatValue); -> 결과 : value : 3.14
printf("value : %c",charValue); -> 결과 : value : a
- 데이터의 값 변경
- ex) int a; a = 10; printf("%d\n", a); 결과 : 10 a = 20; printf("%d\n", a); 결과 : 20 a = 30; printf("%d", a); 결과 : 30
변수의 활용
ex)
int a;
int b;
a = 10;
b = 20;
printf("a + 3 : %d\n", a + 3); 결과 : 13
printf("a + b : %d\n", a + b); 결과 : 30
printf("a - b : %d\n", a - b); 결과 : -10
printf("a * b : %d\n", a * b); 결과 : 200
printf("a / b : %d\n", a / b); 결과 : 0
b = b + a;
printf("a : %d\n", a); 결과 : 10
printf("b : %d\n", b); 결과 : 30
int v1,v2,v3,v4 = 40,v5;
float k = 3.14,m,n;
변수 메모리
char 1byte - 아스키코드 사용하기 때문
short 2byte
int 4byte
long 4byte
float 4byte - 부호 1비트, 지수 7비트, 4비트짜리 숫자 6개
double 8byte
*** sizeof() 를 사용하면 변수의 메모리를 알 수 있다.
double vs float
float a = 0.123456789123456789;
double b = 0.123456789123456789;
printf("%.20f\n", a); 결과 : 0.12345679104328155518
printf("%.20lf\n", b); 결과 : 0.12345678912345678380
float 은 6자리까지 정확하게 출력하고, double 은 15자리까지 정확하게 출력한다.
scanf() 형식과 활용
- 형식
scanf( "서식문자" , &입력값을 저장시킬 변수 );ex) int age = 0; scanf("%d",&age);
- 활용1 : 다양한 데이터타입
```c
char gender;
int age;
double height;
printf("성별을 M 또는 W로 입력해주세요 : ");
scanf_s("%c", &gender); // 한문자입력의 경우 그전에 있었던 엔터값이 들어가기 때문에 주의해서 사용.
printf("나이를 입력해주세요 : ");
scanf_s("%d", &age);
printf("키를 소수점 한자리까지 입력해주세요 : ");
scanf_s("%lf", &height);
printf("성별 : %c\n", gender);
printf("나이 : %d\n", age);
printf("키 : %.1lf\n", height);
- 활용2 : 사용자 중심의 프로그램 작성
int num;
printf("==============구구단 프로그램==============\n");
printf("원하는 단을 입력하세요\n"); scanf_s("%d", &num);
printf("%d x %d = %d\n", num, 1, num * 1);
printf("%d x %d = %d\n", num, 2, num * 2);
printf("%d x %d = %d\n", num, 3, num * 3);
printf("%d x %d = %d\n", num, 4, num * 4);
printf("%d x %d = %d\n", num, 5, num * 5);
printf("%d x %d = %d\n", num, 6, num * 6);
printf("%d x %d = %d\n", num, 7, num * 7);
printf("%d x %d = %d\n", num, 8, num * 8);
printf("%d x %d = %d\n", num, 9, num * 9);
'국비과정' 카테고리의 다른 글
[ANDROID 국비과정] 2023.01.06 - 안드로이드 앱개발자 과정 (0) | 2023.05.11 |
---|---|
[ANDROID 국비과정] 2023.01.05 - 안드로이드 앱개발자 과정 (0) | 2023.05.09 |
[ANDROID 국비과정] 2023.01.03 - 안드로이드 앱개발자 과정 (0) | 2023.05.08 |
[ANDROID 국비과정] 2023.01.02 - 안드로이드 앱개발자 과정 (1) | 2023.05.08 |
[ANDROID 국비과정] 2022.12.30 - 안드로이드 앱개발자 과정 (0) | 2023.05.08 |