본문 바로가기

반응형

C

(149)
[C언어] 실습: 다섯 개의 정수를 입력받은 후, 각 정수와 합, 최댓값과 최솟값의 차이 출력하기 다섯 개의 정수를 입력받은 후, 각 정수와 합, 최댓값과 최솟값의 차이 출력하기 #include #define SIZE 5 int add(int a[]); // 배열을 매개변수로 사용한다. int diff(int a[]); // 배열을 매개변수로 사용할 땐 '배열의 크기'도 함께 전달해 주어야 한다. int main(){ int num[SIZE]; int sum = 0; int difference = 0; printf("다섯 개의 정수 입력 : "); scanf("%d %d %d %d %d", num[0], num[1], num[2], num[3], num[4]); sum = add(num); // add() 함수의 반환값을 저장한다. difference = diff(num); // diff() 함수의 ..
[C언어] static 변수 static 변수 - 지역변수나 전역변수에서 모두 사용 가능하다. - 선언된 함수 내에서만 접근이 가능하다. - 함수 내에 선언된 지역변수는 해당 함수가 반환되면 소멸되지만, static 변수는 소멸되지 않는다. - 프로그램이 실행되는 동안 계속해서 유지해야 할 변수가 있을 때 사용한다. #include int disp(){ static int num1 = 0; // 초기화하지 않으면 0으로 초기화 된다. int num2 = 0; // 초기화하지 않으면 쓰레기 값이 들어간다. num1++, num2++; printf("num1 = %d, num2 = %d\n", num1, num2); } int main(){ for(int i = 0; i < 3; i++) disp(); return 0; }
[C언어] 실습: 전역 변수 및 지역 변수 전역 변수 및 지역 변수 #include void add(int); int num; // 전역변수는 기본적으로 0으로 초기화된다. int main(){ int x = 3; // 지역변수 printf("num = %d\n", num); // num은 0으로 초기화된 전역변수이다. add(x); printf("num = %d\n", num); // add 함수에서 'num + x'된 값이 num에 저장된다. num++; printf("num = %d\n", num); return 0; } void add(int a){ num += a; // num은 전역변수로 add함수에서도 적용이 가능하다. num에는 +x가 된 값이 저장된다. a++; } #include int add(int x); int num = 1..
[C언어] 실습: 지역 변수 지역 변수 #include int main(){ int cnt; for(cnt = 0; cnt < 4; cnt++){ int num = 0; num++; printf("%d 번째 반복, 지역변수 num = %d\n\n", cnt + 1, num); // for문 안에서 선언된 변수는 for문을 벗어나면 소멸된다. } if(cnt == 4){ // 위의 for문에서 마지막 문장을 실행후, cnt++(4)하고 'cnt < 4' 조건문을 확인하고 for문을 나온다. int num = 7; num++; printf("if문 내의 지역변수 num = %d\n", num); // if문 안에서 선언된 변수는 if문을 벗어나면 소멸된다. } return 0; }
[C언어] 실습: 두 개의 정수를 입력받은 후, 큰 수 출력하기 (함수) 두 개의 정수를 입력받은 후, 큰 수 출력하기 (함수) #include int big(int a, int b); int main(){ int first, second, max; printf("첫 번째 수 : "); scanf("%d", &first); printf("두 번째 수 : "); scanf("%d", &second); max = big(first, second); printf("큰 수 : %d\n", max); return 0; } int big(int a, int b){ return a > b ? a : b; }
[C언어] 실습: swap 함수 구현하기 swap 함수 구현하기 swap은 두 변수의 값을 바꾸어주는 함수이다. #include int adder(int x, int y); void swap(int, int); void swap1(int *x, int *y); int main(){ // 선언문 int x, y, res; // 입력문 x = 10; y = 20; // 처리문 res = adder(x, y); // Call By Value, 사본 // 출력문 printf("%d + %d = %d\n\n", x, y, res); printf("main x = %d, y = %d\n", x, y); swap(x, y); // 함수 호출, Call By Value(사본) printf("main x = %d, y = %d\n\n", x, y); // ma..
[C언어] 변수 변수 : 변수의 존재 기간 또는 접근 범위에 따라서 전역변수와 지역변수로 구분한다. 1. 지역변수 : 함수 내에서만 접근이 허용되는 변수이다. - 중괄호({}) 내에 선언되는 변수는 모두 지역변수이다. - 지역변수는 해당 지역을 벗어나면 소멸한다. - 지역변수는 선언된 곳에서만 유효하기 때문에 지역이 다르면 이름이 같아도 상관없다. 2. 전역변수 : 프로그램 내에서 모든 함수의 접근을 허용하는 변수이다. #include int x = 10; // 전역 변수 int disp(int a); // 함수 선언 void disp1(); int main(){ int x = 20; // 지역 변수 int y = disp(x); // 함수 호출, Call By Value printf("main x = %d\n", x)..
[C언어] 실습: 점수를 입력받은 후, 총점 및 평균 계산하기 (다차원 배열) 점수를 입력받은 후, 총점 및 평균 계산하기 (다차원 배열) #include int main(){ int data[3][4] = {0}; // 3명, 4개 점수(국어, 영어, 수학, 총점) double avg[3] = {0.0}; char *subject[3] = {"국어", "영어", "수학"}; for(int i = 0; i < 3; i++){ printf("%d 번째 학생의 점수\n", i + 1); for(int j = 0; j < 3; j++){ printf("%s : ", subject[j]); scanf("%d", &data[i][j]); data[i][3] += data[i][j]; } avg[i] = data[i][3] / 3.; } for(int i = 0; i < 3; i++){ pr..

반응형