
自测练习 【自测练习】 一、基础圈 1,(单选)以下说法中正确的是() A:C+程序总是从第一个定义的函数开始执行 B:在C+程序中,要调用的函数必须在mn0函数中定义 C:C+程序总是从inO函数开始执行 D:C+程序中的国inO函数必须成在所有函数的前面 2、(单选)C+题程序不能由()组成。 A:包含多个min函数的文件 B:包含一个国in函数及多个其它函数的文件 C:仅含一个min函数的文件 D:包含一个mn函数和一个其它函数的文件 3、(单选)C+语言规定,函数返回植的类型是由〔)决定。 A:retm语句中的表达式类型 B:调用函数时的主调函数类型 C:调用函数时系统略时决定 D:定义该函数时指定的函数类型 4,(单选)若有数组名作为函数调用的实参,则传速给形参的是() A:数组的首地址 B:数组的第一个元素的值 C:量组中全部元素的值 D:数组元素的个数 5,(单遗)若名为ac的函数定义如下, void abc() 则函数定义中01d的含义是()。 A:执行函数止c后,函数没有返回值 B:执行函数bc后,函数不再返回
自测练习 【自测练习】 一、基础题 1 、(单选)以下说法中正确的是( ) A: C++程序总是从第一个定义的函数开始执行 B: 在 C++程序中,要调用的函数必须在 main()函数中定义 C: C++程序总是从 main()函数开始执行 D: C++程序中的 main()函数必须放在所有函数的前面 2 、(单选) C++ 源程序不能由( )组成。 A: 包含多个 main 函数的文件 B: 包含一个 main 函数及多个其它函数的文件 C: 仅含一个 main 函数的文件 D: 包含一个 main 函数和一个其它函数的文件 3 、(单选) C++ 语言规定,函数返回值的类型是由( )决定。 A: return 语句中的表达式类型 B: 调用函数时的主调函数类型 C: 调用函数时系统临时决定 D: 定义该函数时指定的函数类型 4 、(单选)若有数组名作为函数调用的实参,则传递给形参的是( ) A: 数组的首地址 B: 数组的第一个元素的值 C: 数组中全部元素的值 D: 数组元素的个数 5 、(单选)若名为 abc 的函数定义如下: void abc() {……} 则函数定义中 void 的含义是( )。 A: 执行函数 abc 后,函数没有返回值 B: 执行函数 abc 后,函数不再返回

C:执行函数abc后,可以返目任意类型 D:执行函数bc后,可以返日任意类型的值 6、(单选)已知一函数的定义如下: void ff(double d) {.} 则该函数的原里是() A:void ff(d): B:void ff(double) C:double ff(double d): D:ff(double): 7、(单选)对C+程序中的函数,下面说法正确的是(), A:函数定义不能帐套,但函数调用可以嵌套 B:函数定义可以嵌套,I函数调用不能嵌套 C:函数定义与调用均不能嵌套 D:函数定义与调用均可以族套 8、(单选)在一个源程序文件中定义的全局变量的有效范围是《)。 A:本源程序文件的全部范围 B:一个C+程序的所有源程序文件 C:函数内全部范围 D:从定文变量的位置开始到源程序文件结束 9,(单选)以下正确的函数形式是()。 A:double fun(int x.int y) [a=x+y:return z:) B:fun(int x.y) [int x: return z:} C:fun,y》 [int x.y:double z: 2=xty:return z:} D:double fun(int x,int y)
C: 执行函数 abc 后,可以返回任意类型 D: 执行函数 abc 后,可以返回任意类型的值 6 、(单选)已知一函数的定义如下: void ff(double d) {......} 则该函数的原型是( ) A: void ff(d); B: void ff(double); C: double ff(double d); D: ff(double); 7 、(单选)对 C++ 程序中的函数,下面说法正确的是( )。 A: 函数定义不能嵌套,但函数调用可以嵌套 B: 函数定义可以嵌套,但函数调用不能嵌套 C: 函数定义与调用均不能嵌套 D: 函数定义与调用均可以嵌套 8 、(单选)在一个源程序文件中定义的全局变量的有效范围是( )。 A: 本源程序文件的全部范围 B: 一个 C++ 程序的所有源程序文件 C: 函数内全部范围 D: 从定义变量的位置开始到源程序文件结束 9 、(单选)以下正确的函数形式是( )。 A: double fun(int x,int y) {z=x+y; return z;} B: fun(int x,y) {int z; return z;} C: fun(x,y) {int x,y;double z; z=x+y; return z;} D: double fun(int x,int y)

(double z: zmxty:return z: 10,(单选)若有函数调用语句:func(《epl,ex2),(ex3,exp4,exp5):,其中 含有实参的个数有《), A:1 B:2 C:3 D:5 11,(多选)以下说法中不正确的是() A:C+程序总是从第一个定复的函数开始执行 B:在C+程序中,要调用的函数必须在国in0函数中定义 C:C+程序总是从in0函数开始执行 D:C+程序中的国i0函数必须政在所有函数的前面 2,(多选)若函数A调用函数B,被调用函数B不用进行函数声明的情况是() A:被调川函数B是无参函数 B:被调用函数B是无返回值的函数 C:函数B的定义在函数A之前 D:函数B的定义己包含在声明的头文件中 13,《多遮》C+变量的作用域是指变量的有效范围,在作用域内可以引用该变量。 按作用域的不同,麦量被分为()两类。 A:全同变量 B:局部变量 C:静态变量 D:动态变量 14、(多透)变量的存储类别快定了变量的生存期。即变量的值有效的时间,按变量 生存期的不月。变量被分为《)两大类。 A:全局变量 B:局部变量 C:静态变量 D:动老变量
{double z; z=x+y; return z;} 10. (单选)若有函数调用语句: func((expl,exp2) , (exp3,exp4,exp5)); ,其中 含有实参的个数有( )。 A: 1 B: 2 C: 3 D: 5 11 、(多选)以下说法中不正确的是( ) A: C++ 程序总是从第一个定义的函数开始执行 B: 在 C++ 程序中,要调用的函数必须在 main() 函数中定义 C: C++ 程序总是从 main() 函数开始执行 D: C++ 程序中的 main() 函数必须放在所有函数的前面 12 、(多选)若函数 A 调用函数 B ,被调用函数 B 不用进行函数声明的情况是( ) A: 被调用函数 B 是无参函数 B: 被调用函数 B 是无返回值的函数 C: 函数 B 的定义在函数 A 之前 D: 函数 B 的定义已包含在声明的头文件中 13 、(多选) C++ 变量的作用域是指变量的有效范围,在作用域内可以引用该变量。 按作用域的不同,变量被分为( )两类。 A: 全局变量 B: 局部变量 C: 静态变量 D: 动态变量 14 、(多选)变量的存储类别决定了变量的生存期,即变量的值有效的时间,按变量 生存期的不同,变量被分为( )两大类。 A: 全局变量 B: 局部变量 C: 静态变量 D: 动态变量

15、《多选)以下说法正确有()· A:在不再函数中可以使用同名变量 B:形参是局部变量 C:在函数内定义的变量只在本函数意围内有效 D:在函数内的复合语句中定复的变量在本函数范围内有效 16、(填空)填写下面程序的运行结果(), =include《iostrean h) char max(char x.char y): void nain() { char el '8',c2 ='b',c3 'c', n■国x(c1,c2) 目"国xm,c3): cout y》 return x: else return y: 1 17,填空)填写下面程序的运行结果()。 年include(iostream h> void main() I void f(int Aa.int Ab.int Ac); mtX=1,y=2,2=0 f,y.2: cout <z <endl;
15 、(多选)以下说法正确有( )。 A: 在不同函数中可以使用同名变量 B: 形参是局部变量 C: 在函数内定义的变量只在本函数范围内有效 D: 在函数内的复合语句中定义的变量在本函数范围内有效 16 、(填空)填写下面程序的运行结果( )。 #include char max(char x, char y); void main() { char c1 = 'a', c2 = 'b', c3 = 'c', m; m = max(c1,c2); m = max(m,c3); cout y) return x; else return y; } 17 、(填空)填写下面程序的运行结果( )。 #include void main() { void f(int &a,int &b,int &c); int x = 1, y = 2, z = 0; f(x,y,z); cout << z << endl;

void f(int &a.int ab,int &c) { c a+b: 18,《填空)填写下面程序运行的结果()。 年include(iostrean h) int sum(int k): void main() { int s,i: for(1=1:1e10:1+) [ s■sun(i): 1 comt《s《n”: 1 int sun(int k) { static int x; return (xx k) 1 19、(填空)填写下面程序的运行结果()。 年include(iostrea重h> struct STUDENT char id[5]: int score: 1: void print (STUDENT &stud)
} void f(int &a,int &b,int &c) { c = a + b; } 18 、(填空)填写下面程序运行的结果( )。 #include int sum(int k); void main() { int s,i; for (i = 1; i struct STUDENT { char id[5]; int score; }; void print(STUDENT &stud);

void min() STUDENT student=[1234",801 print(student): 1 void print (STUDENT &stud) { cout <stud.id <stud.score endl; 1 的,(填空)填写下面程序的运行结果()。 年include(iostrean h) void swap(int &x,int ky): void main() [ int x=2,y■3: c00t<父x(<y: s¥ap(x.y日 cout<《x(《y: void swap(int &x.int ky) int t: t■x x”y: y■t: 1 二,编程题 1、编写程序实现功能:在国n函数中,从健盒读入一个字符,然后调用名为 “©css”的函数,函数赵回该字符的后继字符。最后在in函数中,将忍回的字符 在屏喜上输出。自定义函数rocess的原型如下
void main() { STUDENT student={"1234",80}; print(student); } void print(STUDENT &stud) { cout void swap(int &x, int &y); void main() { int x = 2, y = 3; cout << x << y; swap(x,y); cout << x << y; } void swap(int &x, int &y) { int t; t = x; x = y; y = t; } 二、编程题 1 、编写程序实现功能:在 main 函数中,从键盘读入一个字符,然后调用名为 “ process ”的函数,函数返回该字符的后继字符。最后在 main 函数中,将返回的字符 在屏幕上输出。自定义函数 process 的原型如下:

char process(char ch): 2、编写程序实现功能:在n函数中,从健盘读入一个整数,然后调用名为 “p©cess”的函数,列断其是否为偶数,若是,则返回字符·Y':否则运回字符·N', 最后在圈in函数中,将返国的结果在屏幂上输出。自定义函数process的原型如!下: int process(int x): 3、编写程序实现功能:在国n函数中,从键盒输入十个整数,然后调用名为 ”PTOc0s%”的函数,分别饶计并返国其中的正整数,负整数,以及零的个数,最后在mn 函数中将正数数个数,负整数个数,零个数在屏幕上依次输出。白定义函数心ess的原 型如下: void process(int a[]int p.int n.int z): 4、编写程序实现功隆:从健盘输入行爱和一个这符。然后调用名为“O心e88”的 自定文函数,显示由此字符组成如下图所示的规则图形《行数为5,字符为“。”的图形 效果),自定义函数process的原型如下: void process (int n,char ch): 华车本中中中年 中中中中中中 中中中中中 神 5,编写程序实现功能:定文如下所示的存放哥书信息的结构球,在n函数中, 从当前盘当前目录下文件名为”W.T”的图书信息库中的所有记录(设记录数不超过10 条),然后调用名为”pess”的函数,按书名的字奥序进行排序,并返日排序结果。 最后在■i函数中将运目的排序结果存入当筒盒当前目录下名为“0T.TT”的文件中。 自定义函数process的原型如下: roid process(Baa球b[],1nt): Struct B0OK [ char1d[4):f∥书号 char name[20j:/∥书名 int nunber;/∥背数
char process(char ch); 2 、编写程序实现功能:在 main 函数中,从键盘读入一个整数,然后调用名为 “ process ”的函数,判断其是否为偶数,若是,则返回字符‘ Y ';否则返回字符‘ N ', 最后在 main 函数中,将返回的结果在屏幕上输出。自定义函数 process 的原型如下: int process(int x); 3 、编写程序实现功能:在 main 函数中,从键盘输入十个整数,然后调用名为 “ process ”的函数,分别统计并返回其中的正整数、负整数,以及零的个数。最后在 main 函数中将正数数个数、负整数个数、零个数在屏幕上依次输出。自定义函数 process 的原 型如下: void process(int a[ ],int p,int n,int z); 4 、编写程序实现功能:从键盘输入行数和一个这符,然后调用名为“ process ”的 自定义函数,显示由此字符组成如下图所示的规则图形(行数为 5 ,字符为“ * ”的图形 效果)。自定义函数 process 的原型如下: void process(int n,char ch); ********* ******* ***** *** * 5 、编写程序实现功能:定义如下所示的存放图书信息的结构 BOOK ,在 main 函数中, 从当前盘当前目录下文件名为“ IN.TXT ”的图书信息库中的所有记录(设记录数不超过 10 条),然后调用名为“ process ”的函数,按书名的字典序进行排序,并返回排序结果。 最后在 main 函数中将返回的排序结果存入当前盘当前目录下名为“ OUT.TXT ”的文件中。 自定义函数 process 的原型如下: void process(BOOK b[ ],int n); Struct BOOK { char id[4]; // 书号 char name[20]; // 书名 int number; // 册数

1: 风TXT文件中数据的格式知下: 001数据库概论10 00配程序设计基础10 003数据结构10 T,TXT文件中数据的格式如下: 002程序设计基确10 003数据结构10 001数据库概论10
}; IN.TXT 文件中数据的格式如下: 001 数据库概论 10 002 程序设计基础 10 003 数据结构 10 OUT.TXT 文件中数据的格式如下: 002 程序设计基础 10 003 数据结构 10 001 数据库概论 10