상위 100가지 C 프로그래밍 인터뷰 질문 및 답변(PDF)

꿈의 직업을 얻기 위한 신입 지원자와 경험 많은 지원자를 위한 C 프로그래밍 인터뷰 질문과 답변은 다음과 같습니다.

 

신입생을 위한 기본 C 프로그래밍 인터뷰 질문 및 답변

1) C에서 증가 문이나 감소 문을 어떻게 구성합니까?

실제로 이를 수행할 수 있는 두 가지 방법이 있습니다. 하나는 증가 연산자 ++와 감소 연산자 –를 사용하는 것입니다. 예를 들어, "x++"라는 문장은 x의 값을 1만큼 증가시킨다는 의미입니다.wise에서 "x –" 문은 x의 값을 1만큼 감소시키는 것을 의미합니다. 증분 문을 작성하는 또 다른 방법은 일반적인 + 더하기 기호 또는 - 빼기 기호를 사용하는 것입니다. "x++"의 경우 "x = x +1"로 표현하는 또 다른 방법입니다.

👉 무료 PDF 다운로드: C 프로그래밍 인터뷰 질문 및 답변 >>


2) 가치에 의한 호출과 참조에 의한 호출의 차이점은 무엇입니까?

값별 호출을 사용하면 변수 값을 매개변수로 함수에 보내는 반면, 참조별 호출은 변수의 주소를 보냅니다. 또한 Call by Value의 경우 매개변수의 값은 발생하는 작업의 영향을 받지 않는 반면, Call by Reference의 경우 값은 함수 내의 프로세스에 의해 영향을 받을 수 있습니다.

C 프로그래밍 인터뷰 질문과 답변


3) 일부 코더는 일부 코드를 삭제하는 대신 주석 기호를 일부 코드에 배치하여 프로그램을 디버깅합니다. 이것이 디버깅에 어떻게 도움이 됩니까?

코드 주위에 주석 기호 /* */를 배치하는 것("주석 처리"라고도 함)은 코드를 삭제하지 않고 프로그램에서 오류를 일으킬 수 있다고 생각되는 일부 코드를 격리하는 방법입니다. 코드가 실제로 정확하다면 주석 기호를 제거하고 계속 진행하면 된다는 아이디어입니다. 또한 처음에 코드를 삭제한 경우 코드를 다시 입력해야 하는 시간과 노력을 절약할 수 있습니다.


4) follo의 동등한 코드는 무엇입니까wing WHILE LOOP 형식의 명령문?

for (a=1; a<=100; a++)

printf ("%d\n", a * a);

답변 :

a=1;

while (a<=100) {

printf ("%d\n", a * a);

a++;

}

5) 스택이란 무엇입니까?

스택은 데이터 구조의 한 형태입니다. 데이터는 FILO(First In Last Out) 방식을 사용하여 스택에 저장됩니다. 특정 인스턴스에서는 스택의 상단에만 액세스할 수 있습니다. 즉, 스택 내부에 저장된 데이터를 검색하려면 상단에 있는 데이터를 먼저 추출해야 합니다. 스택에 데이터를 저장하는 것을 PUSH라고도 하며, 데이터 검색을 POP라고 합니다.


6) 순차접근 파일이란?

파일에 데이터를 저장하고 검색하는 프로그램을 작성할 때 해당 파일을 다른 형식으로 지정할 수 있습니다. 순차 액세스 파일은 데이터가 순차적으로 저장되는 파일입니다. 즉, 하나의 데이터가 다른 데이터 뒤에 파일에 배치됩니다. 순차 액세스 파일 내의 특정 데이터에 액세스하려면 올바른 데이터에 도달할 때까지 한 번에 한 데이터씩 읽어야 합니다.


7) 변수 초기화란 무엇이며 왜 중요한가요?

변수를 프로그램에서 사용하기 전에 변수에 초기값을 할당하는 과정을 말합니다. 초기화하지 않으면 변수는 알 수 없는 값을 가지게 되어 계산이나 다른 작업에 사용될 때 예측할 수 없는 출력이 발생할 수 있습니다.


8 스파게티 프로그래밍이란 무엇입니까?

스파게티 프로그래밍이란 프로그램 전체에서 엉키고 겹쳐지기 쉬운 코드를 말합니다. 코딩에 대한 이러한 구조화되지 않은 접근 방식은 일반적으로 프로그래머의 경험 부족으로 인해 발생합니다. 스파게티 프로그래밍은 프로그램을 만든다.plex 코드 분석이 어려우므로 최대한 피해야 합니다.


9) 소스코드와 객체코드 구별

소스코드는 프로그래머가 작성한 코드입니다. 컴퓨터에 무엇을 해야 할지 지시하는 명령과 기타 영어와 유사한 키워드로 구성됩니다. 그러나 컴퓨터는 소스 코드를 이해할 수 없습니다. 따라서 소스 코드는 컴파일러를 사용하여 컴파일됩니다. 결과 출력은 컴퓨터 프로세서가 이해할 수 있는 형식의 개체 코드입니다. ~ 안에 C 프로그래밍, 소스 코드는 파일 확장자 .C로 저장되고, 개체 코드는 파일 확장자 .OBJ로 저장됩니다.


10) C 프로그래밍에서 출력화면에 따옴표(', “)를 어떻게 삽입하나요?

따옴표는 일반적으로 printf 문의 일부이기 때문에 이는 초보자에게 일반적인 문제입니다. 출력의 일부로 따옴표 문자를 삽입하려면 형식 지정자 \'(작은따옴표의 경우) 및 \”(의 경우)를 사용합니다. double 인용하다).


11) '\0' 문자의 용도는 무엇입니까?

종료 널 문자라고 하며 주로 문자열 값의 끝을 표시하는 데 사용됩니다.


12) = 기호와 == 기호의 차이점은 무엇입니까?

= 기호는 수학 연산에 자주 사용됩니다. 주어진 변수에 값을 할당하는 데 사용됩니다. 반면에 "같음" 또는 "같음"이라고도 알려진 == 기호는 두 값을 비교하는 데 사용되는 관계 연산자입니다.


13) 모듈러스 연산자란 무엇입니까?

모듈러스 연산자는 나눗셈의 나머지 부분을 출력합니다. 백분율(%) 기호를 사용합니다. 예: 10 % 3 = 1, 즉 10을 3으로 나누면 나머지는 1입니다.


14) 중첩 루프란 무엇입니까?

중첩 루프는 다른 루프 내에서 실행되는 루프입니다. 다른 의미로 말하면, 외부 루프 내부에 내부 루프가 있습니다. 이 시나리오에서는 내부 루프가 외부 루프에 지정된 횟수만큼 수행됩니다. 외부 루프를 켤 때마다 내부 루프가 먼저 수행됩니다.


15) 다음 중 어느 것입니까?wing 연산자가 올바르지 않으며 그 이유는 무엇입니까? (>=, <=, <>, ==)

<>이 올바르지 않습니다. 이 연산자는 조건문 작성 시 "같지 않음"으로 올바르게 해석되지만, 조건문에서 사용하기에 적합한 연산자는 아닙니다. C 프로그래밍. 대신에 "같지 않음" 조건을 나타내기 위해 연산자 !=를 사용해야 합니다.


16) 통역사의 컴파일러를 비교하고 대조하십시오.

컴파일러와 인터프리터는 종종 프로그램 코드가 실행되는 방식을 처리합니다. 해석기는 프로그램 코드를 한 번에 한 줄씩 실행하는 반면, 컴파일러는 프로그램을 실행하기 전에 프로그램 전체를 개체 코드로 변환합니다. 여기서 중요한 차이점은 인터프리터의 경우 프로그램이 실행 중에 구문 오류가 발생할 수 있으며 거기에서 중지된다는 것입니다. 반면에 컴파일러는 전체 프로그램의 구문을 검사하고 구문 오류가 발견되지 않은 경우에만 실행을 진행합니다.


17) 문자열 값을 보유할 변수를 어떻게 선언합니까?

char 키워드는 한 번에 1개의 문자 값만 보유할 수 있습니다. 문자 배열을 생성하면 해당 배열에 문자열 값을 저장할 수 있습니다. 예: “char MyName[50]; ” Declares 최대 50자를 포함할 수 있는 MyName이라는 문자열 변수.


18) 곱슬이 가능합니까? brackets { }는 한 줄의 코드를 묶는 데 사용됩니까?

곱슬이면서 brackets 주로 여러 줄의 코드를 그룹화하는 데 사용되지만 한 줄에 사용하면 오류 없이 계속 작동합니다. 일부 프로그래머는 특히 조건문에서 코드를 더 명확하게 보이도록 구성하는 방법으로 이 방법을 선호합니다.


19) 헤더 파일이란 무엇이며 C 프로그래밍에서 헤더 파일의 용도는 무엇입니까?

헤더 파일은 라이브러리 파일이라고도 합니다. 여기에는 프로그램에서 사용되는 함수의 정의와 프로토타입이라는 두 가지 필수 사항이 포함됩니다. 간단히 말해서 C 프로그래밍에서 사용하는 명령은 실제로 각 헤더 파일 내에서 정의되는 함수입니다. 각 헤더 파일에는 일련의 기능이 포함되어 있습니다. 예: stdio.h는 printf 및 scanf와 같은 명령의 정의와 프로토타입을 포함하는 헤더 파일입니다.


20) 구문 오류란 무엇입니까?

구문 오류는 프로그래밍 언어 사용 실수와 관련이 있습니다. 철자가 틀린 명령이거나 소문자 모드로 입력해야 하는 명령이 대신 대문자로 입력되었을 수 있습니다. 코드 줄 어딘가에 기호가 잘못 배치되거나 기호가 부족하면 구문 오류가 발생할 수도 있습니다.


21) 변수란 무엇이고, 상수와는 어떤 점이 다른가요?

변수와 상수는 처음에는 둘 다 하나 이상의 문자(문자, 숫자 및 허용되는 몇 가지 기호)로 구성된 식별자라는 점에서 유사해 보일 수 있습니다. 둘 다 특정 값을 보유합니다. 변수가 보유한 값은 프로그램 전체에서 변경될 수 있으며 대부분의 연산 및 계산에 사용될 수 있습니다. 상수는 한 번만 값이 주어지며 프로그램 시작 부분에 배치됩니다. 이 값은 프로그램에서 변경되지 않습니다. 예를 들어 PI라는 상수를 할당하고 값 3.1415 를 지정할 수 있습니다. 그런 다음 필요할 때마다 3.1415를 작성하는 대신 프로그램에서 PI로 사용할 수 있습니다.


22) 배열 내의 값에 어떻게 접근합니까?

배열에는 변수 선언 중에 지정한 크기에 따라 여러 요소가 포함됩니다. 각 요소에는 0부터 요소 수-1까지의 숫자가 할당됩니다. 특정 요소의 값을 할당하거나 검색하려면 요소 번호를 참조하세요. 예를 들어, "intscores[5];"라는 선언이 있는 경우 5개의 액세스 가능한 요소, 즉 점수[0], 점수[1], 점수[2], 점수[3] 및 점수[4]가 있습니다. ].


23) "int" 데이터 유형을 사용하여 32768 값을 저장할 수 있습니까? 왜?

아니요. "int" 데이터 유형은 -32768에서 32767까지의 값을 저장할 수 있습니다. 32768을 저장하려면 대신 "long int"를 사용할 수 있습니다. 음수 값을 저장하지 않으려는 경우 "unsigned int"를 사용할 수도 있습니다.


24) \n 및 \t와 같은 두 개 이상의 연산자를 한 줄의 프로그램 코드에 결합할 수 있습니까?

예, 특히 필요한 경우 연산자를 결합하는 것은 완벽하게 유효합니다.
예를 들어 다음과 같은 코드를 가질 수 있습니다. printf (“Hello\n\n\’World\'”) 첫 번째 줄에 "Hello" 텍스트를 출력하고 다음 두 줄에 작은따옴표로 묶인 "World" 텍스트를 출력합니다.

25) 모든 C 프로그램에서 모든 헤더 파일이 선언되지 않는 이유는 무엇입니까?

각 C 프로그램의 상단에 헤더 파일을 선언하는 선택은 해당 프로그램에서 사용할 명령/기능에 따라 달라집니다. 각 헤더 파일에는 다양한 함수 정의와 프로토타입이 포함되어 있으므로 필요한 함수가 포함된 헤더 파일만 사용하게 됩니다. 모든 프로그램에서 모든 헤더 파일을 선언하는 것은 전체 파일 크기와 프로그램 로드만 증가시킬 뿐이며 좋은 프로그래밍 스타일로 간주되지 않습니다.


26) 함수에서 "void" 키워드는 언제 사용되나요?

함수를 선언할 때 해당 함수가 값을 반환할지 여부를 결정합니다. 함수의 목적이 화면에 일부 출력을 표시하는 것과 같이 해당 함수가 값을 반환하지 않는 경우 "void"가 함수 헤더의 가장 왼쪽 부분에 배치됩니다. 함수 실행 후 반환 값이 예상되는 경우 반환 값의 데이터 유형이 "void" 대신 배치됩니다.


27) 복합문이란 무엇인가요?

복합 명령문은 함께 실행되는 두 개 이상의 프로그램 명령문으로 구성됩니다. 이는 일반적으로 TRUE 또는 FALSE가 평가될 때 일련의 명령문이 실행되는 조건을 처리하는 동안 발생합니다. 복합 문은 루프 내에서 실행될 수도 있습니다. 곱슬 brackets { }는 복합문 앞뒤에 위치합니다.


28) C 프로그래밍에 있어서 알고리즘의 중요성은 무엇입니까?

프로그램을 작성하기 전에 먼저 알고리즘을 작성해야 합니다. 알고리즘은 솔루션을 도출하는 방법에 대한 단계별 절차를 제공합니다. 또한 관련된 프로세스와 계산을 포함하여 프로그램이 시작되고 끝나는 방법에 대한 청사진 역할을 합니다.


29) 개별 변수에 비해 배열의 장점은 무엇입니까?

관련된 여러 데이터를 저장할 때는 배열을 사용하는 것이 좋습니다. 이는 배열 이름이 1단어 뒤에 요소 번호가 따라오는 방식으로 지정되기 때문입니다. 예를 들어 학생 10명의 시험 결과 1개를 저장하려면 10개의 다른 변수 이름(grade1, grade2, grade3… grade10)을 사용할 수 있습니다. 배열의 경우 1개의 이름만 사용되며 나머지는 인덱스 이름(등급[0], 등급[1], 등급[2]… 등급[9])을 통해 액세스할 수 있습니다.


30) 다음을 표시할 루프 문을 작성합니다.wing 출력 :

1

12

123

1234

12345

답변 :

for (a=1; a<=5; i++) {

for (b=1; b<=a; b++)

printf("%d",b);

printf("\n");

}

C 프로그래밍 면접 질문 및 답변

31) 이 진술의 문제점은 무엇입니까? scanf("%d",무슨 숫자);

변수 이름 whatnumber 앞에 앰퍼샌드 및 기호를 배치해야 합니다. &를 배치하는 것은 사용자가 입력한 모든 정수 값이 변수 이름의 "주소"에 저장된다는 의미입니다. 이는 프로그래머에게 흔히 발생하는 실수이며 종종 논리적 오류로 이어집니다.


32) C에서 난수를 어떻게 생성합니까?

난수는 C에서 다음을 사용하여 생성됩니다. rand() command. 예를 들면 : anyNum = rand() anyNum이 정수 유형의 변수라고 가정하면 0부터 시작하는 정수를 생성합니다.


33) tolower()와 같은 유효한 함수 이름이 C 컴파일러에 의해 정의되지 않은 것으로 보고되면 무엇이 문제가 될 수 있습니까?

이 오류의 가장 가능성 있는 원인은 해당 함수의 헤더 파일이 프로그램 상단에 표시되지 않았기 때문입니다. 헤더 파일에는 C 프로그램에서 사용되는 함수와 명령에 대한 정의와 프로토타입이 포함되어 있습니다. "tolower()"의 경우 "#include" 코드 ”는 프로그램 시작 부분에 있어야 합니다.


34) 코멘트란 무엇이고 C 프로그램에 어떻게 삽입하나요?

코멘트 프로그램에 설명이나 설명을 추가하는 좋은 방법입니다. 이는 프로그램의 내용을 상기시켜 주거나 특정 코드나 기능이 처음에 왜 여기에 배치되었는지에 대한 설명 역할을 할 수 있습니다. 주석은 /*로 시작하고 */ 문자로 끝납니다. 주석은 한 줄일 수도 있고 여러 줄에 걸쳐 있을 수도 있습니다. 프로그램의 어느 곳에나 배치할 수 있습니다.


35) 디버깅이란 무엇입니까?

디버깅은 프로그램 내의 오류를 식별하는 프로세스입니다. 프로그램 컴파일 중에 오류가 발견되면 프로그램 실행이 완전히 중단됩니다. 이 상태에서 프로그래머는 오류가 발생한 가능한 부분을 조사합니다. 디버깅은 오류 제거를 보장하고 예상되는 프로그램 출력이 충족되는지 확인하는 데 중요한 역할을 합니다.


36) 프로그램 코드에서 && 연산자는 무엇을 합니까?

&&는 AND 연산자라고도 합니다. 이 연산자를 사용할 때 다음 작업을 수행하려면 지정된 모든 조건이 TRUE여야 합니다. 10개의 조건이 있고 1개를 제외한 모든 조건이 TRUE로 평가되지 않으면 전체 조건문은 이미 FALSE로 평가됩니다.


37) C 프로그래밍에서 숫자가 홀수인지 짝수인지 확인하는 데 사용할 수 있는 명령이나 코드는 무엇입니까?

단일 명령이 없거나 C의 함수 숫자가 홀수인지 짝수인지 확인할 수 있습니다. 그러나 이는 해당 숫자를 2로 나눈 다음 나머지를 확인하여 수행할 수 있습니다. 나머지가 0이면 그 숫자는 짝수이고, 그렇지 않으면wise, 이상해요. 다음과 같이 코드로 작성할 수 있습니다.

if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) printf 문에 포함될 때 %10.2 형식은 무엇을 의미합니까?

이 형식은 출력 숫자에 할당된 공백 수를 설정하고 소수 자릿수를 설정하는 두 가지 용도로 사용됩니다. 소수점 앞의 숫자는 할당된 공간이며, 이 경우 출력 숫자에는 10개의 공백이 할당됩니다. 출력 번호가 차지하는 공백 수가 10 미만인 경우 실제 출력 번호 앞에 추가 공백 문자가 삽입됩니다. 소수점 이하의 숫자는 소수점 이하 자릿수를 설정하며, 이 경우 소수점 2자리입니다.


39) 논리적 오류란 무엇이며 구문 오류와 어떻게 다른가요?

논리적 오류가 포함된 프로그램은 컴파일 프로세스를 통과하는 경향이 있지만 결과 출력은 예상한 것과 다를 수 있습니다. 이는 코드에 잘못된 수식이 삽입되었거나 잘못된 명령 순서가 수행되었을 때 발생합니다. 반면에 구문 오류는 철자가 틀리거나 컴파일러에서 인식되지 않는 잘못된 명령을 처리합니다.


40) 프로그래밍에서 다양한 유형의 제어 구조는 무엇입니까?

프로그래밍에는 시퀀스, 선택, 반복이라는 3가지 주요 제어 구조가 있습니다. 순차 제어는 프로그램 실행 시 위에서 아래로 흐르는 흐름을 따릅니다. 즉, 1단계가 먼저 수행되고 그 다음 2단계가 수행되어 마지막 단계가 수행됩니다. 선택은 조건문을 다루며, 이는 조건이 TRUE 또는 FALSE인지 평가에 따라 코드가 실행된다는 것을 의미합니다. 이는 또한 모든 코드가 실행될 수는 없으며 내부에 대체 흐름이 있음을 의미합니다. 반복은 루프 구조라고도 하며 카운터에 의해 설정된 하나 또는 두 개의 프로그램 문을 반복합니다.


41) ||는 무엇인가요? 연산자는 프로그램에서 어떻게 작동하나요?

|| C 프로그래밍에서는 OR 연산자라고도 합니다. ||를 사용할 때 논리적 조건을 평가하기 위해 TRUE로 평가되는 모든 조건은 전체 조건문을 TRUE로 렌더링합니다.


42) 문자열을 비교할 때 "if" 함수를 사용할 수 있나요?

아니요. "if" 명령은 숫자 값과 단일 문자 값을 비교하는 데만 사용할 수 있습니다. 문자열 값을 비교하기 위해 특별히 문자열을 다루는 strcmp라는 또 다른 함수가 있습니다.


43) 전처리기 지시어란 무엇입니까?

전처리기 지시문은 모든 C 프로그램의 시작 부분에 배치됩니다. 이것은 프로그램에서 어떤 기능이 사용될 것인지에 따라 달라지는 라이브러리 파일이 지정되는 곳입니다. 전처리기 지시문의 또 다른 용도는 상수 선언입니다. 전처리기 지시문은 # 기호로 시작합니다.


44) 이 후속작의 결과는 어떻게 될까요?wing 변수 s의 값이 10인 경우 조건문은 무엇입니까?

s >=10 && s < 25 && s!=12

결과는 TRUE일 것입니다. s의 값이 10이므로 s >= 10은 s가 10보다 크지 않지만 여전히 10이기 때문에 TRUE로 평가됩니다. 25이 10보다 작으므로 s< 25도 TRUE입니다. 마찬가지로 s!=12입니다. 는 s가 12와 같지 않음을 의미하며 TRUE로 평가됩니다. &&는 AND 연산자이며 모든 개별 조건이 TRUE이면 전체 문이 TRUE라는 규칙을 따릅니다.


45) C의 연산자와 관련된 우선순위를 설명하세요.

우선순위는 작업문이나 조건문에서 어떤 작업이 먼저 수행되어야 하는지를 결정합니다. 가장 높은 우선 순위 수준에는 단항 연산자 !, +, – 및 &가 있습니다. 그 뒤에는 일반 수학 연산자(*, / 및 모듈러스 %가 먼저 나오고 그 뒤에 + 및 -가 옵니다)가 옵니다. 다음 줄에는 관계 연산자 <, <=, >= 및 >가 있습니다. 그 다음에는 두 개의 동등 연산자 == 및 !=가 옵니다. 논리 연산자 && 및 || 다음으로 평가됩니다. 마지막 수준에는 할당 연산자 =가 있습니다.


46) 이 진술의 문제점은 무엇입니까? myName = “로빈”;

= 기호를 사용하여 문자열 변수에 값을 할당할 수 없습니다. 대신 strcpy 함수를 사용하세요. 올바른 설명은 다음과 같습니다: strcpy(myName, “Robin”);


47) 변수에 저장된 문자열 값의 길이를 어떻게 확인합니까?

문자열 값의 길이를 얻으려면 strlen() 함수를 사용하십시오. 예를 들어 FullName이라는 변수가 있는 경우 다음 문을 사용하여 저장된 문자열 값의 길이를 가져올 수 있습니다. I = strlen(FullName); 변수 I는 이제 문자열 값의 문자 길이를 갖게 됩니다.


48) 변수가 선언된 시점에 초기화가 가능한가요?

예, 변경할 계획이 없는 한 변수 선언 뒤에 별도의 할당문을 작성할 필요가 없습니다. later 에. 예: char planet[15] = “지구”; 두 가지 일을 합니다.ares planet이라는 문자열 변수를 만들고 "Earth" 값으로 초기화합니다.


49) C언어가 중간수준 언어로 간주되는 이유는 무엇입니까?

이는 C 언어가 고급 언어처럼 동작하는 동시에 하위 수준 방법을 사용하여 하드웨어와 상호 작용할 수 있는 기능이 풍부하기 때문입니다. 함수에 사용되는 영어와 유사한 단어와 함께 프로그래밍에 대한 잘 구조화된 접근 방식을 사용하면 고급 언어로 작동합니다. 반면 C는 어셈블리 언어 루틴과 유사한 메모리 구조에 직접 액세스할 수 있습니다.


50) C로 프로그래밍할 때 관련된 다양한 파일 확장자는 무엇입니까?

C의 소스 코드는 .C 파일 확장자로 저장됩니다. 헤더 파일 또는 라이브러리 파일의 파일 확장자는 .H입니다. 프로그램 소스 코드가 성공적으로 컴파일될 때마다 .OBJ 개체 파일과 실행 가능한 .EXE 파일이 생성됩니다.


51) 예약어란 무엇인가요?

예약어는 표준 C 언어 라이브러리의 일부인 단어입니다. 이는 예약어가 특별한 의미를 가지므로 원래 의도한 것 이외의 목적으로 사용할 수 없음을 의미합니다. 예약어의 예로는 int, void 및 return이 있습니다.


52) 연결리스트란 무엇인가요?

연결된 목록은 다른 노드와 연결된 노드로 구성됩니다. C 프로그래밍에서는 포인터를 사용하여 연결 목록을 만듭니다. 연결된 목록을 사용하는 것은 저장을 위해 메모리를 활용하는 효율적인 방법 중 하나입니다.


53) FIFO란 무엇입니까?

C 프로그래밍에는 큐(queue)라는 데이터 구조가 있습니다. 이 구조에서 데이터는 FIFO 형식, 즉 선입선출(First-In-First-Out)을 사용하여 저장되고 액세스됩니다. 대기열은 저장된 첫 번째 데이터가 액세스 가능한 첫 번째 데이터가 되는 행을 나타냅니다.


54) 이진 트리란 무엇입니까?

이진 트리는 실제로 연결 목록 개념의 확장입니다. 이진 트리에는 왼쪽 포인터와 오른쪽 포인터라는 두 개의 포인터가 있습니다. 각 측면은 추가로 분기하여 추가 노드를 형성할 수 있으며, 각 노드에는 두 개의 포인터도 있습니다. 자세히 알아보기 데이터 구조의 이진 트리 당신이 관심이 있다면.


55) 모든 예약어가 소문자로 쓰여지는 것은 아닙니다. 참인가 거짓인가?

거짓. 모든 예약어는 소문자로 작성해야 합니다. 다른wise C 컴파일러는 이를 식별되지 않고 유효하지 않은 것으로 해석합니다.


56) “++a”라는 표현과 “a++”라는 표현의 차이점은 무엇인가요?

첫 번째 표현식에서는 변수 a에서 먼저 증가가 발생하고 결과 값이 사용됩니다. 이는 접두사 증가라고도 합니다. 두 번째 표현식에서 변수 a의 현재 값은 a 자체의 값이 증가하기 전에 연산에 사용되는 값입니다. 이는 후위 증분이라고도 합니다.


57) 이 표현식에서 X는 어떻게 될까요? X += 15; (X의 값이 5라고 가정)

X +=15는 X = X + 15를 짧게 쓰는 방법이므로 X의 초기값이 5라면 5 + 15 = 20이 됩니다.


58) C 언어에서는 변수 NAME, name, Name이 모두 동일합니다. 참인가 거짓인가?

거짓. C 언어는 대소문자를 구분하는 언어입니다. 따라서 NAME, name 및 Name은 고유하게 다른 세 개의 변수입니다.


59) 무한 루프란 무엇입니까?

무한 루프는 두 가지를 의미할 수 있습니다. 그 중 하나는 루프 내의 조건이 충족될 때까지 계속해서 루프를 돌도록 설계되었으며 그 후에는 중단 기능으로 인해 프로그램이 루프에서 빠져나오게 됩니다. 무한 루프의 또 다른 개념은 잘못된 루프 조건이 작성되어 루프가 오류를 실행하게 되는 경우입니다.neo영원히. 무한 루프는 종종 무한 루프라고도 합니다.


60) 프로그램 흐름도란 무엇이며 프로그램 작성에 어떻게 도움이 됩니까?

순서도는 주어진 문제를 해결하기 위한 단계별 절차를 시각적으로 표현합니다. 순서도는 기호로 구성되며 각 기호는 서로 다른 모양의 형태입니다. 각 모양은 프로세스, 조건 또는 입력/출력 단계와 같은 전체 프로그램 구조 내의 특정 엔터티를 나타낼 수 있습니다.


61) 이 프로그램 설명에 어떤 문제가 있나요? 무효 = 10;

void라는 단어는 C 언어의 예약어입니다. 예약어를 사용자 정의 변수로 사용할 수 없습니다.


62) 이 프로그램 설명이 유효한가요? 지능 = 10.50;

INT가 float 유형의 변수라고 가정하면 이 명령문은 유효합니다. INT는 예약어이므로 다른 목적으로 사용하면 안 된다고 생각할 수도 있습니다. 그러나 예약어는 소문자로 표현되므로 C 컴파일러는 이를 예약어로 해석하지 않는다는 점을 기억하세요.


63) 실제 주장이란 무엇입니까?

특정 값에 대해 작업을 수행해야 하는 함수를 생성하고 사용할 때 주어진 값을 해당 함수에 전달해야 합니다. 호출된 함수에 전달되는 값을 실제 인수라고 합니다.


64) 개행 이스케이프 시퀀스란 무엇입니까?

개행 이스케이프 시퀀스는 \n 문자로 표시됩니다. 출력 화면에 데이터를 표시할 때 새로운 라인을 삽입하는데 사용됩니다. 더 많은 \n 문자를 삽입하면 더 많은 공백을 추가할 수 있습니다. 예를 들어 \n\n은 두 개의 공백을 삽입합니다. 개행 이스케이프 시퀀스는 실제 출력 표현식 앞이나 뒤에 배치될 수 있습니다.


65) 출력 리디렉션이란 무엇입니까?

디스플레이 화면이 아닌 대체 출력 소스로 데이터를 전송하는 프로세스입니다. 출력 리디렉션을 사용하면 프로그램의 출력을 파일에 저장할 수 있습니다. 예를 들어, COMPUTE라는 프로그램이 있는 경우 명령줄에 COMPUTE >DATA로 입력하면 사용자의 입력을 받아들이고 특정 계산을 수행한 다음 출력이 sho 대신 DATA라는 파일로 리디렉션됩니다.wing 화면에.


66) 런타임 오류란 무엇입니까?

프로그램이 실행되는 동안 발생하는 오류입니다. 런타임 오류가 발생할 수 있는 일반적인 사례 중 하나는 숫자를 XNUMX으로 나누려고 할 때입니다. 런타임 오류가 발생하면 프로그램 실행이 일시 중지됩니다.wing 어떤 프로그램 라인에서 오류가 발생했는지.


67) 함수 abs()와 fabs()의 차이점은 무엇입니까?

이 두 함수는 기본적으로 동일한 작업을 수행합니다. 즉, 주어진 값의 절대값을 가져옵니다. Abs()는 정수 값에 사용되는 반면 fabs()는 부동 유형 숫자에 사용됩니다. 또한, abs()의 프로토타입은 다음과 같습니다. , fabs()는 아래에 있습니다. .


68) 형식 매개변수란 무엇입니까?

C 프로그램에서 함수를 사용할 때 형식 매개변수에는 호출 함수에 의해 전달된 값이 포함됩니다. 값은 이러한 형식 매개변수로 대체되며 호출된 함수의 본문 내에 표시된 대로 모든 작업에 사용됩니다.


69) 제어 구조란 무엇입니까?

제어 구조는 프로그램에서 어떤 명령이 수행되는지 담당합니다. 이는 프로그램 흐름이 반드시 한 명령문에서 다음 명령문으로 이동하는 것이 아니라 조건문의 결과에 따라 일부 대체 부분을 전달하거나 우회해야 할 수도 있음을 의미합니다.


70) 숫자가 양수인지 음수인지 확인하는 간단한 코드 조각을 작성하세요.

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) 언제 "if" 문보다 "switch" 문이 더 나은가요?

최대 XNUMXW 출력을 제공하는 switch 문 단일 변수나 표현식을 기반으로 선택을 처리할 때 가장 적합합니다. 그러나 스위치 문은 정수 및 문자 데이터 형식만 평가할 수 있습니다.


72) 전역 변수는 무엇이고 어떻게 선언하나요?

전역 변수는 프로그램의 어느 곳에서나 접근하고 조작할 수 있는 변수입니다. 변수를 전역 변수로 만들려면 프로그램 상단, 전처리기 지시문 섹션 바로 뒤에 변수 선언을 배치합니다.


73) 열거형이란 무엇입니까?

열거형을 사용하면 프로그래머는 더 의미 있는 단어를 변수 값으로 사용할 수 있습니다. 열거형 변수의 각 항목은 실제로 숫자 코드와 연관되어 있습니다. 예를 들어, 값이 다음과 같은 DAYS라는 열거 유형 변수를 생성할 수 있습니다. Monday, 화요일… 일요일.


74) toupper() 함수는 무엇을 합니까?

모든 문자를 대문자 모드로 변환하는 데 사용됩니다. Toupper() 함수 프로토타입은 다음에서 선언됩니다. . 이 함수는 전체 문자열이 아닌 단일 문자만 변환합니다.


75) 다른 함수의 매개변수로 함수를 갖는 것이 가능합니까?

예, C 프로그래밍에서는 허용됩니다. 전체 함수 프로토타입을 사용할 다른 함수의 매개변수 필드에 포함시키기만 하면 됩니다.


76) 다차원 배열이란 무엇입니까?

다차원 배열은 2차원 이상의 구조로 데이터를 저장할 수 있습니다. 예를 들어, XNUMX차원 배열을 사용하여 체스 게임에서 말의 현재 위치를 저장하거나 tic-tac-toe 프로그램에서 플레이어의 위치를 ​​저장할 수 있습니다.


77) C에서 문자열을 다른 문자열에 추가하는 데 사용할 수 있는 함수는 무엇입니까?

strcat 함수. 소스 문자열과 소스 문자열에 추가할 문자열 값이라는 두 개의 매개변수를 사용합니다.


78) getch() 함수와 getche() 함수의 차이점은 무엇입니까?

두 함수 모두 사용자로부터 문자 입력 값을 받습니다. getch()를 사용하면 누른 키가 화면에 나타나지 않고 자동으로 캡처되어 변수에 할당됩니다. getche()를 사용하면 사용자가 누른 키가 화면에 표시되면서 동시에 변수에 할당됩니다.


79) 이 두 프로그램 문은 동일한 출력을 수행합니까? 1) scanf("%c", &letter); 2) 문자=getchar()

예, 둘 다 정확히 동일한 작업을 수행합니다. 즉, 사용자가 누른 다음 키를 수락하고 이를 letter라는 변수에 할당하는 것입니다.


80) C의 구조 유형은 무엇입니까?

구조 유형은 주로 레코드를 저장하는 데 사용됩니다. 레코드는 관련 필드로 구성됩니다. 이렇게 하면 관련 데이터 그룹을 더 쉽게 구성할 수 있습니다.


81) 파일을 사용하는 프로그램을 작성할 때 "r"과 "w" 문자는 무엇을 의미합니까?

"r"은 "읽기"를 의미하며 데이터를 검색할 파일을 입력으로 엽니다. "w"는 "쓰기"를 의미하며 출력을 위해 파일을 엽니다. 해당 파일에 저장된 이전 데이터는 삭제됩니다.


82) 텍스트 파일과 바이너리 파일의 차이점은 무엇입니까?

텍스트 파일에는 사람이 쉽게 이해할 수 있는 데이터가 포함되어 있습니다. 여기에는 문자, 숫자 및 기타 문자가 포함됩니다. 반면에 이진 파일에는 컴퓨터만 해석할 수 있는 1과 0이 포함되어 있습니다.


83) 자신만의 헤더 파일을 만드는 것이 가능합니까?

예, 맞춤형 헤더 파일을 생성하는 것이 가능합니다. 프로그램에서 사용하려는 함수 프로토타입을 여기에 포함시키고 헤더 파일 이름 뒤에 #include 지시어를 사용하세요.


84) 동적 데이터 구조란 무엇입니까?

동적 데이터 구조는 데이터를 메모리에 보다 효율적으로 저장하는 수단을 제공합니다. 사용 사용 동적 메모리 할당, 프로그램은 필요에 따라 메모리 공간에 액세스합니다. 이는 프로그래머가 프로그램에서 사용할 메모리 공간의 고정 수를 지정해야 하는 정적 데이터 구조와 대조됩니다.


85) C의 다양한 데이터 유형은 무엇입니까?

기본 C의 데이터 유형 int, char, float가 있습니다. Int는 정수 값을 저장할 변수를 선언하는 데 사용됩니다. Float는 실수를 저장하는 데 사용됩니다. Char는 개별 문자 값을 저장할 수 있습니다.


86) C 프로그램의 일반적인 형태는 무엇입니까?

AC 프로그램은 프로그래머가 사용할 헤더 파일과 상수(있는 경우)를 지정하는 전처리기 지시문으로 시작합니다. 그 다음에는 주요 기능 제목이 나옵니다. 메인 함수에는 변수 선언과 프로그램 명령문이 있습니다.


87) 랜덤 액세스 파일의 장점은 무엇인가요?

파일에 저장된 데이터의 양이 상당히 큰 경우 랜덤 액세스를 사용하면 해당 파일을 더 빠르게 검색할 수 있습니다. 순차 액세스 파일이었다면 목표 데이터에 도달할 때까지 한 번에 하나의 레코드를 거쳐야 합니다. 랜덤 액세스 파일을 사용하면 데이터가 있는 대상 주소로 직접 이동할 수 있습니다.


88) switch 문에서 break 문을 생략하면 어떻게 되나요?

특정 사례 부분의 끝에 break 문이 배치되지 않은 경우? 다음 케이스 부분으로 넘어가서 잘못된 출력이 발생할 수 있습니다.


89) 사용자 정의 함수에 배열을 전달하는 방법을 설명하세요.

한 가지 주의할 점은 전체 배열을 함수에 전달할 수 없다는 것입니다. 대신, 메모리의 배열 첫 번째 요소를 가리키는 포인터를 전달합니다. 이렇게 하려면 문자열 없이 배열 이름을 나타냅니다. brackets.


90) 포인터란 무엇입니까?

포인터 포인트 메모리의 특정 영역에 포인터에는 변수의 주소가 포함되어 있으며, 변수에는 값이나 다른 메모리에 대한 주소도 포함될 수 있습니다.


91) 전체 구조를 함수에 전달할 수 있나요?

예, 메소드 스타일 호출을 통해 전체 구조를 함수에 전달할 수 있습니다. 그러나 일부 프로그래머는 구조를 전역적으로 선언한 다음 해당 구조 유형의 변수를 함수에 전달하는 것을 선호합니다. 이 방법은 인수 유형 측면에서 일관성과 통일성을 유지하는 데 도움이 됩니다.


92) gets() 함수가 무엇인가요?

최대 XNUMXW 출력을 제공하는 gets() function 사용자가 전체 라인 데이터를 입력할 수 있습니다. 사용자가 Enter 키를 눌러 입력을 종료하면 전체 문자 줄이 문자열 변수에 저장됩니다. Enter 키는 변수에 포함되지 않지만 대신 마지막 문자 뒤에 널 종결자 \0이 배치됩니다.


93) % 기호는 printf 문에서 특별한 용도로 사용됩니다. 이 문자를 화면 출력의 일부로 어떻게 배치하시겠습니까?

printf 문에서 %%를 사용하여 이를 수행할 수 있습니다. 예를 들어 printf(“10%%”)를 작성하면 출력이 화면에 10%로 표시됩니다.


94) 랜덤 액세스 방식을 사용하여 데이터 파일의 데이터를 어떻게 검색합니까?

사용 fseek() 파일에 대한 임의 접근 입출력을 수행하는 함수입니다. fopen() 함수로 파일을 연 후 fseek가 작동하려면 파일에 대한 파일 포인터, 검색할 바이트 수, 파일의 원점 등 세 가지 매개변수가 필요합니다.


95) 편집 단계에서 주석이 포함되고 EXE 파일에도 포함됩니까?

아니요, 컴파일러에서 발견된 주석은 무시됩니다. 주석은 대부분 프로그래머의 지침만을 위한 것이며 프로그램 기능에서 다른 중요한 용도는 없습니다.


96) C에 데이터 정렬에 사용할 수 있는 내장 함수가 있나요?

예, qsort() 기능. 풍선 정렬 및 버블 정렬 알고리즘을 기반으로 하는 정렬용 사용자 정의 함수를 생성하는 것도 가능합니다.


97) 힙의 장점과 단점은 무엇입니까?

힙에 데이터를 저장하는 것은 스택을 사용할 때보다 느립니다. 그러나 힙 사용의 주요 이점은 유연성입니다. 이는 이 구조의 메모리가 특정 순서로 할당되고 제거될 수 있기 때문입니다. 알고리즘이 잘 설계되고 구현되면 힙의 속도 저하가 보상될 수 있습니다.


98) C에서 문자열을 숫자로 어떻게 변환하나요?

문자열을 숫자로 변환하는 함수를 직접 작성하거나 대신 C에 내장된 함수를 사용할 수 있습니다. atof를 사용하여 부동 소수점 값으로 변환하고, atoi를 사용하여 정수 값으로 변환하고, atol을 사용하여 긴 정수 값으로 변환할 수 있습니다.


99) 두 변수 num1과 num2의 값을 바꾸는 간단한 코드 조각을 만듭니다.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) 모든 프로그램 명령문 끝에 세미콜론(;)을 사용하는 것은 무엇입니까?

이는 코드 분석 프로세스 및 컴파일과 관련이 있습니다. 세미콜론은 구분 기호 역할을 하므로 컴파일러는 각 명령문이 끝나는 위치를 알고 구문 검사를 위해 명령문을 더 작은 요소로 나눌 수 있습니다.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.