0% found this document useful (0 votes)
170 views13 pages

Common C Programming Questions With Solutions

The document contains 35 questions and answers related to C programming concepts. Some key points covered include: - Operators like &&, ||, ~ and their truth tables - Bitwise operators like &, |, <<, >> - Type casting and type conversions - Pointer operations and memory allocation - Loop constructs and conditional statements - Pre and post increment/decrement operators

Uploaded by

kranthi633
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
170 views13 pages

Common C Programming Questions With Solutions

The document contains 35 questions and answers related to C programming concepts. Some key points covered include: - Operators like &&, ||, ~ and their truth tables - Bitwise operators like &, |, <<, >> - Type casting and type conversions - Pointer operations and memory allocation - Loop constructs and conditional statements - Pre and post increment/decrement operators

Uploaded by

kranthi633
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 13

FAQ's of C Programming

Q1. main() { int i; clrscr(); printf("%d", &i)+1; scanf("%d", i)-1; } a. Runtime error. b. Runtime error. Access violation. c. Compile error. Illegal syntax d. None of the above Ans: d, printf( ) prints address/garbage of i, scanf() dont hav & sign, so scans address for i +1, -1 dont hav any effect on code Q2. main(int argc, char *argv[]) { (main && argc) ? main(argc-1, NULL) : return 0; } a. Runtime error. b. Compile error. Illegal syntax c. Gets into Infinite loop d. None of the above Ans: b) illegal syntax for using return Q3. main() { int i; float *pf; pf = (float *)&i; *pf = 100.00; printf("\n %d", i); } a. Runtime error. b. 100 c. Some Integer not 100 d. None of the above

Ans: d) 0 Q4. main() { int i = 0xff ; printf("\n%d", i<<2); } a. 4 b. 512 c. 1020 d. 1024 Ans: c) 1020 Q5. #define SQR(x) x * x main() { printf("%d", 225/SQR(15)); } a. 1 b. 225 c. 15 d. none of the above Ans: b) 225 Q6. union u { struct st { int i : 4; int j : 4; int k : 4; int l; }st; int i; }u; main() { u.i = 100; printf("%d, %d, %d",u.i, u.st.i, u.st.l); } a. 4, 4, 0

b. 0, 0, 0 c. 100, 4, 0 d. 40, 4, 0 Ans: c) 100, 4, 0 Q7. union u { union u { int i; int j; }a[10]; int b[10]; }u; main() { printf("\n%d", sizeof(u)); printf(" %d", sizeof(u.a)); // printf("%d", sizeof(u.a[4].i)); } a. 4, 4, 4 b. 40, 4, 4 c. 1, 100, 1 d. 40 400 4 Ans: 20, 200, error for 3rd printf Q8. main() { int (*functable[2])(char *format, ...) ={printf, scanf}; int i = 100; (*functable[0])("%d", i); (*functable[1])("%d", i); (*functable[1])("%d", i); (*functable[0])("%d", &i); } a. 100, Runtime error. b. 100, Random number, Random number, Random number. c. Compile error d. 100, Random number Q9. main() {

int i, j, *p; i = 25; j = 100; p = &i; // Address of i is assigned to pointer p printf("%f", i/(*p) ); // i is divided by pointer p } a. Runtime error. b. 1.00000 c. Compile error d. 0.00000 Ans: c) Error becoz i/(*p) is 25/25 i.e 1 which is int & printed as a float, So abnormal program termination, runs if (float) i/(*p) -----> Type Casting Q10. main() { int i, j; scanf("%d %d"+scanf("%d %d", &i, &j)); printf("%d %d", i, j); } a. Runtime error. b. 0, 0 c. Compile error d. the first two values entered by the user Ans: d) two values entered, 3rd will be null pointer assignment Q11. main() { char *p = "hello world"; p[0] = 'H'; printf("%s", p); } a. Runtime error. b. "Hello world" c. Compile error d. "hello world" Ans: b) Hello world Q12. main() { char * strA;

char * strB = I am OK; memcpy( strA, strB, 6); } a. Runtime error. b. I am OK c. Compile error d. I am O Ans: c) I am OK is not in " " Q13. How will you print % character? a. printf("\%") b. printf("\\%") c. printf("%%") d. printf("\%%") Ans: c) printf(" %% "); Q14. const int perplexed = 2; #define perplexed 3 main() { #ifdef perplexed #undef perplexed #define perplexed 4 #endif printf("%d",perplexed); } a. 0 b. 2 c. 4 d. none of the above Ans: c) Q15. struct Foo { char *pName; }; main() { struct Foo *obj = malloc(sizeof(struct Foo)); clrscr(); strcpy(obj->pName,"Your Name"); printf("%s", obj->pName); }

a. Your Name b. compile error c. Name d. Runtime error Ans a) Q16. struct Foo { char *pName; char *pAddress; }; main() { struct Foo *obj = malloc(sizeof(struct Foo)); clrscr(); obj->pName = malloc(100); obj->pAddress = malloc(100); strcpy(obj->pName,"Your Name"); strcpy(obj->pAddress, "Your Address"); free(obj); printf("%s", obj->pName); printf("%s", obj->pAddress); } a. Your Name, Your Address b. Your Address, Your Address c. Your Name Your Name d. None of the above Ans: d) printd Nothing, as after free(obj), no memory is there containing obj->pName & pbj->pAddress Q17. main() { char *a = "Hello "; char *b = "World"; clrscr(); printf("%s", strcat(a,b)); } a. Hello b. Hello World c. HelloWorld d. None of the above

Ans: b) Q18. main() { char *a = "Hello "; char *b = "World"; clrscr(); printf("%s", strcpy(a,b)); } a. "Hello" b. "Hello World" c. "HelloWorld" d. None of the above Ans: d) World, copies World on a, overwrites Hello in a. Q19. void func1(int (*a)[10]) { printf("Ok it works"); } void func2(int a[][10]) { printf("Will this work?"); } main() { int a[10][10]; func1(a); func2(a); } a. Ok it works b. Will this work? c. Ok it worksWill this work? d. None of the above Ans: c) Q20. main() { printf("%d, %d", sizeof('c'), sizeof(100)); } a. 2, 2 b. 2, 100

c. 4, 100 d. 4, 4 Ans: a) 2, 2 Q21. main() { int i = 100; clrscr(); printf("%d", sizeof(sizeof(i))); } a. 2 b. 100 c. 4 d. none of the above Ans: a) 2 Q22. main() { int c = 5; printf("%d", main||c); } a. 1 b. 5 c. 0 d. none of the above Ans: a) 1, if we use main|c then error, illegal use of pointer Q23. main() { char c; int i = 456; clrscr(); c = i; printf("%d", c); } a. 456 b. -456 c. random number d. none of the above

Ans: d) -56 Q24. void main () { int x = 10; printf ("x = %d, y = %d", x,--x++); } a. 10, 10 b. 10, 9 c. 10, 11 d. none of the above Ans: d) Lvalue required Q25. main() { int i =10, j = 20; clrscr(); printf("%d, %d, ", j-- , --i); printf("%d, %d ", j++ , ++i); } a. 20, 10, 20, 10 b. 20, 9, 20, 10 c. 20, 9, 19, 10 d. 19, 9, 20, 10 Ans: c) Q26. main() { int x=5; clrscr(); for(;x==0;x--) { printf("x=%d\n"", x--); } } a. 4, 3, 2, 1, 0 b. 1, 2, 3, 4, 5 c. 0, 1, 2, 3, 4 d. none of the above Ans: d) prints nothing, as condition x==0 is False Q27 main() {

int x=5; for(;x!=0;x--) { printf("x=%d\n", x--); } } a. 5, 4, 3, 2,1 b. 4, 3, 2, 1, 0 c. 5, 3, 1 d. none of the above Ans: d) Infinite loop as x is decremented twice, it never be 0 and loop is going on & on Q28 main() { int x=5; clrscr(); for(;x<= 0;x--) { printf("x=%d ", x--); } } a. 5, 3, 1 b. 5, 2, 1, c. 5, 3, 1, -1, 3 d. -3, -1, 1, 3, 5 Ans: prints nothing, as condition in loop is false. Q29. main() { { unsigned int bit=256; printf("%d", bit); } { unsigned int bit=512; printf("%d", bit); } } a. 256, 256 b. 512, 512 c. 256, 512 d. Compile error

Ans: 256, 512, becoz these r different blocks, so declaration allowed Q30. main() { int i; clrscr(); for(i=0;i<5;i++) { printf("%d\n", 1L << i); } } a. 5, 4, 3, 2, 1 b. 0, 1, 2, 3, 4 c. 0, 1, 2, 4, 8 d. 1, 2, 4, 8, 16 Ans: d) L does't make any diff. Q31. main() { signed int bit=512, i=5; for(;i;i--) { printf("%d\n", bit = (bit >> (i - (i -1)))); } } a. 512, 256, 128, 64, 32 b. 256, 128, 64, 32, 16 c. 128, 64, 32, 16, 8 d. 64, 32, 16, 8, 4 Ans: b) Q32. main() { signed int bit=512, i=5; for(;i;i--) { printf("%d\n", bit >> (i - (i -1))); } } a. 512, 256, 0, 0, 0 b. 256, 256, 0, 0, 0 c. 512, 512, 512, 512, 512 d. 256, 256, 256, 256, 256

Ans: d) bit's value is not changed Q33. main() { if (!(1&&0)) { printf("OK I am done."); } else { printf("OK I am gone."); } } a. OK I am done b. OK I am gone c. compile error d. none of the above Ans: a) Q34 main() { if ((1||0) && (0||1)) { printf("OK I am done."); } else { printf("OK I am gone."); } } a. OK I am done b. OK I am gone c. compile error d. none of the above Ans: a) Q35 main() { signed int bit=512, mBit; { mBit = ~bit;

bit = bit & ~bit ; printf("%d %d", bit, mBit); } } a. 0, 0 b. 0, 513 c. 512, 0 d. 0, -513 Ans: d)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy