4주차/09.27

최민수·2023년 9월 27일
0

몇 가지 대표적인 언어의 함수들을 설명해드리겠습니다.

  1. Python:

    • print(): 지정된 값을 출력합니다.
    • len(): 문자열, 리스트, 튜플 등의 길이를 반환합니다.
    • range(): 정수 범위를 생성합니다.
    • input(): 사용자로부터 입력을 받습니다.
    • str(), int(), float(): 데이터 타입 변환을 수행합니다.
  2. JavaScript:

    • console.log(): 지정된 값을 콘솔에 출력합니다.
    • document.getElementById(): HTML 요소를 가져옵니다.
    • Array.prototype.map(): 배열의 각 요소에 함수를 적용하여 새로운 배열을 생성합니다.
    • setTimeout()setInterval(): 일정 시간 후 또는 주기적으로 함수를 실행합니다.
  3. Java:

    • System.out.println(): 지정된 값을 출력합니다.
    • .length(), .size() 등: 문자열, 배열, 컬렉션 등의 길이나 크기를 반환합니다.
    • .charAt(index), .substring(start, end): 문자열에서 특정 위치의 문자나 부분 문자열을 추출합니다.
  4. C++:

    • cout << ... << endl; : 지정된 값을 출력하고 줄바꿈 합니다.
    • .length() : 문자열의 길이를 반환하거나 컨테이너(예: 벡터)의 요소 개수를 반환하는 메서드입니다.

이 외에도 각 언어마다 많은 내장 함수와 라이브러리가 있으며, 사용자가 직접 정의한 함수도 호출하여 사용할 수 있습니다. 언어별 문서나 참조 자료에서 더 많은 함수들과 그 기능에 대해 자세히 알아볼 수 있습니다.


함수를 만드는 기본적인 절차입니다.

  1. 함수 선언:

    • Python: def 함수이름(매개변수):
    • JavaScript: function 함수이름(매개변수) {
    • Java: 접근제어자 반환타입 함수이름(매개변수) {
    • C++: 반환타입 함수이름(매개변수) {
  2. 매개변수(Parameter) 정의:

    • 필요한 경우에 매개변수를 정의하여 함수에 전달할 값을 받을 수 있습니다. 매개변수는 필요에 따라 여러 개 선언할 수 있으며, 각각의 데이터 타입과 이름을 지정해야 합니다.
  3. 실행 코드 작성:

    • 함수가 실행될 때 실제로 수행할 코드를 작성합니다. 이 코드는 주로 들여쓰기로 구분되며, 해당 언어의 문법에 따라 작성해야 합니다.
  4. 반환 값(Optional):

    • 일부 언어에서는 반환 값을 지정하여 함수가 실행된 후 결과값을 돌려줄 수 있습니다.
      • Python: return 반환값
      • JavaScript: return 반환값
      • Java: return 반환값;
      • C++: return 반환값;
  5. 호출(Call):

    • 함수를 호출하여 실행하기 위해 해당 언어의 문법에 맞게 호출합니다.
      • Python: 함수이름(전달인자)
      • JavaScript: 함수이름(전달인자)
      • Java: 함수이름(전달인자)
      • C++: 함수이름(전달인자)

아래 예제는 각 언어에서 "Hello, World!"를 출력하는 대표적인 함수 예제입니다.

Python:

def say_hello():
    print("Hello, World!")

say_hello()

JavaScript:

function sayHello() {
    console.log("Hello, World!");
}

sayHello();

Java:

public class Main {
    public static void sayHello() {
        System.out.println("Hello, World!");
    }

    public static void main(String[] args) {
        sayHello();
    }
}

C++:

#include <iostream>

void say_hello() {
    std::cout << "Hello, World!" << std::endl;
}

int main() {
    say_hello();
    return 0;
}

위의 예제들은 간단한 형태의 대표적인 함수 생성 방법을 보여줍니다. 실제로 더 복잡한 로직을 가진 다양한 유형의 함수를 만들 수 있으며, 자세한 내용은 해당 언어의 문서나 참조 자료에서 확인하실 수 있습니다.


#include
int main() {
std::cout << "Hello World!\n";

}

int main() {
std::cout << "Hello World\n";
}

이 C++ 코드에는 두 가지 주요한 문제가 있습니다.

  1. 첫 번째 main() 함수에서 문자열 "Hello World!"를 출력하려고 하는데, 이 문자열의 마지막에 따옴표(")가 없습니다. C++에서는 문자열을 쌍따옴표(" ")로 감싸야 합니다.

  2. 두 번째로, main() 함수가 두 번 정의되어 있습니다. 프로그램당 하나의 main() 함수만 허용됩니다. main()은 프로그램이 시작되는 지점으로 사용되기 때문입니다.

따라서 이러한 오류를 수정한 후 제대로 작동하는 코드는 다음과 같습니다:

#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;
    return 0;
}

위의 코드에서 #include <iostream>은 입출력 관련 기능을 사용하기 위해 iostream 헤더 파일을 포함시키는 구문입니다.

int main() {...}은 프로그램의 시작점인 메인 함수를 정의하는 부분입니다. 여기서 중괄호 {...} 안에 있는 부분이 메인 함수 내부로, 여기에 프로그램이 실행할 명령들을 작성합니다.

std::cout << "Hello World!" << std::endl;은 "Hello World!"라는 문자열을 콘솔에 출력하고 줄바꿈(std::endl)하는 명령입니다.

마지막으로, return 0;은 메인 함수가 성공적으로 종료되었다는 것을 운영체제에 알리는 구문입니다.

또는 해당 코드로 변환 시킬 수 있다

#include
void main1() {
std::cout << "Hello World!\n";

}

int main() {

main1();
std::cout << "Hello World\n";

}




1~6까지 랜덤하게 발생시키는 C언어 소스를 작성

C 언어에서 랜덤한 숫자를 생성하려면 rand() 함수와 srand() 함수를 사용할 수 있습니다. rand()는 랜덤한 숫자를 생성하고, srand()는 랜덤한 숫자의 시드 값을 설정하는데 사용됩니다.

아래에 1부터 6까지의 랜덤한 숫자를 출력하는 C 코드 예제를 제공합니다:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    // 현재 시간을 기반으로 난수 생성기 초기화
    srand(time(0));

    // 1~6 사이의 난수 생성
    int randomNumber = rand() % 6 + 1;

    printf("Random number: %d\n", randomNumber);

    return 0;
}

위 코드에서 srand(time(0)); 부분은 현재 시간을 기반으로 난수 생성기를 초기화합니다. 이렇게 하면 프로그램을 실행할 때마다 다른 랜덤 수열이 생깁니다.

그리고 int randomNumber = rand() % 6 + 1; 부분은 실제로 난수를 생성하는 부분입니다. rand() 함수는 임의의 정수 값을 반환하지만, 우리가 원하는 범위인 1~6 사이의 값으로 만들기 위해 모듈로 연산자(%)와 덧셈 연산자(+)를 사용했습니다.

마지막으로, 이렇게 만들어진 난수는 printf 함수로 콘솔에 출력됩니다.


C언어 srand()사용법

srand() 함수는 C와 C++에서 난수 생성기를 초기화하는 데 사용되는 함수입니다. 이 함수는 stdlib.h 라이브러리에 포함되어 있습니다.

void srand(unsigned int seed);

srand() 함수는 매개변수로 시드(seed) 값을 받습니다. 시드 값은 난수 생성 알고리즘이 시작하는 지점을 결정합니다. 같은 시드 값으로 srand()를 호출하면, 그 이후의 rand() 호출에 대해 항상 같은 결과가 나옵니다. 즉, 시드 값이 고정되어 있다면 '난수'라기보다는 일정한 패턴을 가진 수열이 생성됩니다.

따라서 보통은 현재 시간과 같이 실행할 때마다 변하는 값을 사용하여 srand()를 호출합니다. 이렇게 하면 프로그램을 실행할 때마다 다른 패턴의 난수 수열이 생깁니다.

아래 코드처럼 time(0) 또는 time(NULL)을 인자로 전달하여 현재 시간으로부터 초 단위의 값을 얻어와서 사용합니다:

srand(time(0));

여기서 time(0)은 1970년 1월 1일부터 현재까지 경과된 초를 반환하는 표준 C 함수입니다. 이 값은 프로그램이 실행될 때마다 달라지므로, 매번 다른 패턴의 난수 수열을 얻게 됩니다.

참고로, 한 프로그램 내에서 srand() 함수를 여러 번 호출하더라도 첫 번째 호출만 실제로 난수 생성기에 영향을 줍니다. 따라서 일반적으로 프로그램 시작 부분에서 한 번만 호출해주면 충분합니다.

srand와 rand의 차이점

srand()와 rand()는 C와 C++ 언어에서 난수를 생성하는 데 사용되는 함수들입니다. 두 함수의 주요 차이점은 다음과 같습니다:

1.srand(): 이 함수는 난수 생성기를 초기화하는 데 사용됩니다. 이 함수에 전달된 값(시드 값)에 따라 난수 생성 패턴이 결정됩니다. 같은 시드 값을 사용하면 항상 같은 숫자 패턴이 생성되므로, 일반적으로 실행 시마다 변하는 값을 시드로 사용합니다(예: 현재 시간).

2.rand(): 이 함수는 실제 난수를 생성하는데 사용됩니다. srand()로 초기화된 난수 생성기를 통해 0부터 RAND_MAX까지의 범위에서 임의의 정수를 반환합니다.
따라서, 일반적인 용도에서는 프로그램 시작 부분에서 한 번만 srand()를 호출하여 난수 발생기를 초기화하고, 그 후에 필요한 곳에서 rand()를 호출하여 실제 난수 값을 얻어냅니다.



#include
void display(void) {
std::cout << "choi min soo\n";

}

void display(void) {

std::cout << "Hello World\n";

}
==========================================================
#include
void display(void); //선언, 프로토타입, 원형
int main() {
display(); //호출, call
std::cout << "choi min soo\n";

}

void display(void) { //정의

std::cout << "Hello World\n";

}



새로운 자료형

#include
struct Man{
int age;
double weight;

};

int main() {
int x = 18;
struct Man min;
min.age = 18;
std::cout << min.age << std::endl;
min.weight = 81.5;

std::cout << x;

}



profile
컴퓨터소프트웨어학과

0개의 댓글

관련 채용 정보