23秋 C++语言程序设计-10
23秋 C++语言程序设计-10
关注公众号【飞鸟搜题】,回复【试题】获取试卷答案
文档说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。本文库还有期末考核试题、其他网核及教学考一体化、一网一平台复习试题与答案,敬请查看。
课程题目试题是随机的,请按题目关键词查找(或按Ctrl+F输入题目中的关键词,尽量不要输入整个题目,不要复制空格,连续的几个字就行)
本文由【飞鸟搜题】微信公众号提供,禁止复制盗取,违者必究
本文由【飞鸟搜题】微信公众号提供,禁止复制盗取,违者必究
本文由【飞鸟搜题】微信公众号提供,禁止复制盗取,违者必究
一 、单选题
1. C++语言程序加工过程中,编译过程与链接过程产生的文件分别是( )。
编译文件和可执行文件
汇编文件和目标文件
目标文件和可执行文件
以上都不是
答案:C- 关注公众号【飞鸟搜题】查看答案
2. 在下列运算符中,( )优先级最高。
<=
*=
+
*
答案:D- 关注公众号【飞鸟搜题】查看答案
3. 下列格式控制符,既可以用于输入,又可以用于输出的是( )。
setbase
setfill
setprecision
setw
答案:A- 关注公众号【飞鸟搜题】查看答案
4. void fun5 ( int*& ) : int a, int* p = &a; 在下列选项中,正确的调用是( )。
fun5 ( &a );
fun5 ( p );
fun5 ( *a );
fun5 ( *p );
答案:B- 关注公众号【飞鸟搜题】查看答案
5. 以下正确的函数原型为( )。
f1 ( int x; int y );
void f1 ( x, y );
void f1 ( int x, y );
void f1 ( int, int );
答案:关注公众号【飞鸟搜题】查看答案
6. 下列运算符中,不能重载的是( )。
!
sizeof
new
delete
答案:关注公众号【飞鸟搜题】查看答案
7. 在下列模板说明中,正确的是( )。
template < typename T1, T2 >
template < class T1, T2 >
template < typename T1, typename T2 >
template < typedef T1, typedef T2 >
答案:关注公众号【飞鸟搜题】查看答案
8. 下列语句试图定义指针p,使之指向一个int型二维数组,其中正确的是( )。
int *p[][2] = new int[4][2];
int *p[2] = new int[4][2];
int *p[4] = new int[4][2];
int(*p)[4] = new int[4][2];
答案:关注公众号【飞鸟搜题】查看答案
9. 已知 int a[10] = [0,1,2,3,4,5,6,7,8,9]; *p = a; 不能表示数组a中元素的式子是( )。
*a
*p
a
a[p-a]
答案:关注公众号【飞鸟搜题】查看答案
10. 有以下变量说明 int i = 1, j = 2; 则表达式 ++i+j的值为( )。
1
2
3
4
答案:关注公众号【飞鸟搜题】查看答案
11. 有以下变量说明int i = 10, *p = &i; 下列叙述错误的是( )。
p的值为10
p指向整型变量
*p表示变量i的值
p的值是变量i的地址
答案:关注公众号【飞鸟搜题】查看答案
12. 有以下变量说明,下面正确的语句是( )。 int a = 10,b; int &pa = a,&pb = b;
&pb = a;
pb = pa;
pb = &pa;
*pa = *pb;
答案:关注公众号【飞鸟搜题】查看答案
13. 设有double类型变量x和int类型变量y,现需要将x的值四舍五入后存入y,能正确实现该功能的语句是( )。
y = (int) x + 0.5;
y = (int) (x + 0.5);
y = int (x + 0.5);
y = (int) ((int) x + 0.5);
答案:关注公众号【飞鸟搜题】查看答案
14. 以下程序形成死循环的是( )。
int x; for ( x = 0 ; x<3 ; ) { x++; }
int k = 0; do { ++k; } while ( k >= 0 );
int a = 5; while ( a ) { a--; }
int i = 3; for ( ; i ; i-- );
答案:关注公众号【飞鸟搜题】查看答案
15. 已知int i = 3; 在下面do_while语句执行时循环次数为( )。 do { i- -; cout<<i<<endl; } while ( i != 1 );
1
2
3
无限
答案:关注公众号【飞鸟搜题】查看答案
16. 若用数组名作为调用函数的实参,则传递给形参的是( )。
数组存储首地址
数组的第一个元素值
数组中全部元素的值
数组元素的个数
答案:关注公众号【飞鸟搜题】查看答案
17. 设 char *s1,*s2 分别指向两个字符串,可以判断字符串s1和s2是否相等的表达式为( )。
s1 = s2
strlen ( s1,s2 )
strcpy ( s1,s2 ) == 0
strcmp ( s1,s2 ) == 0
答案:关注公众号【飞鸟搜题】查看答案
18. 设 char *s1,*s2 分别指向两个字符串,可以判断字符串s1是否大于s2的表达式为( )。
strcmp ( s1,s2 ) < 0
strcmp ( s1,s2 ) == 0
strcmp ( s1,s2 ) > 0
strcmp ( s2,s1 ) > 0
答案:关注公众号【飞鸟搜题】查看答案
19. 若class B 中定义了一个class A的类成员A a,则关于类成员的正确描述是( )。
在类B的成员函数可以访问A类的私有数据成员
在类B的成员函数可以访问A类的保护数据成员
类B的构造函数可以调用类A的构造函数做数据成员初始化
类A的构造函数可以调用类B的构造函数做数据成员初始化
答案:关注公众号【飞鸟搜题】查看答案
20. 下列关于this指针的说法,正确的是( )。
this指针必须显式说明
定义一个类后,this指针就指向该类
成员函数拥有this指针
静态成员函数拥有this指针
答案:关注公众号【飞鸟搜题】查看答案
二 、判断题
1. 函数定义语句里,即使该函数没有形参,函数名后面的括号也不能省略。
√
×
答案:关注公众号【飞鸟搜题】查看答案
2. int n = 0; while(n = 1)n++; while循环执行次数是100。
√
×
答案:关注公众号【飞鸟搜题】查看答案
3. const类型的变量声明时,可以不用初始化。
√
×
答案:关注公众号【飞鸟搜题】查看答案
4. 语句“int ans[10];”定义了一维数组as,其最大下标是10。
√
×
答案:关注公众号【飞鸟搜题】查看答案
5. 构造函数可以重载,但析构函数只有一个。
√
×
答案:关注公众号【飞鸟搜题】查看答案
6. 静态成员函数没有this指针。
√
×
答案:关注公众号【飞鸟搜题】查看答案
7. 若有char* const p; 则p是指向字符串的常量指针。
√
×
答案:关注公众号【飞鸟搜题】查看答案
8. 若要使用string类,需要引入的头文件是string.h
√
×
答案:关注公众号【飞鸟搜题】查看答案
9. C++语言的参数传递机制包括传值和传地址两种方式。
√
×
答案:关注公众号【飞鸟搜题】查看答案
10. 可以重载C++中不存在的运算符。
√
×
答案:关注公众号【飞鸟搜题】查看答案
三 、问答题
1. int WD(int a[], int n) { int m=a[0]; for(int i=1;i<n;i++) if(a[i]>m) m=a[i]; return m; } 写出上述函数功能。
答案:关注公众号【飞鸟搜题】查看答案
2. 有如下程序 #include<iostream> using namespace std; class MyClass; class MyClass { public: MyClass(int x) : val(x) {} void print()const { cout << "const:val=" << val; } void print() { cout << ",val=" << val << endl; } private: int val; }; int main() { const MyClass obj1(10); MyClass obj2(20); obj1.print(); obj2.print(); return 0; } 程序的输出结果是( )。
答案:关注公众号【飞鸟搜题】查看答案
3. 有如下程序: #include<iostream> using namespace std; int main(){ int x[]={1,2,3,4,5},*px[]={ &x[0], &x[1], &x[2], &x[3], &x[4]}; int *s=px[2]; px[2]=px[3]; px[3]=s; for(int i=0; i<5; i++) cout<<*px[i]; return 0; } 运行此程序的输出是( )。
答案:关注公众号【飞鸟搜题】查看答案
4. 有如下程序: #include <iostream> using namespace std; int main() { int num; cin>>num; while (num >= 10) { int sum = 0; while (num > 0) { sum += num % 10; num /= 10; } num = sum; } cout << num << endl; } 运行此程序时若输入的是”365”,程序的输出结果是( )。
答案:关注公众号【飞鸟搜题】查看答案
5. 有如下程序: #include<iostream> using namespace std; int main(){ int x[]={2,4,6,8,10,12}, s=0; for(int i=1; i<6; i+=2) s+=x[i]; cout<<s; return 0; } 运行此程序的输出是( )
答案:关注公众号【飞鸟搜题】查看答案
关注公众号【飞鸟搜题】,回复【试题】获取试卷答案
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。