- :
while(1)
{
char *smallString = (char *) malloc(10);
}
- :
long long number = 1;
while(1)
number *= 2;
- :
while(1)
{
char hugeString[1000000L];
memset(hugeString, 0, 1000000L);
}
- :
while(1)
{
long *bigArray = (long *) malloc(sizeof(long) * 1000);
memset(bigArray, 1000000, 1000);
free(bigArray);
}
int f1 (int a, int b)
{
if (a > b)
{
printf("A is greater than B\n");
return 1;
}
else
{
printf("B is greater than A");
return 0;
}
}
main()
{
if (f1(20,10) || f1(10,20))
printf("C is fun!\n");
}
- :
A is greater then B
C is fun!
- :
A is greater then B
B is greater then A
C is fun!
- :
A is greater then B
B is greater then A
- Nothing is printed on Screen
- recursion
- subfunction
- inner call
- infinite loop
main(){
char c1 ='a';
char c2 = c1+10;
}
- character arithmetic
- undefined assignment
- type conversion
- invalid declaration
struct s {
int i;
struct s *s1;
struct s *s2;
};
- a node
- a linked list
- a stack
- a binary tree
Q6. Header files are listed using the preprocessing directive #include, and can have one of the following formats: #include <fileA> or #include "fileB". What is the difference between these two formats?
- The preprocessor will try to locate fileA in same directory as the source file, and the fileB in a predetermined directory path.
- The preprocessor will try to locate fileA in the fixed system directory. It will try to locate fileB in the directory path designated by the -I option added to the command line while compiling the source code.
- The file using the fileA syntax must be system files, of unlimited number; fileB must be a user file at a maximun of one per source file.
- The preprocessor will try to locate fileA in a predetermined directory path. It will try to locate fileB in the same directory as the source file along with a custom directory path.
Q7. Using a for loop, how could you write a C code to count down from 10 to 1 and display each number on its own line?
- :
for (int i = 0; i>=0, i--){
printf("%d\n", i);
}//end of loop
- :
int i;
for (i=1; i<=10; i++){
printf("%d", i);
}
- :
int i = 10;
while (i>0){
printf("%d\n", i);
i--;
}
- :
int i;
for (i= 10; i>0; i--){
printf("%d\n", i);
}// end of loop
- volatile
- typeof
- register
- typedef
int main(){
int a=1, b=2, c=3, d=4;
int x = a;
if (a>b)
if (b<c) x=b;
else x=c;
return(x);
}
- 1
- 3
- 2
- 0
Q10. Using the Union declaration below, how many bytes of memory space will the data of this type occupy?
union Cars {
char make[20];
char model[30];
short year;
} car;
- 32
- 54
- 30
- 52
main(){
constant int PI = 3.14;
printf("%f\n", pi);
}
- The value of PI needs to be set to 3.141593, not 3.14
- The declaration of PI needs to say const, not constant.
- The data type of PI needs to be float not int.
- The printf statement needs to use PI, not pi.
- main()
- int main() {return 0;}
- main() { }
- main() { ; }
- data type of parameters
- return type of function
- parameter names
- number of parameters
Q14. C treats all devices, such as the display and the keyboard, as files. Which file opens automatically when a program executes?
- stdout
- stdio.h
- default.h
- string.h
- BSS Segment
- stack
- heap
- data segment
- dalloc()
- dealloc()
- release()
- free()
Q17. In C language what are the basic building blocks that are constructed together to write a program?
- keywords
- identifiers
- tokens
- functions
- during the assigment of the variable
- during the initialization of the variable
- during the declaration of the variable
- during the definition of the variable
Q19. C uses the call by value method to pass arguments to functions. How can you invoke the call by reference method?
- by using pointers
- by declaring functions separately from defining them
- by using recursive functions
- by using global variables
- Objects; Structure
- Variables; Declaration
- Data types; Memory space
- Arrays; Header file
main() {
char c1='a' , c2='A';
int i=c2-c1;
printf("%d", i);
}
- 32
- Runtime error
- -32
- 0
- The scanf() function reads data formatted as a string; The sscanf() function reads string input from the screen.
- The scanf() function reads formatted data from the keyboard; The sscanf() function reads formatted input from a string.
- The scanf() function reads string data from the keyboard; The sscanf() function reads string data from a string.
- The scanf() function reads formatted data from a file; The sscanf() function reads input from a selected string
char *string[20] = { "one", "two", "three"};
-
printf("%c", string[1][2]);
-
printf("%s", string[1][2]);
-
printf("%s", string[1]);
-
printf(string[1]);
-
player.name
-
(*player).name
-
*player.name
-
player.*name
- :
main() {
for(i=0; i<10; i++) ;
}
- :
main() {
int i=0;
for(; i<10; i++) ;
}
- :
main() {
int i;
for(i=0; i<j; i++) ;
}
- :
main() {
int i;
for (i= 10; i<10; i++)
}
1 main() { float x = f1(10, 5); }
2 float f1(int a, int b) { return (a/b); }
- 2
- 2.000000
- a runtime error
- a compiler error
#include <stdio.h>
int main() {
int *p = NULL;
return 0;
}
- a runtime error
- a NULL pointer
- a compile error
- a void pointer
- There is no equivalent.
- x->y
- *x->y
- y->x
- in declarations and definitions
- in functions and expressions
- in syntax and semantics
- in objects and statements
- in Unix
- in C++
- in C#
- in DOS
- 0 if str1 and str2 are the same, a negative number if str1 is less than str2, a positive number if str1 is greater than str2
- true (1) if str1 and str2 are the same, false (0) if str1 and str2 are not the same
- true (1) if str1 and str2 are the same, NULL if str1 and str2 are not the same
- 0 if str1 and str2 are the same, a negative number if str2 is less than str1, a positive number if str2 is greater than str1
int a=10, b=20;
int f1(a) { return(a*b); }
main() {
printf("%d", f1(5));
}
- 100
- 200
- 5
- 50
-
char *string = "Hello World";
-
char string = "Hello World";
-
char string[20] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'};
-
char string[] = "Hello World";
- :
#ifdef MYLIB_H
#undef MYLIB_H
// mylib.h content
#endif /* MYLIB_H */
- :
#ifndef MYLIB_H
#define MYLIB_H
// mylib.h content
#endif /* MYLIB_H */
- :
#define MYLIB_H
#include "mylib.h"
#undef MYLIB_H
- :
#ifdef MYLIB_H
#define MYLIB_H
// mylib.h content
#endif /* MYLIB_H */
main(){
int x=1;
while(x++<100){
x*=x;
if(x<10) continue;
if(x>50) break;
}
}
- 100
- 3
- 5
- 50
- syntax-driven components
- native interfaces
- system objects
- function calls
- Pre-processor
- Compiler
- Linker
- Editor
Q38. The main loop structures in C programming are the for loop, the while loop, and which other loop?
- do...while
- for...in
- repeat...until
- do...until
- global
- static
- library
- system
Q40. You have written a function that you want to include as a member of structure a. How is such as structure member defiened?
- :
struct a {
void *f1;
};
- :
struct a {
void (*f1)();
};
- :
struct a {
*(void *f1)();
};
- :
struct a {
void *f1();
};
Q41. A Stack data structure allows all data operations at one end only, making it what kind of an implementation?
- FIFO
- LIFO
- LILO
- LOLI
main(){
char *p = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i;
for (i=0;i<5;i++) *p++; *p++;
printf("%c",*p++);
}
- K
- M
- H
- G
- An lvalue may appear only on the left-hand side of an assignment; an rvalue may appear only on the right-hand side.
- An lvalue may appear only on the left-hand side of an assignment; an rvalue may appear on either the left-hand or right-hand side.
- An lvalue and an rvalue may appear on either left-hand or right-hand side of an assignment.
- An lvalue may appear on the left-hand or right-hand side of an assignment; an rvalue may appear only on the right-hand side.
-
%
-
**
-
*
-
&
- :
void add (int a, int b, int *result)
{
*result = a+b;
}
main()
{
int a = 10;
int b = 20;
int result = 0;
add(a,b,&result);
}
- :
void add (int a, int b, int result)
{
result = a+b;
}
main()
{
int a = 10;
int b = 20;
int result = 0;
add(a,b,result);
}
- :
void add (int a, int b, int *result)
{
result = a+b;
}
main()
{
int a = 10;
int b = 20;
int result = 0;
add(a,b,result);
}
- :
void add (int *a, int *b, int *result)
{
result = a+b;
}
main()
{
int a = 10;
int b = 20;
int result = 0;
add(*a,*b,*result);
}
Q46. Consider the number of the Fibonacci series below 100: 0,1,1,2,3,5,8,13,21,34,55,89. Which piece of code outputs the sequence?
- :
void fibonacci(int a, int b)
{
int c = a+b;
if(a>100)
return;
printf("%d", a);
fibonacci(a,b);
}
int main()
{
fibonacci(0,1);
}
- :
void fibonacci(int a, int b)
{
int c = a+b;
if(a>100)
return;
printf("%d", b);
fibonacci(a,c);
}
int main()
{
fibonacci(0,1);
}
- :
void fibonacci(int a, int b)
{
int c = a+b;
if(a>100)
return;
printf("%d", a);
fibonacci(b,c);
}
int main()
{
fibonacci(0,1);
}
- :
void fibonacci(int a, int b)
{
int c = a+b;
if(a>100)
return;
printf("%d", c);
fibonacci(b,c);
}
int main()
{
fibonacci(0,1);
}
-
intern
-
extern
-
register
-
static
-
for(i=1; i<=1; i++);
-
for(i=1; i=10; i++);
-
for(i=1; i==10; i++);
-
for(i=10; i>=1; i--);
1 main() {
2 int a, b, c;
3 a=10; b=50;
4 c=a * b % a;
5 }
- 50
- 5
- 0
- 500
- long double
- unsigned char
- array
- float
- ,
- []
- .
- :
- char
- float
- int
- short
- It returns TRUE for lowercase letters of the alphabet.
- It ensures that text output uses only ASCII values (0 through 127).
- It returns FALSE for lowercase letters of the alphabet.
- It converts an uppercase letter of the alphabet to lowercase.
Q54. Void pointer vptr is assigned the address of float variable g. What is a valid way to dereference vptr to assign its pointed value to a float variable named f later in the program?
float g;
void *vptr=&g;
-
f=(float *)vptr;
-
f=*(float *)vptr;
-
f=*(float)vptr;
-
f=(float)*vptr;
- stdio.h
- stdlib.h
- limits.h
- stddef.h
- declarations
- statements
- variables
- objects
- Static functions must be declared in advance of being defined.
- Static functions must be declared is a separate header file.
- Static functions always return the same value.
- Static functions can be accessed only in the file where they are declared.
- :
char hello[25];
strcpy(hello, "Hello ");
strcpy(hello, "Mars");
- :
char hello[25];
char *p;
strcpy(hello, "Hello World");
p = hello;
p +=6;
strcpy(p, "Mars");
- :
char *hello;
strcpy(hello, "Hello World");
hello+=6;
strcpy(hello, "Mars");
- :
char hello[25];
strcpy(hello, "Hello World");
strcpy(*hello[6], "Mars");
Q59. If you use the fopen() function with the "a" mode, what happens if the named file doesn't exist?
- The file is created and opened for reading.
- The file is created and opened for writing.
- The fopen() function returns a NULL indicating that the operation has failed.
- The file is created and opened for both writing and reading
int fl(int a, int b) { return(a>b?a:b); }
- compiler error
- the smaller value of the two passed parameters
- runtime error
- the greater value of the two passed parameters
- free()
- dealloc()
- release()
- dealloc()
- draw_star()
- 5times()
- upper-limit()
- auto()
Q63. What is not a valid type definition of a structure that contains x and y coordinates as integers, and that can be used as shown for the variable named point?
coord point;
point.x = 9;
point.y = 3;
- :
struct coord{
int x;
int y;
};
typedef struct coord coord;
- :
typedef struct coord{
int x;
int y;
};
- :
typedef struct coord{
int x;
int y;
} coord;
- :
typedef struct{
int x;
int y;
} coord;
#include <stdio.h>
#if X == 3
#define Y 3
#else
#define Y 5
#endif
int main()
{
printf("%d", Y);
return 0;
}
- 3
- 5
- 3 or 5 depending on input
- Compile time error
- reallocatged memory
- static memeory
- dynamic memory
- fragmented memory
[Reference](https://devdocs.io/c/memory/calloc , https://devdocs.io/c/memory/malloc )
Q66. You need to determine if a string variable is a substring of another string. Which standard C library function do you use?
- substr(str1, str2);
- strstr(str1, str2);
- substring(str1, str2);
- strspn(str1, str2);
#include <stdio.h>
#define L 10
int main(){
int a =10;
switch (a,a<<2){
case L:printf("a==L"); break;
case L*2 : printf("a = L* 2\n"); break;
case L*4 : printf("a = L* 4\n"); break;
default: printf("Error\n");
}
}
-
a=L*2
-
a=L
-
Error
-
a=L*4
Q68. Predict the output of the following code when the interger variables x is initialized to 10,y to 2 and z to 0.
z = x + y * x + 10 / 2 * x;
printf("value is =%d",z);
- 80
- 170
- 31.5
- 6
#include <stdio.h>
void solve() {
int x = 2;
printf("%d", (x << 1) + (x >> 1));
}
int main() {
solve();
return 0;
}
- 5
- 4
- 2
- 1
int a=20, b=10;
int f1(a) {
return(a*b);
}
main() {
printf("%d", f1(5));
}
- 100
- 200
- 5
- 50
- String
- NULL Character
- ZERO
- Variable
#include<stdio.h>
#include<conio.h>
main()
{
int a=10, b=20;
clrscr();
printf("Before swapping a=%d b=%d",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("nAfter swapping a=%d b=%d",a,b);
getch();
}
- Before a=10 b=20 , After a=10 b=10
- Before a=10 b=10 , After a=20 b=10
- Before a=10 b=20 , After a=20 b=20
- Before a=10 b=20 , After a=20 b=10
- #pragma exit allows us to specify functions called upon program exit.
- This is a preprocessor directive that can be used to turn on or off certain features.
- #pragma startup don't allows us to specify functions called upon program startup.
- It is of two types #pragma startup, #pragma exit and pragma warn.
#include <stdio.h>
union School {
int age, rollNo;
double marks;
};
void solve() {
union School sc;
sc.age = 19;
sc.rollNo = 82;
sc.marks = 19.04;
printf("%d", (int)sizeof(sc));
}
int main() {
solve();
return 0;
}
- 2
- 4
- 8
- 10
#include <stdio.h>
struct School {
int age, rollNo;
};
void solve() {
struct School sc;
sc.age = 19;
sc.rollNo = 82;
printf("%d %d", sc.age, sc.rollNo);
}
int main() {
solve();
return 0;
}
- 19 82
- Compilation Error
- 82 19
- None of these
int main() {
int sum = 2 + 4 / 2 + 6 * 2;
printf("%d", sum);
return 0;
}
- 2
- 15
- 16
- 18
chat *string[20] = {"one", "two", "three"};
- printf("%s", string[1][2]);
- printf("%s", string[1]);
- printf(string[1]);
- printf("%c", string[1][2]);
Explanation : This matrix is not defined in 2D because which this command is not valid and there will no output.
int (*ptr)[10];
- ptr is array of pointers to 10 integers
- ptr is a pointer to an array of 10 integers
- ptr is an array of 10 integers
- ptr is an pointer to array
#include <stdio.h>
void change(int,int);
int main()
{
int a=10,b=20;
change(a,b); //calling a function by passing the values of variables.
printf("Value of a is: %d",a);
printf("\n");
printf("Value of b is: %d",b);
return 0;
}
void change(int x,int y)
{
x=13;
y=17;
}
-[x] 10,20 -[ ] 10,10 -[ ] 20,20 -[ ] 20,10
Explanation : The function "change" will change the value of x and y only within its own scope, so a and is unaffected.
Q85. Choose true or false.When variable is created in C, a memory address is assigned to the variable.
- True
- False