您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页C++程序设计试题

C++程序设计试题

来源:五一七教育网


2011年下学期

西安电子科技大学网络与继续教育学院 瑞德函授站《C++ 语言核心编程》 试题

专业_____________ 姓名_____________ 成绩_________

一、选择 题(每题

3分 共45分)

1. 编写C++程序一般需经过的几个步骤依次是( ) 。

A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试 C. 编译、调试、编辑、连接 D. 编辑、调试、编译、连接 2. 在C++中使用流进行输入输出,其中用于屏幕输出的对象是( )

A. cerr

B. cin

C. cout

D. cfile

3. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为( )。

A. main

B. MAIN

C. fun

D. function

4. 设x和y均为bool量,则x&&y为真的条件是( )。

A. 它们均为真 C. 它们均为假

B. 其中一个为真 D. 其中一个为假

5. 下列标识符中,不合法的用户标识符为( )。

A. a#b

B. _int

C. a_10

D. Pad

6. 在C++中把不返回任何类型的函数应该说明为( ) 。

A. int B. char C. void D. double

7. C++语言的跳转语句中,对于break和continue说法正确的是( )。

A. break语句只应用与循环体中 B. continue语句只应用与循环体中 C. break是无条件跳转语句,continue不是

D. break和continue的跳转范围不够明确,容易产生问题

第1 页 (共6页)

8. for(int x=0 ,y=0;!x& &y<=5;y++)语句执行循环的次数是( )。

A. 0

B. 5

C. 6

.无次数

9. 假定a为一个整型数组名,则元素a[4]的字节地址为( )。

A. a+4

B. a+8

C. a+16

D. a+32

10. 下面四个程序段中,输出23个*号的程序段是( )。

A. for (int i=1; i<23; i++) cout <<’*’; B. for (int i=23; i>=0; i--) cout <<’*’; C. int i=23; while (i>0) { cout <<’*’; i--; } D. int i=0; while (0<=23) { cout <<’*’; i++; }

11. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( ) 。

A.1 B.2 C.4 D.5

12. 设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中

最大值,下列表达式不正确的是( )。

A. int m = max(22,max(59,70)); B. int m = max(max(22,59),70); C. int m = max(22,59,70); 13. 下列指针用法中错误的是( )。

A. int i; int*ptr=&i; C. int *ptr;

ptr=0;

B. int i=2000; int *ptr; ptr=i; D. int i=0;

int *ptr; ptr=&i;

D. int m = max(59,max(22,70));

14. 设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是( )。

A. 2

B. -1

C. 0

D. 1

15. while(!x)中的(!x)与下面条件( )等价。

A. x==1

B. x!=1

C. x!=0

D. x==0

一、 填空题(每空2分 共40分)

1. float 和 double 类型的大小分别为 和 。

第2 页 (共6页)

2. 已知’A’~’Z’的ASCII码为65~90,当执行

char ch=14*5+2; cout<语句序列后,得到的输出结果为 。

3. 在C++中有二种参数传递方式:值传递和____ _ __传递。 4. 假定一个一维数组的定义为“char * a[8] ;”,则该数组所含元素的个数

为 ,所占存储空间的字节数为 。 5. 局部对象和全局对象中,在同一程序中_____ ___生存期最长。 6. C++程序的源文件扩展名为____ ___ 。

7. 若有定义语句:int*a,b;,则变量b的数据类型是_____________________。 8. 若有定义语句

int a=3,b=2,c=1;

则表达式aint x=5,y=10; x+=y; y=x-y; x-=y;

后变量 x的值是 ,y的值是 。 10. 已知函数f的定义是:

int f(int n) { n *= 2; return n+1; } 则执行

int m=5, n=3; m=f(n);

后,变量m的值是 ,n的值是 。 11. C++是通过引用运算符___ ___来定义一个引用的 。 12. 若y是x的引用,则对y的操作就是对___ ___的操作 。 13. 若p指向x,则____________与x的表示是等价的。 14. 已知递归函数f的定义如下:

int f (int n) { if(n<=1)

return 1;//递归结束情况

else

第3 页 (共6页)

return n*f(n-2);//递归

}

则函数调用语句f(5)的返回值是 。

15. 本函数实现冒泡排序,实现对数组数从小到大排序,请写出空白代码。

void sort(int a[],int n) { int i,j,t; for (j=0;jfor(i=0;i<__________;i++) if (a[i]>a[i+1])

{

________; a[i]=a[i+1]; a[i+1]=t;

}

}

二、 完成程序题(每空3分,共15分)

1. 以下程序实现交换a,b变量的值,达到输出结果为a=10 b=5的结果,有一

行代码出错。请指出错误并改正。

_____________________________________________________________<1> void swap(int m,int n) {

int temp=m; m=n; n=temp; }

void main() {

int a=5,b=10; swap(a,b);

cout<<\"a=\"<2. 此程序结果为________________________________________<2> #include using namespace std; void main()

第4 页 (共6页)

{

char a[]=\"abcdabcabfgacd\"; int i1=0,i2=0,i=0; while (a[i]) {

if (a[i]==\"a\") i1++; if (a[i]==\"b\") i2++; i++; }

cout <3. 当从键盘上输入9.98时,写出下面程序的执行结果。

执行结果______________________________________________<3> #include using namespace std; void main() {

int a,b; char ch;

cin>>a>>ch>>b;// 从键盘上输入 9.98 cout<4. 在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。 #include using namespace std; void main( ) {

float a,b;

___________________________<4>//函数cha的原型声明

a=12.5; b=6.5;

float c=______________________<5>; //调用函数cha cout<float cha(float x,float y)

第5 页 (共6页)

{

float w; w=x-y; return w; }

第6 页 (共6页)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务