본문 바로가기
[Intel] 엣지 AI SW 아카데미/절차지향 프로그래밍 수업 70hour

[Intel] 엣지 AI SW 아카데미 5일차 (부산상공회의소 인력개발원)

by 0x01 2023. 11. 9.

제목: [Intel] 엣지 AI SW 아카데미

부제목: 5일차

일정: 2023.11.01(수)

수업 내용: 

C 언어 실습

 -제어문

 -전처리문

 -배열

 -다차원 배열

 

목표: 

 -if문

#include <stdio.h>
int main()
{   
    int a, b;	//변수 선언
    int result;	//변수 선언2
    int k;	//변수 선언3
    printf("첫번째 계산할 값을 입력하세요 = = > ");		
    scanf_s("%d", &a);	//입력 받은 수를 변수 a에 저장
    printf("<1>덧셈 <2>뺄셈 <3>곱셈 <4>나눗셈 = = > "); 
    scanf_s("%d", &k);	//입력 받은 수를 변수 k에 저장
    printf("두번째 계산할 값을 입력하세요 = = > "); 
    scanf_s("%d", &b);	//입력 받은 수를 변수 b에 저장
    if (k == 1) {	// k 입력 값이 1이면
        result = a + b ;	// a 와 b 를 더한다.
        printf(" %d + %d = %d \n", a, b, result);	// 더한값을 표시
    }
    if (k == 2) {	// k 입력 값이 2이면
        result = a - b;	// a 에서 b 를 뺀다.
        printf(" %d - %d = %d \n", a, b, result);	// 뺀값을 표시
    }
    if (k == 3) {	// k 입력 값이 3이면
        result = a * b ;	// a 와 b 를 곱한다.
        printf(" %d * %d = %d \n", a, b, result);	// 곱한값을 표시
    }
    if (k == 4) {	// k 입력 값이 4이면
        result = a / b ;	// a 에서 b를 나눈다.
        printf(" %d / %d = %d \n", a, b, result);	// 나눈값을 표시 %d = 10진수 표현 
    }
    return 0;
}

 

 -switch 문

#include <stdio.h>
int main() {
    int score;	//score 변수선언
    char grade;	//grade 변수선언
    printf("점수를 입력하시오. : ");
    scanf_s("%d", &score);	//입력받은 숫자를 score로 저장
    switch (score / 10) {	//switch문 시작 입력받은 수를 10으로 나눴을 때
        case 9: grade = 'A'; break;	//나눈값이 9 이면 A
        case 8: grade = 'B'; break;	//나눈값이 8 이면 B
        case 7: grade = 'C'; break;	//나눈값이 7 이면 C
        case 6: grade = 'D'; break;	//나눈값이 6 이면 D
        default: break;	//그외 멈춰
    }
    printf("학점 : %c\n", grade); //문자형으로 출력


 -for 문

#include <stdio.h>
int main() {
    int i, quiz, sum, pass, fail;
    double avg;
    sum = 0; // 누적용 변수를 0으로 초기화
    pass = 0;
    fail = 0;
    
    /* 10명의 점수를 입력받아 */
    for (i=1; i<=10; i++) {
        printf("%d번의 퀴즈 점수는? ", i);
        scanf_s("%d", &quiz); // i번 학생의 퀴즈 점수 입력
        sum += quiz; // 점수를 sum에 누적하기
        
        if (quiz >= 70) pass++; // 70점 이상이면 통과
        else fail++; // 70점 미만이면 탈락
        }
        
        /* sum으로부터 평균 구하기 */
        avg = (double)sum / 10;
        printf("========================\n");
        printf("평균:%.2lf점\n", avg);
        printf("통과자:%2d명\n", pass);
        printf("탈락자:%2d명\n", fail);
    return 0;
}

 

 - while 문

#include <stdio.h>
int main()
{
    int sum = 0, i = 0;	//변수 선언
    while (sum <= 100){ //while문 시작, sum의 값이 100이 될때까지 반복
    	i++;	//1씩 증가
        sum = sum + i ;	//다시 sum 에 sum + 1 의 값을 sum으로 변수 선언
    }	//end of while
    return 0;
}

 

 - do while 문 사용 금지

 -MISRA 규정 준수하고, 규정문 읽어보기.

 

 - 배열 (1차원, 2차원, 다차원 배열)

#include <stdio.h>
#define SIZE 5
int main()
{
    int quiz[SIZE]; // 정수 SIZE개 저장 배열 선언
    int i, count, sum;
    double avg;
    printf("%d명의 점수를 순서대로 입력하세요.\n\n", SIZE);
    for (i=0; i<SIZE; i++) {
        printf("%d번의 퀴즈 점수는? ", i + 1);
        scanf_s("%d", &quiz[i]);
        }
        return 0;
}