AP计算机科学A:程序实现

学习AP计算机科学A的概念,示例问题和解释

大学导师应用商店 大学导师安卓商店

例子问题

←之前 1 3. 4 5 6 7 8

问题1:程序的实现

下面哪个代码示例充分使用了常量?

可能的答案:

最终int行= 4;

For (int I = 0,l = rows;I < l;我+ +){

行+= 2;

}

final String s = "Hello, "

int intVal中;

//在此代码中读取变量intVal ....摘录……

if(intVal < 0) {

s += "世界!";

} else if(intVal == 0) {

s +=“人!”;

} else {

s +=“伙计们!”;

}

For (final int I = 0, rows = 5;I < rows;我+ +){

System.out.println(我);

}

Const int行= 4;

For (int I = 0;I < rows;我+ +){

System.out.println(我);

}

最终int行;

int intVal中;

//在此代码中读取变量intVal ....摘录……

rows = intVal;

For (int I = 0;I < rows;我+ +){

System.out.println(我);

}

正确答案:

最终int行;

int intVal中;

//在此代码中读取变量intVal ....摘录……

rows = intVal;

For (int I = 0;I < rows;我+ +){

System.out.println(我);

}

解释

记住这是一个常数变量不能一旦被分配,将被更改。通常,您会在声明的同一行立即赋值变量。但是,如果您要创建常量并等待赋值,那么也会在语法上找到它。因此,正确答案没有问题,尽管如果你不知道这一点,一开始可能会出现问题。现在,请记住声明常量的方法是使用关键字“final”。(关键字“const”在c++等其他语言中也有效。)所有不正确的答案(除了使用“const”的答案)都会在定义常量之后改变它。

问题1:程序的实现

在下面的代码块中,下面哪几行包含错误?

最后int I = 20, j, k;

Int,m=50,n = 2;

J = n + m;

L = m * I + j;

For (int a = 0;A < m;+ +) {

L += L;

}

M = 20 + j + n * I + M;

J = m + i;

K = 50 + 20 * j;

可能的答案:

L += L;

J = m + i;

L = m * I + j;

For (int a = 0;A < m;+ +)

K = 50 + 20 * j;

正确答案:

J = m + i;

解释

这条线

J = m + i;

有一个错误,因为它包含对常量(final)变量的重新赋值。允许在声明行以外的行上赋值常量。但是,一旦这样做了,就不能重新赋值了。的变量j被赋值为:

J = n + m;

因此,上面的直线(j = m + i;)表示a再保险-assignment,从而导致错误。

问题1:程序的实现

// ^为异或操作符

X = X ^ y

Y = x ^ Y

X = X ^ y

上面这段代码的效果是什么?

可能的答案:

值是一样的。

的点点滴滴xy是否定。

x等于y

其他答案都不对。

值被交换。

正确答案:

值被交换。

解释

考虑两个变量:(二进制1010)和0101年(二进制)。异或运算符在两个数字中不同的每一位返回1,而在相同的每一位返回0。

为了转换数字,我们必须这样做:

^

^

^

继续这个例子,^将返回1111,因为两个数字之间没有相同的位。将其存储在变量中。那么1111 ^ 0101将返回1010。该结果将存储在。最后,求出的值(1111) ^(1010),即0101,并将结果存储在变量中。这些值现在被交换了。

问题1:程序的实现

下面哪个选项声明了一个字符串数组的大小?(假定使用Java语法。)

可能的答案:

String[][我];

String[] s = new String[i];

其他的都没有

字符串s = new String[i];

字符串s[] =新字符串[i];

正确答案:

String[] s = new String[i];

解释

对于数组,最好将数组本身视为一种类型。所以,就像一个intx声明:

int x;

还有一个字符串命名年代声明:

字符串年代;

你像这样开始一个String数组的声明:

String []

这就像是在说,“接下来要做的将是一个String对象数组。”

因此,你最好的宣言是:

String[] s = new String[i];

方法声明新的大小,适当地使用操作符。

问题1:程序的实现

下面哪个代码段使用数组字面量声明整数数组?

可能的答案:

Int [] a = {42,26,134,-13,45,234};

Int [] a = {0:42,1:26,2:134,3:-13,4:45,5:234};

Int [] a = new Int [6];

A [0] = 42;

A [1] = 26;

A [2] = 134;

A [3] = -13;

A [4] = 45;

A [5] = 234;

int [];

A [0] = 42;

A [1] = 26;

A [2] = 134;

A [3] = -13;

A [4] = 45;

A [5] = 234;

Int a = {42,26,134,-13,45,234};

正确答案:

Int [] a = {42,26,134,-13,45,234};

解释

对于这个问题有两点需要注意。首先,你可以通过将数组元素列表括在一对花括号中,在Java中生成一个简单的数组字面量。因此,数组字面量

{26134、-13、45234}

很好!然而,你没有给出指标。这些都是推断出来的。(第一个元素位于0,第二个元素位于1,以此类推)

现在,你只需要把这个赋值给an数组对象。因此下面的说法是错误的:

Int a = {42,26,134,-13,45,234};

需要用[]来表示一个是一个数组:

Int [] a = {42,26,134,-13,45,234};

问题2:程序的实现

double和int的区别是什么?

可能的答案:

没有区别。

Int型可以保存所有值,而double型只能存储两位数的值。

整型只能保存整数值,双精度可以保存包括小数在内的任何数字。

整型只能保存正数,双精度可以保存所有数。

整型可以保存实数,而双精度只能保存虚数。

正确答案:

整型只能保存整数值,双精度可以保存包括小数在内的任何数字。

解释

Int型只能存储整数值,而double型可以同时存储整数值和小数,但同时使用更多的内存。

问题2:程序的实现

int x = 2;

双y = 2.1;

浮动z = 3.0;

Int c=(x*y) + z;

c的值是多少

可能的答案:

6.3

7.2

7.1

6

7

正确答案:

7

解释

记住,如果一个变量被声明为整数,它就不能有任何小数。

Int c=(x*y) + z;

int c = (2 * 2.1) + 3.0

从这里开始,我们进行数学运算来求解,记住使用正确的运算顺序。因此,先从括号开始,然后再做加法。

int c = 4.2 + 3

Int c= 4+3

int c = 7

所有剩下的分数都被去掉,所以答案缩短为7。

问题11:编程结构

# include < iostream >

使用命名空间std;

int main ()
{
字符串str(“电脑科学”);
字符串mystr;
str = str + "SampleQuestionCS";
Mystr = str.substr(7,8);

返回0;
}

这段代码运行后,mystr的值是多少?

可能的答案:

电脑

SampleQuestion

科学

rScience

QuestionCS

正确答案:

rScience

解释

这里创建了两个字符串:str和mystr。

在main的第三行,str与另一个字符串连接,使其更长。

在第四行,调用substr函数。这个函数接受两个输入,起始索引和字符串的长度。

那么,从str的下标7开始,我们得到r。现在,总共抓取8个字符,包括“r”,我们得到“rScience”。

mystr = " rScience”。

问题1:变量声明

  • 声明一个集为单词cat的字符串。
  • 声明一个字符串列表,其中包含单词hello、mama和meow。
  • 声明一个由 对组成的hashmap,其中单词world的值为earth。
可能的答案:

String cat = "cat";

List stringList = new ArrayList()

stringList.add(“hello”);

stringList.add(“妈妈”);

stringList.add(“喵喵”);

HashMap hashStrings = new HashMap();

hashStrings。把(“世界”、“地球”);

字符串猫;

列表<字符串> stringList;

HashMap hashStrings;

String cat = "cat";

List stringList = new ArrayList()

HashMap hashStrings = new HashMap();

hashStrings。把(“世界”、“地球”);

List stringList = new ArrayList()

stringList.add(“hello”);

stringList.add(“妈妈”);

stringList.add(“喵喵”);

HashMap hashStrings = new HashMap();

hashStrings。把(“世界”、“地球”);

正确答案:

String cat = "cat";

List stringList = new ArrayList()

stringList.add(“hello”);

stringList.add(“妈妈”);

stringList.add(“喵喵”);

HashMap hashStrings = new HashMap();

hashStrings。把(“世界”、“地球”);

解释

正确的答案定义提示符中指定的所有变量。只有变量定义的答案是不正确的,因为它没有在提示符中指定声明。一个答案没有定义第一个变量,所以它是不正确的。最后的答案没有声明List变量,所以也是不正确的。

问题1:程序的实现

下面哪个选项声明了一个字符串数组的大小?(假定使用Java语法。)

可能的答案:

String[][我];

String[] s = new String[i];

其他的都没有

字符串s = new String[i];

字符串s[] =新字符串[i];

正确答案:

String[] s = new String[i];

解释

对于数组,最好将数组本身视为一种类型。所以,就像一个intx声明:

int x;

还有一个字符串命名年代声明:

字符串年代;

你像这样开始一个String数组的声明:

String []

这就像是在说,“接下来要做的将是一个String对象数组。”

因此,你最好的宣言是:

String[] s = new String[i];

方法声明新的大小,适当地使用操作符。

←之前 1 3. 4 5 6 7 8
大学导师提供的学习工具