책 내용 질문하기
어제 질문했었는데 답변이 불충분한거 같아서 다시 질문드립니다
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
조회수
97
작성일
2018-06-12
작성자
탈퇴*원
첨부파일

1. 1권 94페이지 문제3

void prnt(int *x, int *y, int *z)는

void prnt (x, y, z)

int *x, *y, *z; 와 같은 표현인가요?

두번째 방법으로 쓴다면 int *x, *y, *z;는 필수인데

void prnt(int *x, int *y, int *z)라고 표현해도되나요?

2.

간혹 int prnt(int a, int b); 처럼 함수 선언 앞에 int가 붙었는데 있으나 없으나 문제푸는데는 지장이 없죠?

크게 신경 안써도되는 부분인가요?

3.

main() 함수에서 괄호 안이나 main앞에 void라고 써있는데 의미는 무엇인가요?

1권 97페이지 7번문제처럼 main()함수 내에 return이 존재할 때도 괄호안에 void가 써있어요

void를 쓰지 않아도 문제푸는데는 지장이 없죠?

4.

main()

{

}

이렇게 쓰거나

main() {

}

이렇게 쓰거나 동일한가요?

5.

a[]={10,11,12,13,14}일때

fo r(i=0 ; i<5 ; i++)

printf("%4d",a[i]);

에서 "%4d"는 무슨 의미인가요?

각 a[i]마다 4자리씩 확보하면서 출력하라는 뜻이므로 ' 10 11 12 13 14 '인가요?

교재에는 숫자사이에 공백이 좁아서 질문드립니다.

6. 1권 100페이지 예제2에서 "%4d"

hap=380이므로 '%4d'서식으로 출력하면 앞에 한칸 띄고 380을 출력하는거죠?

교재에 애매하게 기입되어있어서 질문드립니다

7.

C언어는 ; 표시가 나오기 전까지 줄 구분하지 않고, 여러줄이어도 한 줄로 처리되나요?

저번에 답변하신 내용이 아래에 있는데 두 문장이 동일한거 같아서 다시 질문합니다

---------------------

C언어에서는 하나의 실행문 마지막에 ;을 붙이도록 되어 있습니다.

; 을 만나기 전까지는 하나의 실행문으로 인식하게 됩니다.

for(k=0; k

a = b;

for(k=0; k

a = b;

는 서로 다릅니다.

위 문장은 for문과 a=b; 문이 서로 독립적으로 따로 수행됩니다.

즉 for문이 완료된 후 a=b;가 수행됩니다.

아래쪽은 for문의 연장선상에 a=b;가 수행됩니다.

즉 for문이 수행될 때마다 a=b; 문도 함께 수행되는 것이죠.

답변
2018-06-14 09:23:43

안녕하세요.

1)

함수는 함수로 전달되는 값을 받아 처리를 한 후 반환하는 값이 있습니다.

void prnt(int *x, int *y, int *z)

에서 앞의 void는 함수에서 return, 즉 반환되는 값의 자료형이고

뒤의 괄호 안 (int *x, int *y, int *z)는 함수로 전달되는 값의 자료형입니다.

2)

void prnt(int *x, int *y, int *z)

함수 앞에 반환되는 값이 없는 경우 void를 생략하고

prnt(int *x, int *y, int *z)로 작성해도 됩니다.

3)

int main(void)

에서 괄호 안은 main 함수의 경우 전달받는 값이 없으므로 void라고 한 것으로

생략하고

int main() 으로 해도 됩니다.

main 앞의 int는 return 0;에서 반환되는 값이 0이 정수형이라는 의미의 int입니다.

main 함수는 일반적으로 반환되는 값이 없으므로

void main()

혹은

main()

으로 작성하는 경우가 많습니다.

4)

예 중괄호의 위치는 어떻게 하든 관계가 없습니다.

5)

%4d는 정수형으로 값을 출력하되 출력될 자리수를 4자리 확보하여 출력하라는 것으로

출력할 값이 3이라면

앞에 3칸을 띄우고

3

과 같이 출력합니다.

6)

예, 맞습니다.

7)

예 .. 실행문은 마지막에 세미콜론이 있는 부분까지를 하나의 실행문으로 인식합니다.

8)

for문에 반복할 실행문이 있는 경우 for문 뒤에 세미콜론을 붙이지 않고 그 아래 실행문 뒤에 세미콜론을 붙입니다.

for문

실행문;

아래와 같이 for문 바로 뒤에 세미콜론을 붙이면 for문의 반복변수를 증가시켜 for문만 반복한 후 반복이 끝나면 아래 실행문을 수행합니다. 즉 세미콜론 때문에 for문 아래 실행문의 for문의 실행문이 아니라 개별적인 실행문이 되는 것입니다.

for문;

실행문;

오늘도 즐거운 하루 되세요.

  • *
    2018-06-14 09:23:43

    안녕하세요.

    1)

    함수는 함수로 전달되는 값을 받아 처리를 한 후 반환하는 값이 있습니다.

    void prnt(int *x, int *y, int *z)

    에서 앞의 void는 함수에서 return, 즉 반환되는 값의 자료형이고

    뒤의 괄호 안 (int *x, int *y, int *z)는 함수로 전달되는 값의 자료형입니다.

    2)

    void prnt(int *x, int *y, int *z)

    함수 앞에 반환되는 값이 없는 경우 void를 생략하고

    prnt(int *x, int *y, int *z)로 작성해도 됩니다.

    3)

    int main(void)

    에서 괄호 안은 main 함수의 경우 전달받는 값이 없으므로 void라고 한 것으로

    생략하고

    int main() 으로 해도 됩니다.

    main 앞의 int는 return 0;에서 반환되는 값이 0이 정수형이라는 의미의 int입니다.

    main 함수는 일반적으로 반환되는 값이 없으므로

    void main()

    혹은

    main()

    으로 작성하는 경우가 많습니다.

    4)

    예 중괄호의 위치는 어떻게 하든 관계가 없습니다.

    5)

    %4d는 정수형으로 값을 출력하되 출력될 자리수를 4자리 확보하여 출력하라는 것으로

    출력할 값이 3이라면

    앞에 3칸을 띄우고

    3

    과 같이 출력합니다.

    6)

    예, 맞습니다.

    7)

    예 .. 실행문은 마지막에 세미콜론이 있는 부분까지를 하나의 실행문으로 인식합니다.

    8)

    for문에 반복할 실행문이 있는 경우 for문 뒤에 세미콜론을 붙이지 않고 그 아래 실행문 뒤에 세미콜론을 붙입니다.

    for문

    실행문;

    아래와 같이 for문 바로 뒤에 세미콜론을 붙이면 for문의 반복변수를 증가시켜 for문만 반복한 후 반복이 끝나면 아래 실행문을 수행합니다. 즉 세미콜론 때문에 for문 아래 실행문의 for문의 실행문이 아니라 개별적인 실행문이 되는 것입니다.

    for문;

    실행문;

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.