#include <stdio.h>


//더하기 함수
int Sum(int value1, int value2){
    
    int result = value1 + value2;
    return result;
    
}


int main(int argc, const char * argv[]) {

    //step 6 자료형 -
    
    int day;        //int형 변수 선언
    day = 17;     //int형 변수에 값 대입
    printf("오늘은 몇일 ? : %d 일 \n" , day );
    //출력 : 오늘은 몇일 ? : 17 일
    
    
    int sumResult;
    sumResult = Sum(5, 6);
    printf("두 수를 더한 값 : %d \n" , sumResult);
    //출력 : 두 수를 더한 값 : 11
    
    //문자 더하기
     putchar('m');
     putchar('y');
     putchar('~');
     putchar('\n');
    //출력: my~
    
    
    //출력 후 줄바꿈
    puts("hello~!");
    //hello~!
    
    //%c와 65가 짝을 이루기 때문에 65에 해당하는 ASCII 코드값 A가 출력 된다.
    printf("65의 ASCII 값은 %c 입니다. \n" , 65);
    //출력 : 65의 ASCII 값은 A 입니다.
    
    //첫번째 data는 A와 짝을 이루고, 두번째는 %d와 짝을 이룬다.
    char data = 65;
    printf("%c 의 ASCII 값은 %d 입니다. \n", data , data);
    //출력 : A 의 ASCII 값은 65 입니다.
    
    
    //실수 출력
    float value = 2.1f;
    printf("실수 float : %f \n" , value);
    //출력 : 실수 float : 2.100000
    
    //value2 값을 실수 형식과 정수 형식으로 출력
    float value2 = 5.6f;
    printf("정수 : %d, 실수 : %f  \n" , value2, value2);
    //출력 : 정수 : 0, 실수 : 5.600000
    
    //부호가 있는 int, 부호가 없는 int
    int data1 = -1;
    unsigned int data2 = 4294967295;
    printf("%d, %u, %d, %u \n" , data1, data1, data2 , data2);
    //출력 : -1 , 4294967295, -1, 4294967295

    
    //부호가 있는 char
    char data3 = -1;
    printf("%d , %u \n", data3,data3);
    //-1 , 4294967295
    
    
    //진수 변환
    int data_1 = 10;
    int data_2 = 010;
    int data_3 = 0x10;
    printf("%x, %d, %o \n" , data_1 , data_2 , data_3);     //16진수 , 10진수, 8진수;
    //a, 8, 20
    
    
    float data_4 = 15.54;
    printf("%f, %e, %E  \n" , data_4, data_4, data_4);
    //출력 : 15.540000, 1.554000e+01, 1.554000E+01
    
    
    
    //자릿수 확인 - 자릿수확인을 위해 [ ] 문자를 사용함.
    int data_5 = 7;
    printf("[%d] [%5d] \n" , data_5 ,data_5);
    //[7] [    7]
    
    
    //자릿수 확인2
    int data_6 = 7;
    printf("[%5d] [%05d] [%-5d] \n" , data_6, data_6 , data_6);
    //[    7] [00007] [7    ]
    
    
    //자릿수 확인3
    double data_7 =3.141592;
    printf("[%f] [%.4f] [%8.4f] [%-8.4f] \n" , data_7 , data_7 , data_7 , data_7);
    //[3.141592] [3.1416] [  3.1416] [3.1416  ]
    
    
    //***************  step 7  연산 ***************
    
    int data_8, data_9;
    data_8 = 5;             //변수에 상수 5를 대입
    data_9 = data_8;    //
    printf("data_8 = %d , data_9 = %d \n" , data_8 , data_9);
    //data_8 = 5 , data_9 = 5
    
    
    //연산
    int data_10 = 5, data_11 = 3;   //두 변수에 초기값을 5와 3으로 설정
    int result1 = data_10 + data_11;        // 덧셈
    int result2 = data_10 * data_11;        // 뺄셈
     int result3 = data_10 / data_11;       //나눗셈 (몫)
     int result4 = data_10 % data_11;     // 나눗셈 (나머지)
    printf("result : %d , %d , %d, %d \n" ,result1 ,result2 , result3 , result4);
    //result : 8 , 15 , 1, 2
    
    
    //관계연산
    int data_12 = 5, data_13 = 3;           // 두 변수에 초기값을 5와 3으로 설정
    int result_1 = data_12 > 7;               //거짓 : 0
    int result_2 = data_13 <= data_12; //참 : 1
    int result_3 = data_13 == 7;            //거짓 : 0
    int result_4 = data_13 != data_12;  //참 : 1
    printf("result : %d, %d, %d, %d \n" , result_1 , result_2 , result_3, result_4);
    //result : 0, 1, 0, 1
    
    
    //연산
    int mydata1 = 5, mydata2 = 3;
    int result__1 = 0 || 1;                                                 // 0 또는 1 : 참 (1)
    int result__2 = 3 && -1;                                            // 1 && 1과 같아서 참 (1)
    int result__3 = mydata1 == 3 || mydata2 == 3;
    int result__4 = mydata1 == 3 && mydata2 ==3;    //거짓
    int result__5 = !mydata1;                                         //거짓
    printf("result : %d , %d, %d, %d, %d \n" , result__1, result__2, result__3, result__4, result__5);
    //result : 1 , 1, 1, 0, 0
    
    
        //***************  step 8  if 문 ***************
    
    //if문 - 1
    int ifData = 5;
    if(ifData > 3){     //비교 연산은 참.
        printf("ifData는 3보다 큰 수 입니다. \n");
        printf("작업종료 \n");
    }
    //ifData는 3보다 큰 수 입니다.
    //작업종료
    
    
    
    
    //if문 - 2
    int score = 92;
    char grade;
    if (score >= 90) {
        grade = 'A';
        printf("점수는 %d 이고 등급은 %c 입니다. \n" , score, grade);
    }
    printf("작업 종료 \n");
    //점수는 92 이고 등급은 A 입니다.
    //작업 종료

    //if - else 문 1
    int hisdata = 5;
    if (hisdata > 3) {
        printf("hisdata는 3보다 큰 수 입니다.  \n");
    }else{
        printf("hisdata는 3보다 작거나 같은 수 입니다.  \n");
    }
    printf("작업을 종료 합니다.  \n");
    /*
     hisdata는 3보다 큰 수 입니다.
     작업을 종료 합니다.
     */
    
    
    //if - else 문2
    
    int myscore = 92;
    char mygrade;
    
    if (myscore >= 90) {
        mygrade = 'A';
        printf("점수는 %d이고 등급은 %c 입니다. \n" , myscore, mygrade);
    } else {
        mygrade = 'B';
        printf("점수는 %d이고 등급은 %c 입니다." , myscore, mygrade);
    }
    printf("작업을 종료 합니다.  \n");
    /*
     점수는 92이고 등급은 A 입니다.
     작업을 종료 합니다.
     */
    

    //if 문 - 응용 - 1
    int year = 2015 , month = 12, days = 31;
    days++;             //일을 +1 해주기
    //일이 31일 이상이면 월 +1 해주고 일 값을 1로 초기화
    if (days > 31) {
        month++;
        days = 1;
        //달이 12일 이상이면 년을 +1 해주고 월 값을 1로 초기화
        if (month > 12) {
            year++;
            month = 1;
        }
    }
    printf("date : %d년  %d월  %d일  \n" , year, month, days);
    //date : 2016년  1월  1일
    
    
    //if 문 - 응용 - 2
    int hisscore = 80;
    char hisgrade;
    if (hisscore >= 90) {
        hisgrade = 'A';
    } else {
        if(hisscore >= 80) {
            hisgrade = 'B';
        }else {
            if(hisscore >= 70) {
                hisgrade = 'C';
            }else {
                if(hisscore >= 60) {
                    hisgrade = 'D';
                }else {
                    if(hisscore >= 50) {
                        hisgrade = 'E';
                    }else {

                            hisgrade = 'F';
                        
                    }
                }
            }
        }
    }
    printf("그의 점수는 %d점이고 등급은 %c 입니다. \n" ,hisscore, hisgrade );
    //그의 점수는 80점이고 등급은 B 입니다.
    
    
    //switch 문
    int enscore = 86;
    char engrade;
    
    switch (enscore / 10) {
        case 10:
        case  9:
            engrade = 'A';
            break;
        case  8:
            engrade = 'B';
            break;
        case  7:
            engrade = 'C';
            break;
        case  6:
            engrade = 'D';
            break;
            
        default:
            engrade = 'F';
            break;
    }
    printf("영어 점수는 %d 이고 등급은 %c 입니다 \n" , enscore , engrade );
    //영어 점수는 86 이고 등급은 B 입니다
    
    
    
    //***************  step 9  for 문 ***************
    
    int sum_ = 0, num_;
    for (num_ = 1 ; num_ <= 5 ; num_ ++ ){
        printf("num(%d) + sum(%d) = " , num_ , sum_);
        sum_ = sum_ + num_;
        printf("%d \n" , sum_);
    }
    printf("\n results = : num = %d , sum = %d \n\n" , num_ , sum_);
    
    /*
     num(1) + sum(0) = 1
     num(2) + sum(1) = 3
     num(3) + sum(3) = 6
     num(4) + sum(6) = 10
     num(5) + sum(10) = 15
     results = : num = 6 , sum = 15
     */
    
    
    //for문 2
    int numsum = 0, dnum = 1;
    //무한루프
    for(  ;  ;  ){
        printf("dnum(%d) + numsum(%d) = " , numsum, dnum);
        numsum = numsum  + dnum;
        printf("%d\n" , numsum);
        dnum++;
        if (dnum > 5) {break;}      //빠져나온다.
    }
    printf("\n Result : dnum = %d numsum = %d \n" , dnum , numsum);
    /*
     dnum(0) + numsum(1) = 1
     dnum(1) + numsum(2) = 3
     dnum(3) + numsum(3) = 6
     dnum(6) + numsum(4) = 10
     dnum(10) + numsum(5) = 15
     Result : dnum = 6 numsum = 15
     */
    
    
    //while문
    int sumW = 0 , numW = 1;
    //5보다 같거나 작을때만 반복문 실행
    while (numW <= 5) {
        printf("num(%d) + sum(%d) = " , numW , sumW);
        sumW = sumW + numW;
        printf("%d \n" , sumW);
        numW++;
    }
    printf("\n Result : dnum = %d numsum = %d \n" , numW , sumW);
    /*
     num(1) + sum(0) = 1
     num(2) + sum(1) = 3
     num(3) + sum(3) = 6
     num(4) + sum(6) = 10
     num(5) + sum(10) = 15
     Result : dnum = 6 numsum = 15
     */
    
    
    //do while 문
    int sumdo = 0 , numdo = 1;
    do{
        printf("num(%d) + sum(%d) = " , numdo, sumdo);
        sumdo = sumdo + numdo;
        printf("%d\n" , sumdo);
        numdo++;
    }while(numdo <= 5);
    printf("\n Result : numdo = %d sumdo = %d \n" , numdo , sumdo);
    /*
     num(1) + sum(0) = 1
     num(2) + sum(1) = 3
     num(3) + sum(3) = 6
     num(4) + sum(6) = 10
     num(5) + sum(10) = 15
     Result : numdo = 6 sumdo = 15
     */
    
    // 구구단 반복문
    for(int bignum = 2; bignum < 10 ; bignum ++){
        for (int smallnum = 1; smallnum < 10; smallnum++) {
            printf("%d x %d = %d \n" , bignum , smallnum, (bignum*smallnum));
        }
    }
    /*
     2 x 1 = 2
     2 x 2 = 4
    (생략..........)
     9 x 8 = 72
     9 x 9 = 81
     */
    
    return 0;
}

do it c언어 참고

'ios 뽀개기 > C언어' 카테고리의 다른 글

비트연산  (0) 2019.11.18
자료형  (0) 2019.11.18
c언어 기초4  (1) 2019.05.22
c언어 기초 3  (0) 2019.05.21
c언어 기초2  (0) 2019.05.17
c언어 기초1  (0) 2019.05.16

+ Recent posts