[C03] C언어/자료구조_변수C언어_자료구조/C언어 기본 개념2021. 8. 24. 18:00
목차
변수의 범위
📌지역 변수 : '블록' 내부에서 선언된 변수로, 블록 내부에서만 유효하고 블록이 끝나면 해제
📌전역 변수 : 함수 외부에서 선언된 변수로, 프로그램이 종료될 때 해제
📌정적 변수 : 지역 변수와 전역 변수의 특성을 모두 가지고 있음
Code |
Data (전역 변수, 정적 변수) |
Heap |
Stack (지역 변수) |
⭐ Code
#include <stdio.h>
void Func()
{
int n1 = 3;
static int n2 = 3;
printf("n1 : %d\nn2 : %d\n", n1, n2);
n1++;
n2++;
}
int main()
{
//int num = 5;
//int num2 = 7;
//{
// int num = 3;
// printf("num = %d\n", num);
// printf("num2 = %d\n", num2);
//}
//int num = 11;
//printf("num = %d\n", num);
Func();
Func();
//printf("n2 = %d\n", n2); Error
return 0;
}
⭐ Code [국어, 영어, 수학 성적을 입력받고 총합, 평균, 등급을 출력하는 코드. 단, 모든 함수는 반환값이 존재하지 않는 형태여야 하고 출력은 반드시 main 함수에서 진행해야함. (90점 이상은 A, 80점 이상은 B, 70점 이상은 C, 60점 이상은 D, 60점 미만은 F)]
#include <stdio.h>
void Total(int* tot, int kor, int math, int eng)
{
(*tot) = kor + math + eng;
}
void Avg(double* avg, int tot)
{
*avg = (double)(tot) / 3;
}
void Grade(char* grade, double avg)
{
if (avg >= 90)
*grade = 'A';
else if (avg >= 80)
*grade = 'B';
else if (avg >= 70)
*grade = 'C';
else if (avg >= 60)
*grade = 'D';
else if (avg < 60)
*grade = 'F';
//switch ((int)avg / 10)
//{
//case 10:
//case 9:
// *grade 'A';
//case 8:
// *grade 'B';
//case 7:
// *grade 'C';
//case 6:
// *grade 'D';
//default:
// *grade 'F';
//}
}
int main() {
int kor;
int math;
int eng;
int tot;
double avg;
char grade;
printf("국어, 수학, 영어 입력 : ");
scanf("%d %d %d", &kor, &math, &eng);
Total(&tot, kor, math, eng);
Avg(&avg, tot);
Grade(&grade, avg);
printf("총합 : %d\n", tot);
printf("평균 : %.2f\n", avg);
printf("등급 : %c\n", grade);
return 0;
}
728x90
반응형
LIST
'C언어_자료구조 > C언어 기본 개념' 카테고리의 다른 글
[C06] C언어/자료구조_동적 할당(malloc, free) (2) | 2021.09.14 |
---|---|
[C05] C언어/자료구조_구조체(기본, 별칭, 익명 구조체) (0) | 2021.09.07 |
[C04] C언어/자료구조_재귀 (0) | 2021.08.31 |
[C02] C언어/자료구조_반환값에 따른 함수의 여러가지 형태 (0) | 2021.08.17 |
[C01] C언어/자료구조_포인터 기본 개념 (2) | 2021.08.11 |
@kdj :: Childev'note
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!