본문 바로가기

C언어

(21)
변수 *변수의 범위 : 지역 변수의 경우 자기가 만들어진 함수에서만 생존 가능 *변수의 생존시간 : 지역변수는 그 지역을 벗어나면 메모리에서 사라짐. 전역변수는 프로그램이 끝날 때까지 생존. -> 단, static 변수는 지역을 벗어나도 프로그램이 끝날 때까지 메모리 값을 가지고 있음. 그러나 범위는 자기가 만들어진 함수에서만 사용이 가능함. (즉, 범위는 지역변수지만 생존시간은 전역변수와 같음) *변수의 연결 : a파일에 있는 변수를 b파일에서 사용하고 싶을 때 extern을 이용하면 가능함. (단, main함수는 단 하나여야 함, 지역변수는 가져올 수 없고 전역 변수와 전역 함수만 가능하다. 또 static가 붙은 함수와 변수는 사용할 수 없다.) *전역 변수 만드는 법 : int main 바깥에 써서 전..
[JAVA] 3주차 2.3 콘솔에서 입력받기(p.65) impot 문장 scanner 클래스는 자바 애플리케이션이 사용자로부터 쉽게 정수나 문자열을 받을 수 있도록 자바 패키지에서 제공하는 클래스이다. (C언어에서의 scanf) Scanner 클래스는 java.util 패키지에 있다(C언어에서의 #include ) 따라서 컴파일러에게 어디서 Scanner 클래스를 찾을 것인지 알려줘야 하는데, 이것이 import 문장이다. Scanner 클래스 SCanner가 갖고 있는 메소드(C언어에서의 함수) 중에는 next(), nextInt(), nextDouble(), nextLine() 등이 있다. => 사용자 입력을 위해서는 scanner 클래스가 필요한데, 클래스는 java.util.Scanner 패키지에 있어서 import..
3주차 복습 2차원 배열 2차원 배열 : 표의형태. 데이터를 찾을 때 2가지 정보가 필요(행과 열) 배열명 [행] [열]; table [5] [3] = { 0 }; (밑 표 참고) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *메모리는 논리적으로 보기 위해 표로 보는 것 뿐이지, 1차원으로 쭉 간다. 2차원 배열 초기화 하는 법 1. 원소별로 대입문 사용 //좋은 방법은 아니다 int table[5][3]; table[0][0] = 0; table[0][1] = 0; table[0][2] = 0; table[1][0] = 0; . . . table[4][2] = 0; 2. for문 이용 (2차원 배열은 늘 중첩반목물과 함께 한다) int table[5][3]; for (i = 0; i < 5; i++) { ..
2021 학기말고사 1. 소수의 합(감시값반복문) (난이도 하) -1이 나올 때까지 정수(2 이상의)를 반복적으로 읽어 정수가 소수인 경우 합을 계산하려 한다. 예시시 입력 : 2 3 4 5 6 7 8 8 9 -1 출력 : 12 입력 : 11 22 33 -1 출력 : 11 입력: -1 출력: 0 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int num, i, total = 0; do { scanf("%d", &num); total += isPrime(num); } while (num != -1); printf("%d", total); return 0; } int isPrime(number) { int i; if (number == -1) return 0; if (..
논리야 놀자 #3 논리 9 : 어떤 배열에 대해서 역순 배열 만들기 A[] = { 10, 20, 30, 40, 50 }; B[] = { 50, 40, 30, 20, 10 }; 의사 코드 i
논리야 놀자 #2 논리 7 : n의 약수를 찾는다 의사코드 for(i = 1; i
논리야 놀자 #1 논리1 : 1부터 n까지의 합을 계산 의사코드 sum = 0; i = 1; while (i
혼공C 도전실전 예제 내 풀이 p.292 #include void input_nums(int *lotto_nums); void print_nums(int *lotto_nums); int main(void) { int lotto_nums[6]; input_nums(lotto_nums); print_nums(lotto_nums); return 0; } void input_nums(int *lotto_nums) { int i; int j; for(i = 0; i < 6; i++) { printf("번호 입력 : "); scanf("%d", lotto_nums + i); for(j = 0; j < i; j++){ if(lotto_nums[j] == lotto_nums[i]) { printf("같은 번호가 있습니다!\n"); i--; } } ..