Language/C C언어 강좌(switch/while/for문/cl 파일생성)
  • 728x90
    반응형

     

     

     

    C언어 Chapter 9.


     

     

     

    switch 문을 if-else 문으로 대체하는 방법   

    • switch 문은 범위를 지정할수없고 일정한 숫자를 입력받아 결과를 선택한다.
    • 10번째줄의 score = score / 10; 소스코드가 이 프로그램의 알고리즘이다.
      score에 들어갈 값을 10을 나누어 줌으로써 코드의 양을 줄였다.

     

    🔔 예) switch 문으로 만든 학점계산 프로그램

     

    • switch 문과 달리 if – else 문은 범위를 지정할수있다.
    • 결과는 위소스 와 동일하다.

     

    🔔 예) 위 switch 문 과 같은 소스를 if – else 문으로 대체한 소스코드

     

    💡 Tip ? switch 문과 if-else 문은 상황에 따라 선택하여 사용한다. 어떤 함수를 사용함에 따라 상황에따라 프로그램이 느려질수도 빨라질 수 도 있다.
    프로그램 최적화시에 두 코드의 어셈블리코드를 비교하여 빠른쪽을 선택하는 것이 좋다.

     

     

     

    리눅스 명령어

    • ctrl + c : 반복 실행되는 결과값을 멈추게해줌

     

     

    for 문

    • for(초기식; 조건식; 증감식) 명령문
    • 초기식, 조건식, 증감식은 괄호로 묶고, 그사이에 세미클론을 찍는다.
    • 초기식 = 제어변수의 초기값 설정
    • 조건식 = 논리식으로 반복 범위 설정
    • 증감식 = 제어변수의 값을 증가 또는 감소

     

    🔔 예) 1 에서 5까지의 정수를 화면에 출력하는 프로그램

     

    결과

     

     

     

    while 문을 for 문으로 변경

    🔔 예) while 문을 사용해 2단에서 9단까지 출력하는 구구단 프로그램

     

    🔔 예) 기존 while 문의 구구단 프로그램을 for문을 사용 변경

     

    결과 : while 문과 for 문의 결과는 동일하다.

     

     

    continue 사용법

    • continue 를 사용하면 continue 가 실행되지 않았을 때, 아래에 나오는 명령문은 실행되지않는다.

     

    🔔 예) 500 이상의 수를 넣었을 때 good 이라고 칭찬해주는 프로그램

     

    결과 : 400을 입력 하였을때 칭찬 해주지 않는다.

     

     

     

    컴파일 과정 및 생성 파일 종류

    main.c[전처리 preprocess]→main.i(순수c코드)[컴파일 Compile]→main.asm or main.s(gcc)[Assenbly]→main.obj or main.o(gcc)[링커 Linker]→main.exe or main(gcc)

     

    main.c main.i main.asm은 text 파일에 속하고, main.odj main.exe는 binary에 속한다.

     

    🔔 예) dos

    cl /P(대문자) main.c : main.i 파일 생성(순수 C코드)

    cl /FA(대문자) main.c : main.asm 파일 생성(어셈블리)

     

     

     

     

     

    728x90
    반응형
상단으로