AP计算机科学A:先决条件

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

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

例子问题

问题1:程序的正确性

使用函数

考虑下面的c++代码来执行以下减法:

9 - 6:

# include < iostream >

使用命名空间std;

Int main() {

Int total = 0;

cout << "这段代码执行以下数学运算:9 - 6 = ";

Total = sub(6,9);

count << total;

}

Int sub(Int num1, Int num2) {

返回(num2 - num1);

}

代码有什么问题吗?

可能的答案:

这段代码没有任何问题。

缺少函数原型。

代码缺少数学库。应该有

# include

总的来说,这些论点应该被推翻。如:total = sum(9,6);

正确答案:

缺少函数原型。

解释

看一下每个答案,我们可以看到子函数中传递的参数顺序是正确的,因为num1是从num2中减去的。此外,对于简单的数学操作,不需要包含数学库。最后,任何操作都可以在函数或main中完成;没有错误的方法,但是,创建和使用函数使main()中的代码更容易阅读和清晰。

现在在main()中,当调用sub()函数时,该函数尚未定义;这意味着它不在作用域中。这意味着我们应该把函数原型放在main()之前,这样当函数被调用时,编译器就知道有一个名为sub()的函数,它接受两个整数形参并返回一个整数。因此,这个添加将解决我们的范围问题。

# include < iostream >

使用命名空间std;

Int sub(Int num1, Int num2);//添加的是函数原型

Int main() {

Int total = 0;

cout << "这段代码执行以下数学运算:9 - 6 = ";

Total = sub(6,9);

count << total;

}

Int sub(Int num1, Int num2) {

返回(num2 - num1);

}

注意:这个问题的另一个修复是将函数放在main()之前。虽然这个方法不是特别推荐,因为它使main()更难找到,但人们仍然使用它。下面是通过将函数置于main()之前来解决问题的示例。注意,使用此方法时不需要函数原型:

# include < iostream >

使用命名空间std;

Int sub(Int num1, Int num2) {

返回(num2 - num1);

}

Int main() {

Int total = 0;

cout << "这段代码执行以下数学运算:9 - 6 = ";

Total = sub(6,9);

count << total;

}

大学导师提供的学习工具