C (Programming Language)

Q1. Which Code sample will eventually cause the computer to run out of memory?

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);

    (bigArray);
}

Q2. What will this code print on the screen?

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

Q3. What is the name for calling a function inside the same function?

Reference

Q4. What does the declaration of variable c2 demonstrate?

main(){
    char c1 ='a';
    char c2 = c1+10;
}

Reference

Q5. What is this declaration an example of?

struct s {
    int i;
    struct s *s1;
    struct s *s2;
};

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?

Reference

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

Q8. What is not one of the reserved words in standard C?

Reference

Q9. What does the program shown below return?

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);
}

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;

Q11. In this code sample, what is not a problem for C compiler?

main(){
    constant int PI = 3.14;
    printf("%f\n", pi);
}

Q12. Which is the smallest program to compile and run without errors?

Reference

Q13. What is optional in a function declaration?

Reference

Q14. C treats all devices, such as the display and the keyboard, as files. Which file opens automatically when a program executes?

Q15. In which segment does dynamic memory allocation takes place?

Reference

Q16. Which function do you use to deallocate memory?

Reference

Reference

Q17. In C language what are the basic building blocks that are constructed together to write a program?

Reference

Q18. When is memory for a variable allocated?

Reference

Q19. C uses the call by value method to pass arguments to functions. How can you invoke the call by reference method?

Reference

Q20. A union allows you to store different ___ in the same ___.

Q21. What is the output of this program?

main() {
    char c1='a' , c2='A';
    int i=c2-c1;
    printf("%d", i);
}

Q22. What is the difference between scanf() and sscanf() functions?

Q23. What is not a valid command with this declaration?

char *string[20] = { "one", "two", "three"};

Q24. What is the expression player->name equivalent to?

Q25. Which program will compile and run without errors?

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++)
}

Q26. What does this function call return?

1 main() { float x = f1(10, 5); }
2 float f1(int a, int b) { return (a/b); }

Q27. What does this program create?

#include <stdio.h>
int main() {
    int *p = NULL;
    return 0;
}

Q28. What is an alternative way to write the expression (*x).y?

Q29. Compile time errors are static errors that can be found where in the code?

Q30. File input and output (I/O) in C is heavily based on the way it is done ___?

Q31. What does the strcmp(str1, str2); function return?

Q32. What is the output of this program?

int a=10, b=20;
int f1(a) { return(a*b); }
main() {
printf("%d", f1(5));
}

Q33. Which is not a correct way to declare a string variable?

Q34. Which choice is an include guard for the header file mylib.h?

#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 */

Q35. How many times does the code inside the while loop get executed in this program?

main(){
 int x=1;
 while(x++<100){
    x*=x;
    if(x<10) continue;
    if(x>50) break;
 }
}

Q36. File input and output (I/O) in C is done through what?

Q37. Directives are translated by the?

Q38. The main loop structures in C programming are the for loop, the while loop, and which other loop?

Q39. By default, C Functions are what type of functions?

Q40. You have written a function that you want to include as a member of structure a. How is such as structure member defined?

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?

Q42. What does this program display?

main(){
    char *p = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int i;
    for (i=0;i<5;i++) *p++; *p++;
    printf("%c",*p++);
}

Q43. Describe the relationship between lvalue and rvalue.

Q44. Which operator is used to access the address of a variable?

Q45. Which add function properly returns the updated value of 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);
}
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);
}

Q47. Which is not a storage class specifier?

Reference

Q48. Which line of code, after execution, results in i having the value of 1?

Q49. What is the value of variable c at the end of this program?

1 main() {
2   int a, b, c;
3   a=10; b=50;
4   c=a * b % a;
5 }

Q50. What is not one of the basic data types in C

Q51. What is the member access operator for a structure?

Q52. What standard data type provides the smallest storage size and can be used in computations?

Q53. what does the ctype tolower() function do?

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;

Q55. The dynamic memory allocation functions are defined in which system header file ?

Q56. A function is a set of _.

Q57. How are static functions different from global functions?

Q58. Which code example creates the string "Hello Mars" in storage buffer hello.

    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?

Reference

Q60. What does this function return?

int fl(int a, int b) { return(a>b?a:b); }

Q61. Which option is a valid function name?

Q62. 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;

Q63. What is the output of the below program?

#include <stdio.h>
#if X == 3
    #define Y 3
#else
    #define Y 5
#endif

int main()
{
    printf("%d", Y);
    return 0;
}

Q64. What do the functions malloc() and calloc() allocate?

[Reference](https://devdocs.io/c/memory/calloc , https://devdocs.io/c/memory/malloc )

Q65. You need to determine if a string variable is a substring of another string. Which standard C library function do you use?

Reference

Q66. Find the output of the program?

#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");
    }
}

Reference

Q67. 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);

Reference

Q68. What will be the output of the following code snippet?

#include <stdio.h>
void solve() {
    int x = 2;
    printf("%d", (x << 1) + (x >> 1));
}
int main() {
    solve();
    return 0;
}

Q69. What is the output of this program?

int a=20, b=10;
int f1(a) {
    return(a*b);
}
main() {
    printf("%d", f1(5));
}

Q70. What is /0 character ?

Reference

Q71. What is correct output for follwing code ?1

#include&lt;stdio.h&gt;
#include&lt;conio.h&gt;
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();
}

Q72. What is Incorrect option that explain # pragma directive ?

Q73. What will be the output of the following code snippet?

#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;
}

Q74. What will be the output of the following code snippet?

#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;
}

Q75. What is the output of the following code snippet?

int main() {
    int sum = 2 + 4 / 2 + 6 * 2;
    printf("%d", sum);
    return 0;
}

Q76. What does the following declaration mean?

int (*ptr)[10];

Q77. What will be the output of the following code snippet?

#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;
}

Explanation : The function "change" will change the value of x and y only within its own scope, so a and is unaffected.

Q78. Choose true or false.When variable is created in C, a memory address is assigned to the variable.

Q79. What does the following fragment of C-program print?

#include <stdio.h>

int main()
{
    char c[] = "GATE2011";

    char *p = c;

    printf("%s", p + p[3] -p[1]);

    return 0;
}

Explanation : char c[ ] = "GATE2011";since char *p =c it means p represents to the base address of string “GATE2011” SO p[3] is 'E' and p[1] is 'A'. Value of Sub expression p[3] – p[1] = ASCII value of ‘E’ – ASCII value of ‘A’ = 4. So the expression p + p[3] – p[1] becomes ( p + 4) And (p+4) represent to base address of string “2011” printf(“%s”, p + p[3] – p[1]) ; So it will print 2011

Q80. What is the output of the following code snippet?

int main() {
    int a = 5, b = 6, c;
    c = a++ + ++b;
    printf("%d %d %d", a, b, c);
    return 0;
}

Q81. What will be the output of the following C program segment?

char inchar = 'A';
switch (inchar)
{
case 'A' :
    printf ("choice A \n") ;
case 'B' :
    printf ("choice B ") ;
case 'C' :
case 'D' :
case 'E' :
default:
    printf ("No Choice") ;
}

Q82. Which of the following is the correct syntax to print the message in C++ language?

Q83. String variable str1 has the value of "abc", and string variable str2 has the value "xyz". What are the values of str1 and str2 after this statement is executed?

strcpy(str1, str2);

Q84. Which is not one of the basic data types in C?