본문 바로가기

카테고리 없음

c프로그래밍 마지막 정리

여기서 외울것은 x 

 

연산자의 우선순위와 결합성 

 

c언어에서 많이 사용하는 구두점들의 명칭과 용도 정리 

주로 대, 중, 소 괄호를 많이 사용 

 

 

함수를 만들때 함수 선언 또는 prototype을 쓰며 원형 이란 말은 잘 안씀 

저 노란색 박스를 잘 정리해서 공부해야함 

오픈북이니 써두자 

 

c언어의 기본 형태 void는 생략이 가능 하지만 굳이 생략을 하지 않는것이 더 좋다
여기서 x =10은 x가 10이라는것이 아니라 x에 10을 대입시키라는 뜻이며 이러한 형태는 파이썬에서만 쓰고 나머지 언어에서는 쓰지 않는다

 

int x로 변수 선언을 한 것이고 파이썬을 제외한 거의 모든 곳에서 쓰이는 기본 형태이다.
c언어에서 많이 사용하는 기본 자료형들

 

이걸 모르면 프로그래밍 문제들을 맞추는데에 좀 힘듦

.

주석 처리하는 방법 정리 

두 수의 합과 평균을 구하는 프로그래밍

 

자동형 변환 하는 법
두 수를 입력 받아 합과 평균을 구하는 프로그래밍

 

 

위에 것과 똑같지만 변수명이 다름 

2명의 성적 총점,평균,과목 별 총점 평균 구하는 코딩
배열
여러명의 성적처리를 할 수 있는 코딩

 

5명 -> 3명으로 바꾼 코딩

 

숫자 맞추기 게임

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

int main() {
    int guess;  // 사용자가 입력할 숫자를 저장할 변수
    int random; // 컴퓨터가 생성한 랜덤 숫자를 저장할 변수
    int count = 1; // 시도 횟수를 저장할 변수

    srand((unsigned int)time(NULL)); // 현재 시간을 시드로 사용하여 난수 생성기 초기화
    random = rand() % 100 + 1; // 1부터 100 사이의 랜덤 숫자 생성

    do {
        printf("[ %02d회 ] 1~100까지 숫자 하나를 입력하세요:", count);
        scanf("%d", &guess); // 사용자가 숫자를 입력

        if (guess == random) {
            printf(" => 빙고!\n"); // 사용자가 숫자를 맞췄을 때 출력
        } else if (guess > random) {
            printf(" => 더 작은 수를 입력하세요.\n"); // 입력한 숫자가 랜덤 숫자보다 클 때 출력
        } else {
            printf(" => 더 큰 수를 입력하세요.\n"); // 입력한 숫자가 랜덤 숫자보다 작을 때 출력
        }
        count++; // 시도 횟수를 증가
    } while (guess != random); // 사용자가 숫자를 맞출 때까지 반복

    return 0; // 프로그램 종료
}

 

 

구조체 정리
구조체를 만드는 가장 기본적인 형태

멤버는 구조체 안에 들어가잇는 것들을 말한다 

; 매우 중요★

. 다음에 변수나 함수가 올 수 있음 

작년 시험 문제 였음 

 

 

구조체 이거 시험에 나올수도 있으니까 이 악물고 어디에 써놓든 프린트를 하든 하자 

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Grade
{
int num,kor,eng,mat,total; double avg;
};
int main(void) {
int i;
struct Grade man[5];
double avgkor=0.0, avgeng=0.0, avgmat=0.0;
for(i=0;i<5;i++)
{
printf("%d번째 학생의 학번=",i+1);
scanf("%d",&man[i].num);
printf("국어 점수=");
scanf("%d",&man[i].kor);
printf("영어 점수=");
scanf("%d",&man[i].eng);
printf("수학 점수=");
scanf("%d",&man[i].mat);
man[i].total=man[i].kor+man[i].eng+man[i].mat; //각 학생의 총점
man[i].avg=man[i].total/3.0; //각 학생의 평균
avgkor=avgkor+man[i].kor; //국어 점수 누적
avgeng=avgeng+man[i].eng; //영어 점수 누적
avgmat=avgmat+man[i].mat; //수학 점수 누적
}
printf(" 학번 국어 영어 수학 총점 평균\n");
for(i=0;i<5;i++)
{
printf("%8d %6d %6d %6d %6d %7.2f\n", man[i].num,man[i].kor,man[i].eng,man[i].mat,man[i].total,man[i].avg);
}
printf(" 국어 평균: %7.2f\n 영어 평균: %7.2f\n 수학 평균: %7.2f\n", avgkor/5., avgeng/5., avgmat/5.);
return 0;
}