c프로그래밍 5주차 수업내용 및 수업 후 과제

2024. 4. 1. 16:20C프로그래밍/수업 내용 및 수업 후 과제

반응형

책 p.87

printf()의 사용법

#include <stdio.h>

int main()
{
    printf("나이 20살\n");
    printf("이름:%s, 반:%c, 나이:%d살, 키:%lf \n","상연", 'A', 20, 170.5);


    return 0;
}

문자열은%s, 문자는%c, 정수는%d, 실수는%f

문자열은""사용,문자는''사용, 파란색글씨는 리터럴이다.

 

%5d를 사용할떄 앞에 0을 사용하면 공백에 0이나와서 (%05d,12)는 00012로 출력된다.

scanf와 scanf_s의 차이점 및 장단점

 

중간고사에 나옴 - scanf에서 소수점이 있는 숫자를 작성할때 %f가 아닌 %lf로 입력 받아야한다

 

추가로, scanf에서 %3d를 입력하게 되면 처음 3개만 받아라 라는 내용이다.

scanf를 써서 문자를 입력받을때는 getchar()를 쓴다.- getchar를 이용하여 엔터를 제거할 수 있다 (버퍼를 비운다고 하는데 버퍼는 입출력할때 잠시 저장한다는뜻이다.

중간고사, 문자하나를 입력받을때 하는 두가지 방법

1. ch = getchar();

2. scanf("%c", &ch);

scanf에서 %s를 사용할때 배열이기 때문에 &를 사용하지 않는다.

중간고사, 배열의 방이 10개라면 null한개까지 해서 한개 적은 숫자인 9를 적는다%9s 아래 예제

 

복잡하게 출력할때(%d,%c,%f 등)는 printf()함수를 사용하지만,

제일 마지막줄에서 자동으로 개행이 되는 puts()함수를 사용하면 문자열만 입력할떄는 훨씬 편하게 사용이 가능하다(putstring의 줄임)

중간고사,

getchar()함수는 입력한 값을 수정할 수 있고, 내용이 보인다.

_getch()함수는 수정도 불가능 하고 입력할 때 내용도 보이지 않는다

_getche()함수는 수정불가능하지만, 입력한 내용은 보인다.(아래 내용 참조)

실습문제1-1과제

`putchar()` 함수는 표준 C 라이브러리에서 제공하는 함수로, 한 문자를 표준 출력(stdout)에 출력하는 데 사용됩니다. 이 함수의 사용법은 매우 간단하며, 출력하고자 하는 문자를 인자로 넘겨주면 됩니다. `putchar()` 함수는 정수 값을 인자로 받지만, 이 정수 값은 ASCII 코드에 해당하는 문자로 해석되어 출력됩니다.

다음은 `putchar()` 함수를 사용하는 기본적인 예제입니다:

```c
#include <stdio.h>

int main() {
    char ch = 'A'; // 출력하고자 하는 문자 'A'를 변수 ch에 저장
    putchar(ch); // 변수 ch에 저장된 문자 'A'를 출력
    putchar('\n'); // 줄바꿈 문자를 출력하여 다음 출력이 새로운 줄에서 시작되도록 함

    // ASCII 코드를 이용하여 문자 출력
    putchar(66); // ASCII 코드 66은 문자 'B'에 해당
    putchar('\n'); // 줄바꿈

    // 'C'부터 'F'까지 문자를 연속으로 출력하는 반복문
    for(char c = 'C'; c <= 'F'; c++) {
        putchar(c); // 변수 c에 저장된 문자를 출력
    }
    putchar('\n'); // 반복문이 끝난 후 줄바꿈

    return 0;
}
```

이 예제에서는 다음과 같은 작업을 수행합니다:

1. 문자 'A'를 `putchar()` 함수를 사용하여 출력합니다.
2. 줄바꿈 문자(`'\n'`)를 출력하여 출력 결과가 새로운 줄에서 시작되도록 합니다.
3. ASCII 코드를 직접 인자로 넘겨 'B' 문자를 출력합니다.
4. `'C'`부터 `'F'`까지의 문자를 for 반복문을 사용하여 연속으로 출력합니다. 각 문자 출력 후에는 줄바꿈 문자를 출력하여 결과가 새로운 줄에서 시작되도록 합니다.

`putchar()` 함수는 단순히 한 문자를 출력하는 기능을 제공하지만, 이를 활용하여 문자열을 출력하거나, 반복문 내에서 사용하여 다양한 출력 패턴을 생성하는 등의 작업에 활용될 수 있습니다.

 

실습문제 1-2과제

과제 실습문제 1-3, 4, 5

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>//전처리기
int main(void)
{
int kor, eng, mat, total ;//kor, eng, mat, total의 변수를 선언
double avg;//ang의 변수를 선언
printf("총점과 평균을 구하는 프로그램입니다.\n");//총점과 평균을 구하는 프로그램이라는것을 출력
printf("국어 점수를 입력하고 Enter를 누르세요:");//국어 점수를 입력할 수 있도록 안내하는 말을 출력
scanf("%d", &kor);//국어 점수를 입력받기
printf("영어 점수를 입력하고 Enter를 누르세요:");//영어 점수를 입력할 수 있도록 안내하는 말을 출력
scanf("%d", &eng);//영어 점수를 입력받기
printf("수학 점수를 입력하고 Enter를 누르세요:");//수학 점수를 입력할 수 있도록 안내하는 말을 출력
scanf("%d", &mat);//수학 점수를 입력받기
total = kor + eng + mat;//국어, 영어, 수학의 합을 계산해서 total에 저장
avg = total / 3.0;//국어, 영어, 수학의 평균 값을 계산해서 avg에 저장
printf("당신의 총점은 %d 이고, 평균은 %lf 입니다.\n", total, avg);
// 총점과 평균을 출력 총점은 정수형(%d), 평균은 실수형%(l)f으로 출력
return 0;
}

결과는 아래

 

실습 문제 1-5

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int in;
double cm;
printf("인치를 cm단위로 환산하는 프로그램입니다.\n");
printf("인치를 입력하고 Enter를 누르세요."); scanf("%d", &in); cm = in * 2.54; printf("%d인치는 %.2lf입니다.\n", in, cm); return 0; }

결과값은 아래