第七章网站测试题
Question1
对于以下宏定义:
#define M(x)x*x
#define N(x,y)M(x)+M(y)宏调用N(2,2+5)执行后,值为_________。
选择一个答案
A. 53
B. 21
C. 19
D. 51
Qusetion2
如果一个函数定义后不希望别的文件使用,则在该函数首部前增加一个关键字_______
选择一个答案
a. const
b. extern
c. static
d. auto
Question 3
在文件包含预处理语句(#include )的使用形式中,当之后的文件名用<>(尖括号)括起时,寻找被包含文件的方式是。选择一个答案
A. 仅仅搜索源程序所在目录
B. 仅仅搜索当前目录
C. 直接按系统设定的标准方式搜索目录
D. 先在源程序所在目录搜索,再按系统设定的标准方式搜索
Question 4
以下不正确的叙述是。
选择一个答案
A. C ++程序在执行过程中对预处理命令进行处理
B. #define ABCD 是正确的宏定义
C. 预处理命令行都必须以"#" 开始
D. 在程序中凡是以"#" 开始的语句行都是预处理命令行
Question 5
关于外部变量的下列说法错误的是_______
选择一个答案
a. 外部变量只需要在一个文件中定义一次,但可以其他文件中多次声明
b. 只要在主函数外面定义的变量就一定是外部变量
c. 外部变量在其他文件中被使用时需要用extern进行事先声明
d. 函数外定义的变量,其前若用static修饰,则不能作为外部变量
Question 6
以下不正确的叙述是。
选择一个答案
A. 宏替换不占用运行时间
B. 宏替换只是字符替换
C. 宏名无类型
D. 宏名必须用大写字母表示
Question 7
下列哪一个不是模块化程序设计应具有的特点__________。
选择一个答案
A. 开发一个模块不需要知道系统其他模块的内部结构和编程细节
B. 具有可修改性。对系统的一次修改只涉及少数几个模块
C. 鼓励多使用外部变量,以减少模块之间的相互参数传递
D. 模块之间的接口尽可能简明
Question 8
关于编译预处理,下列说法正确的是_________。
选择一个答案
A. 用户自定义头文件时前后加条件编译指令可以避免重复包含。
B. 含有函数原型的头文件可以出现在任何模块中,函数定义可出现在多个模块中。
C. #include “头文件名”这种格式的包含,预处理程序最后到当前目录查找文件
D. #include <头文件名>这种格式的包含,预处理程序直接到标准目录查找文件Question 9
以下for 语句构成的循环执行了___次。
#include
using namespace std;
#define N 2
#define M N+1
#define NUM (M+1)*M/2
int main()
{
inti,n=0;
for (i=1;i<=NUM;i++)
{ n++;
cout<< n << " ";
}
cout< return 0; } 选择一个答案 A. 9 B. 6 C. 5 D. 8 Question 10 在文件包含预处理语句(#include )的使用形式中,当之后的文件名用"" (双括号)括起时,寻找被包含文件的方式是。选择一个答案 a. 仅仅搜索源程序所在目录 b. 先在源程序所在目录搜索,再按系统设定的标准方式搜索 c. 直接按系统设定的标准方式搜索目录 d. 仅仅搜索当前目录