윤지선 2024. 6. 4. 13:32

C언어를 하기 위해 알아야하는 4가지
연산자의 우선순위와 결합성
자주 사용하는 구두점 10가지
중요함!! 외워라.

 

 

 

단계 1

#include <stdio.h>
int main()
{
	int x;
	x = 10;
	printf("%d\n", x);
	return 0;
}

단계 2: 변수 선언, %d 10진수, 소수점이 없는 정수-int형

 

 

#include <stdio.h> //printf()함수 원형이 선언되어 있음, 전처리기
int main(void) //콘솔 기반 C프로그램의 시작점
{ //main()함수의 시작
int num1, num2;
//변수 선언문, 실행문 보다 먼저 씀, C99에서는 사용 전에만 선언하면 됨
//char, float, double
/* 변수명: 영문자(A-Z, a-z), 숫자(0-9), 밑줄(_)로 구성
변수(variable):프로그램이 실행되는 동안 자료를
기억시키기 위한 기억장소의 이름 */
num1=100; //대문자와 소문자는 다른 변수로 인식
num2=95;//변수에 상수 대입
printf("두 수의 합은 %d입니다.\n",num1+num2);
//표준 라이브러리 함수
return 0;
} //main()함수의 끝

 

 

 

 

시험에 나올 수 있음!!

 

 

 

자동 형 변환. 자료형이 다를때는 자동으로 형 변환을 함

# 사용자에게 수를 받는 함수: scanf

# scanf를 사용할 때는 & 를 사용함.

# scanf를 사용할 때는 #define _CRT_SECURE_NO_WARNINGS 사용

 

scanf를 사용해 두 점수를 입력받아 합과 평균 출력

 

배열과 for문을 모를 때에 사용할 수 있는 방법

 

 

배열에 관한 시험 많이 제출!!

배열과 반복문을 사용한 코드

위의 예제는 매우 중요함!! 암기하기

 

위의 예제에서 5명이 아닌 3명의 국어, 영어, 수학, C언어 성적을 입력받아 출력하는 예제

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

 

#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;

	do {
		printf("[%02d회]1~100까지 숫자 하나를 입력하세요=", count);
		scanf("%d", &guess);
		printf("입력한 수 : %d\n", guess);
		if (guess == random) printf("빙고!\n");
		else if (guess > random) printf("더 작은 수를 입니다.\n");
		else printf("더 큰 수를 입니다.\n");
		count++;
	} while (guess != random);
	return 0;
}

 

변수 / 배열 / 구조체
자주 쓰는 자료형
struct로 만들고 구조체 이름을 슨다

 

 

struct Man 형으로 윤지선을 만든 것과 int x 라고 해서 x는 변수 0

#include <stdio.h>
struct Man {
	int age;
};
int main(void)
{
	int x;
	struct Man 윤지선;
	//int와 struct Man이 같은 역할을 함
	x = 10;
	윤지선.age = 10;
	printf("%d\n", 윤지선.age);
	return 0;
}

 

struct Man 중괄호 안에 들어가 있는 애들을 멤버 라고 함

 

 

구조체를 초기화 할 때는 중괄호 열고 닫고로 초기화 한다

 

 

 

 

#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]; // Grade 구조체 배열 선언, 5명의 학생 정보 저장
    double avgkor=0.0, avgeng=0.0, avgmat=0.0; // 각 과목의 평균 점수를 계산하기 위한 변수

    // 5명의 학생 정보 입력 받기
    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 += man[i].kor; // 국어 점수 누적
        avgeng += man[i].eng; // 영어 점수 누적
        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;
}

시험에 무조건 나오는 예제!! 

 

376페이지 나중에 확인하기