B2024001225 윤지선

12주차 과제 본문

2024년 1학기/C 프로그래밍

12주차 과제

윤지선 2024. 5. 21. 11:54

내가 가지고 있는 동전은 argument 그게 자판기로 들어가는 순간 그때부터는 parameter

 

#구조적 프로그래밍(structured programming)

# int main (void) 에서 void는 C언어에서 생략하지 않는 것이 좋음.

# 리턴값이 없는 함수나 매개변수가 없는 함수는 그 위치에 비어있다는 뜨인 void를 씀.

C 프로그램의 기본 틀

함수 만드는 문제가 기말고사에서 20점 문제!!!!!

 

(리턴값) (함수 이름) (매개변수)

ex) void display(void)

이 때 리턴값과 매개변수가 없으면 void를 쓰면 됨.

 

C 표준 라이브러리 함수
뤼튼한테 물어본 많이 사용하는 C 표준 라이브러리 함수

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

int main() {
    time_t current_time;
    struct tm *time_info;
    char timeString[9];  // HH:MM:SS 형식의 문자열

    // 현재 시간 가져오기
    time(&current_time);
    time_info = localtime(&current_time);

    // 시간 문자열로 변환하기
    strftime(timeString, sizeof(timeString), "%H:%M:%S", time_info);

    // 현재 시간 출력하기
    printf("현재 시간: %s\n", timeString);

    return 0;
}

뤼튼에게 물어본 현재 시간을 출력하는 소스

 

날짜, 시간 함수
메모리 관련 함수
함수 명
함수의 정의, 호출, 선언

 

#include <stdio.h>
int main1 (void)
{
	printf("메인1\n");
	return 0;
}
int main(void)
{
	printf("메인 시작\n");
	main1();
	printf("메인 끝\n");
	return 0;
}

# main 함수는 딱 하나만 있어야 하기 때문에 main1 함수로 다른 함수를 만듦

위의 함수는 내가 새로운 함수를 만든 것임.

#include <stdio.h>
void display(void); //선언
int main (void) 
{
	printf("ppppp");
	display();//호출 call
	return 0;
}
void display(void) //정의
{
	printf("안녕");
}

return문

 

# 바로 리턴값을 쓰는 것은 나중에 리턴값을 쓸 수 없기 때문에 좋은 방법이 아니다.

#include <stdio.h>
int doubleNumber (int x) 
{
	return x*2;
}
int main(void) //정의
{
	int x;
	x = 10;
	x = doubleNumber(3);
	printf("%d",x);
	printf("%d", doubleNumber(3));
	return 0;
}

 

#include <stdio.h>

double avg(int x, int y, int z);

int main(void)

{

double x;

x = avg(2, 3, 5);

printf("%lf", x);

return 0;

}

double avg(int x, int y, int z)

{

return (x + y + z)/3.0;

}

 

#include <stdio.h>

char vending(int x) {
    if (x == 1) return 'A';
    else return 'B';
}

int main(void) {
    char x;
    x = vending(1);
    printf("%c\n", x);
    return 0;
}

12주차 강의자료 41p에 있는 오류를 챗gpt가 수정해준 내용

 

#include <stdio.h>
const char* vending(int x);
int main(void)
{
	printf("%s\n", vending(2));
	return 0;
}
const char* vending(int x)
{
	if (x == 1) return "콜라";
	else return "사이다";
}

 

함수 호출

#include <stdio.h>
//void view(void);	//함수 선언 또는 원형
int main(void)
{
	printf("메인 함수 : view호출 전\n");
	view();		//함수 호출
	printf("메인 함수 : view호출 후\n");
	return 0;
}
void view(void)		//함수 정의
{
	printf("view함수\n");
}

예제 8.1

# 함수들끼리 호출하는 것은 얼마든지 가능함.

 

#include <stdio.h>
int add(int x, int y);//함수 선언, int add(int,int); 도 가능
int main(void)
{
	int sum;
	printf("메인 함수\n");
	add(5,10);	//함수를 호출하고 반환값을 보관하지 않음, 
		//15가 반환되었지만 사라짐
	sum=add(5,10);  //함수 호출 후 반환 값을 sum에 저장
	printf("sum=%d\n",sum);
	printf("add(5,10)=%d\n",add(5,10));//함수 호출 후 반환값을 바로 출력
	return 0;
}
int add(int x,int y) //함수 정의
{       // x에 5, y에 10이 전달됨
	int z;
	z=x+y;
	return(z);        //위 세 줄 대신 return(x+y); 라고만 써도 됨
}

 

실매개변수와 parameter 은 같은 말.

 

 

위 사진과 소스코드의 출처는 한교수님 PPT를 참조했습니다. 

'2024년 1학기 > C 프로그래밍' 카테고리의 다른 글

13주차 과제  (0) 2024.05.28
13주차 예습과제  (0) 2024.05.28
12주차 예습과제  (1) 2024.05.21
11주차 과제  (0) 2024.05.14
11주차 예습과제  (0) 2024.05.14