전체 글 (295) 썸네일형 리스트형 코드업 1007번 문제 역슬래시\출력해보기. "C:\Download\hello.cpp"를 출력하는 예제이다. #include int main(void) { printf("\"C:'\'Download'\'hello.cpp\""); return 0; } '\' 작은따옴표 사이에 역슬래시를 넣으면 \ 출력이 될 거라 생각하였는데 ' '의 형태로 작은따옴표만이 출력이 되었다. #include int main(void) { printf("\"C:\\Download\\hello.cpp\""); return 0; } \를 출력하기 위해서는 \\의 형태로 역슬래시를 두 번 연속 입력해줘야 한다. 코드업 1006번 %출력해보기 "!@#$%^&*()"를 출력하는 예제이다. #include int main(void) { printf("\"!@#$%%^&*()\""); return 0; } 풀이에서 볼 수 있듯이 %를 출력하기 위해서는 %를 두 번 즉%%를 입력해줘야만 % 하나가 출력될 수 있다. #include int main(void) { printf("%%%%"); return 0; } 또 %%를 출력하고자 한다면 %를4개 입력해줘야 %%를 출력할 수 있다. 만약%%%만을 입력하였다면, %하나만 출력 값으로 나오게 된다. 이와 같은 규칙성으로 %%%를 출력하고자 한다면? #include int main(void) { printf("%%%%%%"); return 0; } 의 문장이 필요하다고 정리할 수 있다. ( C ) 코드업 1004,1005번 (큰따옴표 " "출력해보기) 코드업 c언어 기초 100제 중 1004 ,1005번을 풀어보았다. 우선 1004 번은 작은따옴표가 붙은 'Hello'를 출력하는 예제인데, #include int main(void) { printf("'Hello'"); Hello에 ' '를 붙여서도 출력이 되지만, return 0; } #include int main(void) { printf("\'Hello\'"); \' 역슬래시 따옴표의 형태로 문장을 입력하여도 같은 출력 값이 나온다. return 0; } 다음 1005번에서는 "Hello World"를 출력하는 문제이다. 양 문자의 끝에 큰따옴표가 붙어있는데, 이는 printf내에서 단순히 "Hello World"를 입력하면 컴파일 에러가 난다. #include int main(void) { p.. 열혈 c프로그래밍 11-2번(배열의 크기 와 길이) char형 1차원 배열을 선언과 동시에 다음 문장 내용으로 초기화하고 초기화 이후에는 저장된 내용을 출력하는 예제다. Good time 11-2번을 처음 푼 오답풀이이다. 서식 문자 % c가 char형과 함께 쓰이며, 문자의 형태로 데이터를 출력또는 입력하라 라는 의미를 가진다. 기본 자료형 변수들이 선언과 동시에 초기화하는 것처럼! 배열도 가능하다! 배열의 초기화 방법은 총 세가지이다. 1. int arr [3] = {1,2,3}; //순차적으로 1 2 3을 초기화한다. cf) 중괄호로 묶인 부분을 초기화 리스트라고 한다. 2. int arr [ ] = {1,2,3,4,5}; //컴파일러에 의해서 자동으로 5가 삽입이 된다. 이문장에서 볼 수 있듯이 초기화를 목적으로 초기화 리스트가 선언되면 배열의 길.. 열혈 c프로그래밍 11-1번(최대, 최소) 길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 5개의 정수를 입력받고 입력이 끝나면 적혀있는 내용을 출력하는 예제이다. 처음 11-1번을 풀때 접근한 방법이다. 최대 최소를 어떻게 나누어 구해야 할지 막막하였다. 결국 풀이를 보았고 풀이를 보아도 처음에 이해가 가지 않는 부분이 몇몇 있었다. 243행에서 왜? max = min =sum =arr [0] 일까?라고 생각을 하였는데, arr [0]은 배열 arr의 첫 번째 요소의 값으로 첫번째값이 곧 max이고 min이고 sum(합)이라는 사실을 깨달았다. 그리고, if절에서 조건식에 max < arr[n]. 이의 if블록 안에 max = arr [n]의 문장이 이해가 가지 않았다. 처음에 max의 값이 어떤값인지 알고 조건식에 위치해 있으며 m.. c언어 재귀함수의 이해 우선 팩토리얼 이란? 4! = 4 x 3 x 2 x 1 과 같다. 즉 4! = 4 x (4-1)! 이고 이는 4 x 3! 과 같다. 그러면 1!은? 1이다. 1!을 위와 같은 식으로 표현해 보면 1 x (1 - 1)! 이고 이는 1 x 0! 과 같다. 즉 0! = 1이 된다. 128행을 보면 factorial(1)이 있는데 116행의 factorial 함수에 1의 인자를 받을 int n이 있다. 이 함수에 1이 들어가면 우선, 1 * factorial( 1 - 1)이 시행이 된다. factorial(0)이 다시 호출되어 factorial(0)을 시행한다. 그런데 n ==0이면 1을 반환하므로 1이 앞으로 반환된다. 즉 1 * 1 = 1 이되어 128 행의 출력값은 1이된다. 131행에서는 factoria.. 지역변수 와 전역변수 전역 변수는 어디서든 접근이 가능한 변수로써 지역변수와 달리 중괄호 내에 선언되지 않는다. 제일 위에 #include 전역 변수는 48행과 같이 선언된 변수를 말한다. 전역 변수의 특징은 1.프로그램의 시작과 동시에 메모리 공간에 할당되어 종료 시까지 존재한다. 2. 별도의 초기 값으로 초기화하지 않으면 0으로 초기화된다. 3. 프로그램 전체 영역 어디서든 접근이 가능하다. 전역 변수와 동일한 이름의 지역변수가 선언되면? 실행결과는 동일한 이름의 지역변수는 해당 영역 내에서 동일한 이름의 전역 변수를 가린다. >>결론은 이런 상황 자체를 만들지 않는 것이 중요하다. 가급적 변수의 이름은 달리하자. 지역변수와 전역변수 지역변수와 전역 변수는 각각 1. 메모리상에 존재하는 기간 2. 변수에 접근할 수 있는 범위에서 차이점을 보인다. 지역변수에서 말하는 '지역'이란 중괄호에 의해 형성되는 영역을 뜻한다. 그러므로 중괄호 내에서 선언되는 변수는 모두 지역변수이다. 그런데 이 지역변수는 선언된 지역 내에서만 유효하다는 특성이 있다. 그리고 지역 변수는 선언된 지역 내에서만 유효하기 때문에 선언된 지역이 다르면 이름이 같아도 문제가 되지 않는다. 지역변수는 해당 선언문이 실행될떄 메모리 공간에 할당되었다가, 선언문이 존재하는 함수가 반환을 하면(종료를 하면) 메모리 공간에서 소멸된다. 다음은 지역변수에 관한 예제이다. 40행의 지역변수 num에 의해서 36행의 main함수의 지역변수 num이 if문내에서 가려졌다. 때문에 41.. 이전 1 ··· 33 34 35 36 37 다음