산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

상위 100개 C 프로그래밍 인터뷰 질문 및 답변(2021)

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

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

2) Call by Value와 Call by Reference의 차이점은 무엇입니까?

값에 의한 호출을 사용하면 변수의 값을 함수의 매개변수로 보내는 반면 참조에 의한 호출은 변수의 주소를 보냅니다. 또한 Call by Value에서는 매개변수의 값이 어떤 작업이 수행되더라도 영향을 받지 않지만 Call by Reference의 경우 값이 함수 내 프로세스의 영향을 받을 수 있습니다.

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

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

4) 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(선입 선출) 방식을 사용하여 스택에 저장됩니다. 특정 경우에는 스택의 맨 위만 액세스할 수 있습니다. 즉, 스택 내부에 저장된 데이터를 검색하려면 상단에 있는 데이터를 먼저 추출해야 합니다. 스택에 데이터를 저장하는 것을 PUSH라고 하고 데이터 검색을 POP라고 합니다.

6) 순차 접근 파일이란?

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

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

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

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

스파게티 프로그래밍은 프로그램 전체에서 엉키고 겹치는 경향이 있는 코드를 말합니다. 코딩에 대한 이러한 구조화되지 않은 접근 방식은 일반적으로 프로그래머의 경험 부족에 기인합니다. 스파게티 프로그래밍은 프로그램을 복잡하게 만들고 코드 분석을 어렵게 하므로 최대한 피해야 합니다.

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

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

로 저장됩니다.

10) C 프로그래밍에서 따옴표 문자(' 및 ")를 출력 화면에 어떻게 삽입합니까?

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

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

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

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

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

13) 계수 연산자란 무엇입니까?

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

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

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

15) 다음 중 잘못된 연산자는 무엇이며 그 이유는 무엇입니까? (>=, <=, <>, ==)

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

16) 인터프리터의 컴파일러를 비교 및 ​​대조합니다.

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

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

char 키워드는 한 번에 하나의 문자 값만 보유할 수 있습니다. 문자 배열을 만들어 문자열 값을 저장할 수 있습니다. 예:"char MyName[50]; "는 최대 50자를 포함할 수 있는 MyName이라는 문자열 변수를 선언합니다.

18) 중괄호 { }를 사용하여 한 줄의 코드를 묶을 수 있습니까?

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

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가 평가될 때 일련의 명령문이 실행되는 조건을 처리하는 동안 발생합니다. 복합 문은 루프 내에서 실행할 수도 있습니다. 중괄호 { }는 복합 문장 앞뒤에 위치합니다.

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

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

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

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

30) 다음 출력을 표시하는 루프 문을 작성하십시오.

1

12

123

1234

12345

답변:

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

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

printf("%d",b);

printf("\n");

}

31) 이 설명에서 잘못된 것은 무엇입니까? scanf("%d", 무슨 수);

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

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

난수는 rand() 명령을 사용하여 C에서 생성됩니다. 예: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이면 그 숫자는 짝수이고, 그렇지 않으면 홀수입니다. 다음과 같이 코드로 작성할 수 있습니다.

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) 변수 s의 값이 10인 경우 다음 조건문의 결과는 무엇입니까?

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

결과는 TRUE일 것입니다. s의 값이 10이므로 s>=10은 s가 10보다 크지 않지만 여전히 10과 같기 때문에 TRUE로 평가됩니다. s<25도 10이 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) 변수가 선언된 시점에 초기화가 가능한가요?

예, 나중에 변경할 계획이 없는 한 변수 선언 뒤에 별도의 대입문을 작성할 필요가 없습니다. 예:char 행성[15] ="지구"; 두 가지 작업을 수행합니다. Planet이라는 문자열 변수를 선언한 다음 "Earth" 값으로 초기화합니다.

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

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

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

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

51) 예약어란 무엇입니까?

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

52) 연결 목록이란 무엇입니까?

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

53) FIFO란 무엇입니까?

C 프로그래밍에는 큐라는 데이터 구조가 있습니다. 이 구조에서 데이터는 FIFO 형식 또는 선입선출을 사용하여 저장되고 액세스됩니다. 대기열은 저장된 첫 번째 데이터도 액세스할 수 있는 첫 번째 데이터가 되는 행을 나타냅니다.

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

이진 트리는 실제로 연결 목록 개념의 확장입니다. 이진 트리에는 왼쪽 포인터와 오른쪽 포인터의 두 가지 포인터가 있습니다. 각 측에서 추가로 분기하여 추가 노드를 형성할 수 있으며, 각 노드에는 두 개의 포인터도 있습니다.

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

거짓. 모든 예약어는 소문자로 작성해야 합니다. 그렇지 않으면 C 컴파일러는 이것을 미확인 및 유효하지 않은 것으로 해석합니다.

56) 표현 "++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) 무한 루프란 무엇입니까?

무한 루프는 두 가지를 의미할 수 있습니다. 하나는 루프 내의 조건이 충족될 때까지 계속 루프하도록 설계되었으며, 그 후에는 break 함수로 인해 프로그램이 루프에서 빠져 나옵니다. 무한 루프의 또 다른 아이디어는 잘못된 루프 조건이 작성되어 루프가 영원히 잘못 실행되는 경우입니다. 무한 루프는 종종 무한 루프라고도 합니다.

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

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

61) 이 프로그램 설명에서 잘못된 것은 무엇입니까? 무효 =10;

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

62) 이 프로그램 설명은 유효합니까? INT =10.50;

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

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

일부 주어진 값에 대해 작업을 수행해야 하는 함수를 만들고 사용할 때 이러한 주어진 값을 해당 함수에 전달해야 합니다. 호출된 함수에 전달되는 값을 실제 인수라고 합니다.

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

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

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

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

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

프로그램이 실행되는 동안 발생하는 오류입니다. 런타임 오류가 발생할 수 있는 일반적인 경우는 숫자를 0으로 나누려고 할 때입니다. 런타임 오류가 발생하면 프로그램 실행이 일시 중지되어 오류를 일으킨 프로그램 줄이 표시됩니다.

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" 문을 선호합니까?

switch 문은 단일 변수 또는 표현식을 기반으로 선택을 처리할 때 가장 잘 사용됩니다. 그러나 switch 문은 정수 및 문자 데이터 유형만 평가할 수 있습니다.

72) 전역 변수란 무엇이며 어떻게 선언합니까?

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

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

열거형을 사용하면 프로그래머가 더 의미 있는 단어를 변수에 대한 값으로 사용할 수 있습니다. 열거형 변수의 각 항목은 실제로 숫자 코드와 연결됩니다. 예를 들어 값이 월요일, 화요일... 일요일인 열거형 변수 DAYS를 만들 수 있습니다.

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

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

75) 다른 함수의 매개변수로 함수를 가질 수 있습니까?

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

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

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

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

strcat 함수. 소스 문자열과 소스 문자열에 추가할 문자열 값의 두 가지 매개변수가 필요합니다.

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

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

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

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

80) C에서 구조 유형이란 무엇입니까?

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

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

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

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

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

83) 자신만의 헤더 파일을 만들 수 있습니까?

예, 맞춤형 헤더 파일을 생성할 수 있습니다. 프로그램에서 사용하려는 함수 프로토타입을 포함하고 헤더 파일 이름 뒤에 #include 지시문을 사용하세요.

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

Dynamic data structure provides a means for storing data more efficiently into memory. Using dynamic memory allocation, your program will access memory spaces as needed. This is in contrast to static data structure, wherein the programmer has to indicate a fix number of memory space to be used in the program.

85) What are the different data types in C?

The basic data types are int, char, and float. Int is used to declare variables that will be storing integer values. Float is used to store real numbers. Char can store individual character values.

86) What is the general form of a C program?

A C program begins with the preprocessor directives, in which the programmer would specify which header file and what constants (if any) to be used. This is followed by the main function heading. Within the main function lies the variable declaration and program statement.

87) What is the advantage of a random access file?

If the amount of data stored in a file is fairly large, the use of random access will allow you to search through it quicker. If it had been a sequential access file, you would have to go through one record at a time until you reach the target data. A random access file lets you jump directly to the target address where data is located.

88) In a switch statement, what will happen if a break statement is omitted?

If a break statement was not placed at the end of a particular case portion? It will move on to the next case portion, possibly causing incorrect output.

89) Describe how arrays can be passed to a user defined function

One thing to note is that you cannot pass the entire array to a function. Instead, you pass to it a pointer that will point to the array first element in memory. To do this, you indicate the name of the array without the brackets.

90) What are pointers?

Pointers point to specific areas in the memory. Pointers contain the address of a variable, which in turn may contain a value or even an address to another memory.

91) Can you pass an entire structure to functions?

Yes, it is possible to pass an entire structure to a function in a call by method style. However, some programmers prefer declaring the structure globally, then pass a variable of that structure type to a function. This method helps maintain consistency and uniformity in terms of argument type.

92) What is gets() function?

The gets() function allows a full line data entry from the user. When the user presses the enter key to end the input, the entire line of characters is stored to a string variable. Note that the enter key is not included in the variable, but instead a null terminator \0 is placed after the last character.

93) The % symbol has a special use in a printf statement. How would you place this character as part of the output on the screen?

You can do this by using %% in the printf statement. For example, you can write printf(“10%%”) to have the output appear as 10% on the screen.

94) How do you search data in a data file using random access method?

Use the fseek() function to perform random access input/ouput on a file. After the file was opened by the fopen() function, the fseek would require three parameters to work:a file pointer to the file, the number of bytes to search, and the point of origin in the file.

95) Are comments included during the compilation stage and placed in the EXE file as well?

No, comments that were encountered by the compiler are disregarded. Comments are mostly for the guidance of the programmer only and do not have any other significant use in the program functionality.

96) Is there a built-in function in C that can be used for sorting data?

Yes, use the qsort() function. It is also possible to create user defined functions for sorting, such as those based on the balloon sort and bubble sort algorithm.

97) What are the advantages and disadvantages of a heap?

Storing data on the heap is slower than it would take when using the stack. However, the main advantage of using the heap is its flexibility. That’s because memory in this structure can be allocated and remove in any particular order. Slowness in the heap can be compensated if an algorithm was well designed and implemented.

98) How do you convert strings to numbers in C?

You can write you own functions to do string to number conversions, or instead use C’s built in functions. You can use atof to convert to a floating point value, atoi to convert to an integer value, and atol to convert to a long integer value.

99) Create a simple code fragment that will swap the values of two variables num1 and num2.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) What is the use of a semicolon (;) at the end of every program statement?

It has to do with the parsing process and compilation of the code. A semicolon acts as a delimiter, so that the compiler knows where each statement ends, and can proceed to divide the statement into smaller elements for syntax checking.

Free PDF Download:C Programming Interview Questions &Answers


C 언어

  1. 2020년 최고의 클라우드 인터뷰 질문 및 답변
  2. 2021년 최고의 단일 보드 컴퓨터
  3. 로봇 질문? 자동화 답변
  4. IoT 데이터 준비의 3대 과제
  5. 최고의 IoT 데이터 분석 플랫폼
  6. 10대 IIoT 플랫폼
  7. 2021년의 8가지 클라우드 컴퓨팅 유형
  8. 2021년에 읽어야 할 최고의 프로그래밍 책 17권
  9. 데이터 매트릭스 코드와 QR 코드
  10. CMMS 소프트웨어를 사용한 2021년 새해 결심