章节题干
5在函数原型的列表中说明的参数名,作用域只在该函数原型内,成为( ).
5在c++中,局部变量的存储类别有( )种
5下面不属于局部变量存储类别的是( )
5定义全局变量时前面加上static,表示的是什么( )
5一个函数体中可以有多个return,可以通过( )执行返回操作。
5下列哪个形参是合法的?( )
5一个C++程序一般有几个( )主函数
5C++作用域有:块作用域,文件作用域,还有( )。
5( )是C++程序的构成基础
5内联函数的定义方法很简单,只要在函数定义前加上关键字( )即可6C++提供的预处理功能不包括以下哪一种( )
6在宏定义#define PI 3.14159中,用宏名PI代替一个( )
6“#include<文件名>”格式一般用于嵌入用户创立的( )文件。
6系统头文件内容不包括:( )
6下面哪个选项不是条件编译的三种格式之一?( )
6从计算机所占用时间的角度分析,宏与函数的主要区别是( )
6以下有关宏定义说法不正确的是( )
6以下哪个命令可以终止宏定义的作用域( )
6对于#define SQR(x) x*x,当程序中出现语句m=SQR(a +b); 代换后为()
6带参数的宏定义常用内联函数实现,那么它与一般函数相比,哪一个更快?( )6宏定义用宏名代表的数据类型是( )
6能够改变实际参数变量值的函数是( )
6函数递归是( )
5执行C++程序时内存分配状况如下( )
5局部变量可分配在( )
A
全局作用域
一
auto
定义静态变量
二个
int fun(int a=1,int b,int c=2)
一
A.全局作用域、函数作用域、类作用域
函数
inline
宏定义
单精度数
头
对标准库函数的原型声明
#ifdef 宏名 程序段1
#else 程序段2
#endif
宏代换占用编译时间,函数调用占用了运行时间宏名一般用大写
#define
m=a +b*a+b
内联函数
整型
i nt fun(int &a,int &b) {…}
一个函数调用了另一个函数。
程序区、静态存储区、动态存储区。
程序区、静态存储区、动态存储区
B C
函数作用域函数原型作用域
二三
static register
仅限于本文件引用静态变量且仅限于本文件引用
一个三个
int fun(int a=1,int b=2,int c)int fun(int a,int b=2,int c=2)二三
函数原型作用域、函数作用域、类
作用域。
函数作用域、文件作用域
数据图像
online offline
程序处理文件包含
双精度数常量
尾常量
函数的调用顺序符号常量定义
#ifdef(表达式) 程序段1 #else
程序段2 #endif #ifndef 宏名
程序段1 #else
程序段2 #endif
宏代换占用运行时间,函数调用占用编译宏代换和函数调用都占用了编译时间用宏名表示一个字符串,减少重复书写。用宏名易于修改
#include#undef
m=a +b*(a +b)m=(a +b)*a +b
一般函数一样快
实型字符型
int fun(int a,int b) {…}int fun(int a,int &b) {…}
一个函数直接或间接调用了自己。一个函数调用了标准库函数。
静态存储区、动态存储区。程序区、动态存储区。
静态存储区、动态存储区程序区、动态存储区
D E F答案难度图片题目出处
类作用域C低
四C中
extern D中
A与B都错误B易P76 5.8.3.2
多个B中
int fun(int a=1,int b,int c)C中
多个A中
D.函数作用域、类作用域。B中P69 5.8
表格A易出自第五章开头第二行
line A易第五章66页 内联函数中 最后一句
条件编译B易
字符串D易
源A中 P82倒数第一句话
类型定义B低 6.2"文件包含"处理
#if 表达式
程序段1
#else 程序段2
#endif
B难 6.3宏代换和函数调用都占用了运行时间A中86
宏定义用宏名代替字符串,编译时可以进行运算。D易P79
#ifdef C中80页的6)
m=(a +b)(a +b)A中例6.3中的注意(3)
不确定A易P82(4)
双精度实型C易P79
int fun(int a,int *b) {…}A中
一个函数调用了一个头文件。B
程序区、静态存储区。A
程序区、静态存储区B