还剩44页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
C++语言程序设计期末考试复习题注找到所考试题直接看该试题所有题目和答案即可查找按键Ctrl+F超越高度
一、单选题
1、循环语句“for(inti=0;in;i++)S;中循环体S被执行的次数为()A、1B、n-1C、n D、n+1正确答案C
2、适宜采用inline定义函数情况是()A、函数体含有循环语句B、函数体含有递归语句C、函数代码少、频繁调用D、函数代码多、不常调用正确答案C
3、要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()o A、const char*p二“ABCD”;B、char*const p=“ABCD”;C、char const*p=“ABCD”;D、const char*const p=ABCD,;正确答案D
4、在关键字public后面定义的成员为类的()成员A、私有B、公用C、保护D、任何正确答案B
5、C++源程序文件的缺省扩展名为()A、cpp exe C、obj D、lik正确答案A
6、设有语句“inta=12;a+=a*a;”,则执行结束后,a的值为()A、12B、144C、156D、288正确答案C
7、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为B函数体含有递归语句C、函数代码少、频繁调用D、函数代码多、不常调用正确答案C
3、要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()o A const char*p=ABCD”;B char*const p=ABCD”;C、char const*p=ABCD”;D constchar*const p=ABCD”;正确答案D
4、在关键字public后面定义的成员为类的()成员任公有、用护、何、、保私正确答案B
5、C++源程序文件的缺省扩展名为()A、cpp B、exe C、obj D、lik正确答案A
6、设有语句〃int a=12;a+=a*a;〃,则执行结束后,a的值为()A、12B、144C、156D、288正确答案C
7、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()A、ios::in Bios::out Cios::in|ios::out D、ios::binary正确答案A
8、下列不能作为类的成员的是()o A、自身类对象的指针A Bc DB、自身类对象C、自身类对象的引用D、另一个类的对象正确答案B
9、在下面的do循环语句中,其循环体被执行的次数为()o A、4B、3C、5D、2正确答案A
10、若用数组名作为函数调用的实参,传递给形参的是()o A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数正确答案A
11、枚举类型中的每个枚举常量的值都是一个()o A、整数B、浮点数C、字符D、逻辑值正确答案A
12、下面正确的函数原型语句是()o A、int Function(void a);B、void Function(int);C intFunction(a);D voidint(doub正确答案B
13、当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()A、ios::in B、ios::out C、ios::in|ios::out D、没有正确答案D
14、假定有“struct BOOK{char title
[40];float price;};BOOK*book;〃,则不正确的语句为A、BOOK*x=new book;B BOOK x={C++Programming77,
27.0};C、BOOK*x=new BOOK;D BOOK**x=book;正确答案A
15、下面的函数头格式不正确A、AAint a,int bB、AAint a,int b=0C AAint a=0,int b=0D AAint a=0,int b正确答案D
16、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()o A、main B、MAIN Cname D、function正确答案A
17、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号A、分隔符B、空格或逗号C、逗号或回车D、逗号或分号E、空格或回车正确答案D
18、C++程序的基本模块为()o A、表达式B、标识符C、语句D、函数正确答案D
19、编写C++程序一般需经过的几个步骤依次是(°A、编辑、调试、编译、连接B、编辑、编译、连接、运行C、编译、调试、编辑、连接D、编译、编辑、连接、运行正确答案B
20、预处理命令在程序中都是以()字符开头的A、*B、#C、D、@正确答案B
21、循环体至少被执行一次的语句为()语句A、for循环B、while循环C、do循环D、任一种循环正确答案C
22、在下面的一维数组定义中,()语句有语法错误A int a[]={l,2,3};B int a
[10]={0};C、inta口;D、int a⑸;正确答案C
23、在下面的字符数组定义中,()语句有语法错误A、char a
[20]=abcdefg,;B、chara[]=x+y=
55.;C、chara
[15]={1,2};D、chara
[10]=5;正确答案D
24、假定一个二维数组的定义语句为“int a
[3]⑷={{314},{2,8,6}};,则元素a⑴⑵的值为)2468A、B、C、D、正确答案C
25、将两个字符串连接起来组成一个字符串时,选用()函数A、strlen()B、strcpy()C、strcat D、strcmpO正确答案C
二、判断题
1、设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对象通常是COUto正确答案正确
2、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数正确答案正确
3、C++语言中模板分为函数模板和类模板两种正确答案正确
4、continue语句只能出现在循环体中正确答案正确
5、循环是可以嵌套的,一个循环体内可以包含另一种循环语句正确答案正确
6、为了减轻使用者的负担,与C语言相比,C++语言中减少了一些运算符正确答案错误
7、C++语言中标识符内的大小写字母是没有区别的正确答案错误
8、C++语言中使用了新的注释符〃,C语言中注释符/*…*/不能在C++语言中使用正确答案错误
9、开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句正确答案错误
10、使用关键字Class定义的类中默认的访问权限是私有private的正确答案正确
11、预处理命令是在进行编译时首先执行的,然后再进行正常编译正确答案正确
12、文件包含命令所包含的文件是不受限制的正确答案错误
13、宏定义命令是以分号结束的正确答案错误
14、条件语句不能作为多路分支语句正确答案错误
15、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环正确答案错误
三、写出程序运行结果
1、#includeiostream.h void main{int sl=0,s2=l;forint i=l;i〈=6;i++{sl+=i;s2*=i;}coutsl,,J s2endl;}正确答案21,
7202、#includeiostream.h#includestring.h void main{char*a
[5]={student,,/worker/cadre n,soldier,,zapen};char*pl;pl=a
[0];forint i=l;i5;i++{ifstrcmpa[i],pl0pl=a[i];coutplendl;正确答案worker
3、#includeiostream.h void main{int i=lz s=0;whiles20{ifi%2!=0s+=i;i++;couti z/sendl;正确答案10,
254、#includeiostream.h void main{int s=0;forint i=l;i=8;i=+2S+=l*l;cout«s=«s«endl;正确答案s=
845、#includeiostream.h void main{int a
[10]={68,79,86,65,46,94,37,78,60,53;int c=0;forint i=0;i10;i++ifa[i]=60c++;cout nc-,cendl;正确答案.c=
76、#includeiostream.h#includestring.h structWorker{char name
[15];〃姓名int age;〃年龄float pay;〃工资;voidmain{Worker x;strcpyx.name,WeiRong;x.age=45;x.pay=1235;coutx.name x.age x.payendl;正确答案WeiRong451235
四、写出函数功能
1、void LKint a[],int n,int m{float s=0;int i;fori=0;in;i++s+=a[i];s/二n;m=0;fori=0;in;i++ifa[i]=s m++;正确答案统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回
2、int WCint a[],int n,int k{int c=0;forint i=0;in;i++ifa[i]=k C++;return c;正确答案
3、统计出数组a的n个元素中大于等于参数k的值的元素个数并返回bool WBint a[],int n,int x{forint i=0;in;i++if a[i]=x returntrue;return false;正确答案
4、从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假double WAint a[],int n{double s=0;forint i=0;in;i++s+=a[i];return s/n;正确答案
5、求出数组a中n个元素的平均值并返回bool SGint x{//x为大于等于2的整数int a=intsqrtx;〃sqrtx为求x的平方根int i=2;whilei=a{ifx%i==0break;i++;A、ios::in ios::out C、ios::in|ios::out D、ios::binary正确答案A
8、下列不能作为类的成员的是o A、自身类对象的指针B、自身类对象C、自身类对象的引用D、另一个类的对象正确答案B
9、在下面的do循环语句中,其循环体被执行的次数为o A、4B、3C、5D、2正确答案A
10、若用数组名作为函数调用的实参,传递给形参的是o A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数正确答案A
11、枚举类型中的每个枚举常量的值都是一个o A、整数B、浮点数C、字符D、逻辑值正确答案A
12、下面正确的函数原型语句是□A、int Functionvoida;B、void Functionint;C intFunctiona;D、void intdoub正确答案B
13、当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为A、ios::in B、ios::out C、ios::in|ios::out D、没有正确答案D
14、假定有struct BOOK{char title
[40];float price;};BOOK*book;,则不正确的语句为A、BOOK*x=new book;ifia returntrue;else return false;正确答案判断X是否为一个素数或质数,若是则返回真,否则返回假
6、bool WEint a[],int b[]z int n{forint i=0;in;i++ifa[i]!=b[i]break;ifi==n returntrue;return false;正确答案.判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假
五、编程题
1、假定一个函数声明为void ADint a[],int n;H,要求把数组a中的n个元素值按相反的次序仍保存在数组a中请编写该函数正确答案void ADint a[],int nfori=0;in/2;i++{int x=a[i];a[i]=a[n-l-i];a[n-l-i]=x;
2、假定一个函数声明为“intFFinta口,intn;,要求递归求出数组a中所有n个元素之积并返回请编写该函数正确答案int FFint a[],int nifn==l returna[n-l];else returna[n-l]*FFa/n-l;〃或者ifn==O return1;//else returna[n-l]*FFa,n-l;2022学年9月份考试C++语言程序设计复习题
一、单选题
1、循环语句〃forint i=O;in;i++,〃中循环体S被执行的次数为A、1B、n-1C、n D、n+1正确答案C
2、适宜采用inline定义函数情况是A、函数体含有循环语句B、函数体含有递归语句C、函数代码少、频繁调用D、函数代码多、不常调用正确答案C
3、要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为°Aconstchar*p=ABCD”p B、char const二“ABCD”C、char const*p=ABCD”D constchar*const p“ABCD”;正确答案D
4、在关键字public后面定义的成员为类的()成员任公有、用护、何、、保私正确答案B
5、C++源程序文件的缺省扩展名为()A、cpp B、exeC、obj D、lik正确答案A
6、设有语句〃int a=12;a+=a*a;〃,则执行结束后,a的值为()A、12B、144C、156D、288正确答案C
7、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()A、ios::in Bios::out C、ios::in|ios::out D、ios::binary正确答案A
8、下列不能作为类的成员的是()o A、自身类对象的指针B、自身类对象C、自身类对象的引用D、另一个类的对象正确答案B
9、在下面的do循环语句中,其循环体被执行的次数为()o A、4B、3C、5D、2A Bc D正确答案A
10、若用数组名作为函数调用的实参,传递给形参的是A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数正确答案A
11、枚举类型中的每个枚举常量的值都是一个o A、整数B、浮点数C、字符D、逻辑值正确答案A
12、下面正确的函数原型语句是o A、int Functionvoida;void Functionint;C intFunctiona;D voidintdoub正确答案B
13、当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为A、ios::in Bios::out C、ios::in|ios::out D、没有正确答案D
14、假定有struct BOOK{char title
[40];float price;};BOOK*book/\则不正确的语句为A、BOOK*x=new book;B、BOOK x={〃C++Programming^,
27.0};C BOOK*x=new BOOK;D、BOOK**x=book;正确答案A
15、下面的函数头格式不正确A、AAint a,int bB、AAint a,int b=0C AAinta=0,int b=0D AAinta=0,int b正确答案D
16、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()o A、main B、MAIN Cname D、function正确答案A
17、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号A、分隔符B、空格或逗号C、逗号或回车D、逗号或分号E、空格或回车正确答案D
18、C++程序的基本模块为()o A、表达式B、标识符C、语句D、函数正确答案D
19、编写C++程序一般需经过的几个步骤依次是()o A、编辑、调试、编译、连接B、编辑、编译、连接、运行C、编译、调试、编辑、连接D、编译、编辑、连接、运行正确答案B
20、预处理命令在程序中都是以()字符开头的A、*B、#C、D、@正确答案B
21、循环体至少被执行一次的语句为()语句A、for循环B、while循环C、do循环D、任一种循环正确答案C
22、在下面的一维数组定义中,语句有语法错误A inta[]={l,2,3};B inta
[10]={0};C inta[];D、inta⑸;正确答案C
23、在下面的字符数组定义中,语句有语法错误A、chara
[20]=abcdefg;B、chara[]=x+y=
55.;C、chara
[15]={,1,2};D、chara
[10]=5;正确答案D
24、假定一个二维数组的定义语句为u inta
[3]
[4]={{3,4},{2,8,6}};,则元素的值为A、2B、4C、6D、8正确答案C
25、将两个字符串连接起来组成一个字符串时,选用函数A、strlen B、strcpy Cstrcat D、strcmpO正确答案C
二、判断题
1、设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对象通常是COUto正确答案正确
2、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数正确答案正确
3、C++语言中模板分为函数模板和类模板两种正确答案正确
4、continue语句只能出现在循环体中正确答案正确
5、循环是可以嵌套的,一个循环体内可以包含另一种循环语句正确答案正确
6、为了减轻使用者的负担,与C语言相比,C++语言中减少了一些运算符正确答案错误
7、C++语言中标识符内的大小写字母是没有区别的正确答案错误
8、C++语言中使用了新的注释符〃,C语言中注释符/*…*/不能在C++语言中使用正确答案错误
9、开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句正确答案错误
10、使用关键字class定义的类中默认的访问权限是私有private的正确答案正确
11、预处理命令是在进行编译时首先执行的,然后再进行正常编译正确答案正确
12、文件包含命令所包含的文件是不受限制的正确答案错误
13、宏定义命令是以分号结束的正确答案错误
14、条件语句不能作为多路分支语句正确答案错误
15、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环正确答案错误
三、写出程序运行结果
1、#includeiostream.h voidmain{int sl=0,s2=l;forint i=l;i=6;i++{sl+=i;s2*=i;}coutsl,,J s2endl;}正确答案21,
7202、#includeiostream.h#includestring.h voidmain{char*a
[5]={,,student,,,,worker,,,/cadre,,,/7soldier,,,,z apen;char*pl;pl=a
[0];forint i=l;i5;i++{ifstrcmpa[i]z pl0pl=a[i];coutplendl;正确答案worker
3、#includeiostream.h voidmain{int i=l,s=0;whiles20{ifi%2!=0s+=i;i++;couti z/sendl;正确答案10,
254、#includeiostream.h voidmain{int s=0;forint i=l;i=8;i=+2S+=l*l;cout«s=,,«s«endl;正确答案s=
845、#iricludeiostream.h voidmain{inta
[10]={68,79,86,65,46,94,37,78,60,53};int c=0;forint i=0;i10;i++ifa[i]=60c++;cout,,c-,cendl;正确答案.c=
76、#includeiostream.h#includestring.h structWorker{char name
[15];〃姓名int age;〃年龄float pay;〃工资;voidmain{Worker x;strcpyx.name,WeiRong;x.age=45;x.pay=1235;coutx.name x.age x.payendl;正确答案WeiRong451235
四、写出函数功能B、BOOKx={C++Programming^
7.0};C、BOOK*x=new BOOK;D、BOOK**x=book;正确答案A
15、下面的()函数头格式不正确A、AA(inta,int b)B、AA(inta,int b=0)C、AA(inta=0,int b=0)D、AA(inta=0,int b)正确答案D
16、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()o A、main B、MAIN Cname D、function正确答案A
17、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号A、分隔符B、空格或逗号C、逗号或回车D、逗号或分号E、空格或回车正确答案D
18、C++程序的基本模块为()o A、表达式B、标识符C、语句D、函数正确答案D
19、编写C++程序一般需经过的几个步骤依次是()A、编辑、调试、编译、连接B、编辑、编译、连接、运行C、编译、调试、编辑、连接D、编译、编辑、连接、运行正确答案B
20、预处理命令在程序中都是以()字符开头的A、*B、#
1、void LKinta[]z int n,int m{float s=0;int i;fori=0;in;i++s+=a[i];s/=n;m=0;fori=0;in;i++ifa[i]=s m++;正确答案统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回
2、int WCinta[],int n,int k{int c=0;forint i=0;in;i++ifa[i]=k C++;return c;正确答案
3、统计出数组a的n个元素中大于等于参数k的值的元素个数并返回bool WBinta[],int n,int x{forint i=0;i〈n;i++ifa[i]=x returntrue;return false;正确答案
4、从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假double WAinta[],int n{double s=0;forint i=0;in;i++s+=a[i];return s/n;正确答案
5、求出数组a中n个元素的平均值并返回bool SGint x{//x为大于等于2的整数inta=intsqrtx;〃sqrtx为求x的平方根int i=2;whilei=a{ifx%i==0break;i++;ifia returntrue;else return false;正确答案判断X是否为一个素数或质数,若是则返回真,否则返回假
6、bool WEinta口,int b[]z int n{forint i=0;in;i++ifa[i]!=b[i]break;ifi==n returntrue;return false;正确答案.判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假
五、编程题
1、假定一个函数声明为void ADinta[],int n;H,要求把数组a中的n个元素值按相反的次序仍保存在数组a中请编写该函数正确答案void ADinta[],int nfori=0;in/2;i++{int x=a[i];a[i]=a[n-l-i];a[n-l-i]=x;
2、假定一个函数声明为“intFFinta口,intn;,要求递归求出数组a中所有n个元素之积并返回请编写该函数正确答案int FFinta[],int nifn==l returna[n-l];else returna[n-l]*FFa,n-l;〃或者ifn==0return1;//else returna[n-l]*FFaz n-l;2020学年第二学期期末考试C++语言程序设计
一、单选题
1、文件包含命令中被包含的文件的扩展名()A、只能是・h B、不能是.h C、可以是.h或.cpp D、只能是・cpp我的答案c
2、枚举类型中的每个枚举常量的值都是一个()A、整数B、浮点数C、字符D、逻辑值我的答案A
3、x和y均为bool量,则x11y为假的条件是()A、它们均为真B、其中一个为真C、它们均为假D、其中一个为假我的答案C
4、for语句能够被改写为()语句A、复合B、if C、switch D、while我的答案D
5、将两个字符串连接起来组成一个字符串时,选用()函数A、strlen()B、strcpy()C、strcat()D、strcmp()我的答案C
6、已知fl和f2是同一类的两个成员函数,但fl不能直接调用f2,这说明()A、fl和f2都是静态函数B、fl不是静态函数,f2是静态函数C、fl是静态函数,f2不是静态函数D、D和f2都不是静态函数我的答案C
7、假定a为一个数组名,则下面的()表示有错误A^a[i]B、*a++C、*a D、*(a+l)我的答案B
8、在一个类的定义中,通常要包含有()成员的定义A、数据B、函数C、数据和函数D、数据或函数我的答案C
9、对于私有继承,基类的公有和保护成员在派生类中将()成员A、全部变成公有B、全部变成保护C、全部变成私有D、仍然相应保持为公有和保护我的答案C
10、当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()A、ios::in B、ios::out C、ios::in|ios::out D、ios::binary我的答案B
二、判断题
1、文件包含命令所包含的文件是不受限制的我的答案X
2、C++语言中使用了新的注释符(〃),C语言中注释符(/*…*/)不能在C++语言中使用我的答案X
3、开关语句中的default关键字,只能放在该语句的末尾,不能放在开头或中间我的答案x
4、计算函数参数顺序引起的二义性完全是由不同的编译系统决定的我的答案X
5、如果一个函数没有返回值,定义时需用void说明我的答案j
6、一个能够更新的变量使用在一个不能被更新的环境中是不破坏类型保护的,反之亦然我的答案X
7、使用关键字class定义的类中默认的访问权限是私有private的我的答案
78、对每个可重载的运算符来说,只能重载为友元函数我的答案X
9、构造函数说明为纯虚函数是没有意义的我的答案V
10、read和write函数可以读写文本文件,也可以读写二进制文件我的答案V
三、其它
1、已知6WaW
30、15b36,求出满足不定方程2a+5b=126的全部整数组解如13,20就是其中的一组解,并按此格式输出每组解我的答案#includeiostream.h voidmaininta,b;fora=6;a=30;a++forb=15;b=36;b++if2*a+5*b==126cout«,,«a«,,«b«,,«endl;
2、#includeiostream.h voidmain{inta
[3]
[4]={{l,27,8}45,641,15}X970,3,4};intm=a[O][O];forinti=0;i3;i++forintj=0;j4;j++ifa[i][j]mm=a[i][j];cout«m«endl;我的答案
203、#includeiostream.h structWorker{charname
[15];//姓名intage;〃年龄floatpay;〃工资;voidmain{Workerx={wangfong,46,1640};Workery/p;y=x;p=x;cout«y.name««y.age««y.pay«endl;cout«p-name««p-age+5«,«p-pay-300«endl;我的答案wangfong
4616404、#includeiostream.h voidmain{intsl=0,s2=l;forinti=l;i=6;i++{sl+=i;s2*=i;}cout«sl«7«s2«endl;我的答案21,
7205、intWCinta[],intn,intk{intc=0;forinti=0;in;i++ifa[i]=kc++;returnc;我的答案intWCinta[],intn,intk{intc=0;forinti=0;i=kc++;returnc;}函数功能:计算a□数列前n项中,大于等于k的项数的值
6、intffintx,inty,charop{intz;switchop{case+,:cout«x«+,«y«,=,;cin»z;ifx+y==zreturnl;elsereturnO;break;case-:cout«x«,-,«y«,=,;cin»z;ifx-y==zreturnl;elsereturnO;break;case*:cout«x«*,«y«=;cin»z;ifx*y==zreturnl;elsereturnO;break;case/cout«x«,/,«y«,=,;cin»z;ifx/y==zreturnl;elsereturnO;break;default:cout“运算符错,退出匕exitl;}我的答案以参数x和y作为运算对象,以参数op所存字符作为运算符,要求从键盘上输入运算结果,若正确则返回1否则返回02020学年第二学期C++语言程序设计复习题
一、单选题(共10题,每小题2分,共20分)I、C++源程序文件的缺省扩展名为()0A、cpp B、exe c、obj D、Lik正确答案A
2、在下列成对的表达式中,运算结果类型相同的一对是()o A、
7.0/
2.0和
7.0/2B、5/
2.0和5/2C、
7.0/2和7/2D、8/2和
6.0/
2.0正确答案A
3、x和y均为bool量,则x||y为假的条件是()A、它们均为真B、其中一个为真C、它们均为假D、其中一个为假正确答案C
4、for语句能够被改写为()语句A、复合B、if C、switch D、while正确答案D
5、将两个字符串连接起来组成一个字符串时,选用()函数A、strlen()B、strcpyO C、strcat()D、strcmpO正确答案C
6、已知fl和f2是同一类的两个成员函数,但fl不能直接调用f2,这说明()o A、fl和f2都是静态函数B、fl不是静态函数,f2是静态函数C、fl是静态函数,f2不是静态函数D、fl和f2都不是静态函数正确答案C
7、在下面的字符数组定义中,语句有语法错误A、char a
[20]=abcdefg*;B、chara[]=,x+y=
55.;C、chara
[15]=r12};D、chara
[10]=5;正确答案D
8、在一个类的定义中,通常要包含有成员的定义A、数据B、函数C、数据和函数D、数据或函数正确答案C c、D、@正确答案B
21、循环体至少被执行一次的语句为语句A、for循环B、while循环C、do循环D、任一种循环正确答案C
22、在下面的一维数组定义中,(语句有语法错误A、inta[]={l,2,3};inta
[10]={0};C inta[];D inta
[5];正确答案C
23、在下面的字符数组定义中,(语句有语法错误A、char a
[20]=abcdefgB、char a[]=x+y=
55.;C、chara
[15]={,E,2};D、chara
[10]=5;正确答案D
24、假定一个二维数组的定义语句为“inta
[3]
[4]={{3,4},{2,8,6}};,则元素a⑴⑵的值为A、2B、4C、6D、8正确答案C
25、将两个字符串连接起来组成一个字符串时,选用函数A、strlen B、strcpy C、strcat D、strcmpO正确答案C
二、判断题
1、设置和清除格式标志字的成员函数需要通过对象来引用它们,输出显示格式的对象通常是COUto正确答案正确
9、对于私有继承,基类的公有和保护成员在派生类中将成员A、全部变成公有B、全部变成保护C、全部变成私有D、仍然相应保持为公有和保护正确答案C
10、当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为o A、ios::in B、ios::out C、ios::in|ios::out D、ios::binary正确答案B
二、判断题共10题,每小题2分,共20分
1、文件包含命令所包含的文件是不受限制的正确答案错误
2、C++语言中使用了新的注释符〃,C语言中注释符/*…*/不能在C++语言中使用正确答案错误
3、开关语句中的default关键字,只能放在该语句的末尾,不能放在开头或中间正确答案错误
4、计算函数参数顺序引起的二义性完全是由不同的编译系统决定的正确答案错误
5、在C++语言中,所有函数在调用前都要说明正确答案正确
6、一个能够更新的变量使用在一个不能被更新的环境中是不破坏类型保护的,反之亦然正确答案错误
7、使用关键字class定义的类中默认的访问权限是私有private的正确答案正确
8、对每个可重载的运算符来说,只能重载为友元函数正确答案错误
9、构造函数说明为纯虚函数是没有意义的正确答案正确
10、seekg函数seekp函数分别用来定位读指铜口写指针如果使用seek函数可以同时定义读写指针正确答案错误
三、主观题共6题,每小题10分,共60分L编程题已知6waw
30、15wbw36,求出满足不定方程2a+5b=126的全部整数组解如13,20就是其中的一组解,并按此格式输出每组解正确答案#include iostream.h voidmainint azb;fora=6;a=30;a++forb=15;b=36;b++if2*a+5*b==126cout,a7b,,endl;
2、写出程序运行结果#include iostream.h voidSBchar ch{switchch{case A:case a:coutwell!/;break;case B:case b1:coutgood!/;break;case C1:case c:cout,,pass!/;break;default:coutbad!;break;}voidmain{SBC A;SBC c#;SBC b;coutendl;正确答案well!pass!good!
3、写出程序运行结果#include iostream.h structWorker{char name
[15];〃姓名int age;〃年龄float pay;〃工资;voidmain{Worker x={,,wangfong,46,1640;Worker y,*p;y=x;p=x;couty.name y.age y.payendl;coutp-name p-age+5p-pay-300endl;正确答案wangfong
4616404、写出程序运行结果#include iostream.h voidmain{int sl=0z s2=l;forint i=l;i=6;i++{sl+=i;s2*=i;}coutsl7s2endl;正确答案21,
7205、写出函数功能:char*fchar*s{int n=strlens;char*r=new char[n+l];forint i=0;in;i++ifs[i]=a,s[i]=z,r[i]=s[i]-,a+A;else r[i]=s[i];r[n]=\O Z;return r;正确答案根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写
6、写出函数功能int ffintxz inty,char op{int z;switchop{case coutx+,y,=;cinz;ifx+y==z return1;else return0;break;case coutx-y*=;cinz;ifx-y==z return1;else return0;break;case***:coutx,*y,=*;cinz;ifx*y==z return1;else return0;break;case coutx/y*=;cinz;ifx/y==z return1;else return0;break;default:cout运算符错,退出!;exitl;正确答案以参数x和y作为运算对象,以参数op所存字符作为运算符,要求从键盘上输入运算结果,若正确则返回1否则返回0o
2、函数的参数个数和类型都相同,只是返回值不同,这不是重载函数正确答案正确
3、C++语言中模板分为函数模板和类模板两种正确答案正确
4、continue语句只能出现在循环体中正确答案正确
5、循环是可以嵌套的,一个循环体内可以包含另一种循环语句正确答案正确
6、为了减轻使用者的负担,与C语言相比,C++语言中减少了一些运算符正确答案错误
7、C++语言中标识符内的大小写字母是没有区别的正确答案错误
8、C++语言中使用了新的注释符〃,C语言中注释符/*…*/不能在C++语言中使用正确答案错误
9、开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句正确答案错误
10、使用关键字class定义的类中默认的访问权限是私有private的正确答案正确
11、预处理命令是在进行编译时首先执行的,然后再进行正常编译正确答案正确
12、文件包含命令所包含的文件是不受限制的正确答案错误
13、宏定义命令是以分号结束的正确答案错误
14、条件语句不能作为多路分支语句正确答案错误
15、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环正确答案错误
三、写出程序运行结果
1、#includeiostream.h voidmain{int sl=0,s2=l;forint i=l;i=6;i++{sl+=i;s2*=i;}cout«sl«,«s2«endl;正确答案21,
7202、#includeiostream.h#includestring.h voidmain{char*a
[5]={student,worker,cadre,soldier,apen};char*pl;pl=a
[0];forint i=l;i5;i++{ifstrcmpa[i],pl0pl=a[i];cout«pl«endl;}正确答案worker
3、#includeiostream.h voidmain{int i=l,s=0;whiles20{ifi%2!=0s+=i;i++;cout«i«/«s«endl;}正确答案10,
254、#includeiostream.h voidmain{int s=0;forint i=l;i=8;i=+2S+=l*l;cout«s=H«s«endl;}正确答案s=
845、#includeiostream.h voidmain{inta
[10]={68,79,86,65,46,94,37,78,60,53};int c=0;forint i=0;i10;i++ifa[i]=60C++;cout“c=«c«endl;正确答案c=
76、#includeiostream.h#includestring.h structWorker{char name
[15];〃姓名int age;〃年龄float pay;〃工资};voidmain{Worker x;strcpyx.name,WeiRong;x.age=45;x.pay=1235;cout«x.name««x.age««x.pay«endl;}正确答案WeiRong451235
四、写出函数功能
1、void LKinta[],int n,int m{float s=0;int i;fori=0;in;i++s+=a[i];s/=n;m=0;fori=0;in;i++ifa[i]=s m++;正确答案统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回
2、int WCinta[],int n,int k{int c=0;forint i=0;in;i++ifa[i]=k C++;return c;正确答案
3、统计出数组a的n个元素中大于等于参数k的值的元素个数并返回bool WBinta[],int n,intx{forint i=0;in;i++ifa[i]==x returntrue;returnfalse;}正确答案从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假
4、double WAinta[],int n{double s=0;forint i=0;in;i++s+=a[i];return s/n;}正确答案求出数组a中n个元素的平均值并返回
5、bool SGintx{//x为大于等于2的整数inta=intsqrtx;〃sqrtx为求x的平方根int i=2;whilei=a{ifx%i==O break;i++;ifia returntrue;else returnfalse;}正确答案判断x是否为一个素数或质数,若是则返回真,否则返回假
6、bool WEinta[],int b[],int n{forint i=0;in;i++ifa[i]!=b[i]break;ifi==n returntrue;returnfalse;正确答案判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假
五、编程题
1、假定一个函数声明为“void ADinta[],int n;,要求把数组a中的n个元素值按相反的次序仍保存在数组a中请编写该函数正确答案void ADinta[],int nfori=0;in/2;i++{intx=a[i];a[i]=a[n-l-i];a[n-l-i]=x;}
2、假定一个函数声明为“intFFinta[],intn;”,要求递归求出数组a中所有n个元素之积并返回请编写该函数正确答案int FFinta[],intnifn==l returna[n-l];else returna[n-l]*FFa,n-l;〃或者ifn==O return1;//else returna[n-l]*FFa,n-l;}
3、假定函数声明为void Printinta[],intn/\在函数体中按下标从大到小的次序输出数组a中的n个元素的值,并要求每行输出6个元素,当然最后一行可以不足6个正确答案void Printinta[],intnint i,j=0;fori=n-l;i=0;i--{cout«a[i]«,;if++j%6==0cout«endl;cout«endl;
一、单选题循环语句〃for(int i=0;in;i++)S;〃中循环体S被执行的次数为()A、1B、n-1C、n Dn+1正确答案C
2、适宜采用inline定义函数情况是()A、函数体含有循环语句。