2024年最新の実際のCLA-11-03問題集PDFで100%合格率を保証します [Q21-Q36]

Share

2024年最新の実際のPassTest CLA-11-03問題集PDFで100%合格率を保証します

無料C++ Institute CLA-11-03試験問題と解答

質問 # 21
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
char *s = "\\\"\\\\";
printf ("[%c]", s [1]);
return 0;
}
Choose the right answer:

  • A. The program outputs ["]
  • B. The program outputs []
  • C. The program outputs []
  • D. Execution fails
  • E. Compilation fails

正解:D

解説:
In the program, the character array char *s = "\\\"\\\\"; is defined with the value "\"\\". When printing s[1] using printf("[%c]", s[1]);, it prints the character at index 1 of the string.
Here's the breakdown of the string \\\"\\\\:
*s[0] is '\'
*s[1] is '"'
So, the program outputs ["]. Therefore, the correct answer is B. The program outputs ["]


質問 # 22
What happens if you try to compile and run this program?
#include <stdio.h>
#include <string.h>
int main (int argc, char *argv[]) {
int a = 0, b = 1, c;
c = a++ && b++;
printf("%d",b);
return 0;
}
Choose the right answer:

  • A. The program outputs 2
  • B. The program outputs 3
  • C. The program outputs 1
  • D. Compilation fails
  • E. The program outputs 0

正解:C

解説:
he expression a++ && b++ involves the logical AND (&&) operator. In C, the logical AND op-erator short-circuits, meaning that if the left operand (a++ in this case) is false, the right operand (b++) is not evaluated.
Initially, a is 0, and b is 1. The result of a++ is 0 (false), so b++ is not evaluated. The value of b remains 1. The printf statement then prints the value of b, which is 1.
Therefore, the correct answer is "The program outputs 1."
References = CLA - C Associate Programmer documents


質問 # 23
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
int i = 0;
printf ("%s", argv[i]);
return 0;
}
Choose the right answer:

  • A. The program outputs an unpredictable string, or execution fails
  • B. Execution fails
  • C. The program outputs an empty string
  • D. The program outputs a predictable non-empty string
  • E. Compilation fails

正解:D

解説:
The program is a valid C program that can be compiled and run without errors. The program uses the argc and argv parameters of the main function, which are used to pass command-line arguments to the program. The argc parameter is an integer that stores the number of arguments, including the name of the program itself. The argv parameter is an array of strings that contains the arguments. The first element of the array, argv[0], is always the name of the program. The program declares an integer variable i and assigns it the value of 0. Then it prints the value of argv[i] as a string using the %s format specifier. Since i is 0, this is equivalent to printing argv[0], which is the name of the program. Therefore, the program outputs a predictable non-empty string, which is the name of the program. The exact name of the program may vary depending on how it is compiled and executed, but it will not be an empty string, an unpredictable string, or cause an execution failure.
References = Command Line Arguments in C - GeeksforGeeks, Program Arguments (The GNU C Library), c
- How to write a "argv" and "argc" - Stack Overflow


質問 # 24
What happens if you try to compile and run this program?
#define ALPHA 0
#define BETA ALPHA-1
#define GAMMA 1
#define dELTA ALPHA-BETA-GAMMA
#include <stdio.h>
int main(int argc, char *argv[]) {
printf ("%d", DELTA);
return 0;
Choose the right answer:

  • A. The program outputs 2
  • B. The program outputs -2
  • C. Compilation fails
  • D. The program outputs -1
  • E. The program outputs 1

正解:C

解説:
Let's analyze the macros and the program:
1.ALPHA is defined as 0.
2.BETA is defined as ALPHA - 1, which is 0 - 1.
3.GAMMA is defined as 1.
4.DELTA is defined as ALPHA - BETA - GAMMA. With the previous definitions, this expands to 0 - (0 - 1) -
1.
Now, let's expand DELTA with the given values:
makefileCopy code
DELTA = 0 - (0 - 1) - 1 DELTA = 0 - 0 + 1 - 1 DELTA = 0 + 1 - 1 DELTA = 1 - 1 DELTA = 0 It is important to note that the macro dELTA is defined with a lowercase 'd', but the printf function is trying to print DELTA with an uppercase 'D'. Preprocessor tokens are case-sensitive, so this is a mismatch. However, for the sake of the question, let's assume that dELTA was meant to be DELTA with an uppercase 'D'.
Since the actual calculation results in 0, but there is a typo in the printf statement (it should print dELTA, not DELTA), the compilation will fail due to DELTA not being defined.


質問 # 25
What happens if you try to compile and run this program?
#include <stdio.h>
#include <stdlib.h>
void fun (void) {
return 3.1415;
}
int main (int argc, char *argv[]) {
int i = fun(3.1415);
printf("%d",i);
return 0;
}
Choose the right answer:

  • A. Execution fails
  • B. Compilation fails
  • C. The program outputs 3.1415
  • D. The program outputs 3
  • E. The program outputs 4

正解:B

解説:
The program is not a valid C program and cannot be compiled successfully. The reason is that the program has two syntax errors:
*The function fun has a void return type, which means it cannot return any value. However, the function tries to return a floating-point value of 3.1415, which is incompatible with the re-turn type. This will cause a compilation error.
*The function main is defined inside the function fun, which is not allowed in C. A function cannot be nested inside another function. This will also cause a compilation error.
To fix these errors, the function fun should have a double return type, and the function main should be defined outside the function fun. For example:
#include <stdio.h>
#include <stdlib.h>
double fun (void) { return 3.1415; }
int main (int argc, char *argv[]) { int i = fun(3.1415); printf("%d",i); return 0; } References = C - Functions - Tutorialspoint, C - return Statement - Tutorialspoint, C Basic Syntax


質問 # 26
What happens if you try to compile and run this program?
#include <stdio.h>
int main(int argc, char *argv[]) {
int i = 2 / 1 + 4 / 2;
printf("%d",i);
return 0;
}
Choose the right answer:

  • A. The program outputs 5
  • B. The program outputs 3
  • C. The program outputs 4
  • D. Compilation fails
  • E. The program outputs 0

正解:C

解説:
The program outputs 4 because the expression 2 / 1 + 4 / 2 evaluates to 4 using the integer arithmetic rules in C: The division operator / performs integer division when both operands are inte-gers, which means it discards the fractional part of the result. Therefore, 2 / 1 is 2 and 4 / 2 is 2, and their sum is 4. The printf function then prints the value of i as a decimal integer using the %d format specifier.
References = CLA - C Certified Associate Programmer Certification, C Essentials 2 - (Intermediate), C Operators


質問 # 27
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
char *t = "abcdefgh";
char *p = t + 2;
int i;
p++;
p++;
printf("%d ", p[2] - p[-1]);
return 0;
}
Choose the right answer:

  • A. The program outputs 2
  • B. The program outputs 3
  • C. Execution fails
  • D. Compilation fails
  • E. The program outputs 4

正解:B

解説:
The program outputs 3 because the expression p[2] - p[-1] evaluates to 3 using the pointer arithmetic rules in C: The pointer t points to the first element of the string literal "abcdefgh", which is stored in a read-only memory location. The pointer p is initialized to t + 2, which means it points to the third element of the string, which is 'c'. Then, p is incremented twice, so it points to the fifth ele-ment of the string, which is 'e'. The subscript operator [] is equivalent to adding an offset to the pointer and dereferencing it, so p[2] is the same as
*(p + 2), which is 'g', and p[-1] is the same as *(p - 1), which is 'd'. The printf function then prints the difference between the ASCII values of 'g' and 'd', which is 103 - 100 = 3, as a decimal integer using the %d format specifier.
References = CLA - C Certified Associate Programmer Certification, C Essentials 2 - (Intermediate), C Pointers, C Strings


質問 # 28
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
float f = 1e1 + 2e0 + 3e-1;
printf("%f ",f);
return 0;
}
Choose the right answer:

  • A. The program outputs 12300.000
  • B. The program outputs 1230.0000
  • C. The program outputs 12.300000
  • D. The program outputs 123.00000
  • E. Compilation fails

正解:C

解説:
The program outputs 12.300000 because the printf function prints the value of f with a precision of 6 decimal places, which is the default precision for floating-point literals in C. The %f format specifier indicates that the argument is a floating-point value, and the space before it indicates that there should be a decimal point. The argument f is a float literal that represents 1e1 + 2e0 + 3e-1, which is equivalent to 1000000000 + 20000000 +
0.003 in decimal notation. Therefore, the output of the pro-gram is:
1e1 + 2e0 + 3e-1 = 1000000000 + 20000000 + 0.003 = 1230000000.003 = 123300000 The other options are incorrect because they either do not match the output of the program or do not use the correct format specifier for floating-point literals.


質問 # 29
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
int i =2, j = 1;
if(i / j)
j += j;
else
i += i;
printf("%d",i + j);
return 0;
}
Choose the right answer:

  • A. The program outputs 5
  • B. The program outputs 3
  • C. The program outputs 4
  • D. The program outputs 1
  • E. Compilation fails

正解:C

解説:
In the if statement, i / j is 2 / 1, which is true. Therefore, the if block is executed, and j += j; doubles the value of j (j becomes 2).
After the if-else statement, printf("%d", i + j); prints the sum of i and the updated val-ue of j (2 + 2), which is
4.


質問 # 30
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
int main, Main, mAIN = 1;
Main = main = mAIN += 1;
printf ("%d", MaIn) ;
return 0;
}
Choose the right answer:

  • A. The program outputs 2
  • B. Compilation fails
  • C. The program outputs 3
  • D. The program outputs an unpredictable value
  • E. The program outputs 1

正解:B

解説:
The program is not a valid C program and cannot be compiled successfully. The reason is that the program uses the same name main for both a function and a variable, which is not allowed in C. The name main is a reserved keyword that denotes the entry point of the program, and it cannot be redefined or reused for any other purpose. Therefore, the compiler will report an error and the program will not run. References = C - main() function - Tutorialspoint, C Keywords - GeeksforGeeks, C Basic Syntax


質問 # 31
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
int i = 2;
int d= i << 2;
d /= 2;
printf ("%d", d) ;
return 0;
}
Choose the right answer:

  • A. The program outputs 2
  • B. The program outputs 4
  • C. The program outputs 1
  • D. Compilation fails
  • E. The program outputs 0

正解:B

解説:
The program outputs 4 because the expression i << 2 performs a left shift operation on the binary representation of i, which is 00000010, by two bits, resulting in 00001000, which is equivalent to 8 in decimal.
Then, the expression d /= 2 performs a division assignment operation, which divides d by 2 and assigns the result back to d, resulting in 4. The printf function then prints the value of d as a decimal integer using the %d format specifier.
References = CLA - C Certified Associate Programmer Certification, [C Essentials 2 - (Intermediate)], C Bitwise Operators, C Assignment Operators


質問 # 32
Select the proper form for the following declaration:
p is a pointer to an array containing 10 int values
Choose the right answer:

  • A. int (*p) [10];
  • B. The declaration is invalid and cannot be coded in C
  • C. int * (p) [10];
  • D. int *p[10];
  • E. int (*)p[10];

正解:A

解説:
This is the correct way to declare a pointer to an array of 10 int values. The parentheses are necessary to indicate that p is a pointer to an array, not an array of pointers. The base type of p is 'an array of 10 int values'.12 References = 1: Pointer to an Array | Array Pointer - GeeksforGeeks 2: What is a pointer to array, int (*ptr) [10], and how does it work? - Stack Overflow


質問 # 33
What happens if you try to compile and run this program?
#include <stdio.h>
int main (int argc, char *argv[]) {
int i = 'A' - 'B';
int j = 'b' - 'a';
printf("%d",i / j);
return 0;
}
Choose the right answer:

  • A. Execution fails
  • B. The program outputs -1
  • C. The program outputs 1
  • D. Compilation fails
  • E. The program outputs 0

正解:B


質問 # 34
What happens if you try to compile and run this program?
#include <stdio.h>
fun (void) {
static int n = 3;
return --n;
}
int main (int argc, char ** argv) {
printf("%d \n", fun() + fun());
return 0;
}
Select the correct answer:

  • A. The program outputs 2
  • B. The program outputs 3
  • C. The program outputs 1
  • D. The program outputs 0
  • E. The program outputs 4

正解:B

解説:
The program outputs 3 because the fun function returns the value of --n, which is a post-increment operator.
This means that the value of n is decremented by 1 before it is returned. Therefore, fun() returns 3, which is the original value of n before decrementing. The main function calls fun() twice and adds the results, which gives 3 + 3 = 6. Then, the main function prints the result with a %d format specifier, which shows the integer part of the result. Therefore, the output of the program is:
fun() = 3 fun() = 3 printf("%d \n", fun() + fun()) = 6 = 3


質問 # 35
What happens if you try to compile and run this program?
#include <stdio.h>
int *fun(int *t) {
return t + 4;
}
int main (void) {
int arr[] = { 4, 3, 2, 1, 0 };
int *ptr;
ptr = fun (arr - 3);
printf("%d \n", ptr[2]);
return 0;
}
Choose the right answer:

  • A. The program outputs 2
  • B. The program outputs 5
  • C. The program outputs 3
  • D. The program outputs 1
  • E. The program outputs 4

正解:D

解説:
1.A function fun is defined that takes a pointer to an integer t and returns t + 4.
2.The main function defines an array arr with the elements { 4, 3, 2, 1, 0 }.
3.It then calls fun with the argument arr - 3. Since arr points to the first element of the array, arr - 3 is actually pointing to 3 positions before the start of the array, which is out of bounds.
4.Inside fun, t + 4 would effectively be arr + 1 (arr - 3 + 4).
5.The returned pointer from fun (which is arr + 1) is assigned to ptr.
6.ptr[2] is then the same as arr[1 + 2], which is arr[3]. The value at arr[3] is 1.


質問 # 36
......

検証済みCLA-11-03問題集と解答で最新CLA-11-03をダウンロード:https://www.passtest.jp/c-plus-plus-institute/CLA-11-03-shiken.html

更新された100%カバー率でリアルCLA-11-03試験問題で100%合格保証が付きます:https://drive.google.com/open?id=12f1kf6SruiKuQ2gHN8ml6ZdtfCk-rkVZ