상세 컨텐츠

본문 제목

2일차 학습내용_c언어 변수

풀스텍과정

by 정태웅 2024. 5. 10. 09:18

본문

C 변수
변수는 숫자, 문자 등의 데이터 값을 저장하기 위한 컨테이너입니다.

C에는 다양한 유형 의 변수(다른 키워드로 정의됨)가 있습니다 . 예를 들면 다음과 같습니다.
  int 123- 또는와 같은 소수점 없는 정수(정수)를 저장합니다.-123
  float19.99- 또는와 같은 소수와 함께 부동 소수점 숫자를 저장합니다.-19.99
  char'a'- 또는 같은 단일 문자를 저장합니다 'B'. 문자는 작은따옴표 로 묶입니다.

변수 선언(생성)
변수를 생성하려면 유형 을 지정하고 값을 할당합니다 .

Syntax
type variableName = value;
여기서 type은 C 유형 중 하나(예: int)이고, VariableName 은 변수의 이름(예: x 또는 myName )입니다. 등호 는 변수에 값을 할당하는 데 사용됩니다.
따라서 숫자를 저장 해야 하는 변수를 만들려면 다음 예를 살펴보세요.

myNum 유형의 변수를 생성 int하고 값 15를 할당합니다 .
int myNum = 15;
값을 할당하지 않고 변수를 선언하고 나중에 값을 할당할 수도 있습니다.


// Declare a variable
int myNum;
// Assign a value to the variable
myNum = 15;

출력 변수
출력 장 에서 다음 함수 를 사용하여 값을 출력하거나 텍스트를 인쇄할 수 있다는 것을 배웠습니다 printf().

printf("Hello World!");
다른 많은 프로그래밍 언어(예: Python , Java 및 C++ )에서는 일반적으로 인쇄 기능을 사용하여 변수 값을 표시합니다. 그러나 C에서는 이것이 불가능합니다.


int myNum = 15;
printf(myNum);  // Nothing happens

C 형식 지정자
형식 지정자
형식 지정자는 함수와 함께 사용되어 printf() 변수가 저장하는 데이터 유형을 컴파일러에 알려줍니다. 이는 기본적으로 변수 값에 대한 자리 표시자 입니다.
형식 지정자는 백분율 기호로 시작 %하고 그 뒤에 문자가 옵니다.
예를 들어, 변수 값을 출력하려면 함수 내에서 큰따옴표( ) 로 묶인 int형식 지정자를 사용합니다 .%d""printf()


int myNum = 15;
printf("%d", myNum);  // Outputs 15
다른 유형을 인쇄하려면 %cfor char및 %ffor를 사용하십시오 float.


// Create variables
int myNum = 15;            // Integer (whole number)
float myFloatNum = 5.99;   // Floating point number
char myLetter = 'D';       // Character

// Print variables
printf("%d\n", myNum);
printf("%f\n", myFloatNum);
printf("%c\n", myLetter);
텍스트와 변수를 모두 결합하려면 함수 내에서 쉼표로 구분하세요 printf().


int myNum = 15;
printf("My favorite number is: %d", myNum);
단일 printf()기능으로 다양한 유형을 인쇄하려면 다음을 사용할 수 있습니다.


int myNum = 15;
char myLetter = 'D';
printf("My number is %d and my letter is %c", myNum, myLetter);

C 변수 값
변수 값 변경
기존 변수에 새 값을 할당하면 이전 값을 덮어쓰게 됩니다.

int myNum = 15;  // myNum is 15
myNum = 10;  // Now myNum is 10
한 변수의 값을 다른 변수에 할당할 수도 있습니다.


int myNum = 15;
int myOtherNum = 23;
// Assign the value of myOtherNum (23) to myNum
myNum = myOtherNum;

// myNum is now 23, instead of 15
printf("%d", myNum);
또는 빈 변수에 값을 복사합니다.

// Create a variable and assign the value 15 to it
int myNum = 15;

// Declare a variable without assigning it a value
int myOtherNum;

// Assign the value of myNum to myOtherNum
myOtherNum = myNum;

// myOtherNum now has 15 as a value
printf("%d", myOtherNum);
변수를 함께 추가
변수를 다른 변수에 추가하려면 다음 + 연산자를 사용할 수 있습니다.


int x = 5;
int y = 6;
int sum = x + y;
printf("%d", sum);

C 여러 변수 선언
여러 변수 선언
동일한 유형의 변수를 두 개 이상 선언하려면 쉼표로 구분된 목록을 사용하십시오.


int x = 5, y = 6, z = 50;
printf("%d", x + y + z);
동일한 유형의 여러 변수에 동일한 값을 할당할 수도 있습니다 .


int x, y, z;
x = y = z = 50;
printf("%d", x + y + z);

C 변수 이름(식별자)
C 변수 이름
모든 C 변수는 고유한 이름 으로 식별 되어야 합니다 .

이러한 고유한 이름을 식별자 라고 합니다 .

식별자는 짧은 이름(예: x 및 y)이거나 더 설명적인 이름(age, sum, totalVolume)일 수 있습니다.

참고: 이해하기 쉽고 유지 관리하기 쉬운 코드를 만들려면 설명이 포함된 이름을 사용하는 것이 좋습니다.


// Good variable name
int minutesPerHour = 60;

// OK, but not so easy to understand what m actually is
int m = 60;
변수 이름 지정에 대한 일반적인 규칙 은 다음과 같습니다.

이름에는 문자, 숫자, 밑줄이 포함될 수 있습니다.
이름은 문자나 밑줄(_)로 시작해야 합니다.
이름은 대소문자를 구분합니다( 다른 변수임) myVar.myvar
이름에는 공백이나 !, #, % 등과 같은 특수 문자를 포함할 수 없습니다.
예약어(예: int)는 이름으로 사용할 수 없습니다.

C 데이터 유형
데이터 유형
변수 장 에서 설명했듯이 C의 변수는 지정된 데이터 유형 이어야 하며 이를 표시하려면 함수 내에서 형식 지정자를 사용해야 합니다 .printf()


// Create variables
int myNum = 5;             // Integer (whole number)
float myFloatNum = 5.99;   // Floating point number
char myLetter = 'D';       // Character

// Print variables
printf("%d\n", myNum);
printf("%f\n", myFloatNum);
printf("%c\n", myLetter);
기본 데이터 유형
데이터 유형은 변수가 저장할 정보의 크기와 유형을 지정합니다.

이 튜토리얼에서는 가장 기본적인 것들에 중점을 둘 것입니다:

Data Type Size Description Example
int 2 or 4 bytes Stores whole numbers, without decimals 1
float 4 bytes Stores fractional numbers, containing one or more decimals. Sufficient for storing 6-7 decimal digits 1.99
double 8 bytes Stores fractional numbers, containing one or more decimals. Sufficient for storing 15 decimal digits 1.99
char 1 byte Stores a single character/letter/number, or ASCII values 'A'
기본 형식 지정자
각 데이터 유형마다 다른 형식 지정자가 있습니다. 그 중 일부는 다음과 같습니다.

Format Specifier Data Type Try it
%d or %i int
%f or %F float
%lf double
%c char
%s Used for strings (text), which you will learn more about in a later chapter

C 문자 데이터 유형
문자 유형
데이터 유형은 단일char 문자를 저장하는 데 사용됩니다 .

문자는 'A' 또는 'c'와 같은 작은따옴표로 묶어야 하며 %c이를 인쇄하려면 형식 지정자를 사용합니다.


char myGrade = 'A';
printf("%c", myGrade);
또는 ASCII에 익숙하다면 ASCII 값을 사용하여 특정 문자를 표시할 수 있습니다. 이 값은 ''숫자이므로 따옴표( )로 묶이지 않습니다 .


char a = 65, b = 66, c = 67;
printf("%c", a);
printf("%c", b);
printf("%c", c);
팁: 모든 ASCII 값 목록은 ASCII 테이블 참조 에서 찾을 수 있습니다 .

캐릭터에 관한 주의 사항
단일 문자 이상을 저장하려고 하면 마지막 문자만 인쇄됩니다.


char myText = 'Hello';
printf("%c", myText);
참고:char 오류가 발생할 수 있으므로 여러 문자를 저장하는 데 유형을 사용하지 마십시오 .

여러 문자(또는 단어 전체)를 저장하려면 문자열을 사용하세요 (이에 대해서는 이후 장에서 자세히 배우게 됩니다).


char myText[] = "Hello";
printf("%s", myText);

숫자 유형
int35 또는 1000과 같이 소수점 없이 정수를 저장해야 하거나 9.99 또는 3.14515와 같이 부동 소수점 숫자(소수점 포함)가 필요할 때 float사용 double하세요 .

정수
int myNum = 1000;
printf("%d", myNum);
실수(flaot)
float myNum = 5.75;
printf("%f", myNum);
실수(double)
double myNum = 19.99;
printf("%lf", myNum);

C 유형 변환
유형 변환
때로는 한 데이터 유형의 값을 다른 유형으로 변환해야 합니다. 이를 유형 변환 이라고 합니다 .

5예 를 들어, 두 정수를 로 나누려고 하면 2결과는 가 될 것으로 예상됩니다 2.5. 그러나 우리는 (부동 소수점 값이 아닌) 정수로 작업하고 있으므로 다음 예제에서는 다음과 같이 출력합니다 2.


int x = 5;
int y = 2;
int sum = 5 / 2;

printf("%d", sum); // Outputs 2
올바른 결과를 얻으려면 유형 변환이 어떻게 작동하는지 알아야 합니다 .

C에는 두 가지 유형의 변환이 있습니다.

암시적 변환 (자동)
명시적 변환 (수동)
암시적 변환
암시적 변환은 한 유형의 값을 다른 유형에 할당할 때 컴파일러에 의해 자동으로 수행됩니다.

int예를 들어 유형 에 값을 할당하는 경우 float:


// Automatic conversion: int to float
float myFloat = 9;

printf("%f", myFloat); // 9.000000
보시다시피, 컴파일러는 자동으로 int 값을 9float 값으로 변환합니다 9.000000.

특정 상황에서 특정 값에 대한 통제력을 상실할 수 있으므로 이는 위험할 수 있습니다.

특히 그 반대인 경우 다음 예에서는 float 값을 9.99int 값으로 자동 변환합니다 9.


// Automatic conversion: float to int
int myInt = 9.99;

printf("%d", myInt); // 9
무슨 일이 일어났나요 .99? 우리 프로그램에 해당 데이터가 필요할 수도 있습니다! 그러니 조심해. 예상치 못한 결과를 방지하려면 이러한 상황에서 컴파일러가 어떻게 작동하는지 아는 것이 중요합니다.

5또 다른 예로, 두 정수를 로 나누면 2합이 이라는 것을 알 수 있습니다 2.5. 그리고 이 페이지의 시작 부분에서 아시다시피 합계를 정수로 저장하면 결과에는 숫자만 표시됩니다 2. 그러므로 그 합을 a float또는 a 로 저장하는 것이 낫겠죠 double?


float sum = 5 / 2;

printf("%f", sum); // 2.000000
결과가 왜 있고 2.00000그렇지 않습니까 2.5? 글쎄요, 나눗셈에서는 5와 2가 여전히 정수이기 때문입니다. 이 경우 정수 값을 부동 소수점 값으로 수동으로 변환해야 합니다. (아래 참조).

명시적 변환
() 명시적 변환은 값 앞에 괄호 안에 유형을 배치하여 수동으로 수행됩니다 .

위 예의 문제를 고려하면 이제 올바른 결과를 얻을 수 있습니다.


// Manual conversion: int to float
float sum = (float) 5 / 2;

printf("%f", sum); // 2.500000
변수 앞에 유형을 배치할 수도 있습니다.


int num1 = 5;
int num2 = 2;
float sum = (float) num1 / num2;

printf("%f", sum); // 2.500000
그리고 이전 장에서 "소수점 정밀도"에 대해 배웠으므로 (원하는 경우) 추가 0을 제거하여 출력을 더욱 깔끔하게 만들 수 있습니다.


int num1 = 5;
int num2 = 2;
float sum = (float) num1 / num2;

printf("%.1f", sum); // 2.5

C 상수
상수
다른 사람(또는 자신)이 기존 변수 값을 변경하는 것을 원하지 않는 경우 const키워드를 사용할 수 있습니다.

이는 변수를 "constant"로 선언합니다. 즉, 변경할 수 없고 읽기 전용임을 의미합니다 .


const int myNum = 15;  // myNum will always be 15
myNum = 10;  // error: assignment of read-only variable 'myNum'
변경될 가능성이 없는 값이 있는 경우 항상 변수를 상수로 선언해야 합니다.


const int minutesPerHour = 60;
const float PI = 3.14;
상수에 대한 참고사항
상수 변수를 선언할 때 값을 할당해야 합니다.


이와 같이:

const int minutesPerHour = 60;
그러나 이것은 작동하지 않습니다 .

const int minutesPerHour;
minutesPerHour = 60; // erro

C 연산자
연산자
연산자는 변수와 값에 대한 연산을 수행하는 데 사용됩니다.

아래 예에서는 연산자를 사용하여 + 두 값을 더합니다.


int myNum = 100 + 50;
연산자 +는 위의 예처럼 두 개의 값을 더하는 데 자주 사용되지만 변수와 값 또는 변수와 다른 변수를 더하는 데에도 사용할 수 있습니다.


int sum1 = 100 + 50;        // 150 (100 + 50)
int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2 + sum2;     // 800 (400 + 400)
C는 연산자를 다음 그룹으로 나눕니다.

산술 연산자
할당 연산자
비교 연산자
논리 연산자
비트 연산자
산술 연산자
산술 연산자는 일반적인 수학 연산을 수행하는 데 사용됩니다.

Operator Name Description Example Try it
+ Addition Adds together two values x + y
- Subtraction Subtracts one value from another x - y
* Multiplication Multiplies two values x * y
/ Division Divides one value by another x / y
% Modulus Returns the division remainder x % y
++ Increment Increases the value of a variable by 1 ++x
-- Decrement Decreases the value of a variable by 1 --x
할당 연산자
할당 연산자는 변수에 값을 할당하는 데 사용됩니다.

아래 예에서는 할당 연산자( )를 사용하여 x 라는 변수에 =값 10을 할당합니다 .


int x = 10;
더하기 할당 연산자( +=)는 변수에 값을 추가합니다.


int x = 10;
x += 5;
모든 할당 연산자 목록:

Operator Example Same As Try it
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x - 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
비교 연산자
비교 연산자는 두 값(또는 변수)을 비교하는 데 사용됩니다. 이는 프로그래밍에서 중요한데, 답을 찾고 결정을 내리는 데 도움이 되기 때문입니다.

비교의 반환 값은 1or 입니다 0. 이는 참 ( 1) 또는 거짓 ( 0)을 의미합니다. 이러한 값을 부울 값 이라고 하며 부울 및 If..Else 장 에서 이에 대해 자세히 알아볼 것입니다 .

다음 예에서는 보다 큼 연산자( >)를 사용하여 5가 3보다 큰지 확인합니다.


int x = 5;
int y = 3;
printf("%d", x > y); // returns 1 (true) because 5 is greater than 3
모든 비교 연산자 목록:

Operator Name Example Description Try it
== Equal to x == y Returns 1 if the values are equal
!= Not equal x != y Returns 1 if the values are not equal
> Greater than x > y Returns 1 if the first value is greater than the second value
< Less than x < y Returns 1 if the first value is less than the second value
>= Greater than or equal to x >= y Returns 1 if the first value is greater than, or equal to, the second value
<= Less than or equal to x <= y Returns 1 if the first value is less than, or equal to, the second value
논리 연산자
논리 연산자를 사용하여 참 또는 거짓 값을 테스트할 수도 있습니다.

논리 연산자는 변수나 값 사이의 논리를 결정하는 데 사용됩니다.

Operator Name Example Description Try it
&&  Logical and x < 5 &&  x < 10 Returns 1 if both statements are true
||  Logical or x < 5 || x < 4 Returns 1 if one of the statements is true
! Logical not !(x < 5 && x < 10) Reverse the result, returns 0 if the result is 1

 

온라인 학습듣기 : gjgreen.step.or.kr

variable5.c
0.00MB
variable6.c
0.00MB
variable7.c
0.00MB
variable8.c
0.00MB
variable9.c
0.00MB
variable10.c
0.00MB
variable11.c
0.00MB
variable12.c
0.00MB
variable13.c
0.00MB
variable14.c
0.00MB

관련글 더보기