Career upgrade: Learn practical AI skills for better jobs and higher pay.
Level up
All Practice Exams

100+ Free CLA (C language) Practice Questions

Pass your C++ Institute C Certified Associate Programmer (CLA) exam on the first try — instant access, no signup required.

✓ No registration✓ No credit card✓ No hidden fees✓ Start practicing immediately
Not published Pass Rate
100+ Questions
100% Free
1 / 100
Question 1
Score: 0/0

Given `char s[] = "a,b,c"; char *t = strtok(s, ",");`, what does t point to and what does the original buffer look like after the call?

A
B
C
D
to track
2026 Statistics

Key Facts: CLA (C language) Exam

40

Exam Questions

C++ Institute CLA-11-03 syllabus

65 min

Exam Duration

C++ Institute CLA-11-03 syllabus

70%

Passing Score (normalized)

C++ Institute CLA-11-03 syllabus

$325

Exam Fee (USD)

C++ Institute pricing

Pearson VUE

Test Provider

C++ Institute / OnVUE

Lifetime

Validity

C++ Institute certification policy

C++ Institute CLA (CLA-11-03) is a 40-item, 65-minute proctored C-language exam delivered by Pearson VUE/OnVUE, with a 70% normalized passing score and a starting fee of USD 325 (USD 375 with one retake). Topics: language elements and structures (29%), data operations (38%), control flow (25%), and environment (8%). The certification is issued for life with no recertification required and is the C-language counterpart to the C++ CPA exam.

Sample CLA (C language) Practice Questions

Try these sample questions to test your CLA (C language) exam readiness. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.

1Which header must be included to use printf, scanf, and FILE* operations in standard C?
A.<stdio.h>
B.<stdlib.h>
C.<string.h>
D.<iostream>
Explanation: <stdio.h> is the C standard I/O header — it declares printf, scanf, fprintf, fscanf, fopen, fread, fwrite, fclose, and the FILE type. <stdlib.h> provides general utilities (malloc, free, exit), <string.h> provides string functions, and <iostream> is a C++ header that does not exist in C.
2What does the following C program print? #include <stdio.h> int main(void) { int x = 5, y = 2; printf("%d %d\n", x / y, x % y); return 0; }
A.2 1
B.2.5 1
C.2 0
D.3 1
Explanation: Both x and y are int, so / performs integer division: 5 / 2 truncates toward zero to 2. The remainder operator % gives 5 % 2 = 1. Output: '2 1'.
3Which statement about C identifiers is TRUE?
A.Identifiers can contain letters, digits, and underscores, but the first character cannot be a digit.
B.Identifiers must start with a letter and cannot contain underscores.
C.Identifiers may begin with a digit if they also contain a letter.
D.Identifiers may contain hyphens and dots.
Explanation: C identifiers consist of letters (A-Z, a-z), digits (0-9), and underscores (_), and the first character must not be a digit. Identifiers are case-sensitive. Hyphens, dots, and most other punctuation are not allowed.
4Which of the following is NOT a C reserved keyword?
A.main
B.static
C.register
D.volatile
Explanation: main is an ordinary identifier — it has special meaning to the linker as the program entry point but is not a reserved keyword. static, register, and volatile are all C keywords (storage-class and type qualifiers).
5What is the size in bytes of `char` in standard C?
A.Always 1 byte by definition.
B.Always 8 bits exactly.
C.Implementation-defined, typically 2 or 4 bytes.
D.1 bit, since char stores a single character.
Explanation: By the C standard, sizeof(char) is always 1 by definition. The number of bits in that byte is at least 8 (CHAR_BIT in <limits.h>) and is implementation-defined, but the size is always exactly 1 in sizeof terms.
6Which of the following correctly declares an integer constant `MAX` with the value 100?
A.const int MAX = 100;
B.constant int MAX = 100;
C.int const MAX == 100;
D.final int MAX = 100;
Explanation: C uses the const qualifier: `const int MAX = 100;` (or equivalently `int const MAX = 100;`). `constant` and `final` are not C keywords, and `==` is the equality operator, not assignment.
7What does the following snippet print? #include <stdio.h> int main(void) { int a = 10; int *p = &a; printf("%d %d\n", *p, *p + 1); return 0; }
A.10 11
B.11 12
C.10 10
D.Address of a, then 11
Explanation: *p dereferences p, yielding 10. *p + 1 is parsed as (*p) + 1 = 11 because the unary * binds tighter than the binary + operator. Output: '10 11'.
8Which standard library function returns the length of a null-terminated C string, NOT counting the terminating '\0'?
A.strlen
B.sizeof
C.strcpy
D.strcat
Explanation: strlen, declared in <string.h>, walks a null-terminated string and returns the number of characters before '\0' (not including it). sizeof is a compile-time operator that returns total storage size; strcpy copies; strcat concatenates.
9What does the following program print? #include <stdio.h> int main(void) { int arr[5] = {1, 2, 3}; printf("%d %d\n", arr[3], arr[4]); return 0; }
A.0 0
B.Garbage values
C.3 3
D.Compilation error
Explanation: When a C array is initialized with fewer initializers than its declared size, the remaining elements are zero-initialized. So arr is {1, 2, 3, 0, 0} and arr[3] and arr[4] are both 0.
10Which loop is GUARANTEED to execute its body at least once?
A.do { ... } while (cond);
B.while (cond) { ... }
C.for (init; cond; step) { ... }
D.if (cond) { ... }
Explanation: do-while tests its condition AFTER the body, so the body always runs at least once. while and for test the condition first; if it is false initially, the body never runs. if is not a loop.

About the CLA (C language) Exam

The C++ Institute CLA (CLA-11-03) credential validates the candidate's ability to write, debug, and run programs in the C language at the associate level. It is distinct from the C++ CPA exam — CLA is C-only. The exam covers C language elements and structures, data operations including pointers, arrays, strings, and dynamic memory, control flow with functions and recursion, plus environment topics like the preprocessor, multi-file projects, and file I/O.

Questions

40 scored questions

Time Limit

65 minutes

Passing Score

70% normalized

Exam Fee

$325 USD (C++ Institute / OpenEDG / Pearson VUE)

CLA (C language) Exam Content Outline

29%

Language Elements and Structures

C identifiers, keywords, comments, simple data types, declarations, scopes, storage classes (auto, static, extern, register), structs, unions, enums, typedef, and bit fields.

38%

Data Operations

Operators and expressions, type conversions, pointers and pointer arithmetic, arrays and multi-dimensional arrays, string handling with <string.h>, dynamic memory with malloc/calloc/realloc/free, and standard I/O including FILE* operations.

25%

Control Flow

Conditional statements, switch, while, do-while, for loops, break and continue, goto, and function definition, parameter passing, recursion, and function pointers.

8%

Environment

Preprocessor directives, header files, multi-file compilation, command-line arguments via argc/argv, the C standard library landscape (stdio, stdlib, string, time), and basic compilation/linkage concepts.

How to Pass the CLA (C language) Exam

What You Need to Know

  • Passing score: 70% normalized
  • Exam length: 40 questions
  • Time limit: 65 minutes
  • Exam fee: $325 USD

Keys to Passing

  • Complete 500+ practice questions
  • Score 80%+ consistently before scheduling
  • Focus on highest-weighted sections
  • Use our AI tutor for tough concepts

CLA (C language) Study Tips from Top Performers

1Compile and run every C snippet you study with a real C compiler (gcc -std=c11 -Wall -Wextra) — CLA is heavy on 'what does this print' and 'which line fails to compile' questions, so reasoning on paper is not enough.
2Master pointer arithmetic and the array-pointer decay rule: arr[i] is exactly *(arr + i), and sizeof(arr) inside a function returns the pointer size, not the array size.
3Memorize the four dynamic-memory functions in <stdlib.h>: malloc returns uninitialized memory, calloc zero-initializes, realloc may move the block, and free returns memory to the heap. Always check for NULL.
4Drill the most common <string.h> functions: strlen, strcpy, strncpy, strcmp, strncmp, strcat, strchr, strstr, strtok — and remember that strncpy does not always null-terminate.
5Know the storage classes cold: auto (default for locals), static (file scope or persistent locals), extern (declares without defining), and register (hint only).
6Practice struct memory layout, padding, and the difference between accessing a member via . versus -> (pointer dereference).
7Learn function pointers — declaration syntax, typedef-ing them, and passing them to qsort/bsearch as comparator callbacks.
8Master file I/O patterns: fopen returns a FILE*, always check it for NULL, use fread/fwrite for binary, fprintf/fscanf for text, fseek/ftell for positioning, and always fclose at the end.
9Recognize undefined behavior: integer overflow on signed types, dereferencing freed pointers (use-after-free), reading past array bounds, and reading uninitialized memory.

Frequently Asked Questions

Is the CLA exam for C or C++?

CLA is the C language exam — it is the associate-level certification for the C programming language, not C++. The sister exam for C++ at the same level is CPA-21-02 (Certified Associate Programmer in C++). CLA covers C-only constructs such as pointers, structs, unions, malloc/free, FILE*, and the C preprocessor; it does not test classes, namespaces, references, new/delete, or any other C++ feature. Candidates who want C++ should take CPA, and candidates who want C should take CLA.

How long is the CLA exam and how many questions does it have?

The C++ Institute CLA-11-03 exam consists of 40 single-select and multiple-select questions delivered in 65 minutes, plus about 10 additional minutes for the non-disclosure agreement and tutorial. Each question carries a weight that depends on its complexity, and your final score is normalized to a percentage.

What is the passing score for CLA?

You must score 70% or higher on the CLA-11-03 exam to pass. Because items are weighted, the 70% threshold is calculated against the total points earned across all 40 questions, not a simple count of correct answers. Harder questions contribute more points to your final score.

How much does the C++ Institute CLA exam cost?

The CLA-11-03 exam starts at USD 325 for a single attempt or USD 375 for the exam plus one retake voucher. Candidates who complete the official CLA self-study course on the C/C++ Education Platform can earn a 50% discount voucher, which also includes one free retake.

Where do I take the CLA exam?

You schedule and take the C++ Institute CLA exam through Pearson VUE, either at a Pearson VUE test center or through OnVUE online proctoring. You set up a Pearson VUE account at pearsonvue.com/cpp, choose CLA-11-03, and pick your delivery method and time slot.

Does the CLA certification expire?

No. C++ Institute certificates, including CLA, are issued for life with no recertification or renewal fees. Once you pass CLA-11-03 your credential remains valid permanently, although the institute reserves the right to update policies in the future.