Вы находитесь на странице: 1из 18

Computer Programming Viva Questions


1) What is C language?
C is a programming language developed at AT & Ts Bell Laboratories of USA in 1972.
The C programming language is a standardized programming language developed in the
early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating
It has since spread to many other operating systems, and is one of the most widely used
programming languages.

2) What is an algorithm?
Ans: An algorithm is a step-by-step method of performing any task.

3) What is a flow chart?

Ans: A flowchart is a type of diagram that represents an algorithm or process, showing
the steps as boxes of various kinds, and their order by connecting these with arrows.

4) What is a C Preprocessor?
Ans: C Preprocessor is a program that processes our source program before it is passed to
the compiler.

5) What is the use of header files as used in C programming?

Ans: Header files are used to have declarations. It is simple to include a single header file
than writing allthe needed functions prototypes.

6) What is the Structure of a C Program?

Ans: Documentation Section, Linking Section, Definition Section, Global declaration
Section, main function, subprogram section.

7) Explain some Header Files?

S.No Description
This is standard input/output header file in
1 stdio.h which Input/Output
functions are declared
2 conio.h This is console input/output header file
All string related functions are defined in this
3 string.h
header file
This header file contains general functions
4 stdlib.h
used in C programs

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

All maths related functions are defined in this

5 math.h
header file

8) What is the use of main() function?

Ans: main() is the starting point of program execution.

9) What are the types of constants in c?

Ans: C constants can ba divided into two categories:
1) Primary constants (Numerical)
2) Secondary constants (Character)

10) What is a Compiler?

Ans: A compiler is a computer program (or set of programs) that transforms source
code written in a programming language (the source language) into another computer
language (the target language, often having a binary form known as object code).

11) What is a Translator?

Ans: A translator is a computer program that translates a program written in a
given programming language into a functionally equivalent program in a different

12) What is a Interpreter?

Ans: An Interpreter is a computer program that directly executes, i.e. performs,
instructions written in a programming or scripting language, without previously batch-
compiling them into machine language.

13) What is a Token in C?

Ans: A Token is the basic building block of a C. (or) the basic element recognized by
the compiler is the "token."
C Tokens are:
Key Words, Identifier, Constants, String literal, Operator, Punctuators

14) What are Printf() and scanf() Functions :

Ans: printf() and scanf() functions are inbuilt library functions in C which are available
in which are available in stdio.h header file.
printf() function is used to print the character, string, float, integer, octal and
hexadecimal values onto the output screen.
scanf() function is used to read character, string, numeric data from keyboard

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

15) What is a Data Type and List the different Data types?
Ans: C data types are defined as the data storage format that a variable can store a data to
perform a specific operation.
List of Data Types:
1) Basic Data Types: Int, Float, Char, Double, long int
2) Enumeration Data Type: enum
3) Derived Data Type: Pointer, array, structure, union
4) Void Data Type: void

16) What is Integer Data Type?

Integer data type allows a variable to store numeric values.
The storage size of int data type is 2 or 4 or 8 byte.
int (2 byte) can store values from -32,768 to +32,767
int (4 byte) can store values from -2,147,483,648 to +2,147,483,647.

S.No C Data types Range
1 char 1 127 to 127
2 int 2 32,767 to 32,767
1E37 to 1E+37 with six digits of
3 float 4
1E37 to 1E+37 with ten digits of
4 double 8
1E37 to 1E+37 with ten digits of
5 long double 10
6 long int 4 2,147,483,647 to 2,147,483,647
7 short int 2 32,767 to 32,767
8 unsigned short int 2 0 to 65,535
9 signed short int 2 32,767 to 32,767
10 long long int 8 (2power(63) 1) to 2(power)63 1
11 signed long int 4 2,147,483,647 to 2,147,483,647
12 unsigned long int 4 0 to 4,294,967,295
Unsigned long
13 8 2(power)64 1
long int

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

17) What is enum Data Type?

Enumeration data type consists of named integer constants as a list.
It start with 0 (zero) by default and value is incremented by 1 for the sequential
identifiers in the list.
enum identifier { enumerator-list };

18) What is a Void Data Type?

Ans: Void is an empty data type that has no value.

19) What is a comment in C?

Ans: Comments are like helping text in your C program and they are ignored by the
compiler. We can write in between /* and */ or // (Line Comments)

20) What is an Identifier in C?

Ans: A C identifier is a name used to identify a variable, function, or any other user-
defined item. An identifier starts with a letter A to Z or a to z or an underscore _ followed
by zero or more letters, underscores, and digits (0 to 9). C does not allow punctuation
characters such as @, $, and % within identifiers. C is a case sensitive programming

21) What is a Key word in C?

Ans: Keywords are reserved words in C and Keywords are may not be used as constant
or variable or any other identifier names.

22) How many Keywords are there in C and List out the Keywords?
Ans : There are 33 reserved keywords are there in C. They are:
auto else long switch
break enum register typedef
case extern return union
char float short unsigned
const for signed void
continue goto sizeof volatile
default if static while
do int struct _Packed

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

23) Define a Variable?

Ans: A variable is nothing but a name given to a storage area that our programs can
manipulate. Each variable in C has a specific type, which determines the size and layout
of the variable's memory.
Syntax for variable Declaration:
DataType VariableList;
int i,j;
cahr c, ch;

24) What are the steps to develop a C Program?

Specifying the problem statement
Designing an algorithm
Testing and Validating
Documentation and Maintenance.

25) What is the process of debugging or compilation for C Programs?

Ans: To check the errors in a program is called debugging or compilation. This process
done by 3 stage:
1) Checking Syntactic Errors: These errors occur due to the usage of wrong syntax
for the statements. (Short cut Key : ALT+F9)
2) Checking Run time Errors/ Linkage Errors: These Errors are determined at the
execution time of the program (EX: Divide a number by Zero, finding logarithm
of negative number, finding square root of negative number ,etc.)
3) Checking Linker Errors: These errors are occurred due to the linking of header
file to the current program (Short cut Key : CTRL+F9)
4) Checking Logical Errors: These Errors occur due to incorrect usage of the
instruction in the program. Logical Errors are determined by analyzing the outputs
for different possible inputs that can be applied to the program.

26) List some Syntactic Errors or Syntax Errors?

Ans: 1) Missing semicolon(Statement Missing ;)
2) Undeclared a variable name or Undefined symbol (Then check variable declaration
syntax and check for header file for some keywords)
3) ) expected (Then check the no of parenthesis opened and closed)
4) Illegal string constant ( check for the last double quote in a string)
5) printf and scanf arguments should be placed in ( )
6) Compound statement missing (Check for the no of { and } are opened and closed)
7) Proto type missing error (Check for Function declaration statement)
8) Forgetting to put &,, and comma operator in specific places.

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

9) Comparing strings with == operator

27) List some Warnings?

1) Miss use of = and ==
2) Loop has no body ( remove the semicolon at last of the for loop or while loop)
3) Uninitialized a variable

28) What is an Operator and list different types of operators in C?

Ans: The symbols which are used to perform logical and mathematical operations in a C
program are called C operators. The different operators in C are: Arithmetic operators,
Relational operators, Logical operators, Assignment operators, Increment and Decrement
operators, Conditional operators, Bitwise operators, Special operators

29) What are Arithmetic Operators?

Ans: Arithmetic operators are used to perform mathematical calculations like addition,
subtraction, multiplication, division and modulus in C programs. (Like +,-,*,/,%)

30) What are Assignment Operators?

Ans: Values for the variables are assigned using assignment operators. There are two
types assignment operators are there:
1) Simple Assignment( = )
2) Compound Assignment (+= , -=, *=, %=)

31) What are Relational Operators?

Ans: Relational operators are used to find the relation between two variables. i.e. to
compare the values of two variables in a C program.. (Like >, <, >=, <=, !=, ==)

32) What are Logical Operators?

Ans: These operators are used to perform logical operations on the given expressions.
(Like &&, ||, !)

33) What are Bitwise Operators?

Ans: These operators are used to perform bit operations. Decimal values are converted
into binary values which are the sequence of bits and bit wise operators work on these
bits. (Like &, |, ~, ^, <<(Left Shift), >> (Right Shift))

34) What are Conditional (Ternary) Operators?

Ans: Conditional operators return one value if condition is true and returns another value
is condition is false. (Like: ? and : )

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

35) What are Increment / Decrement Operators?

Ans: Increment operators are used to increase the value of the variable by one and
decrement operators are used to decrease the value of the variable by one in C programs.
(Like ++, --)

36) What are Special Operators?

Ans: &(Address Operator), * (Pointer Operator), and Sizeof()

37) What is sizeof operator?

Ans: It returns the number of bytes the operand occupies.

38) What is pre-increment or post-increment?

Ans: ++n (pre increment) increments n before its value is used in an assignment
operation or any expression containing it. n++ (post increment) does increment after the
value of n is used.

39) What is type casting?

Ans: Converting a variable of one type to another type.

40) What are the Format Specifiers or Type Specifiers or Conversion Specifiers?
Ans: %d (Integer), %f (Float), %c (Character), %l (Long Integer), %s (Strings), %u
(Address with decimal value), %p (Address with Hexa Decimal Value in Small Letters),
%x ((Address with Hexa Decimal Value in Capital Letters)

41) What is a Statement in C?

Ans: A statement is a block of code that does something.

42) Different Types of Statements?

Ans: Null Statement, Expression Statement, Compound Statement, Return Statement,
Conditional Statements, Iterative or Looping Statements, Unconditional Statements

43) Define Null Statement?

Ans: A "null statement" is a statement containing only a semicolon;

44) Define Expression Statement?

Ans: When an expression statement is executed, the expression is evaluated according to
the rules outlined in Expressions and Assignments.

45) Define Compound Statement?

Ans: A compound statement (also called a "block") typically appears as the body of
another statement which is in between { and }

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

46) Define Return Statement?

Ans: The return statement terminates the execution of a function and returns control to
the calling function. A return statement can also return a value to the calling function.

47) Define Conditional Statements and give the list of them?

Ans: Conditional Statements which allows to perform actions depending upon some
conditions provided by the programmer. The Different types of conditional statements
1) If Statement
2) If else statement
3) Nested- if else statement
4) Switch Statement

48) Write the Syntax for IF Statement?

Ans: if ( <expression> )

49) Write the Syntax for IF- ELSE Statement?

Ans: if ( <expression> )
<statement 1>
<statement 2>

50) Write the Syntax for NESTED- IF - ELSE Statement?

Ans: if ( <expression1> )

51) Write the Syntax for Switch Case Statement?

Ans: switch ( <expression> )
( <case list> }
Prepared By: P. HARI SHANKAR
Computer Programming Viva Questions

<case list>
is a sequence of
case <value>: <statement list>
and optionally one
default: <statement list>

52) What are Iterative or Looping Statements?

Ans: Iterative or Looping statement which executes the statements with in the compound
statement by checking the condition, and performs same set of statements as a iterative
process or as a loop until the condition false.
The Iterative or Looping Statements are: While, do-while, for

53) Write Syntax for WHILE Statement?

Ans: while ( <expression> )

54) Write Syntax for DO- WHILE Statement?

Ans: do <statement>
while ( <expression> );

55) Write Syntax for FOR Statement?

Ans: for ( <Initialization>;<Condition>;<Increment/Decrement>)
56) What is the difference between for loop and while loop?
Ans: For Loop is used to execute a set of statements in fixed number of times. We use
While loop when the number of iterations to be performed is not known in advance we
use while loop.

57) What are Unconditional Statements?

Ans: goto and labeled statements, break Statement continue Statement.

58) Define goto and labeled Statement, Write syntax for goto and labeled statements?
Ans: The goto statement transfers control to a label. The given label must reside in the
same function and can appear before only one statement in the same function.
goto <label>;
<label>: <Statement>;

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

59) Define Break Statement, Write syntax for Break statement?

Ans: The break statement terminates the execution of the nearest
enclosing do, for, switch, or while statement in which it appears. Control passes to the
statement that follows the terminated statement.

60) Define Continue Statement, Write syntax for Continue statement?

Ans: The continue statement passes control to the next iteration of the nearest
enclosing do, for, or while statement in which it appears

61) Define Type Qualifiers, and list them?

Ans: The keywords which are used to modify the properties of a variable are called type
qualifiers. There are two types of qualifiers available in C language. They are,1) const 2)

62) Define const Keyword with Syntax?

Ans: Constants are also like normal variables. They refer to fixed values. They are also
called as literals.
const data_type variable_name; (or) const data_type *variable_name;

63) Define volatile Keyword with Syntax?

Ans: When a variable is defined as volatile, the program may not change the value of the
variable explicitly.
volatile data_type variable_name; (or) volatile data_type *variable_name;
64) What is a Macro?
Ans: Macros are the identifiers that represent statements or expressions. To associate
meaningful identifiers with constants, keywords, and statements or expressions.
65) What is the difference between #include< > and #include ?
Specifically used for built in header files.
Specifically used for used for user defined/created n header file.

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

66) Define Storage class with Syntax?

Ans: Storage class specifiers in C language tells the compiler where to store a variable,
how to store the variable, what is the initial value of the variable and life time of the
Syntax: storage_specifier data_type variable _name

67) What are Different Storage Classes, Explain in brief?

Ans: There are 4 storage class specifiers available in C language. They are,
1) Auto
2) Extern
3) Static
4) Register

Initial /
Storage Storage
S.No. default Scope Life
Specifier place
CPU Garbage Within the function
1 auto local
Memory value only.
Till the end of the
CPU program. Variable
2 extern Zero Global
memory definition might be
anywhere in the C
Retains the value of
CPU the variable
3 static Zero local
memory between different
function calls.
Register Garbage
4 register local Within the function
memory value

68) Define Array?

Ans: C Array is a collection of variables belongings to the same data type.
An Array is a collection of Homogeneous or similar data type elements having unique
values, and stored ata different locations. You can store group of data of same data type
in an array.

69) Types of an Array?

Ans: There are 2 types of C arrays. They are,
Prepared By: P. HARI SHANKAR
Computer Programming Viva Questions

1) One dimensional array

2) Multi dimensional array
i) Two dimensional array
ii) Three dimensional array, four dimensional array etc
70) What are the Characteristics of Arrays?
An array holds elements that have the same data type.
Array elements are stored in subsequent memory locations
Two-dimensional array elements are stored row by row in subsequent memory locations.
Array name represents the address of the starting element

71) What is the syntax for One Dimensional Array, explain declaration, Initialization,
accessing the elements?

Syntax : data-type arr_name[array_size];
Array initialization Accessing array
data_type arr_name
[arr_size]= arr_name[index];
(value1, value2, value3,.);
int age [5]; int age[5]={0, 1, 2, 3, 4, 5}; age[1];_/*1_is_accessed*/
char str[10]={H,a,i}; (or)
str[0];_/*H is accessed*/
char char str[0] = H;
str[1]; /*a is accessed*/
str[10]; char str[1] = a;
str[2]; /* i is accessed*/
char str[2] = i;

72) What is the syntax for One Dimensional Array, explain declaration, Initialization,
accessing the elements?
Ans: Two dimensional array is nothing but array of array.
syntax : data_type array_name[num_of_rows][num_of_column]
S.no Array declaration Array initialization Accessing array
Syntax: data_type arr_name[2][2]
1 data_type arr_name = arr_name[index];
[num_of_rows][num_of_column]; {{0,0},{0,1},{1,0},{1,1}};
2 Example: int arr[2][2] = {1,2, 3, 4}; arr [0] [0] = 1;

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

int arr[2][2]; arr [0] ]1] = 2;

arr [1][0] = 3;
arr [1] [1] = 4;

73) How we can read or print the array elements?

Ans: To read or print the array elements we need to use FOR Statement

74) Define a String?

Ans: C Strings are nothing but array of characters ended with null character (\0).
Strings are always enclosed by double quotes. Whereas, character is enclosed by single
quotes in C.
char string[20] = { H , e , l , l , o , \0}; (or)
char string[20] = Hello; (or)
char string [] = Hello;

75) Header used for String Functions?

Ans: #include<string.h>

76) List String Handling Functions or String Manipulation Functions?

Ans: strcat(), strncat(), strcmp(), strncmp(), strcmpi(), strcpy(), strncpy(), strlen(),
strchr(), strrchr(), strstr(),strrstr(), strrev()

Function Description Syntax

strcat() Concatenates str2 at the end of str1. Strcat(str1,str2);
strncat() appends a portion of string to another Strcat(str1,str2,n); (First n
string characters of str2 are
appends to str1)
strcmp() Returns 0 if str1 is same as str2. Returns Strcmp(str1,str2);
<0 if strl < str2. Returns >0 if str1 > str2.
strncmp() Compares some portion of a string in Strncmp(str1,str2,n);
another string
strcmpi() Same as strcmp() function. But, this Strcmpi(str1,str2);
function negotiates case. A and a are
treated as same.
strcpy() Copies str2 into str1 Strcpy(str1,str2);
strncpy() copies given number of characters of one Strcpy(str1,str2,n);
string to another
strlen() gives the length of string. Strlen(str);
strchr() Returns pointer to first occurrence of char Strrchr(str,charcater);
Prepared By: P. HARI SHANKAR
Computer Programming Viva Questions

in str1.
strrchr() last occurrence of given character in a Strrchr(str,charcater);
string is found
strstr() Returns pointer to first occurrence of str2 Strstr(str1,str2);
in str1.
strrstr() Returns pointer to last occurrence of str2 Strstr(str1,str2);
in str1.
Strrev() reverses the given string Strstr(str1);

77) What is the difference between strings and arrays?

Ans: String is a sequence of characters ending with NULL .it can be treated as a one
dimensional array of characters terminated by a NULL character.

78) Define Pointer with Syntax and example?

Ans: C Pointer is a variable that stores/points the address of another variable. C Pointer is
used to allocate memory dynamically i.e. at run time.
Syntax: data_type *var_name;
Example : int *p; char *p;
79) What are the uses of Pointers?
Ans: Pointer is used in the following cases

It is used to access array elements.

It is used for dynamic memory allocation.
It is used in Call by reference.
It is used in data structures like trees, graph, linked list etc.
80) What is the invalid pointer Arithmetic?
adding ,multiplying and dividing two pointers.
Shifting or masking pointer.
Addition of float or double to pointer
Assignment of a pointer of one type to a pointer of another type

81) What is a pointer value and address?

Ans: A pointer value is a data object that refers to a memory location. Each memory
location is numbered in the memory. The number attached to a memory location is called
the address of the location.

82) How are Pointer Variables initialized?

Ans: Pointer variable are initialized in two ways:
Static memory allocation
Prepared By: P. HARI SHANKAR
Computer Programming Viva Questions

Dynamic memory allocation

83) What is a pointer to pointer?
Ans: If a pointer variable points another pointer value. Such a situation is known as a
pointer to a pointer.
Example : int *p1,
v=10;P1=&v; p2=&p1;
Here p2 is a pointer to a pointer.
84) What are the advantages of using array of pointers to string instead of an array of
Ans: Efficient use of memory.
Easier to exchange the strings by moving their pointers while sorting.
85) What are the pointer declarations used in C?
Array of pointers, e.g , int *a[10]; Array of pointers to integer
Pointers to an array,e.g , int (*a)[10]; Pointer to an array of into
Function returning a pointer,e.g, float *f( ) ; Function returning a pointer to float
Pointer to a pointer ,e.g, int **x; Pointer to apointer to int
pointer to a data type ,e.g, char *p; pointer to char

86) What are the Advantages of Functions?

It reduces the Complexity in a program by reducing the code.
Function are easily understanding and reliability and execution is faster.
It also reduces the Time to run a program.In other way, Its directly proportional to
Its easy to find-out the errors due to the blocks made as function definition outside the
main function.

87) What is Recursion?

Ans: A recursion function is one which calls itself either directly or indirectly it must halt
at a definite point to avoid infinite recursion.

88) What is the difference between malloc( ) and calloc( ) Functions?

Malloc is used for memory allocation and initialize garbage values.malloc () for
allocating the single block of memory.
Syntax: *ptr-variable=(type-casting*)malloc(n*sizeof(DataType))
Example: *ptr=(int*)malloc(5*sizeof(int));

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

Calloc is same as malloc but it initialize 0 value.calloc () for allocating multiple

blocks of memory.
Syntax: *ptr-variable=(type-casting*)calloc(n,sizeof(DataType))
Example: *ptr=(int*)calloc(5,sizeof(int));

89) What is the purpose of realloc?

Ans: It increases or decreases the size of dynamically allocated array. The function
realloc (ptr,n) uses two arguments. The first argument ptr is a pointer to a block of
memory for which the size is to be altered. The second argument specifies the new size.
The size may be increased or decreased. If sufficient space is not available to the old
region the function may create a new region.

90) What is an Argument?

Ans: An argument is an entity used to pass data from the calling to a called function.

91) What are Built-in-Functions/ Pre Defined Functions / Library Functions?

Ans: The functions that are predefined and supplied along with the compiler are known
as built in functions. They are also known as library functions.

92) What are the uses of Functions?

C functions are used to avoid rewriting same logic/code again and again in a program.
There is no limit in calling C functions to make use of same functionality wherever
We can call functions any number of times in a program and from any place in a
A large C program can easily be tracked when it is divided into functions.
The core concept of C functions are, re-usability, dividing a big task into small pieces
to achieve the functionality and to improve understandability of very large C

93) Define Function Declaration, Function Call and Function Definition with Syntaxes:
Function declaration or prototype - This informs compiler about the function
name, function parameters and return values data type.
Function call This calls the actual function
Function definition This contains all the statements to be executed.
C function
S.no syntax
function return_type function_name ( arguments list )
definition { Body of function; }
2 function call function_name ( arguments list );

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

3 return_type function_name ( argument list );

94) Define Call by Value?

Ans: In call by value method, the value of the variable is passed to the function as
parameter. The value of the actual parameter can not be modified by formal parameter.
Different Memory is allocated for both actual and formal parameters.
Actual parameter This is the argument which is used in function call.
Formal parameter This is the argument which is used in function definition

95) Define Call by Reference?

Ans: In call by reference method, the address of the variable is passed to the function as
parameter. The value of the actual parameter can be modified by formal parameter. Same
memory is used for both actual and formal parameters since only address is used by both

96) Explain the Categories of Functions?

S.no C function syntax
int function ( int ); // function declaration
with arguments and
function ( a ); // function call
1 with
int function( int a ) // function definition
return values
{statements; return a;}
void function ( int ); // function declaration
with arguments and
function( a ); // function call
2 without
void function( int a ) // function definition
return values
void function(); // function declaration
without arguments
function(); // function call
3 and without
void function() // function definition
return values
int function ( ); // function declaration
without arguments
function ( ); // function call
4 and with
int function( ) // function definition
return values
{statements; return a;}

97) List some MATH.H Functions?

S.no Function Description
1 abs ( ) This function returns the absolute value of an integer. The

Prepared By: P. HARI SHANKAR

Computer Programming Viva Questions

absolute value of a number is always positive. Only integer

values are supported in C.
This function returns the nearest integer which is less than
2 floor ( )
or equal to the argument passed to this function.
This function returns the nearest integer value of the
float/double/long double argument passed to this
function. If decimal value is from .1 to .5, it returns
3 round.(.)
integer value less than the argument. If decimal value is
from .6 to .9, it returns the integer value greater than the
This function returns nearest integer value which is greater
4 ceil ( )
than or equal to the argument passed to this function.
This function is used to find square root of the argument
5 sqrt ( )
passed to this function.
6 pow ( ) This is used to find the power of the given number.
This function truncates the decimal value from floating
7 trunc()
point value and returns integer value.

Prepared By: P. HARI SHANKAR