전체 글 (295) 썸네일형 리스트형 오늘 공부한 c언어 함수(4) 세 개의 정수를 인자로 전달받아, 그중 가장 큰 수를 반환하는 함수와 가장 작은 수를 반환하는 함수를 정의해 보는 문제이다. 그리고 이 함수들을 호출하는 적절한 main함수도 작성해야 한다. 처음 잘못된 방법의 풀이이다. 두 번째로 작성한 코드인데 24행 25행을 보면 각 함수에 대한 인자를 입력 받을 수 없는 상황이기 때문에 출력 값이 매우 이상하게 작성이 되었다.( Maxmum함수를 호출을 하였는데 이 함수에 입력을 할 인자가 없다.) 바르게 작성한 코드이다. if else문과 조건연산자가 잘 기억이 나지 않아 복습을 시행하였다. 조건 연산자 (조건식) ? data1 : data2 ; 조건이 참이면 연산의 결과로 data1이 반환, 그렇지 않으면 num2가 반환. 오늘 공부한 c언어 함수(3) main 함수를 포함한 모든 함수는 조건 및 상황에 관계없이 다른 함수를 호출할 수있다. 오늘 공부한 c언어 함수(2) int Increment (int n); 같은 문장 표현은 컴파일러에게 Increment함수가 뒤에서 나온다고 알려주는 문장이다. 즉 해석을 해보면, 뒤에 반환형이 int이고 int형 정수 하나를 인자로 받는(입력값을 받는) Increment 함수의 호출문을 만나면 컴파일 해줘! 뒤에서 나와! 추가적으로 int Increment (int n);는 int Increment (int);로 표현이 될수 있는데 함수의 선언에는 매개변수의 갯수 및 자료형 정보만 포함이 되면 된다. 그래서 매개변수의 이름을 생략해서 선언하는것이 가능하다. int Add( int num1, int num2); 의 선언은 int Add( int , int ); 다음과 같은 매개 변수의 이름을 생략한 표현으로 선언할 수있다. 오늘 공부한 c언어 함수 11행에서 Add 함수를 호출했다. 그러면! Add 함수의 영역으로 실행의 흐름이 이동한다. 물론, 호출된 함수가 반환을 하면 잠시 멈췄던 main 함수의 실행 흐름은 다시 이어진다. 반환형이 void로 선언된 함수는 return문을 사용할 수 없을까? 아니다. 반환형이 void인 함수에서도 return문을 사용할 수 있다. ex) void NoreturnType(int num) { if(num c언어 switch문. case 레이블은 뒤에 세미콜론이 아닌 콜론( : )을 붙인다. default레이블은 if else if else의 마지막 else와 유사하다. 즉 일치하는 case레이블이 없을 경우에 실행되는 영역을 표시할 때 사용된다.(불 필요시 생략이 가능하다.) 만약 break문이 없다면? 예를 들어 switch(2) 라 한다면 case 2:로 이동해 case 2만이 아닌 그 이하 case 3 case4 ...를 모두 default영역에 있는 문장들도 모두 실행이 돼버린다. break문이 필요한 이유는 실행 영역을 묶기 위함이라 한다. 두 번째 문제 풀이. 7행에서 문장 경고가 발생했는데 현재로써는 왜 인지 모르겠다. 앞으로 공부하며 차츰 알아가 봐야겠다. c언어의 연산자 문제를 푸는 데에 있어서 연산자 사용에 관해 부족함이 있어 개념을 정리해보았다. 두 개의 피연산자를 요구하는 연산자를 가리켜 '이항 연산자'라고 한다. 대입 연산자와 산술 연사자는 모두 이항 연산자이다. ex) num = 11; 연산자 = 오른쪽에 있는 값을 연산자 왼쪽에 있는 변수에 대입. num = 11 + 3; 두 피연산자의 값을 더한다. - * /(왼쪽의 피연산자 값을 오른쪽 피연산자 값으로 나눈다.) %(나머지를 반환) 복합 대입 연산자 += a = a +b와 a += b는 같다. -= a = a - b 와 a -= b는 같다 *= a = a * b 와 a *= b는 같다 /= a = a / b 와 a /= b는 같다. %= a = a % b와 a %= b는 같다 그리고 ==, ^=, |= 의 .. 열혈 c프로그래밍 오답노트1 열혈 c프로그래밍 문제 08-1 문제 3. *학생의 전체 평균점수에 대한 학점을 출력하는 프로그램을 작성하는 문제이다. 성적이 90이면 A, 80이면 B...... 계속 50 미만 일시 F이다. 프로그램 실행시 순서대로 과목 1 과목 2 과목 3 점수를 입력받아야 하고, 그리고 평균을 구한후 그에 적절한 학점을 출력해야 하는 문제이다. *내 첫 번째 풀이는 점수를 score라 선언하고 각 과목을 K, E, M으로 각각 선언하였다. 처음 문제를 풀 때 순서대로 라는 말에 for문을 사용해 과목이 3과목이니 3회 반복하여야겠다는 생각을 하였고, for문안에 if문을 사용해 문제를 접근하려 했으나 각 과목 K, E, M에 대한 값을 출력받기가 어려워서 풀지 못하였다. *반복문은 "문자열 'Hello world.. 이전 1 ··· 34 35 36 37 다음