top 40 c programming interview questions
Najczęściej zadawane pytania i odpowiedzi do wywiadów z programowaniem w języku C:
Język programowania C został opracowany w latach 1969-1973 przez Dennisa Ritchiego z Bell Labs. Używa tego nowego języka programowania do ponownej implementacji systemu operacyjnego UNIX.
C to zorientowany strukturalnie język programowania wysokiego poziomu, używany do spełniania wymagań programowania ogólnego. Zasadniczo C jest zbiorem jego funkcji bibliotecznych. Elastyczne jest również dodawanie funkcji zdefiniowanych przez użytkownika i włączanie ich do biblioteki C.
Główne zastosowanie języka programowania C obejmuje kompilatory języków, systemy operacyjne, asemblery, edytory tekstu, bufory wydruku, sterowniki sieciowe, nowoczesne programy, bazy danych, interpretery języków i narzędzia.
Najczęstsze pytania do wywiadów z programowaniem w C.
No to ruszamy.
Pytanie 1) Jakie są kluczowe funkcje języka programowania C?
Odpowiedź: Funkcje są następujące:
- Ruchliwość : Jest to język niezależny od platformy.
- Modułowość: Możliwość rozbicia dużych programów na małe moduły.
- Elastyczność: Możliwość sterowania językiem przez programistę.
- Prędkość: C obsługuje programowanie systemowe, dlatego kompiluje się i wykonuje z dużą szybkością w porównaniu z innymi językami wysokiego poziomu.
- Rozciągliwość : Możliwość dodania nowych funkcji przez programistę.
Pytanie 2) Jakie są podstawowe typy danych związane z C?
Odpowiedź:
- Int - Reprezentuj liczbę (liczbę całkowitą)
- Pływak - Liczba z częścią ułamkową.
- Podwójne - Wartość zmiennoprzecinkowa podwójnej precyzji
- Char - Pojedynczy znak
- Pustka - Typ specjalnego przeznaczenia bez wartości.
P # 3) Jaki jest opis błędów składniowych?
Odpowiedź: Błędy / błędy występujące podczas tworzenia programu nazywane są błędami składniowymi. Błędnie wpisane polecenia lub niepoprawne polecenia dotyczące wielkości liter, niepoprawna liczba parametrów w wywołaniu metody / funkcji, niezgodności typów danych można zidentyfikować jako typowe przykłady błędów składniowych.
P # 4) Jak wygląda proces tworzenia instrukcji zwiększania i zmniejszania w C?
Odpowiedź: Istnieją dwie możliwe metody wykonania tego zadania.
- Użyj operatorów zwiększania (++) i zmniejszania (-).
Przykład Gdy x = 4, x ++ zwraca 5, a x- zwraca 3.
- Użyj konwencjonalnego znaku + lub -.
Przykład Gdy x = 4, użyj x + 1, aby uzyskać 5 i x-1, aby uzyskać 3.
P # 5) Co to są słowa zastrzeżone w języku programowania?
Odpowiedź: Nazwane są słowa, które są częścią standardowej biblioteki języka C. słowa zastrzeżone . Te zastrzeżone słowa mają specjalne znaczenie i nie można ich używać do żadnej innej czynności niż zamierzona funkcjonalność.
Przykład: void, return int.
P # 6) Jakie jest wyjaśnienie wiszącego wskaźnika w C?
Odpowiedź: Gdy istnieje wskaźnik wskazujący na adres pamięci dowolnej zmiennej, ale po pewnym czasie zmienna została usunięta z lokalizacji pamięci, podczas gdy wskaźnik wskazujący na tę lokalizację jest znany jako wiszący wskaźnik w C.
P # 7) Opisz funkcję statyczną wraz z jej użyciem?
Odpowiedź: Funkcja, która ma definicję funkcji poprzedzoną słowem kluczowym static, jest definiowana jako funkcja statyczna. Funkcja statyczna powinna być wywoływana w ramach tego samego kodu źródłowego.
P # 8) Jaka jest różnica między funkcjami abs () i fabs ()?
Odpowiedź: Obie funkcje mają na celu pobranie wartości bezwzględnej. abs () jest dla wartości całkowitych, a fabs () dla liczb typu zmiennoprzecinkowego. Prototyp abs () znajduje się w pliku biblioteki, a fabs () w.
P # 9) Opisz dzikie wskaźniki w C?
Odpowiedź: Niezainicjowane wskaźniki w kodzie C są znane jako Dzikie wskaźniki . Wskazują na jakąś dowolną lokalizację w pamięci i mogą powodować złe zachowanie programu lub awarię programu.
P # 10) Jaka jest różnica między ++ a a ++?
Odpowiedź: „++ a” nazywa się przyrostem z prefiksem, a przyrost nastąpi najpierw na zmiennej. „A ++” nazywa się przyrostkiem przyrostka, a przyrost następuje po wartości zmiennej używanej do operacji.
P # 11) Opisz różnicę między symbolami = i == w programowaniu w C?
Odpowiedź: „==” to operator porównania używany do porównywania wartości lub wyrażenia po lewej stronie z wartością lub wyrażeniem po prawej stronie.
„=” Jest operatorem przypisania używanym do przypisania wartości po prawej stronie zmiennej po lewej stronie.
P # 12) Jakie jest wyjaśnienie funkcji prototypu w C?
najlepszy sposób na otwarcie pliku xml
Odpowiedź: Funkcja prototypowa to deklaracja funkcji zawierająca następujące informacje dla kompilatora.
- Nazwa funkcji.
- Zwracany typ funkcji.
- Lista parametrów funkcji.
W tym przykładzie nazwa funkcji to Suma, typ zwracany to liczba całkowita i akceptuje ona dwa parametry całkowite.
P # 13) Jakie jest wyjaśnienie cyklicznej natury typów danych w C?
Odpowiedź: Niektóre typy danych w języku C mają szczególną charakterystykę, gdy programista przypisuje wartość spoza zakresu typu danych. Nie wystąpi błąd kompilatora, a wartość zmienia się w cyklicznej kolejności. Nazywa się to cyklicznością. Typy danych Char, int, long int mają tę właściwość. Inne typy danych typu float, double i long double nie mają tej właściwości.
P # 14) Opisz plik nagłówkowy i jego użycie w programowaniu w C?
Odpowiedź: Plik zawierający definicje i prototypy funkcji używanych w programie nazywany jest plikiem nagłówkowym. Jest również znany jako plik biblioteki.
Przykład: Plik nagłówkowy zawiera polecenia, takie jak printf i scanf, pochodzące z pliku biblioteki stdio.h.
Q # 15) Istnieje praktyka w kodowaniu, aby zachować niektóre bloki kodu w symbolach komentarzy, zamiast usuwać je podczas debugowania. Jak to wpływa na debugowanie?
Odpowiedź: Ta koncepcja nazywa się komentowaniem i jest to sposób na wyodrębnienie części kodu, która skanuje możliwą przyczynę błędu. Ta koncepcja pomaga również zaoszczędzić czas, ponieważ jeśli kod nie jest przyczyną problemu, można go po prostu usunąć z komentarza.
P # 16) Jaki jest ogólny opis instrukcji pętli i dostępnych typów pętli w C?
Odpowiedź: Instrukcja, która umożliwia wykonywanie instrukcji lub grup instrukcji w powtarzalny sposób, jest definiowana jako pętla.
Poniższy diagram wyjaśnia ogólną postać pętli.
Istnieją 4 typy instrukcji pętli w C.
- Podczas pętli
- Dla pętli
- Zrób… While Loop
- Zagnieżdżona pętla
P # 17) Co to jest zagnieżdżona pętla?
Odpowiedź: Pętla, która działa w innej pętli, jest nazywana zagnieżdżona pętla . Pierwsza pętla nazywana jest pętlą zewnętrzną, a pętla wewnętrzna - pętlą wewnętrzną. Pętla wewnętrzna wykonuje liczbę razy określoną w pętli zewnętrznej.
P # 18) Jaka jest ogólna forma funkcji w C?
Odpowiedź: Definicja funkcji w C zawiera cztery główne sekcje.
return_type function_name( parameter list ) { body of the function }
- Typ zwrotu : Typ danych wartości zwracanej przez funkcję.
- Nazwa funkcji: Nazwa funkcji i ważne jest, aby mieć zrozumiałą nazwę, opisującą aktywność funkcji.
- Parametry : Wartości wejściowe funkcji, które są używane do wykonania wymaganej czynności.
- Treść funkcji : Zbiór instrukcji wykonujących wymagane działanie.
P # 19) Co to jest wskaźnik na wskaźniku w języku programowania C?
Odpowiedź: Zmienna wskaźnika, która zawiera adres innej zmiennej wskaźnika, nazywana jest wskaźnikiem na wskaźniku. Ta koncepcja de-odsyła dwukrotnie, aby wskazać dane przechowywane przez zmienną wskaźnikową.
W tym przykładzie ** y zwraca wartość zmiennej a.
P # 20) W jakich miejscach można umieścić słowo kluczowe „Break”?
Odpowiedź: Celem słowa kluczowego Break jest wyprowadzenie kontroli z wykonywanego bloku kodu. Może pojawić się tylko w instrukcjach zapętlających lub przełączających.
P # 21) Jaka jest różnica w zachowaniu, gdy plik nagłówkowy jest zawarty w cudzysłowach („”) i nawiasach kątowych ()?
Odpowiedź: Gdy plik nagłówkowy znajduje się w cudzysłowie („”), kompilator najpierw przeszukuje katalog roboczy pod kątem określonego pliku nagłówkowego. Jeśli nie zostanie znaleziony, przeszukuje plik w dołączonej ścieżce. Ale kiedy plik nagłówkowy jest zawarty w nawiasach kątowych (), kompilator szuka tylko w katalogu roboczym określonego pliku nagłówkowego.
P # 22) Co to jest plik dostępu sekwencyjnego?
Odpowiedź: Ogólne programy przechowują dane w plikach i pobierają istniejące dane z plików. W przypadku pliku o dostępie sekwencyjnym takie dane są zapisywane w sekwencji sekwencyjnej. Podczas pobierania danych z takich plików, wszystkie dane są odczytywane jeden po drugim, aż do znalezienia wymaganych informacji.
P # 23) Jaka jest metoda zapisywania danych w stosie typu struktury danych?
Odpowiedź: Dane są przechowywane w typie struktury danych Stack przy użyciu rozszerzenia Pierwszy przyszedł ostatni wyszedł (FILO) mechanizm. W danej instancji dostępny jest tylko szczyt stosu. Mechanizm przechowywania jest określany jako PUSH, a pobieranie jest określane jako POP.
P # 24) Jakie jest znaczenie algorytmów programu C?
Odpowiedź: Algorytm jest tworzony jako pierwszy i zawiera wskazówki krok po kroku, jak powinno wyglądać rozwiązanie. Zawiera również kroki do rozważenia i wymagane obliczenia / operacje w programie.
P # 25) Jaki jest poprawny kod, aby uzyskać następujące dane wyjściowe w języku C przy użyciu zagnieżdżonej pętli for?
Odpowiedź:
#include int main () { int a; int b; /* for loop execution */ for( a = 1; a <6; a++ ) { /* for loop execution */ for ( b = 1; b <= a; b++ ) { printf('%d',b); } printf('
'); } return 0; }
P # 26) Wyjaśnij użycie funkcji toupper () za pomocą przykładowego kodu?
Odpowiedź: Funkcja Toupper () jest używana do konwersji wartości na wielkie litery, gdy jest używana ze znakami.
Kod:
#include #include int main() { char c; c = 'a'; printf('%c -> %c', c, toupper(c)); c = 'A'; printf('
%c -> %c', c, toupper(c)); c = '9'; printf('
%c -> %c', c, toupper(c)); return 0; }
Wynik:
P # 27) Jaki jest kod w pętli while, który zwraca dane wyjściowe podanego kodu?
#include int main () { int a; /* for loop execution */ for( a = 1; a <= 100; a++ ) { printf('%d
',a * a); } return 0; }
najlepsze darmowe oprogramowanie bazy danych dla systemu Windows
Odpowiedź:
#include int main () { int a; while (a<=100) { printf ('%d
', a * a); a++; } return 0; }
Q # 28) Wybierz nieprawidłowy formularz operatora z poniższej listy (==,,> =,<=) and what is the reason for the answer?
Odpowiedź: Niepoprawny operator to „”. Ten format jest poprawny podczas pisania instrukcji warunkowych, ale nie jest poprawną operacją wskazującą na brak równości w programowaniu w C. Daje następujący błąd kompilacji.
Kod:
#include int main () { if ( 5 10 ) printf( 'test for ' ); return 0; }
Błąd:
Q # 29) Czy jest możliwe użycie nawiasów klamrowych ({}) do umieszczenia pojedynczego wiersza kodu w programie C?
Odpowiedź: Tak, działa bez żadnego błędu. Niektórzy programiści lubią to używać do organizowania kodu. Ale głównym celem nawiasów klamrowych jest grupowanie kilku wierszy kodów.
Q # 30) Opisz modyfikator w C?
Odpowiedź: Modyfikator jest przedrostkiem podstawowego typu danych, który służy do wskazania modyfikacji alokacji miejsca w pamięci do zmiennej.
Przykład- W procesorze 32-bitowym przestrzeń dyskowa dla typu danych int wynosi 4. Gdy używamy go z modyfikatorem, przestrzeń dyskowa zmienia się w następujący sposób:
- Długi int: Przestrzeń dyskowa jest 8-bitowa
- Krótki int: Przestrzeń dyskowa to 2 bity
P # 31) Jakie modyfikatory są dostępne w języku programowania C?
Odpowiedź: W języku programowania C dostępnych jest 5 modyfikatorów:
- Krótki
- Długo
- Podpisano
- Bez podpisu
- długo, długo
Q # 32) Jak wygląda proces generowania liczb losowych w języku programowania C?
Odpowiedź: W tym celu można użyć polecenia rand (). Funkcja zwraca liczbę całkowitą zaczynającą się od zera (0). Poniższy przykładowy kod demonstruje użycie rand ().
Kod:
#include #include int main () { int a; int b; for(a=1; a<11; a++) { b = rand(); printf( '%d
', b ); } return 0; }
Wynik:
P # 33) Czy opisać sekwencję ucieczki nowej linii za pomocą przykładowego programu?
Odpowiedź: Sekwencja ucieczki nowej linii jest reprezentowana przez n. Wskazuje to punkt, w którym nowa linia zaczyna się od kompilatora, a dane wyjściowe są odpowiednio tworzone. Poniższy przykładowy program demonstruje użycie sekwencji ucieczki nowej linii.
Kod:
/* * C Program to print string */ #include #include int main(){ printf('String 01 '); printf('String 02 '); printf('String 03
'); printf('String 01
'); printf('String 02
'); return 0; }
Wynik:
Q # 34) Czy można przechowywać 32768 w zmiennej typu danych int?
Odpowiedź: Typ danych Int może przechowywać tylko wartości z zakresu od - 32768 do 32767. Aby zapisać 32768, należy użyć modyfikatora z typem danych int. Można użyć Long Int, a jeśli nie ma wartości ujemnych, można również użyć unsigned int.
Q # 35) Czy istnieje możliwość utworzenia niestandardowego pliku nagłówkowego w języku programowania C?
Odpowiedź: Tak, utworzenie nowego pliku nagłówkowego jest możliwe i łatwe. Utwórz plik z prototypami funkcji, które są używane w programie. Umieść plik w sekcji „#include” od jego nazwy.
Q # 36) Opis dynamicznej struktury danych w języku programowania C?
Odpowiedź: Dynamiczna struktura danych jest bardziej wydajna dla pamięci. Dostęp do pamięci następuje w razie potrzeby programu.
P # 37) Czy można dodawać do siebie wskaźniki?
Odpowiedź: Nie ma możliwości dodawania wskaźników razem. Ponieważ wskaźnik zawiera szczegóły adresu, nie ma możliwości pobrania wartości z tej operacji.
Q # 38) Co to jest pośrednictwo?
Odpowiedź: Jeśli zdefiniowałeś wskaźnik do zmiennej lub dowolnego obiektu pamięci, nie ma bezpośredniego odniesienia do wartości zmiennej. Nazywa się to odniesieniem pośrednim. Ale kiedy deklarujemy zmienną, ma ona bezpośrednie odniesienie do wartości.
P # 39) Jakie są sposoby uzyskania wskaźnika zerowego, którego można używać w języku programowania C?
Odpowiedź: Pustych wskaźników można używać na trzy sposoby.
- Jako wartość błędu.
- Jako wartość wartownicza.
- Zakończenie pośrednictwa w rekurencyjnej strukturze danych.
Q # 40) Jakie jest wyjaśnienie programowania modułowego?
Odpowiedź: Proces dzielenia programu głównego na podsekcję wykonywalną nazywa się programowaniem modułowym. Ta koncepcja promuje możliwość ponownego wykorzystania.
Wniosek
Pytający opiera się na pojęciach języka programowania C, w tym na zarządzaniu pamięcią ze wskaźnikami, znajomości jego składni i kilku przykładowych programach wykorzystujących strukturę programu Basic C. Za pomocą pytań sprawdzana jest wiedza teatralna i praktyczna kandydata.
rekomendowane lektury
- Pytania i odpowiedzi do wywiadu
- Niektóre trudne pytania i odpowiedzi do testowania ręcznego
- C Vs C ++: 39 Główne różnice między C i C ++ z przykładami