Mm
C Programming Mastery Quiz
Test your knowledge of the C programming language with our comprehensive quiz designed for both beginners and seasoned developers! This quiz covers a wide range of topics related to C, from basic concepts to more advanced techniques.
Key Features:
- 51 engaging questions
- Multiple-choice format
- In-depth explanations and justifications
2. „Intrarea” unui compilator pentru limbajul C este de natura:
A. Unui fișier binar
B. Unui fișier text
3. Pentru un sistem oarecare de calcul, o reprezentare (ordonare) Little Endian a unei structuri multi-octet înseamnă că:
A. Cel mai puțin semnificativ octet (LSB) este memorat la cea mai mică adresă
B. Octeții sunt memorați întotdeauna începând de la cea mai mică adresă
C. Cel mai semnificativ octet (MSB) este memorat la cea mai mică adresă
4. Care din următorii constructori nu tine nici de limbajul C, nici de implementarea unei bucle ?
A. For
B. Repeat Until
C. Do while
D. While
7. In cazul unui compilator C, modificatorul „volatile”
are legătura cu:
are legătura cu:
A. Optimizarea codului generat
B. Minimizarea codului generat
8. In cazul unui model de compilare C, macroinstrucțiunile sunt prelucrate la nivelul:
A. Bibliotecarului
B. Asamblorului
C. Link-editorului (editorului de legături)
D. Pre-procesorului
9. Programarea in C pentru un microcontroler presupune, in mod tipic, si utilizarea extensivă de instrucțiuni de prelucrare:
A. La nivel de bit
B. La nivel de microinstrucțiune
C. La nivel de limbaj mașină
10. In cazul unui compilator C, care din următoarele tipuri este, la modul general, dependent si de arhitectura unității centrale pentru care este implementat compilatorul:
A. char
B. int
C. float
D. Unsigned char
11. In general instrucțiunile de deplasare stânga sau dreapta (la nivel de bit) reprezintă o modalitate eficientă si de a:
A. Realiza înmulțiri sau împărțiri cu puteri ale lui 2
B. Realiza adunări sau scăderi cu puteri ale lui 2
6. „Ieșirea” unui compilator propriu-zis pentru limbajul C este de natura:
A. Unui fișier binar
B. Unui fișier text Justificare
12. Care din următoarele operații (in C) realizează principial împărțirea cu 4 a valorii operandului unsigned char a ?
A. a = a << 2;
B. a = a >> 3;
C. a = a >> 2;
D. a = a >> 4; Justificare
13. Care este (limbajul in C) rezultatul evaluării expresiei constante (1<<5) , ea fiind reprezentată pe 8 biți ?
A. 0x10
B. 0x20
C. 0x08
D. 0x20 justificare
14. Care din următoarele operații (in C) realizează principial înmulțirea cu 8 a valorii operandului unsigned int a ?
A. a = a << 3;
B. a = a >> 3;
C. a = a >> 8;
D. a = a >> 4; justificare
15. Care este rezultatul următoarei operații (in C): 0x01 ^ 0x10 ?
A. 0x00
B. 0x11
C. 0x10
D. 0x01 justificare
16. Care este rezultatul evaluării lui x (de tip char) din expresia următoare (in C): x= ~ (0x55) ?
A. 0x00
B. 0xAA
C. 0xFF
D. 0x01 Justificare.
17. Care este rezultatul evaluării lui x (de tip char) din expresia următoare (in C): x= ! ( 0x01) ?
A. 0x00
B. 0xAA
C. 0xFF
D. 0x01 Justificare
18. Rezultatul evaluării, in C, a lui x (de tip char) din expresia următoare: x= ! ( 0x01 || 0x00 ) va fi:
A. Adevărat
B. Fals Justificare.
19. Care este rezultatul următoarei operații (in C): 0x10 | 0x10 ?
A. 0x00
B. 0x11
C. 0x10
D. 0x01 Justificare
20. Care este rezultatul următoarei operații (in C): 0x01 & 0x10 ?
A. 0x00
B. 0x11
C. 0x10
D. 0x01 Justificare.
21. Care din următoarele valori (exprimate pe un octet) va fi evaluată logic, in limbajul C, ca FALSE (Falsă): ?
A. 0x00
B. 0x01
C. 0x80
D. 0xFF Justificare.
22. Orice programator C, chiar si unul începător, trebuie să știe că o variabilă de tip pointer trebuie întotdeauna:
A. Utilizată
B. Incrementată
C. Inițializată
23. In limbajul C, să presupunem că trebuie să folosim o variabilă in definirea unei funcții. Unde trebuie ea declarată?
A. In orice parte convenabilă a programului
B. In corpul definiției funcției
C. In afara corpului funcției
D. In funcția main ()
24. Care din următoarele (in limbajul C) ar putea returna, intr-un pointer definit corespunzător, adresa variabilei a ?
A. a;
B. Address a;
C. &a;
D. **a;
25. La depanarea/testarea unei aplicații scrisă in limbajul C, să presupunem că examinăm sau citim conținutul unei variabile a de tip char si găsim valoarea 0x92 (exprimată evident in hexazecimal). Care este valoarea exprimată in zecimal a acestei variabile ?
A. 110
B. -110
C. 146
D. -146 Justificare
26. Ce declară de fapt următoarea linie de cod C? int *countPtr, count;
A. Două variabile int
B. Un pointer la int si o variabilă int
C. Doi pointeri la int
D. Declarația este invalidă
27. In limbajul C, să presupunem că avem o variabilă a de tip int cu valoarea, in zecimal, de 32767. Care va fi valoarea ei, in zecimal, după aplicarea modificatorului de tip (char)a ?
A. 127
B. -128
C. 32767
D. -1 Justificare.
28. In limbajul C, să presupunem că avem următoarea declarație validă pointer: char *b; care din următoarele ne va returna adresa locației de memorie in care se află memorat b ?
A. *b
B. &b
C. **b
29. Dacă avem o variabilă declarată ca pointer la o structură, care din următorii operatori este utilizat pentru a accesa membrii structurii prin intermediul variabilei pointer:
A. &
B. .
C. ->
D. *
30. In contextul compilatorului C Win AVR să presupunem că avem un vector v de tipul char memorat începând de la adresa 0x2000; ptrv este un pointer la v (presupus declarat corect); care este locația adresată de prtv+3 ?
A. 0x2006
B. 0x2001
C. 0x2003 Justificare.
31. Ce înțelegeți din următorul bloc de cod C: #include int main() { int i=10; int *j=&i; return 0; }
A. J si I sunt pointeri la int
B. I este un pointer la int si memorează adresa lui j
C. J este un pointer la int si memorează adresa lui I
D. J este un pointer la un pointer la int si memorează adresa lui I
32. Presupunând că avem variabilele de tip tablou declarate corect ca char a[7] si char b[5], care din următoarele atribuiri este incorectă si periculoasă:
A. b[0] = a [0];
B. a[6] = b[3];
C. a[0]=b[0];
D. a[7]=b[0]; Justificare.
33. Presupunând că avem variabila de tip tablou a declarata si inițializata ca char[] a = {1, 2, 3, 4}; care din următoarele serii de indecși este cea legală si corectă?:
E. 1, 2, 3, 4;
F. 2, 3, 4, 5;
G. 0, 1, 2, 3;
H. 0, 2, 4, 6; Justificare.
34. Care din următoarele operații aritmetice nu sunt permise cu pointeri in limbajul C:
A. ++
B. *
C. -
D. +
35. In limbajul C, un pointer nul este diferit de unul neinițializat ?
A. Adevărat
B. Fals Justificare
36. Presupunând că variabilele a si b au fost declarate corect si corespunzător, dacă a = &b; atunci:
A. Valoarea lui b este adresa adresei lui a
B. Valoarea lui a este adresa lui b
C. Valoarea lui b este adresa lui a
D. Valoarea lui a este adresa adresei lui b
37. In cazul unui compilator C, domeniul de reprezentare a unei variabile de tip unsigned char este (in zecimal):
A. 0 …65535
B. 0…255
C. 0…512
D. -128 …+127 Justificare.
38. In cazul unui compilator C, domeniul de reprezentare a unei variabile de tip char este (in zecimal):
A. 0 …65535
B. 0…255
C. 0…512
D. -128 …+127 Justificare.
39. Care din următoarele este o declarație corectă de pointer (in limbaj C) la variabila a de tip char ?
A. Char a;
B. Pointer char a;
C. char &a;
D. char *a;
40. O directivă #define este utilizată si pentru definirea:
A. Unei funcții
B. Unei macroinstrucțiuni
C. Unei microinstrucțiuni
D. Unei pseudoinstrucțiuni
41. In limbajul C, pentru care din următoarele, execuția codului instrucțiunii „ MYC++; ” va avea ca efect o eroare la compilare:
A. #define MYC 65;
B. char *MYC =”A”;
C. int MYC=0x41;
D. float MYC=65.0 Justificare.
42. In limbajul C, variabilele globale sunt variabile:
A. Externe
B. Interne
C. Interne si externe
D. Nici una de mai sus Justificare.
43. Pentru a reprezenta caracterele alfa-numerice, tipăribile sau nu, una din cele mai vechi si răspândite codificări utilizate in programare este cea numită:
A. ANSI
B. BCD
C. HEX
D. ASCII
44. Care din următoarele nu este adevărat pentru o variabilă locală statică (declarată static):
A. Este accesibilă in afara funcției in care a fost definită
B. Își păstrează valoarea când se iese din funcția in care a fost definită
45. In limbajul C, orice șir de caractere este, implicit, delimitat de caracterul terminator:
A. „/t”
B. „/n”
C. „/r”
D. „/0”
46. Codul ASCII standard (ne-extins) utilizează pentru codificarea unui caracter:
A. 8 biți
B. 9 biți
C. 7 biți
47. La modul general, un microcontroler trebuie să fie caracterizat și de existența:
A. Unei memorii de program de mici dimensiuni
B. Unei memorii de date de dimensiuni mari
C. Unui sistem de întreruperi eficient
48. Comparativ, utilizarea într-o aplicație a unui microcontroler in locul unui microprocesor de uz general ar duce și la:
A. Creșterea portabilității aplicației
B. Creșterea fiabilității aplicației
C. Creșterea preciziei de calcul a aplicației Justificare
49. La un microcontroler tipic dintr-o familie oarecare, există întotdeauna pe același microcircuit:
A. Memorie
B. Convertor analog-numeric
C. Convertor numeric-analogic
D. Circuit comparator analogic
{"name":"Mm", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge of the C programming language with our comprehensive quiz designed for both beginners and seasoned developers! This quiz covers a wide range of topics related to C, from basic concepts to more advanced techniques.Key Features:51 engaging questionsMultiple-choice formatIn-depth explanations and justifications","img":"https:/images/course4.png"}