C 4

시연·2024년 7월 24일

2024-07-24

기능function=> 특정코드의 집합

  • 함수 선언:
    void 함수명(){
    //
    }
  • 함수 실행:
    함수명()

함수

  • 매개변수: 파라먼트, 인자: 아규먼트

매개변수는 지역변수와 마찬가지라 그 괄호 안에서만 효용이 있음.

  • 문자에 대한 타입: char

리턴

  • int plus(int a, int b) {
    return a + b; // 함수 실행 결과값
    }
    (int는 리턴타입) => a+b는 int타입
    (결과적으로 입출력만 알면 된다.)
  • 리턴은 만나는 순간 종료
  • int와 long은 범위가 같은데 왜 따로 써?
    => 16비트나 8비트 때 썼던 타입을 가져와야 하기 때문에
    => int가 long이랑 사실상 같기는 하지만, long이 크기가 더 크기 때문에 long 대신 int 사용이 가능하다.( 범위가 넓은 애한테 들어가는 게 문제가 안된다)
함수 1부 풀이

#include <stdio.h>

#pragma warning(disable : 4996)

int add(int i, int j){
return i+j;
}

int minus(int i, int j){
return i-j;
}
int multiply(int i, int j){
return i*j;
}
int divide(int i, int j){
return i/j;
}
double divide2(int i, int j){
return i/j;
}
int mod(int i, int j){
return i%j;
}

int main(void) {
int a = 0;

a = add(10, 20);
printf("두 수의 합 : %d\n", a);
// 출력 => 두 수의 합 : 30

a = minus(10, 20);
printf("두 수의 차 : %d\n", a);
// 출력 => 두 수의 차 : -10

a = multiply(10, 20);
printf("두 수의 곱 : %d\n", a);
// 출력 => 두 수의 곱 : 200

a = divide(40, 20);
printf("두 수를 나눈 몫 : %d\n", a);
// 출력 => 두 수를 나눈 몫 : 2

double b = divide2(39, 5);
printf("두 수를 나눈 몫 : %f\n", b);
// 출력 => 두 수를 나눈 몫 : 7.800000

a = mod(40, 3);
printf("두 수를 나눈 나머지 : %d\n", a);
// 출력 => 두 수를 나눈 나머지 : 1

return 0;

}

#include <stdio.h>
int is_even(int num){
int is_even_number;
if ( num % 2 ==0){
is_even_number = 1;
}
else{
is_even_number =0;
}
return is_even_number;
}

int main(void) {
printf("10은(는) 짝수인가요? : %d\n", is_even(10));
printf("11은(는) 짝수인가요? : %d\n", is_even(11));
return 0;
}

#include <stdio.h>
int is_bigger_than_100(int num) {
if (num >100) {
return1;
}
return 0;
}
int main(void) {
printf("128은(는) 100보다 큽니다. : %d\n", is_bigger_than_100(128));
printf("28은(는) 100보다 큽니다. : %d\n", is_bigger_than_100(28));
return 0;
}

#include <stdio.h>
int is_bigger_than_100_and_less_than_200(int num) {
if (num>100 && num<200){
is_bigger_than_100_and_less_than_200_num =1;
}
else{
is_bigger_than_100_and_less_than_200_num = 0;
}
return 0;
}
int main(void) {
printf("128은(는) 100보다 크고 200보다 작습니다. : %d\n", is_bigger_than_100_and_less_than_200(128));
printf("28은(는) 100보다 크고 200보다 작습니다. : %d\n", is_bigger_than_100_and_less_than_200(28));
return 0;
}

#include <stdio.h>
int print_divisors(int x) {
for(int i =1; i<=1000; i++) {
if (x%i==0){
printf("%d\n", i);
}
}
return 0;
}
int main(void) {

print_divisors(1000);
// 출력 =>
/
1
2
4
5
8
10
20
25
40
50
100
125
200
250
500
1000
/

return 0;
}

#include <stdio.h>
// sum 가능
int get_divisor_sum(int x){
// sum 에서 선언하면 좋은 점: 지역변수
int sum=0;
for (int i = 1; i<=x; i++) {
if (x%i == 0){
sum +=i;
}
}
return sum;
}
int main(void) {

int rs;
rs = get_divisor_sum(4);
printf("4의 약수의 합 : %d\n", rs);
// 출력 : 7

rs = get_divisor_sum(5);
printf("5의 약수의 합 : %d\n", rs);
// 출력 : 6

rs = get_divisor_sum(3);
printf("3의 약수의 합 : %d\n", rs);
// 출력 : 4

return 0;
}

0개의 댓글