본문 바로가기

컴퓨터공부/정보처리기사

[정보처리기사] c언어와 문제

by Life & study 2023. 6. 18.
반응형

[정보처리기사]

c언어 printf ("%s\n " , s + i);

위 코드는 C 언어에서 문자열을 출력하는 printf 함수를 사용하는 코드입니다.
%s는 문자열을 출력하기 위한 서식 지정자입니다. s는 문자열을 나타내는 문자열 포인터입니다.
s + i는 문자열 포인터 s에서 i만큼 떨어진 위치의 주소를 나타냅니다. 따라서, s + i는 문자열의 i번째 문자부터 시작하는 문자열을 나타냅니다.
따라서, printf("%s\n", s + i); 코드는 문자열 포인터 s에서 i만큼 떨어진 위치의 문자부터 시작하는 문자열을 출력합니다. \n은 줄바꿈 문자입니다. 따라서, 출력된 문자열은 한 줄에 출력되지 않고, 다음 줄에서 출력됩니다.
예를 들어, s가 "Hello, World!"를 가리키고 i가 7이라면, printf("%s\n", s + i); 코드는 "World!\n"을 출력합니다.

 

C 언어에서 int형 포인터 변수 a를 선언하는 방법

 

 

int *a;

위 코드에서 *는 포인터 연산자(Ptr Operator)입니다. int형 포인터 변수 a는 int형 변수의 주소를 저장할 수 있는 포인터 변수입니다.
int형 포인터 변수 a에 int형 변수 b의 주소를 할당하는 방법은 다음과 같습니다.

 

int b = 10;
int *a = &b;

위 코드에서 int형 변수 b를 선언하고, 10의 값을 할당합니다. 그리고 int형 포인터 변수 a를 선언하고, &b를 할당합니다. & 연산자는 변수의 주소를 반환하는 연산자입니다. 따라서, &b는 변수 b의 주소를 반환합니다. int형 포인터 변수 a에는 변수 b의 주소가 할당됩니다.
int형 포인터 변수 a에 다른 변수의 주소를 할당할 수도 있습니다. 예를 들어, 다음과 같이 int형 배열 arr의 첫 번째 요소의 주소를 int형 포인터 변수 a에 할당할 수 있습니다.

 

int arr[5] = {1, 2, 3, 4, 5};
int *a = &arr[0];

 

위 코드에서 int형 배열 arr을 선언하고, 1, 2, 3, 4, 5의 값을 할당합니다. 그리고 int형 포인터 변수 a를 선언하고, &arr[0]을 할당합니다. &arr[0]은 배열 arr의 첫 번째 요소의 주소를 반환합니다. 따라서, int형 포인터 변수 a에는 배열 arr의 첫 번째 요소의 주소가 할당됩니다.

 

 

c 언어의 구조체에 대해

 

C 언어에서 구조체(Structure)는 서로 관련된 데이터를 하나의 묶음으로 정의하는 사용자 정의 자료형입니다. 구조체는 다양한 자료형의 변수를 하나의 묶음으로 만들어서, 하나의 변수로 다룰 수 있도록 해줍니다. 구조체는 다음과 같은 구조를 가집니다

 

 

struct 구조체 이름 {
  자료형 멤버1;
  자료형 멤버2;
  자료형 멤버3;
  ...
};

 구조에서 구조체 이름은 사용자가 임의로 지정할 수 있는 이름입니다. 멤버는 구조체를 구성하는 변수를 나타냅니다. 멤버는 자료형과 변수 이름으로 구성됩니다. 멤버는 구조체 내에서 고유한 이름을 가져야 합니다.
예를 들어, 다음과 같이 구조체 person을 정의할 수 있습니다

 

struct person {
  char name[20];
  int age;
  float height;
};

위 구조체에서는 char형 배열 name, int형 변수 age, float형 변수 height를 멤버로 가지고 있습니다. 이 구조체는 사람의 이름, 나이, 키를 저장하는 데 사용될 수 있습니다.
구조체 변수를 선언하는 방법은 다음과 같습니다.

struct 구조체 이름 변수 이름;

예를 들어, 다음과 같이 구조체 person의 변수 p1을 선언할 수 있습니다.

struct person p1;

구조체 변수의 멤버에 접근하는 방법은 다음과 같습니다.

구조체 변수 이름.멤버 이름

예를 들어, 다음과 같이 구조체 person의 변수 p1의 멤버에 접근할 수 있습니다.

 

p1.age = 20;
p1.height = 175.5;
strcpy(p1.name, "John");

위 코드에서는 p1의 멤버인 age, height, name에 각각 20, 175.5, "John"을 할당합니다. name은 char형 배열이므로 strcpy 함수를 사용하여 문자열을 복사합니다.
구조체는 다양한 자료형의 변수를 하나의 묶음으로 만들어서, 하나의 변수로 다룰 수 있도록 해줍니다. 구조체는 프로그래밍에서 유용하게 사용됩니다.

c 언어의 구조체에 대해

C 언어에서 구조체(Structure)는 서로 관련된 데이터를 하나의 묶음으로 정의하는 사용자 정의 자료형입니다. 구조체는 다양한 자료형의 변수를 하나의 묶음으로 만들어서, 하나의 변수로 다룰 수 있도록 해줍니다. 구조체는 다음과 같은 구조를 가집니다.

 

c 언어 에 2중 for문 이해도

 

#include <stdio.h>

int main() {
   int i, j;

   for(i=1; i<=3; i++) {
      for(j=1; j<=3; j++) {
         printf("%d %d\n", i, j);
      }
   }

   return 0;
}

위 프로그램은 다음과 같은 결과를 출력합니다.

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

이중 for 루프는 바깥쪽 루프와 안쪽 루프로 구성됩니다. 바깥쪽 루프는 i가 1부터 3까지 1씩 증가하면서 반복하고, 안쪽 루프는 j가 1부터 3까지 1씩 증가하면서 반복합니다. 바깥쪽 루프의 한 번 반복할 때마다 안쪽 루프는 1부터 3까지 모두 반복하게 됩니다. 예를 들어, 바깥쪽 루프가 처음으로 1을 반복할 때 안쪽 루프는 1부터 3까지 모두 반복하면서 i와 j의 값을 출력합니다. 그리고 바깥쪽 루프가 2를 반복할 때도 안쪽 루프는 1부터 3까지 모두 반복하면서 i와 j의 값을 출력합니다. 이러한 과정이 바깥쪽 루프가 모든 반복을 마칠 때까지 계속됩니다.
위 예제에서 printf 문은 안쪽 루프에서 i와 j의 값을 출력합니다. %d 서식 지정자는 정수 값을 출력할 때 사용됩니다.
이중 for 루프가 어떻게 작동하는지 이해하시는 데 도움이 되었기를 바랍니다. 추가적인 질문이나 코드 변경이 필요하시면 언제든지 말씀해 주세요.

 

최종이해도

 

 

 

data-canonical-url="https://m.blog.naver.com/tjfdydrnjs0/223131545072"

 

나스닥 8주연속 상승…'엔비디아 vs AMD' 대장주들의 진격의 랠리

나스닥 8주연속 상승…'엔비디아 vs AMD' 대장주들의 진격 뉴욕증시가 주중 랠리에 대한 피로...

blog.naver.com

 

https://m.blog.naver.com/PostSearchList.naver?blogId=tjfdydrnjs0"

 

네이버 블로그

당신의 모든 기록을 담는 공간

m.blog.naver.com

 

 

 

 

 

 


 

반응형

댓글